jammsen / docker-palworld-dedicated-server

Docker container to easily provision and manage Palworld Dedicated Server
https://hub.docker.com/r/jammsen/palworld-dedicated-server
MIT License
911 stars 158 forks source link

[Bug Report] I treid restart to update game version to v0.1.4.0,but failed #162

Closed dayzKo1 closed 8 months ago

dayzKo1 commented 8 months ago

Have you read the Important information text above

Current behavior

cant entry the game , alert wrong game version

Desired behavior

update to v0.1.4.0

Links to screenshots

No response

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Software setup

Hardware setup

Additional context

No response

jammsen commented 8 months ago

Hey @dayzKo1 - Please share your default.env and your logs

dayzKo1 commented 8 months ago

version: '3.9' services: palworld-dedicated-server:

build: .

container_name: palworld-dedicated-server
image: jammsen/palworld-dedicated-server:latest
restart: always
network_mode: bridge
ports:
  - target: 8211 # Gamerserver port inside of the container
    published: 8211 # Gamerserver port on your host
    protocol: udp
    mode: host
  - target: 25575 # RCON port inside of the container
    published: 25575 # RCON port on your host
    protocol: tcp
    mode: host
environment:
  - TZ=Asia/Shanghai # Change this for logging and backup, see "Environment-Variables" 
  - ALWAYS_UPDATE_ON_START=true
  - MULTITHREAD_ENABLED=true
  - COMMUNITY_SERVER=false
  - BACKUP_ENABLED=true
  - BACKUP_CRON_EXPRESSION=0 * * * *
  - NETSERVERMAXTICKRATE=120
  - DIFFICULTY=None
  - DAYTIME_SPEEDRATE=1.000000
  - NIGHTTIME_SPEEDRATE=1.000000
  - EXP_RATE=3.000000
  - PAL_CAPTURE_RATE=2.000000
  - PAL_SPAWN_NUM_RATE=2.000000
  - PAL_DAMAGE_RATE_ATTACK=1.000000
  - PAL_DAMAGE_RATE_DEFENSE=1.000000
  - PLAYER_DAMAGE_RATE_ATTACK=1.000000
  - PLAYER_DAMAGE_RATE_DEFENSE=1.000000
  - PLAYER_STOMACH_DECREASE_RATE=1.000000
  - PLAYER_STAMINA_DECREACE_RATE=0.300000
  - PLAYER_AUTO_HP_REGENE_RATE=5.000000
  - PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEP=5.000000
  - PAL_STOMACH_DECREACE_RATE=1.000000
  - PAL_STAMINA_DECREACE_RATE=0.300000
  - PAL_AUTO_HP_REGENE_RATE=5.000000
  - PAL_AUTO_HP_REGENE_RATE_IN_SLEEP=5.000000
  - BUILD_OBJECT_DAMAGE_RATE=1.000000
  - BUILD_OBJECT_DETERIORATION_DAMAGE_RATE=1.000000
  - COLLECTION_DROP_RATE=3.000000
  - COLLECTION_OBJECT_HP_RATE=3.000000
  - COLLECTION_OBJECT_RESPAWN_SPEED_RATE=3.000000
  - ENEMY_DROP_ITEM_RATE=3.000000
  - DEATH_PENALTY=NONE
  - ENABLE_PLAYER_TO_PLAYER_DAMAGE=false
  - ENABLE_FRIENDLY_FIRE=false
  - ENABLE_INVADER_ENEMY=true
  - ACTIVE_UNKO=false
  - ENABLE_AIM_ASSIST_PAD=true
  - ENABLE_AIM_ASSIST_KEYBOARD=false
  - DROP_ITEM_MAX_NUM=3000
  - DROP_ITEM_MAX_NUM_UNKO=100
  - BASE_CAMP_MAX_NUM=128
  - BASE_CAMP_WORKER_MAXNUM=20
  - 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
  - PAL_EGG_DEFAULT_HATCHING_TIME=0.000000
  - WORK_SPEED_RATE=1.000000 
  - IS_MULTIPLAY=true
  - IS_PVP=false
  - CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP=false
  - ENABLE_NON_LOGIN_PENALTY=true
  - ENABLE_FAST_TRAVEL=true
  - IS_START_LOCATION_SELECT_BY_MAP=true
  - EXIST_PLAYER_AFTER_LOGOUT=false
  - ENABLE_DEFENSE_OTHER_GUILD_PLAYER=false
  - COOP_PLAYER_MAX_NUM=4
  - MAX_PLAYERS=16
  - SERVER_NAME=jammsen-docker-generated-###RANDOM###
  - SERVER_DESCRIPTION=Palworld-Dedicated-Server running in Docker by jammsen
  - ADMIN_PASSWORD=123456789
  - SERVER_PASSWORD=123456789
  - PUBLIC_PORT=8211
  - PUBLIC_IP=
  - RCON_ENABLED=false
  - RCON_PORT=25575
  - REGION=
  - USEAUTH=true
volumes:
  - ./game:/palworld
dayzKo1 commented 8 months ago

root@localhost:/home/lbty/palworld# docker compose up [+] Running 1/0 ✔ Container palworld-dedicated-server Created 0.0s Attaching to palworld-dedicated-server palworld-dedicated-server | >>> Checking for existence of default credentials palworld-dedicated-server | >>> Doing an update of the gameserver palworld-dedicated-server | time="2024-02-01T19:03:35+08:00" level=info msg="read crontab: cronlist" palworld-dedicated-server | tid(17) burning pthread_key_t == 0 so we never use it palworld-dedicated-server | Redirecting stderr to '/home/steam/Steam/logs/stderr.txt' palworld-dedicated-server | Logging directory: '/home/steam/Steam/logs' palworld-dedicated-server | [ 0%] Checking for available updates... palworld-dedicated-server | [----] Verifying installation... palworld-dedicated-server | Steam Console Client (c) Valve Corporation - version 1705108307 palworld-dedicated-server | -- type 'quit' to exit -- palworld-dedicated-server | Loading Steam API...OK palworld-dedicated-server | palworld-dedicated-server | Connecting anonymously to Steam Public...OK palworld-dedicated-server | Waiting for client config...OK palworld-dedicated-server | Waiting for user info...OK palworld-dedicated-server | Update state (0x5) verifying install, progress: 0.33 (7340032 / 2248045559) palworld-dedicated-server | Update state (0x5) verifying install, progress: 23.96 (538560020 / 2248045559) palworld-dedicated-server | Update state (0x5) verifying install, progress: 56.25 (1264496145 / 2248045559) palworld-dedicated-server | Update state (0x5) verifying install, progress: 88.68 (1993519374 / 2248045559) palworld-dedicated-server | Error! App '2394010' state is 0x226 after update job. palworld-dedicated-server | >>> Starting the gameserver palworld-dedicated-server | >>> Setting up Engine.ini ... palworld-dedicated-server | Found [/Script/OnlineSubsystemUtils.IpNetDriver] section palworld-dedicated-server | Found NetServerMaxTickRate parameter, chaning it to 120 palworld-dedicated-server | >>> Finished setting up Engine.ini ... palworld-dedicated-server | >>> Setting up PalWorldSettings.ini ... palworld-dedicated-server | Checking if config exists palworld-dedicated-server | Setting Difficulty to None palworld-dedicated-server | Setting DayTimeSpeedRate to 1.000000 palworld-dedicated-server | Setting NightTimeSpeedRate to 1.000000 palworld-dedicated-server | Setting ExpRate to 3.000000 palworld-dedicated-server | Setting PalCaptureRate to 2.000000 palworld-dedicated-server | Setting PalSpawnNumRate to 2.000000 palworld-dedicated-server | Setting PalDamageRateAttack to 1.000000 palworld-dedicated-server | Setting PalDamageRateDefense to 1.000000 palworld-dedicated-server | Setting PlayerDamageRateAttack to 1.000000 palworld-dedicated-server | Setting PlayerDamageRateDefense to 1.000000 palworld-dedicated-server | Setting PlayerStomachDecreaceRate to 1.000000 palworld-dedicated-server | Setting PlayerStaminaDecreaceRate to 0.300000 palworld-dedicated-server | Setting PlayerAutoHPRegeneRate to 5.000000 palworld-dedicated-server | Setting PlayerAutoHpRegeneRateInSleep to 5.000000 palworld-dedicated-server | Setting PalStomachDecreaceRate to 1.000000 palworld-dedicated-server | Setting PalStaminaDecreaceRate to palworld-dedicated-server | Setting PalAutoHPRegeneRate to 5.000000 palworld-dedicated-server | Setting PalAutoHpRegeneRateInSleep to 5.000000 palworld-dedicated-server | Setting BuildObjectDamageRate to 1.000000 palworld-dedicated-server | Setting BuildObjectDeteriorationDamageRate to 1.000000 palworld-dedicated-server | Setting PalAutoHpRegeneRateInSleep to 1.000000 palworld-dedicated-server | Setting CollectionDropRate to 3.000000 palworld-dedicated-server | Setting CollectionObjectHpRate to 3.000000 palworld-dedicated-server | Setting CollectionObjectRespawnSpeedRate to 3.000000 palworld-dedicated-server | Setting EnemyDropItemRate to 3.000000 palworld-dedicated-server | Setting DeathPenalty to NONE palworld-dedicated-server | Setting bEnablePlayerToPlayerDamage to false palworld-dedicated-server | Setting bEnableFriendlyFire to false palworld-dedicated-server | Setting bEnableInvaderEnemy to true palworld-dedicated-server | Setting bActiveUNKO to false palworld-dedicated-server | Setting bEnableAimAssistPad to true palworld-dedicated-server | Setting bEnableAimAssistKeyboard to false palworld-dedicated-server | Setting DropItemMaxNum to 3000 palworld-dedicated-server | Setting DropItemMaxNum_UNKO to 100 palworld-dedicated-server | Setting BaseCampMaxNum to 128 palworld-dedicated-server | Setting BaseCampWorkerMaxNum to 20 palworld-dedicated-server | Setting DropItemAliveMaxHours to 1.000000 palworld-dedicated-server | Setting bAutoResetGuildNoOnlinePlayers to false palworld-dedicated-server | Setting AutoResetGuildTimeNoOnlinePlayers to 72.000000 palworld-dedicated-server | Setting GuildPlayerMaxNum to 20 palworld-dedicated-server | Setting PalEggDefaultHatchingTime to 0.000000 palworld-dedicated-server | Setting WorkSpeedRate to 1.000000 palworld-dedicated-server | Setting bIsMultiplay to true palworld-dedicated-server | Setting bIsPvP to false palworld-dedicated-server | Setting bCanPickupOtherGuildDeathPenaltyDrop to false palworld-dedicated-server | Setting bEnableNonLoginPenalty to true palworld-dedicated-server | Setting bEnableFastTravel to true palworld-dedicated-server | Setting bIsStartLocationSelectByMap to true palworld-dedicated-server | Setting bExistPlayerAfterLogout to false palworld-dedicated-server | Setting bEnableDefenseOtherGuildPlayer to false palworld-dedicated-server | Setting CoopPlayerMaxNum to 4 palworld-dedicated-server | Setting max-players to 16 palworld-dedicated-server | Setting server name to jammsen-docker-generated-###RANDOM### palworld-dedicated-server | Found standard template, using random numbers in server name palworld-dedicated-server | Server name is now jammsen-docker-generated-20126 palworld-dedicated-server | Setting server description to Palworld-Dedicated-Server running in Docker by jammsen palworld-dedicated-server | Setting server admin password to 123456789 palworld-dedicated-server | Setting server password to 123456789 palworld-dedicated-server | Setting public port to 8211 palworld-dedicated-server | Setting public ip to palworld-dedicated-server | Setting rcon-enabled to false palworld-dedicated-server | Setting RCONPort to 25575 palworld-dedicated-server | Setting Region to palworld-dedicated-server | Setting bUseAuth to true palworld-dedicated-server | >>> Finished setting up PalWorldSettings.ini ... palworld-dedicated-server | [S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK. palworld-dedicated-server | Shutdown handler: initalize. palworld-dedicated-server | - Existing per-process limit (soft=1073741816, hard=1073741816) is enough for us (need only 1073741816) palworld-dedicated-server | Increasing per-process limit of core file size to infinity. palworld-dedicated-server | - Existing per-process limit (soft=18446744073709551615, hard=18446744073709551615) is enough for us (need only 18446744073709551615) palworld-dedicated-server | CAppInfoCacheReadFromDiskThread took 3 milliseconds to initialize palworld-dedicated-server | Setting breakpad minidump AppID = 2394010 palworld-dedicated-server | [S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded. palworld-dedicated-server | [S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded. palworld-dedicated-server | [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. palworld-dedicated-server | [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

dayzKo1 commented 8 months ago

Hey @dayzKo1 - Please share your default.env and your logs

Thank you for your reply. I have posted it below

jammsen commented 8 months ago

@dayzKo1

Hmmm ALWAYS_UPDATE_ON_START is true but STEAMCMD_VALIDATE_FILES does not exist for you. The log looks good too.

Please update your old configs and files for docker-compose and default.env to the new format, the readme explains how to do that.

But from my POV there is nothing wrong in your settings nor logs.

jammsen commented 8 months ago

@dayzKo1 you are also free to join Discord and ask there.

dayzKo1 commented 8 months ago

@dayzKo1

Hmmm ALWAYS_UPDATE_ON_START is true but STEAMCMD_VALIDATE_FILES does not exist for you. The log looks good too.

Please update your old configs and files for docker-compose and default.env to the new format, the readme explains how to do that.

But from my POV there is nothing wrong in your settings nor logs.

i will try to update the format

jammsen commented 8 months ago

I upgraded and fresh-installed my test-server now 4 times, works like a charm.

dayzKo1 commented 8 months ago

I upgraded and fresh-installed my test-server now 4 times, works like a charm.

i add STEAMCMD_VALIDATE_FILES=true, but still not work...

banb3515 commented 8 months ago

I just had the same issue and was looking for a solution. I confirmed that the update is not happening because the steamservice.so file cannot be found. After running the command ln -s linux64/steamclient.so ./steamservice.so in the game/ directory, it was updated normally.

dayzKo1 commented 8 months ago

I upgraded and fresh-installed my test-server now 4 times, works like a charm.

i add STEAMCMD_VALIDATE_FILES=true, but still not work...

besides this config, i thought webhook is useless , so i didnt add that.

jammsen commented 8 months ago

I just had the same issue and was looking for a solution. I confirmed that the update is not happening because the steamservice.so file cannot be found. It was updated normally after executing the ln -s linux64/steamclient.so ./steamservice.so command.

Thoose 2 things have nothing to do with each other. Also you can see his SO is OK.

palworld-dedicated-server | [S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.


besides this config, i thought webhook is useless , so i didnt add that.

Webhook is not enabled by default. You can add it anyways if you want.

i add STEAMCMD_VALIDATE_FILES=true, but still not work...

Validate doesnt download files, it just validates the checksums of all of them and checks if you have corrupted files.

Can you post your ip:port here if its extrernally reachable so i can try to connect?

jammsen commented 8 months ago

@dayzKo1 you are also free to join Discord and ask there.

Again, Discord for chat is here too, then we dont have to write comments in issues as a chat ...

Taragos commented 8 months ago

Hey there, I also ran into this problem, but I did make some adjustments to the server before updating and had to take those into account.

What I did before:

So when I wanted to update he ran into a problem during the uppdate process and reported: Error! App '2394010' state is 0x606 after update job

To fix this I did the following steps:

  1. Back up the steam_appid.txt that I manually created
  2. Execute chattr -a Pal/Binaries/Linux in the game folder to allow writes to the Linux folder
  3. Started the docker compose file with updates enabled and the up to date docker image
  4. The game updates within the docker file and reports -> Success! App '2394010' fully installed.
  5. Shut down the server
  6. Restore the backup of the steam_appid.txt and set chattr +a Pal/Binaries/Linux so that the server can't overwrite the steam_appid.txt (is required so that my players dont need to create new characters because of the previous change from windows to linux)
  7. Start the server back up again, with updates and verification disabled (no idea if that is required, but it worked for me)
jammsen commented 8 months ago

So when I wanted to update he ran into a problem during the uppdate process and reported: Error! App '2394010' state is 0x606 after update job

https://docs.linuxgsm.com/steamcmd/errors#error-0x606

jammsen commented 8 months ago

Hey there, I also ran into this problem, but I did make some adjustments to the server before updating and had to take those into account.

What I did before:

So when I wanted to update he ran into a problem during the uppdate process and reported: Error! App '2394010' state is 0x606 after update job

To fix this I did the following steps:

  1. Back up the steam_appid.txt that I manually created
  2. Execute chattr -a Pal/Binaries/Linux in the game folder to allow writes to the Linux folder
  3. Started the docker compose file with updates enabled and the up to date docker image
  4. The game updates within the docker file and reports -> Success! App '2394010' fully installed.
  5. Shut down the server
  6. Restore the backup of the steam_appid.txt and set chattr +a Pal/Binaries/Linux so that the server can't overwrite the steam_appid.txt (is required so that my players dont need to create new characters because of the previous change from windows to linux)
  7. Start the server back up again, with updates and verification disabled (no idea if that is required, but it worked for me)

That sonds like a REALLY exotic setup you have there 😧

Taragos commented 8 months ago

That sonds like a REALLY exotic setup you have there 😧

Yeah, 😅 We played on a Windows Managed Host for a good 20+ Hours until we ran into a bug and couldn't fix it due to the Managed Host, and we decided to migrate to a self-hosted Linux setup. That required a bit of work to ensure that our characters were still associated with the players.

And the 0x606 definitely occurred due to the removed permission for the Pal/Binaries/Linux directory.

jammsen commented 8 months ago

Well if its only 20 hours and we would have to migrate, pretty sure my friends would just say, "shit, but lets start over". Well good for you when you found a hacky-workaround i guess 🤣

jammsen commented 8 months ago

@dayzKo1 you got it running? Do you still need help?

If yes, please read https://github.com/jammsen/docker-palworld-dedicated-server/issues/162#issuecomment-1921197298 and follow that instructions.

@Taragos and i got off-topic, sorry.

dayzKo1 commented 8 months ago

@dayzKo1 you got it running? Do you still need help?

If yes, please read #162 (comment) and follow that instructions.

@Taragos and i got off-topic, sorry.

Im trying to understand this comment and make it

jammsen commented 8 months ago

Again, there is a DISCORD full of people that could potentially help 👍 Link is in the Readme-page

dayzKo1 commented 8 months ago

Again, there is a DISCORD full of people that could potentially help 👍 Link is in the Readme-page

Hello Jammsen, the reason for the issue is that the hard disk storage space is insufficient. The hourly backup fills up 15GB of default space, and after expansion, it can be updated normally. I have joined the Discord group, and if there are any problems in the future, we will discuss them over there. Thank you!

jammsen commented 8 months ago

Happy to hear it works now, you can enable the Backup-Rentention-Policy to hinder the disk running full. Its describen in the readme.

Im closing this issue as resolved, feel free to reach out again if you need help.

If you like this project, please consider giving this repo and the docker-hub-repo a Star.