diff --git a/CHANGELOG.md b/CHANGELOG.md
index 676d3d8..c5a5c63 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,12 @@
[Back to main](README.md#changelog)
+## 2024-04-04
+
+- Fixed rcon-spaces from @Callum027 (#251)
+- Added new config options from new default-settings-file
+
+
## 2024-03-04
- Fixed typo
diff --git a/Dockerfile b/Dockerfile
index 9c597a8..954585e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -169,7 +169,11 @@ ENV DEBIAN_FRONTEND=noninteractive \
REGION= \
USEAUTH=true \
BAN_LIST_URL=https://api.palworldgame.com/api/banlist.txt \
- SHOW_PLAYER_LIST=false
+ RESTAPI_ENABLED=true \
+ RESTAPI_PORT=8212 \
+ SHOW_PLAYER_LIST=false \
+ ALLOW_CONNECT_PLATFORM=Steam \
+ ENABLE_WORLD_BACKUP=true
EXPOSE 8211/udp
EXPOSE 25575/tcp
diff --git a/configs/PalWorldSettings.ini.template b/configs/PalWorldSettings.ini.template
index 149f511..76c9aa4 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",bShowPlayerList=false)
\ 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,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
diff --git a/default.env b/default.env
index 7b0956c..06e369f 100644
--- a/default.env
+++ b/default.env
@@ -111,4 +111,8 @@ RCON_PORT=25575
REGION=
USEAUTH=true
BAN_LIST_URL=https://api.palworldgame.com/api/banlist.txt
+RESTAPI_ENABLED=true
+RESTAPI_PORT=8212
SHOW_PLAYER_LIST=false
+ALLOW_CONNECT_PLATFORM=Steam
+ENABLE_WORLD_BACKUP=true
diff --git a/docker-compose.yml b/docker-compose.yml
index f1c351e..1c555c3 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,6 +9,10 @@ services:
published: 8211 # Gamerserver port on your host
protocol: udp
mode: host
+ - target: 8212 # Gameserver API port inside of the container
+ published: 8212 # Gameserver API port on your host
+ protocol: tcp
+ mode: host
- target: 25575 # RCON port inside of the container
published: 25575 # RCON port on your host
protocol: tcp
diff --git a/docs/ENV_VARS.md b/docs/ENV_VARS.md
index 076da81..2f5bb17 100644
--- a/docs/ENV_VARS.md
+++ b/docs/ENV_VARS.md
@@ -77,7 +77,6 @@ Information sources and credits to the following websites:
| ----------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | ------------- |
| 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 |
-| SHOW_PLAYER_LIST | bShowPlayerList | Make the player list public on a community server | false | 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 |
@@ -141,6 +140,11 @@ Information sources and credits to the following websites:
| 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 | true | Boolean |
** 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 e4239f9..9c4281c 100644
--- a/includes/config.sh
+++ b/includes/config.sh
@@ -296,10 +296,26 @@ function setup_palworld_settings_ini() {
e "> Setting BanListURL to '$BAN_LIST_URL'"
sed -E -i "s~BanListURL=\"[^\"]*\"~BanListURL=\"$BAN_LIST_URL\"~" "$GAME_SETTINGS_FILE"
fi
+ if [[ -n ${RESTAPI_ENABLED+x} ]]; then
+ e "> Setting RESTAPIEnabled to '$RESTAPI_ENABLED'"
+ sed -E -i "s/RESTAPIEnabled=[a-zA-Z]*/RESTAPIEnabled=$RESTAPI_ENABLED/" "$GAME_SETTINGS_FILE"
+ fi
+ if [[ -n ${RESTAPI_PORT+x} ]]; then
+ e "> Setting RESTAPIPort to '$RESTAPI_PORT'"
+ sed -E -i "s/RESTAPIPort=[0-9]*/RESTAPIPort=$RESTAPI_PORT/" "$GAME_SETTINGS_FILE"
+ fi
if [[ -n ${SHOW_PLAYER_LIST+x} ]]; then
e "> Setting bShowPlayerList to '$SHOW_PLAYER_LIST'"
sed -E -i "s/bShowPlayerList=[a-zA-Z]*/bShowPlayerList=$SHOW_PLAYER_LIST/" "$GAME_SETTINGS_FILE"
fi
+ if [[ -n ${ALLOW_CONNECT_PLATFORM+x} ]]; then
+ e "> Setting AllowConnectPlatform to '$ALLOW_CONNECT_PLATFORM'"
+ sed -E -i "s/AllowConnectPlatform=[a-zA-Z]*/AllowConnectPlatform=$ALLOW_CONNECT_PLATFORM/" "$GAME_SETTINGS_FILE"
+ fi
+ if [[ -n ${ENABLE_WORLD_BACKUP+x} ]]; then
+ e "> Setting bIsUseBackupSaveData to '$ENABLE_WORLD_BACKUP'"
+ sed -E -i "s/bIsUseBackupSaveData=[a-zA-Z]*/bIsUseBackupSaveData=$ENABLE_WORLD_BACKUP/" "$GAME_SETTINGS_FILE"
+ fi
es ">>> Finished setting up PalWorldSettings.ini"
}