diff --git a/Dockerfile b/Dockerfile index 4b63803..ec6e6cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -195,8 +195,10 @@ ENV DEBIAN_FRONTEND=noninteractive \ MAX_BUILDING_LIMIT_NUM=0 \ SERVER_REPLICATE_PAWN_CULL_DISTANCE=15000.000000 \ ALLOW_GLOBAL_PALBOX_EXPORT=true \ - ALLOW_GLOBAL_PALBOX_IMPORT=false - + ALLOW_GLOBAL_PALBOX_IMPORT=false \ + EQUIPMENT_DURABILITY_DAMAGE_RATE=1.000000 \ + ITEM_CONTAINER_FORCE_MARK_DIRTY_INTERVAL=1.000000 + EXPOSE 8211/udp EXPOSE 8212/tcp EXPOSE 25575/tcp diff --git a/configs/PalWorldSettings.ini.template b/configs/PalWorldSettings.ini.template index 9d60525..0dccaf9 100644 --- a/configs/PalWorldSettings.ini.template +++ b/configs/PalWorldSettings.ini.template @@ -1,2 +1,2 @@ [/Script/Pal.PalGameWorldSettings] -OptionSettings=(Difficulty=None,RandomizerType=None,RandomizerSeed="",bIsRandomizerPalLevelRandom=False,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectHpRate=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,BaseCampMaxNumInGuild=4,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,AutoSaveSpan=30.000000,bIsMultiplay=False,bIsPvP=False,bHardcore=False,bPalLost=False,bCharacterRecreateInHardcore=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,bInvisibleOtherGuildBaseCampAreaFX=False,bBuildAreaLimit=False,ItemWeightRate=1.000000,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="Default Palworld Server",ServerDescription="",AdminPassword="",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt",RESTAPIEnabled=False,RESTAPIPort=8212,bShowPlayerList=False,ChatPostLimitPerMinute=10,CrossplayPlatforms=(Steam,Xbox,PS5,Mac),bIsUseBackupSaveData=True,LogFormatType=Text,SupplyDropSpan=180,EnablePredatorBossPal=True,MaxBuildingLimitNum=0,ServerReplicatePawnCullDistance=15000.000000,bAllowGlobalPalboxExport=True,bAllowGlobalPalboxImport=False) \ No newline at end of file +OptionSettings=(Difficulty=None,RandomizerType=None,RandomizerSeed="",bIsRandomizerPalLevelRandom=False,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectHpRate=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,BaseCampMaxNumInGuild=4,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,AutoSaveSpan=30.000000,bIsMultiplay=False,bIsPvP=False,bHardcore=False,bPalLost=False,bCharacterRecreateInHardcore=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,bInvisibleOtherGuildBaseCampAreaFX=False,bBuildAreaLimit=False,ItemWeightRate=1.000000,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="Default Palworld Server",ServerDescription="",AdminPassword="",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt",RESTAPIEnabled=False,RESTAPIPort=8212,bShowPlayerList=False,ChatPostLimitPerMinute=10,CrossplayPlatforms=(Steam,Xbox,PS5,Mac),bIsUseBackupSaveData=True,LogFormatType=Text,SupplyDropSpan=180,EnablePredatorBossPal=True,MaxBuildingLimitNum=0,ServerReplicatePawnCullDistance=15000.000000,bAllowGlobalPalboxExport=True,bAllowGlobalPalboxImport=False,EquipmentDurabilityDamageRate=1.000000,ItemContainerForceMarkDirtyInterval=1.000000) \ No newline at end of file diff --git a/default.env b/default.env index 4c68472..630e197 100644 --- a/default.env +++ b/default.env @@ -138,3 +138,5 @@ MAX_BUILDING_LIMIT_NUM=0 SERVER_REPLICATE_PAWN_CULL_DISTANCE=15000.000000 ALLOW_GLOBAL_PALBOX_EXPORT=true ALLOW_GLOBAL_PALBOX_IMPORT=false +EQUIPMENT_DURABILITY_DAMAGE_RATE=1.000000 +ITEM_CONTAINER_FORCE_MARK_DIRTY_INTERVAL=1.000000 diff --git a/docs/ENV_VARS.md b/docs/ENV_VARS.md index 9c316a0..8e7da0d 100644 --- a/docs/ENV_VARS.md +++ b/docs/ENV_VARS.md @@ -167,7 +167,8 @@ Information sources and credits to the following websites: | SERVER_REPLICATE_PAWN_CULL_DISTANCE | ServerReplicatePawnCullDistance | Pal sync distance from player cm. Min 5000 ~ Max 15000 | 15000.000000 | Float | | ALLOW_GLOBAL_PALBOX_EXPORT | bAllowGlobalPalboxExport | If set to True, saving to the global palbox is possible. | true | Boolean | | ALLOW_GLOBAL_PALBOX_IMPORT | bAllowGlobalPalboxImport | If set to True, importing from the global palbox is possible. | false | Boolean | - +| EQUIPMENT_DURABILITY_DAMAGE_RATE | EquipmentDurabilityDamageRate | Equipment Durability Loss Multiplierpossible. | 1.000000 | Float | +| ITEM_CONTAINER_FORCE_MARK_DIRTY_INTERVAL | ItemContainerForceMarkDirtyInterval | Interval for force sync when open the container. (sec) | 1.000000 | Float | ** Updates to descriptions taken from [this reddit post](https://www.reddit.com/r/Palworld/comments/19bumby/settings_explanation/) ** diff --git a/includes/config.sh b/includes/config.sh index cc3f074..20be659 100644 --- a/includes/config.sh +++ b/includes/config.sh @@ -3,7 +3,7 @@ source /includes/colors.sh current_setting=1 -settings_amount=87 +settings_amount=89 function setup_engine_ini() { pattern1="OnlineSubsystemUtils.IpNetDriver" @@ -407,6 +407,14 @@ function setup_palworld_settings_ini() { e_with_counter "bAllowGlobalPalboxImport to '$ALLOW_GLOBAL_PALBOX_IMPORT'" sed -E -i "s/bAllowGlobalPalboxImport=[a-zA-Z]*/bAllowGlobalPalboxImport=$ALLOW_GLOBAL_PALBOX_IMPORT/" "$GAME_SETTINGS_FILE" fi + if [[ -n ${EQUIPMENT_DURABILITY_DAMAGE_RATE+x} ]]; then + e_with_counter "EquipmentDurabilityDamageRate to '$EQUIPMENT_DURABILITY_DAMAGE_RATE'" + sed -E -i "s/EquipmentDurabilityDamageRate=[+-]?([0-9]*[.])?[0-9]+/EquipmentDurabilityDamageRate=$EQUIPMENT_DURABILITY_DAMAGE_RATE/" "$GAME_SETTINGS_FILE" + fi + if [[ -n ${ITEM_CONTAINER_FORCE_MARK_DIRTY_INTERVAL+x} ]]; then + e_with_counter "ItemContainerForceMarkDirtyInterval to '$ITEM_CONTAINER_FORCE_MARK_DIRTY_INTERVAL'" + sed -E -i "s/ItemContainerForceMarkDirtyInterval=[+-]?([0-9]*[.])?[0-9]+/ItemContainerForceMarkDirtyInterval=$ITEM_CONTAINER_FORCE_MARK_DIRTY_INTERVAL/" "$GAME_SETTINGS_FILE" + fi es ">>> Finished setting up PalWorldSettings.ini" }