From 4382ba57323e4b0f3aa2d39dc8ed2746a28ae431 Mon Sep 17 00:00:00 2001
From: Sebastian Schmidt <2270806+jammsen@users.noreply.github.com>
Date: Sat, 6 Jul 2024 20:16:17 +0200
Subject: [PATCH 1/2] #276 added support for new variables
---
Dockerfile | 6 +-
configs/PalWorldSettings.ini.template | 2 +-
default.env | 4 +
docs/ENV_VARS.md | 148 +++++++++++++-------------
includes/config.sh | 16 +++
5 files changed, 102 insertions(+), 74 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index aa83819..5659687 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -146,8 +146,10 @@ ENV DEBIAN_FRONTEND=noninteractive \
AUTO_RESET_GUILD_NO_ONLINE_PLAYERS=false \
AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS=72.000000 \
GUILD_PLAYER_MAX_NUM=20 \
+ BASE_CAMP_MAX_NUM_IN_GUILD=4 \
PAL_EGG_DEFAULT_HATCHING_TIME=72.000000 \
WORK_SPEED_RATE=1.000000 \
+ AUTO_SAVE_SPAN=30.000000 \
IS_MULTIPLAY=false \
IS_PVP=false \
CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP=false \
@@ -156,6 +158,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
IS_START_LOCATION_SELECT_BY_MAP=true \
EXIST_PLAYER_AFTER_LOGOUT=false \
ENABLE_DEFENSE_OTHER_GUILD_PLAYER=false \
+ INVISBIBLE_OTHER_GUILD_BASE_CAMP_AREA_FX=false \
COOP_PLAYER_MAX_NUM=4 \
MAX_PLAYERS=32 \
SERVER_NAME="jammsen-docker-generated-###RANDOM###" \
@@ -173,7 +176,8 @@ ENV DEBIAN_FRONTEND=noninteractive \
RESTAPI_PORT=8212 \
SHOW_PLAYER_LIST=false \
ALLOW_CONNECT_PLATFORM=Steam \
- ENABLE_WORLD_BACKUP=false
+ ENABLE_WORLD_BACKUP=false \
+ LOG_FORMAT_TYPE=Text
EXPOSE 8211/udp
EXPOSE 25575/tcp
diff --git a/configs/PalWorldSettings.ini.template b/configs/PalWorldSettings.ini.template
index 76c9aa4..efb9b7f 100644
--- a/configs/PalWorldSettings.ini.template
+++ b/configs/PalWorldSettings.ini.template
@@ -1,2 +1,2 @@
[/Script/Pal.PalGameWorldSettings]
-OptionSettings=(Difficulty=None,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,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,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,bIsMultiplay=False,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,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,AllowConnectPlatform=Steam,bIsUseBackupSaveData=True)
\ No newline at end of file
+OptionSettings=(Difficulty=None,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,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,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,bInvisibleOtherGuildBaseCampAreaFX=False,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,AllowConnectPlatform=Steam,bIsUseBackupSaveData=True,LogFormatType=Text)
\ No newline at end of file
diff --git a/default.env b/default.env
index ef6c104..f365fdd 100644
--- a/default.env
+++ b/default.env
@@ -88,8 +88,10 @@ DROP_ITEM_ALIVE_MAX_HOURS=1.000000
AUTO_RESET_GUILD_NO_ONLINE_PLAYERS=false
AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS=72.000000
GUILD_PLAYER_MAX_NUM=20
+BASE_CAMP_MAX_NUM_IN_GUILD=4
PAL_EGG_DEFAULT_HATCHING_TIME=72.000000
WORK_SPEED_RATE=1.000000
+AUTO_SAVE_SPAN=30.000000
IS_MULTIPLAY=false
IS_PVP=false
CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP=false
@@ -98,6 +100,7 @@ ENABLE_FAST_TRAVEL=true
IS_START_LOCATION_SELECT_BY_MAP=true
EXIST_PLAYER_AFTER_LOGOUT=false
ENABLE_DEFENSE_OTHER_GUILD_PLAYER=false
+INVISBIBLE_OTHER_GUILD_BASE_CAMP_AREA_FX=false
COOP_PLAYER_MAX_NUM=4
MAX_PLAYERS=32
SERVER_NAME=jammsen-docker-generated-###RANDOM###
@@ -116,3 +119,4 @@ RESTAPI_PORT=8212
SHOW_PLAYER_LIST=false
ALLOW_CONNECT_PLATFORM=Steam
ENABLE_WORLD_BACKUP=false
+LOG_FORMAT_TYPE=Text
diff --git a/docs/ENV_VARS.md b/docs/ENV_VARS.md
index c08cd07..e6446d7 100644
--- a/docs/ENV_VARS.md
+++ b/docs/ENV_VARS.md
@@ -73,78 +73,82 @@ Information sources and credits to the following websites:
>
> To change a setting, you can set the environment variable to the value you want. If the environment variable is not set or is blank, the default value will be used.
-| Variable | Game setting | Description | Default value | Allowed value |
-| ----------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ------------- |
-| MULTITHREAD_ENABLED | Sets options for "Improved multi-threaded CPU performance" | true | true | Boolean |
-| COMMUNITY_SERVER | Set to enabled, the server will appear in the Community-Serverlist | true | true | Boolean |
-| NETSERVERMAXTICKRATE | NetServerMaxTickRate | Changes the TickRate of the server, be very careful with this setting! | 120 | 30-120 |
-| DIFFICULTY | Difficulty | Choose one of the following:
`None`
`Normal`
`Difficult` | None | Enum |
-| DAYTIME_SPEEDRATE | DayTimeSpeedRate | Day Time Speed: The lower this number is, the longer each day will last. | 1.000000 | Float |
-| NIGHTTIME_SPEEDRATE | NightTimeSpeedRate | Night Time Speed: The lower this number is, the longer each night will last. | 1.000000 | Float |
-| EXP_RATE | ExpRate | EXP Rate: The higher this number is, the more EXP you will gain. | 1.000000 | Float |
-| PAL_CAPTURE_RATE | PalCaptureRate | Pal Capture Rate: The higher this number is, the greater your chance of capturing a Pal. | 1.000000 | Float |
-| PAL_SPAWN_NUM_RATE | PalSpawnNumRate | Pal Appearance Rate: The higher this number is, the more Pals that will spawn. | 1.000000 | Float |
-| PAL_DAMAGE_RATE_ATTACK | PalDamageRateAttack | Damage From Pals Multiplier: The lower this number is, the less damage you and your Pals will take from wild Pals during combat. Also decreases the damage output of your Pals. | 1.000000 | Float |
-| PAL_DAMAGE_RATE_DEFENSE | PalDamageRateDefense | Damage To Pals Multiplier: The higher this number is, the more damage you and your Pals will do to wild Pals during combat. Also increases the damage your Pals receive. | 1.000000 | Float |
-| PLAYER_DAMAGE_RATE_ATTACK | PlayerDamageRateAttack | Damage From Player Multiplier: The higher this number is, the greater the damage output of your character. | 1.000000 | Float |
-| PLAYER_DAMAGE_RATE_DEFENSE | PlayerDamageRateDefense | Damage To Player Multiplier: The lower this number is, the less damage your character will take during combat. | 1.000000 | Float |
-| PLAYER_STOMACH_DECREASE_RATE | PlayerStomachDecreaceRate | Player Hunger Depletion Rate: The lower this number is, the longer it will take for your character to get hungry. | 1.000000 | Float |
-| PLAYER_STAMINA_DECREACE_RATE | PlayerStaminaDecreaceRate | Player Stamina Reduction Rate: The lower this number is, the longer it will take for your character to run out of stamina. | 1.000000 | Float |
-| PLAYER_AUTO_HP_REGENE_RATE | PlayerAutoHPRegeneRate | Player Auto HP Regeneration Rate: The higher this number is, the faster your character will recover health. | 1.000000 | Float |
-| PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEP | PlayerAutoHpRegeneRateInSleep | Player Sleep HP Regeneration Rate: The higher this number is, the faster your character will recover health when sleeping. | 1.000000 | Float |
-| PAL_STOMACH_DECREACE_RATE | PalStomachDecreaceRate | Pal Hunger Depletion Rate: The lower this number is, the longer it will take for your Pals to get hungry. | 1.000000 | Float |
-| PAL_STAMINA_DECREACE_RATE | PalStaminaDecreaceRate | Pal Stamina Reduction Rate: The lower this number is, the longer it will take for your Pals stamina to run out. | 1.000000 | Float |
-| PAL_AUTO_HP_REGENE_RATE | PalAutoHPRegeneRate | Pal Auto HP Regeneration Rate: The higher this number is, the faster your Pal will recover health. | 1.000000 | Float |
-| PAL_AUTO_HP_REGENE_RATE_IN_SLEEP | PalAutoHpRegeneRateInSleep | Pal Sleep Health Regeneration Rate: The higher this number is, the faster your Pal will recover health when inside the Palbox. | 1.000000 | Float |
-| BUILD_OBJECT_DAMAGE_RATE | BuildObjectDamageRate | Damage To Structure Multiplier: The lower this number is, the less damage your structures and builds will take. | 1.000000 | Float |
-| BUILD_OBJECT_DETERIORATION_DAMAGE_RATE | BuildObjectDeteriorationDamageRate | Structure Deterioration Rate: The lower this number is, the slower the deterioration will be for structures and builds, with 0 meaning no deterioration. | 1.000000 | Float |
-| COLLECTION_DROP_RATE | CollectionDropRate | Gatherable Items Multiplier: The higher this number is, the more resources you will receive from mining, lumbering etc. | 1.000000 | Float |
-| COLLECTION_OBJECT_HP_RATE | CollectionObjectHpRate | Gatherable Objects HP Multiplier: The lower this number is, the faster objects/resources like rocks will disintegrate when mining. (Note: in my experience, this change only took effect to objects like rocks after it had been destroyed and respawned.) (Note: in my experience, there didn’t appear to be any change in how long it took for a tree to be completely chopped, taking 15 hits regardless of the multiplier.) | 1.000000 | Float |
-| COLLECTION_OBJECT_RESPAWN_SPEED_RATE | CollectionObjectRespawnSpeedRate | Gatherable Objects Respawn Interval: The lower this number is, the faster resources will respawn. (Note: in my experience, there didn’t appear to be any change in how long it took for a tree to respawn once completely chopped, taking 30 minutes regardless of the multiplier.) | 1.000000 | Float |
-| ENEMY_DROP_ITEM_RATE | EnemyDropItemRate | Dropped Items Multiplier: The higher this number is, the more items/materials you will receive when defeating a Pal. | 1.000000 | Float |
-| DEATH_PENALTY | DeathPenalty | `None` : No lost
`Item` : Lost item without equipment
`ItemAndEquipment` : Lost item and equipment
`All`: Lost All item, equipment, pal(in inventory) | All | Enum |
-| ENABLE_PLAYER_TO_PLAYER_DAMAGE | bEnablePlayerToPlayerDamage | Allows players to cause damage to players | false | Boolean |
-| ENABLE_FRIENDLY_FIRE | bEnableFriendlyFire | Allow friendly fire | false | Boolean |
-| ENABLE_INVADER_ENEMY | bEnableInvaderEnemy | Enable Raid Events: This setting will determine whether your bases are raided by Pals, syndicate members etc. | true | Boolean |
-| ACTIVE_UNKO | bActiveUNKO | Enable UNKO | false | Boolean |
-| ENABLE_AIM_ASSIST_PAD | bEnableAimAssistPad | Enable controller aim assist | true | Boolean |
-| ENABLE_AIM_ASSIST_KEYBOARD | bEnableAimAssistKeyboard | Enable Keyboard aim assist | false | Boolean |
-| DROP_ITEM_MAX_NUM | DropItemMaxNum | Maximum Number of Dropped Items in A World: Self-explanatory. Note: increasing this number could potentially cause the game to slow down. | 3000 | Integer |
-| DROP_ITEM_MAX_NUM_UNKO | DropItemMaxNum | Maximum number of UNKO drops in the world | 100 | Integer |
-| BASE_CAMP_MAX_NUM | BaseCampMaxNum | Maximum number of base camps | 128 | Integer |
-| BASE_CAMP_WORKER_MAXNUM | BaseCampWorkerMaxNum | Max Pals Working at Base: The higher this number is, the more Pals you can deploy to your base. You will still need to complete base missions to increase the capacity. | 15 | Integer |
-| DROP_ITEM_ALIVE_MAX_HOURS | DropItemAliveMaxHours | Time it takes for items to despawn in hours | 1.000000 | Float |
-| AUTO_RESET_GUILD_NO_ONLINE_PLAYERS | bAutoResetGuildNoOnlinePlayers | Automatically reset guild when no players are online | false | Bool |
-| AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS | AutoResetGuildTimeNoOnlinePlayers | Time to automatically reset guild when no players are online | 72.000000 | Float |
-| GUILD_PLAYER_MAX_NUM | GuildPlayerMaxNum | Max player of Guild | 20 | Integer |
-| PAL_EGG_DEFAULT_HATCHING_TIME | PalEggDefaultHatchingTime | Incubate Egg Timer: The lower this number is, the faster eggs will hatch. | 72.000000 | Float |
-| WORK_SPEED_RATE | WorkSpeedRate | Work speed multiplier | 1.000000 | Float |
-| IS_MULTIPLAY | bIsMultiplay | Enable multiplayer | false | Boolean |
-| IS_PVP | bIsPvP | Enable PVP | false | Boolean |
-| CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP | bCanPickupOtherGuildDeathPenaltyDrop | Allow players from other guilds to pick up death penalty items | false | Boolean |
-| ENABLE_NON_LOGIN_PENALTY | bEnableNonLoginPenalty | Enable non-login penalty | true | Boolean |
-| ENABLE_FAST_TRAVEL | bEnableFastTravel | Enable fast travel | true | Boolean |
-| IS_START_LOCATION_SELECT_BY_MAP | bIsStartLocationSelectByMap | Enable selecting of start location | true | Boolean |
-| EXIST_PLAYER_AFTER_LOGOUT | bExistPlayerAfterLogout | Toggle for deleting players when they log off | false | Boolean |
-| ENABLE_DEFENSE_OTHER_GUILD_PLAYER | bEnableDefenseOtherGuildPlayer | Allows defense against other guild players | false | Boolean |
-| COOP_PLAYER_MAX_NUM | CoopPlayerMaxNum | Maximum number of players in a guild | 4 | Integer |
-| MAX_PLAYERS | ServerPlayerMaxNum | Maximum number of people who can join the server | 32 | Integer |
-| SERVER_NAME | ServerName | Server name | jammsen-docker-generated-###RANDOM### | Integer |
-| SERVER_DESCRIPTION | ServerDescription | Server description | Palworld-Dedicated-Server running in Docker by jammsen | String |
-| ADMIN_PASSWORD | server admin password | AdminPassword | adminPasswordHere | String |
-| SERVER_PASSWORD | AdminPassword | Set the server password. | serverPasswordHere | String |
-| PUBLIC_PORT | public port | Public port number | 8211 | UInt16 |
-| PUBLIC_IP | public ip or FQDN | Public IP or FQDN | | String |
-| RCON_ENABLED | RCONEnabled | Enable RCON - Use ADMIN_PASSWORD to login | true | Boolean |
-| RCON_PORT | RCONPort | Port number for RCON | 25575 | UInt16 |
-| REGION | Region | Area | | String |
-| USEAUTH | bUseAuth | Use authentication | true | Boolean |
-| BAN_LIST_URL | BanListURL | Which ban list to use | https://api.palworldgame.com/api/banlist.txt | String |
-| RESTAPI_ENABLED | RESTAPIEnabled | Enables the RESTAPI | true | Boolean |
-| RESTAPI_PORT | RESTAPIPort | Defines the port inside the container where the API should be hosted - RESTAPI: Needs Basic Auth; admin:ADMIN_PASSWORD | 8212 | UInt16 |
-| SHOW_PLAYER_LIST | bShowPlayerList | Enables to view player-list ingame via the escape key | false | Boolean |
-| ALLOW_CONNECT_PLATFORM | AllowConnectPlatform | Looks like Cross-Play, but according to official documentation, isnt working yet and no more infos given on this; See: https://tech.palworldgame.com/settings-and-operation/configuration | Steam | String |
-| ENABLE_WORLD_BACKUP | bIsUseBackupSaveData | Enables internal world backup inside the game-server; off by default, because we have our own backup solution | false | Boolean |
+| Variable | Game setting | Description | Default value | Allowed value |
+| ----------------------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ------------- |
+| MULTITHREAD_ENABLED | Sets options for "Improved multi-threaded CPU performance" | true | true | Boolean |
+| COMMUNITY_SERVER | Set to enabled, the server will appear in the Community-Serverlist | true | true | Boolean |
+| NETSERVERMAXTICKRATE | NetServerMaxTickRate | Changes the TickRate of the server, be very careful with this setting! | 120 | 30-120 |
+| DIFFICULTY | Difficulty | Choose one of the following:
`None`
`Normal`
`Difficult` | None | Enum |
+| DAYTIME_SPEEDRATE | DayTimeSpeedRate | Day Time Speed: The lower this number is, the longer each day will last. | 1.000000 | Float |
+| NIGHTTIME_SPEEDRATE | NightTimeSpeedRate | Night Time Speed: The lower this number is, the longer each night will last. | 1.000000 | Float |
+| EXP_RATE | ExpRate | EXP Rate: The higher this number is, the more EXP you will gain. | 1.000000 | Float |
+| PAL_CAPTURE_RATE | PalCaptureRate | Pal Capture Rate: The higher this number is, the greater your chance of capturing a Pal. | 1.000000 | Float |
+| PAL_SPAWN_NUM_RATE | PalSpawnNumRate | Pal Appearance Rate: The higher this number is, the more Pals that will spawn. | 1.000000 | Float |
+| PAL_DAMAGE_RATE_ATTACK | PalDamageRateAttack | Damage From Pals Multiplier: The lower this number is, the less damage you and your Pals will take from wild Pals during combat. Also decreases the damage output of your Pals. | 1.000000 | Float |
+| PAL_DAMAGE_RATE_DEFENSE | PalDamageRateDefense | Damage To Pals Multiplier: The higher this number is, the more damage you and your Pals will do to wild Pals during combat. Also increases the damage your Pals receive. | 1.000000 | Float |
+| PLAYER_DAMAGE_RATE_ATTACK | PlayerDamageRateAttack | Damage From Player Multiplier: The higher this number is, the greater the damage output of your character. | 1.000000 | Float |
+| PLAYER_DAMAGE_RATE_DEFENSE | PlayerDamageRateDefense | Damage To Player Multiplier: The lower this number is, the less damage your character will take during combat. | 1.000000 | Float |
+| PLAYER_STOMACH_DECREASE_RATE | PlayerStomachDecreaceRate | Player Hunger Depletion Rate: The lower this number is, the longer it will take for your character to get hungry. | 1.000000 | Float |
+| PLAYER_STAMINA_DECREACE_RATE | PlayerStaminaDecreaceRate | Player Stamina Reduction Rate: The lower this number is, the longer it will take for your character to run out of stamina. | 1.000000 | Float |
+| PLAYER_AUTO_HP_REGENE_RATE | PlayerAutoHPRegeneRate | Player Auto HP Regeneration Rate: The higher this number is, the faster your character will recover health. | 1.000000 | Float |
+| PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEP | PlayerAutoHpRegeneRateInSleep | Player Sleep HP Regeneration Rate: The higher this number is, the faster your character will recover health when sleeping. | 1.000000 | Float |
+| PAL_STOMACH_DECREACE_RATE | PalStomachDecreaceRate | Pal Hunger Depletion Rate: The lower this number is, the longer it will take for your Pals to get hungry. | 1.000000 | Float |
+| PAL_STAMINA_DECREACE_RATE | PalStaminaDecreaceRate | Pal Stamina Reduction Rate: The lower this number is, the longer it will take for your Pals stamina to run out. | 1.000000 | Float |
+| PAL_AUTO_HP_REGENE_RATE | PalAutoHPRegeneRate | Pal Auto HP Regeneration Rate: The higher this number is, the faster your Pal will recover health. | 1.000000 | Float |
+| PAL_AUTO_HP_REGENE_RATE_IN_SLEEP | PalAutoHpRegeneRateInSleep | Pal Sleep Health Regeneration Rate: The higher this number is, the faster your Pal will recover health when inside the Palbox. | 1.000000 | Float |
+| BUILD_OBJECT_DAMAGE_RATE | BuildObjectDamageRate | Damage To Structure Multiplier: The lower this number is, the less damage your structures and builds will take. | 1.000000 | Float |
+| BUILD_OBJECT_DETERIORATION_DAMAGE_RATE | BuildObjectDeteriorationDamageRate | Structure Deterioration Rate: The lower this number is, the slower the deterioration will be for structures and builds, with 0 meaning no deterioration. | 1.000000 | Float |
+| COLLECTION_DROP_RATE | CollectionDropRate | Gatherable Items Multiplier: The higher this number is, the more resources you will receive from mining, lumbering etc. | 1.000000 | Float |
+| COLLECTION_OBJECT_HP_RATE | CollectionObjectHpRate | Gatherable Objects HP Multiplier: The lower this number is, the faster objects/resources like rocks will disintegrate when mining. | 1.000000 | Float |
+| COLLECTION_OBJECT_RESPAWN_SPEED_RATE | CollectionObjectRespawnSpeedRate | Gatherable Objects Respawn Interval: The lower this number is, the faster resources will respawn. | 1.000000 | Float |
+| ENEMY_DROP_ITEM_RATE | EnemyDropItemRate | Dropped Items Multiplier: The higher this number is, the more items/materials you will receive when defeating a Pal. | 1.000000 | Float |
+| DEATH_PENALTY | DeathPenalty | `None` : No lost
`Item` : Lost item without equipment
`ItemAndEquipment` : Lost item and equipment
`All`: Lost All item, equipment, pal(in inventory) | All | Enum |
+| ENABLE_PLAYER_TO_PLAYER_DAMAGE | bEnablePlayerToPlayerDamage | Allows players to cause damage to players | false | Boolean |
+| ENABLE_FRIENDLY_FIRE | bEnableFriendlyFire | Allow friendly fire | false | Boolean |
+| ENABLE_INVADER_ENEMY | bEnableInvaderEnemy | Enable Raid Events: This setting will determine whether your bases are raided by Pals, syndicate members etc. | true | Boolean |
+| ACTIVE_UNKO | bActiveUNKO | Enable UNKO | false | Boolean |
+| ENABLE_AIM_ASSIST_PAD | bEnableAimAssistPad | Enable controller aim assist | true | Boolean |
+| ENABLE_AIM_ASSIST_KEYBOARD | bEnableAimAssistKeyboard | Enable Keyboard aim assist | false | Boolean |
+| DROP_ITEM_MAX_NUM | DropItemMaxNum | Maximum Number of Dropped Items in A World: Self-explanatory. Note: increasing this number could potentially cause the game to slow down. | 3000 | Integer |
+| DROP_ITEM_MAX_NUM_UNKO | DropItemMaxNum | Maximum number of UNKO drops in the world | 100 | Integer |
+| BASE_CAMP_MAX_NUM | BaseCampMaxNum | Maximum number of base camps | 128 | Integer |
+| BASE_CAMP_WORKER_MAXNUM | BaseCampWorkerMaxNum | Max Pals Working at Base: The higher this number is, the more Pals you can deploy to your base. You will still need to complete base missions to increase the capacity. | 15 | Integer |
+| DROP_ITEM_ALIVE_MAX_HOURS | DropItemAliveMaxHours | Time it takes for items to despawn in hours | 1.000000 | Float |
+| AUTO_RESET_GUILD_NO_ONLINE_PLAYERS | bAutoResetGuildNoOnlinePlayers | Automatically reset guild when no players are online | false | Bool |
+| AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS | AutoResetGuildTimeNoOnlinePlayers | Time to automatically reset guild when no players are online | 72.000000 | Float |
+| GUILD_PLAYER_MAX_NUM | GuildPlayerMaxNum | Max player of Guild | 20 | Integer |
+| BASE_CAMP_MAX_NUM_IN_GUILD | BaseCampMaxNumInGuild | Max BaseCamp count per guild. Default is 3. (MAX 10) Larger value will increase system load | 4 | Integer |
+| PAL_EGG_DEFAULT_HATCHING_TIME | PalEggDefaultHatchingTime | Incubate Egg Timer: The lower this number is, the faster eggs will hatch. | 72.000000 | Float |
+| WORK_SPEED_RATE | WorkSpeedRate | Work speed multiplier | 1.000000 | Float |
+| AUTO_SAVE_SPAN | AutoSaveSpan | Unclear | 30.000000 | Float |
+| IS_MULTIPLAY | bIsMultiplay | Enable multiplayer | false | Boolean |
+| IS_PVP | bIsPvP | Enable PVP | false | Boolean |
+| CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP | bCanPickupOtherGuildDeathPenaltyDrop | Allow players from other guilds to pick up death penalty items | false | Boolean |
+| ENABLE_NON_LOGIN_PENALTY | bEnableNonLoginPenalty | Enable non-login penalty | true | Boolean |
+| ENABLE_FAST_TRAVEL | bEnableFastTravel | Enable fast travel | true | Boolean |
+| IS_START_LOCATION_SELECT_BY_MAP | bIsStartLocationSelectByMap | Enable selecting of start location | true | Boolean |
+| EXIST_PLAYER_AFTER_LOGOUT | bExistPlayerAfterLogout | Toggle for deleting players when they log off | false | Boolean |
+| ENABLE_DEFENSE_OTHER_GUILD_PLAYER | bEnableDefenseOtherGuildPlayer | Allows defense against other guild players | false | Boolean |
+| INVISBIBLE_OTHER_GUILD_BASE_CAMP_AREA_FX | bInvisibleOtherGuildBaseCampAreaFX | Unclear | false | Boolean |
+| COOP_PLAYER_MAX_NUM | CoopPlayerMaxNum | Maximum number of players in a guild | 4 | Integer |
+| MAX_PLAYERS | ServerPlayerMaxNum | Maximum number of people who can join the server | 32 | Integer |
+| SERVER_NAME | ServerName | Server name | jammsen-docker-generated-###RANDOM### | Integer |
+| SERVER_DESCRIPTION | ServerDescription | Server description | Palworld-Dedicated-Server running in Docker by jammsen | String |
+| ADMIN_PASSWORD | server admin password | AdminPassword | adminPasswordHere | String |
+| SERVER_PASSWORD | AdminPassword | Set the server password. | serverPasswordHere | String |
+| PUBLIC_PORT | public port | Public port number | 8211 | UInt16 |
+| PUBLIC_IP | public ip or FQDN | Public IP or FQDN | | String |
+| RCON_ENABLED | RCONEnabled | Enable RCON - Use ADMIN_PASSWORD to login | true | Boolean |
+| RCON_PORT | RCONPort | Port number for RCON | 25575 | UInt16 |
+| REGION | Region | Area | | String |
+| USEAUTH | bUseAuth | Use authentication | true | Boolean |
+| BAN_LIST_URL | BanListURL | Which ban list to use | https://api.palworldgame.com/api/banlist.txt | String |
+| RESTAPI_ENABLED | RESTAPIEnabled | Enables the RESTAPI | true | Boolean |
+| RESTAPI_PORT | RESTAPIPort | Defines the port inside the container where the API should be hosted - RESTAPI: Needs Basic Auth; admin:ADMIN_PASSWORD | 8212 | UInt16 |
+| SHOW_PLAYER_LIST | bShowPlayerList | Enables to view player-list ingame via the escape key | false | Boolean |
+| ALLOW_CONNECT_PLATFORM | AllowConnectPlatform | Looks like Cross-Play, but according to official documentation, isnt working yet and no more infos given on this; See: https://tech.palworldgame.com/settings-and-operation/configuration | Steam | String |
+| ENABLE_WORLD_BACKUP | bIsUseBackupSaveData | Enables internal world backup inside the game-server; off by default, because we have our own backup solution | false | Boolean |
+| LOG_FORMAT_TYPE | LogFormatType | Log format Text or Json | Text | Enum |
** 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 34e5ade..86f2788 100644
--- a/includes/config.sh
+++ b/includes/config.sh
@@ -198,6 +198,10 @@ function setup_palworld_settings_ini() {
e "> Setting GuildPlayerMaxNum to '$GUILD_PLAYER_MAX_NUM'"
sed -E -i "s/GuildPlayerMaxNum=[0-9]*/GuildPlayerMaxNum=$GUILD_PLAYER_MAX_NUM/" "$GAME_SETTINGS_FILE"
fi
+ if [[ -n ${BASE_CAMP_MAX_NUM_IN_GUILD+x} ]]; then
+ e "> Setting BaseCampMaxNumInGuild to '$BASE_CAMP_MAX_NUM_IN_GUILD'"
+ sed -E -i "s/BaseCampMaxNumInGuild=[0-9]*/BaseCampMaxNumInGuild=$BASE_CAMP_MAX_NUM_IN_GUILD/" "$GAME_SETTINGS_FILE"
+ fi
if [[ -n ${PAL_EGG_DEFAULT_HATCHING_TIME+x} ]]; then
e "> Setting PalEggDefaultHatchingTime to '$PAL_EGG_DEFAULT_HATCHING_TIME'"
sed -E -i "s/PalEggDefaultHatchingTime=[+-]?([0-9]*[.])?[0-9]+/PalEggDefaultHatchingTime=$PAL_EGG_DEFAULT_HATCHING_TIME/" "$GAME_SETTINGS_FILE"
@@ -206,6 +210,10 @@ function setup_palworld_settings_ini() {
e "> Setting WorkSpeedRate to '$WORK_SPEED_RATE'"
sed -E -i "s/WorkSpeedRate=[+-]?([0-9]*[.])?[0-9]+/WorkSpeedRate=$WORK_SPEED_RATE/" "$GAME_SETTINGS_FILE"
fi
+ if [[ -n ${AUTO_SAVE_SPAN+x} ]]; then
+ e "> Setting AutoSaveSpan to '$AUTO_SAVE_SPAN'"
+ sed -E -i "s/AutoSaveSpan=[+-]?([0-9]*[.])?[0-9]+/AutoSaveSpan=$AUTO_SAVE_SPAN/" "$GAME_SETTINGS_FILE"
+ fi
if [[ -n ${IS_MULTIPLAY+x} ]]; then
e "> Setting bIsMultiplay to '$IS_MULTIPLAY'"
sed -E -i "s/bIsMultiplay=[a-zA-Z]*/bIsMultiplay=$IS_MULTIPLAY/" "$GAME_SETTINGS_FILE"
@@ -238,6 +246,10 @@ function setup_palworld_settings_ini() {
e "> Setting bEnableDefenseOtherGuildPlayer to '$ENABLE_DEFENSE_OTHER_GUILD_PLAYER'"
sed -E -i "s/bEnableDefenseOtherGuildPlayer=[a-zA-Z]*/bEnableDefenseOtherGuildPlayer=$ENABLE_DEFENSE_OTHER_GUILD_PLAYER/" "$GAME_SETTINGS_FILE"
fi
+ if [[ -n ${INVISBIBLE_OTHER_GUILD_BASE_CAMP_AREA_FX+x} ]]; then
+ e "> Setting bInvisibleOtherGuildBaseCampAreaFX to '$INVISBIBLE_OTHER_GUILD_BASE_CAMP_AREA_FX'"
+ sed -E -i "s/bInvisibleOtherGuildBaseCampAreaFX=[a-zA-Z]*/bInvisibleOtherGuildBaseCampAreaFX=$INVISBIBLE_OTHER_GUILD_BASE_CAMP_AREA_FX/" "$GAME_SETTINGS_FILE"
+ fi
if [[ -n ${COOP_PLAYER_MAX_NUM+x} ]]; then
e "> Setting CoopPlayerMaxNum to '$COOP_PLAYER_MAX_NUM'"
sed -E -i "s/CoopPlayerMaxNum=[0-9]*/CoopPlayerMaxNum=$COOP_PLAYER_MAX_NUM/" "$GAME_SETTINGS_FILE"
@@ -316,6 +328,10 @@ function setup_palworld_settings_ini() {
e "> Setting bIsUseBackupSaveData to '$ENABLE_WORLD_BACKUP'"
sed -E -i "s/bIsUseBackupSaveData=[a-zA-Z]*/bIsUseBackupSaveData=$ENABLE_WORLD_BACKUP/" "$GAME_SETTINGS_FILE"
fi
+ if [[ -n ${LOG_FORMAT_TYPE+x} ]]; then
+ e "> Setting LogFormatType to '$LOG_FORMAT_TYPE'"
+ sed -E -i "s/LogFormatType=[a-zA-Z]*/LogFormatType=$LOG_FORMAT_TYPE/" "$GAME_SETTINGS_FILE"
+ fi
es ">>> Finished setting up PalWorldSettings.ini"
}
From 3e97c1d083ae0823b6093b808825835c83c970c1 Mon Sep 17 00:00:00 2001
From: Sebastian Schmidt <2270806+jammsen@users.noreply.github.com>
Date: Sat, 6 Jul 2024 20:23:58 +0200
Subject: [PATCH 2/2] updated changelog
---
CHANGELOG.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ec1e88..7fc272f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@
## 2024-06-24
+- added support for new variables @jammsen (#276)
+
+## 2024-06-24
+
- Add support-documentation for Xbox-Dedicated-Servers @jammsen (#269)
## 2024-04-28