In this section you will find a lot of environment variables to control your container-behavior and gameserver-settings. Due to the extensive control options, the settings are split into two parts for documentation: Container-Settings and Gameserver-Settings.
These settings control the behavior of the Docker container:
Important: If you want to change the server settings via environment variables use the default value (
auto) for the environment variableSERVER_SETTINGS_MODE, otherwise change it tomanualand edit the config file directly.
| Variable | Description | Default value | Allowed values |
|---|---|---|---|
| TZ | Timezone used for time stamping server backups | Europe/Berlin | See TZ identifiers |
| ALWAYS_UPDATE_ON_START | Updates the server on startup | true | false/true |
| MULTITHREAD_ENABLED | Sets options for "Improved multi-threaded CPU performance" | true | false/true |
| COMMUNITY_SERVER | Set to enabled, the server will appear in the Community-Serverlist. | true | false/true |
| BACKUP_ENABLED | Backup function, creates backups in your game directory |
true | false/true |
| BACKUP_CRON_EXPRESSION | Needs a Cron-Expression - See Cron expression | 0 * * * * (meaning every hour) | Cron-Expression |
| BACKUP_RETENTION_POLICY | Set to enabled, will cleanup old backups | false | false/true |
| BACKUP_RETENTION_AMOUNT_TO_KEEP | Defines how many backups in numbers to keep | 30 | Integer |
| SERVER_SETTINGS_MODE | Determines whether settings can be modified via environment variables or via file, except COMMUNITY_SERVER and MULTITHREAD_ENABLED! |
auto |
auto: Settings are modified only by environment variables, manual edits will be ignoredmanual: Settings are modified only by editing the file directly, environment variables are ignored |
| STEAMCMD_VALIDATE_FILES | Set to enabled SteamCMD will also validate the gameserver files, making sure nothing is corrupted and also overwrite any file changes of the source See https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_an_App |
true | false/true |
| REMOTE_CONTROL | If enabled server will not automatically start on container start and can be started/stopped via webhook call. Stop of the gameserver does not exit the container to allow external restart. | false | false/true |
The TZ setting affects logging output and the backup function. TZ identifiers are a format for defining a timezone near you.
The BACKUP_CRON_EXPRESSION setting affects the backup function. In a Cron-Expression, you define an interval for when to run jobs. This image uses Supercronic for crons, see https://github.com/aptible/supercronic#crontab-format or https://crontab-generator.org
If you enable the container setting the Container will not autostart the gameserver, it will however provide webhooks that allow you to control the server remotely. Hooks provided are
{containerip}:9000/hooks/start - starts the gameserver
{containerip}:9000/hooks/stop - stops the gameserver
In order to utilize the webhooks expose port 9000 to your host/service and call them via GET
This section lists all the settings currently adjustable via Docker environment variables, based on the order and contents of the DefaultPalWorldSettings.ini.
Information sources and credits to the following websites:
- Palworld Tech Guide for the game server documentation
- PalworldSettingGenerator for variable descriptions
Important: Please note that all of this is subject to change. The game is still in early access.
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 |
|---|---|---|---|---|
| NETSERVERMAXTICKRATE | NetServerMaxTickRate | Changes the TickRate of the server, be very careful with this setting! | 120 | 30-120 |
| DIFFICULTY | Difficulty | Choose one of the following:NoneNormalDifficult |
None | Enum |
| DAYTIME_SPEEDRATE | DayTimeSpeedRate | Day time speed - Smaller number means shorter days | 1.000000 | Float |
| NIGHTTIME_SPEEDRATE | NightTimeSpeedRate | Night time speed - Smaller number means shorter nights | 1.000000 | Float |
| EXP_RATE | ExpRate | EXP rate | 1.000000 | Float |
| PAL_CAPTURE_RATE | PalCaptureRate | Pal capture rate | 1.000000 | Float |
| PAL_SPAWN_NUM_RATE | PalSpawnNumRate | Pal appearance rate | 1.000000 | Float |
| PAL_DAMAGE_RATE_ATTACK | PalDamageRateAttack | Damage from pals multiplier | 1.000000 | Float |
| PAL_DAMAGE_RATE_DEFENSE | PalDamageRateDefense | Damage to pals multiplier | 1.000000 | Float |
| PLAYER_DAMAGE_RATE_ATTACK | PlayerDamageRateAttack | Damage from player multiplier | 1.000000 | Float |
| PLAYER_DAMAGE_RATE_DEFENSE | PlayerDamageRateDefense | Damage to player multiplier | 1.000000 | Float |
| PLAYER_STOMACH_DECREASE_RATE | PlayerStomachDecreaceRate | Player hunger depletion rate | 1.000000 | Float |
| PLAYER_STAMINA_DECREACE_RATE | PlayerStaminaDecreaceRate | Player stamina reduction rate | 1.000000 | Float |
| PLAYER_AUTO_HP_REGENE_RATE | PlayerAutoHPRegeneRate | Player auto HP regeneration rate | 1.000000 | Float |
| PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEP | PlayerAutoHpRegeneRateInSleep | Player sleep HP regeneration rate | 1.000000 | Float |
| PAL_STOMACH_DECREACE_RATE | PalStomachDecreaceRate | Pal hunger depletion rate | 1.000000 | Float |
| PAL_STAMINA_DECREACE_RATE | PalStaminaDecreaceRate | Pal stamina reduction rate | 1.000000 | Float |
| PAL_AUTO_HP_REGENE_RATE | PalAutoHPRegeneRate | Pal auto HP regeneration rate | 1.000000 | Float |
| PAL_AUTO_HP_REGENE_RATE_IN_SLEEP | PalAutoHpRegeneRateInSleep | Pal sleep health regeneration rate (in Palbox) | 1.000000 | Float |
| BUILD_OBJECT_DAMAGE_RATE | BuildObjectDamageRate | Damage to structure multiplier | 1.000000 | Float |
| BUILD_OBJECT_DETERIORATION_DAMAGE_RATE | BuildObjectDeteriorationDamageRate | Structure deterioration rate | 1.000000 | Float |
| COLLECTION_DROP_RATE | CollectionDropRate | Gatherable items multiplier | 1.000000 | Float |
| COLLECTION_OBJECT_HP_RATE | CollectionObjectHpRate | Gatherable objects HP multiplier | 1.000000 | Float |
| COLLECTION_OBJECT_RESPAWN_SPEED_RATE | CollectionObjectRespawnSpeedRate | Gatherable objects respawn interval | 1.000000 | Float |
| ENEMY_DROP_ITEM_RATE | EnemyDropItemRate | Dropped Items Multiplier | 1.000000 | Float |
| DEATH_PENALTY | DeathPenalty | None : No lostItem : Lost item without equipmentItemAndEquipment : Lost item and equipmentAll: 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 invaders | 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 drops in the world | 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 | Maximum number of workers | 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 | Time(h) to incubate massive egg | 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 | Integer |
| PUBLIC_IP | public ip or FQDN | Public IP or FQDN | String | |
| RCON_ENABLED | RCONEnabled | Enable RCON - Use ADMIN_PASSWORD to login | false | Boolean |
| RCON_PORT | RCONPort | Port number for RCON | 25575 | Integer |
| 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 |