thijsvanloef / palworld-server-docker

A Docker Container to easily run a Palworld dedicated server.
https://hub.docker.com/r/thijsvanloef/palworld-server-docker
MIT License
2.38k stars 298 forks source link

steamcmd missing file permissions #551

Open dichromatic opened 2 weeks ago

dichromatic commented 2 weeks ago

Describe the bug

Palworld unable to update on container restart, steamcmd gives me a missing file permissions error. Have tried recreating the container to the same result. Not exactly sure what's causing the permissions error, I haven't touched the container other than restarting it for game updates. Have not touched PUID or GUID either.

To Reproduce

Steps to reproduce the behavior:

  1. Restart container with docker-compose up
  2. Wait for steamcmd to update Palworld

Expected behavior

Palworld should have updated.

Actual behavior

On startup, it gives me "ERROR! Failed to install app '2394010' (Missing file permissions)".

Screenshots

N/A

OS information (IMPORTANT)

Hardware information (IMPORTANT)

docker-compose.yml contents (IMPORTANT)

docker-compose.yml ```yaml version: '3' services: palworld: image: thijsvanloef/palworld-server-docker:latest restart: unless-stopped container_name: palworld-server ports: - 10000:10000/udp - 27015:27015/udp environment: #- ADMIN_PASSWORD="pword" - SERVER_NAME="name" - PORT=10000 - PLAYERS=16 - MULTITHREADING=true - UPDATE_ON_BOOT=true - COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! # Enable the environment variables below if you have COMMUNITY=true # - SERVER_PASSWORD="worldofpals" # - SERVER_NAME="World of Pals" # - ADMIN_PASSWORD="someAdminPassword" volumes: - ./palworld:/palworld/ ```

Container/Host Logs (IMPORTANT)

Logs ```log palworld-server | Redirecting stderr to '/root/Steam/logs/stderr.txt' palworld-server | Logging directory: '/root/Steam/logs' palworld-server | [ 0%] Checking for available updates... palworld-server | [----] Verifying installation... palworld-server | Steam Console Client (c) Valve Corporation - version 1718305764 palworld-server | -- type 'quit' to exit -- palworld-server | Loading Steam API...OK palworld-server | palworld-server | Connecting anonymously to Steam Public...OK palworld-server | Waiting for client config...OK palworld-server | Waiting for user info...OK palworld-server | ERROR! Failed to install app '2394010' (Missing file permissions) palworld-server | ./PalServer.sh -port=10000 -players=16 -servername="name" -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS palworld-server | *****STARTING SERVER*****The file already exists: /palworld/Pal/Binaries/Linux/steamclient.so palworld-server | [S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK. palworld-server | CAppInfoCacheReadFromDiskThread took 0 milliseconds to initialize palworld-server | Setting breakpad minidump AppID = 2394010 palworld-server | [S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded. palworld-server | [S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded. palworld-server | [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. palworld-server | [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded. ```

Additional context

Running on a home debian server.

Bug Report Checklist

nevesm commented 2 weeks ago

I am facing the same issue with appId '730'

thijsvanloef commented 2 weeks ago

@dichromatic Can you show the permissions on your mounted folder?

ls -al ./palworld
dichromatic commented 2 weeks ago
❯ ls -al palworld
total 44648
drwxr-xr-x 7 rumi rumi     4096 Jun 16 20:09 .
drwxr-xr-x 3 rumi rumi     4096 Jan 24 16:32 ..
-rwxr-xr-x 1 rumi rumi     2087 Apr  5 22:45 DefaultPalWorldSettings.ini
-rwxr--r-- 1 rumi rumi     4096 Jan 24 16:32 ._.DS_Store
-rwxr--r-- 1 rumi rumi     8196 Jan 24 16:33 .DS_Store
drwxr-xr-x 6 rumi rumi     4096 Apr  5 22:47 Engine
drwxr-xr-x 2 rumi rumi     4096 Jan 21 16:22 linux64
-rwxr-xr-x 1 rumi rumi      438 Apr  5 22:45 Manifest_DebugFiles_Linux.txt
-rwxr-xr-x 1 rumi rumi     3031 Apr  5 22:45 Manifest_NonUFSFiles_Linux.txt
-rwxr-xr-x 1 rumi rumi  7990849 Apr  5 22:45 Manifest_UFSFiles_Linux.txt
drwxr-xr-x 7 rumi rumi     4096 Jan 24 16:33 Pal
-rwxr-xr-x 1 rumi rumi      815 Apr  5 22:45 PalServer.sh
drwxr-xr-x 3 rumi rumi     4096 Jun 16 20:11 steamapps
drwxr-xr-x 4 rumi rumi     4096 Apr  7 04:03 steamapps_backup
-rwxr-xr-x 1 rumi rumi 37665020 Jan 21 16:18 steamclient.so

rumi being my user. I tried recreating the steamapps folder, the original one is labeled under steamapps_backup

thijsvanloef commented 1 week ago

You might want to try the following command:

id

Should get an output like this:

uid=1000(thijs) gid=1000(thijs)

And then run your container with:

    environment:
      PUID: 1000 (your UID)
      PGID: 1000 (your GID)
thijsvanloef commented 1 week ago

Hi @dichromatic are you still experiencing this issue?

dichromatic commented 1 week ago

Sorry was a little busy, I tried changing the PUID and GUID in the docker-compose file and it still gives me the same error.

thijsvanloef commented 1 week ago

If you try to set everything in the folder to 777 does it work?

sudo chmod -R 777 ./palworld

This is to figure out if this is a permission or a different issue, this is kind of unsafe to run the server like this.

ecterun commented 1 week ago

I ran into the same issue described in the issue. I ran the container as the user that the files were owned by, and this allowed the container to download the game files correctly. The problem then was I ran into an error were it was unable to actually start the game server successfully.

In the container logs it would ask for a password and show access denied as if the container entered in a bad pass.

I was able to then re-run the container as the original user and the game server started because the files were successfully downloaded and put in the correct location.

ecterun commented 4 days ago

This is the logs with the using the user id/gid that owns the files. It installs the game update correctly, but is unable to start the server sucessfully. To do that I need to rebuild the container without the --user settings.

*****STARTING INSTALL/UPDATE*****tid(13) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
Logging directory: '/home/steam/Steam/logs'
[  0%] Checking for available updates...
[----] Downloading update (0 of 58,905 KB)...
[  0%] Downloading update (927 of 58,905 KB)...
[  1%] Downloading update (3,901 of 58,905 KB)...
[  6%] Downloading update (6,538 of 58,905 KB)...
[ 11%] Downloading update (8,450 of 58,905 KB)...
[ 14%] Downloading update (10,232 of 58,905 KB)...
[ 17%] Downloading update (11,886 of 58,905 KB)...
[ 20%] Downloading update (13,516 of 58,905 KB)...
[ 22%] Downloading update (15,505 of 58,905 KB)...
[ 26%] Downloading update (17,127 of 58,905 KB)...
[ 29%] Downloading update (18,706 of 58,905 KB)...
[ 31%] Downloading update (20,535 of 58,905 KB)...
[ 34%] Downloading update (22,249 of 58,905 KB)...
[ 37%] Downloading update (23,927 of 58,905 KB)...
[ 40%] Downloading update (25,685 of 58,905 KB)...
[ 43%] Downloading update (27,176 of 58,905 KB)...
[ 46%] Downloading update (29,148 of 58,905 KB)...
[ 49%] Downloading update (30,536 of 58,905 KB)...
[ 51%] Downloading update (32,429 of 58,905 KB)...
[ 55%] Downloading update (34,059 of 58,905 KB)...
[ 57%] Downloading update (35,797 of 58,905 KB)...
[ 60%] Downloading update (37,491 of 58,905 KB)...
[ 63%] Downloading update (39,058 of 58,905 KB)...
[ 66%] Downloading update (40,511 of 58,905 KB)...
[ 68%] Downloading update (41,247 of 58,905 KB)...
[ 70%] Downloading update (42,261 of 58,905 KB)...
[ 71%] Downloading update (43,096 of 58,905 KB)...
[ 73%] Downloading update (43,951 of 58,905 KB)...
[ 74%] Downloading update (44,822 of 58,905 KB)...
[ 76%] Downloading update (45,776 of 58,905 KB)...
[ 77%] Downloading update (46,655 of 58,905 KB)...
[ 79%] Downloading update (47,506 of 58,905 KB)...
[ 80%] Downloading update (48,377 of 58,905 KB)...
[ 82%] Downloading update (49,331 of 58,905 KB)...
[ 83%] Downloading update (50,234 of 58,905 KB)...
[ 85%] Downloading update (51,228 of 58,905 KB)...
[ 86%] Downloading update (52,143 of 58,905 KB)...
[ 88%] Downloading update (52,990 of 58,905 KB)...
[ 89%] Downloading update (53,813 of 58,905 KB)...
[ 91%] Downloading update (54,799 of 58,905 KB)...
[ 93%] Downloading update (55,761 of 58,905 KB)...
[ 94%] Downloading update (56,593 of 58,905 KB)...
[ 96%] Downloading update (57,603 of 58,905 KB)...
[ 97%] Downloading update (58,521 of 58,905 KB)...
[ 99%] Downloading update (58,905 of 58,905 KB)...
[100%] Download complete.
[----] Installing update...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching Steamcmd...
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
Logging directory: '/home/steam/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1718904263
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
 Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
 Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
 Update state (0x61) downloading, progress: 84.60 (2266216033 / 2678785722)
 Update state (0x61) downloading, progress: 85.03 (2277750369 / 2678785722)
 Update state (0x61) downloading, progress: 85.81 (2298721889 / 2678785722)
 Update state (0x61) downloading, progress: 86.48 (2316547681 / 2678785722)
 Update state (0x61) downloading, progress: 87.30 (2338567777 / 2678785722)
 Update state (0x61) downloading, progress: 88.24 (2363733601 / 2678785722)
 Update state (0x61) downloading, progress: 89.18 (2388899425 / 2678785722)
 Update state (0x61) downloading, progress: 90.24 (2417210977 / 2678785722)
 Update state (0x61) downloading, progress: 91.29 (2445522529 / 2678785722)
 Update state (0x61) downloading, progress: 92.62 (2481174113 / 2678785722)
 Update state (0x61) downloading, progress: 93.82 (2513113529 / 2678785722)
 Update state (0x61) downloading, progress: 95.07 (2546667961 / 2678785722)
 Update state (0x61) downloading, progress: 96.24 (2578125241 / 2678785722)
 Update state (0x61) downloading, progress: 97.34 (2607485369 / 2678785722)
 Update state (0x61) downloading, progress: 98.75 (2645234105 / 2678785722)
 Update state (0x61) downloading, progress: 99.92 (2676691385 / 2678785722)
 Update state (0x81) verifying update, progress: 5.72 (153259418 / 2678785722)
 Update state (0x81) verifying update, progress: 21.31 (570819368 / 2678785722)
 Update state (0x81) verifying update, progress: 36.75 (984384807 / 2678785722)
 Update state (0x81) verifying update, progress: 52.40 (1403815207 / 2678785722)
 Update state (0x81) verifying update, progress: 67.83 (1816954151 / 2678785722)
 Update state (0x81) verifying update, progress: 83.15 (2227526835 / 2678785722)
 Update state (0x81) verifying update, progress: 98.69 (2643634850 / 2678785722)
Success! App '2394010' fully installed.
./PalServer.sh -port=8211 -players=16
*****STARTING SERVER*****Password: su: Authentication failure