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" }