mschnitzer / ark-survival-ascended-linux-container-image

A docker/podman container that is able to run an ARK: Survival Ascended on a Linux host.
93 stars 18 forks source link

First Startup - Permission Denied errors directly on proton / steamcmd.sh #26

Closed wofnull closed 11 months ago

wofnull commented 1 year ago

General information Server: OS: Debian 9.3 Docker: 19.03.15 containerd: 1.4.3 docker compose: 2.23.0 CPU: Ryzen 7 1800x RAM: 64 GB DDR4 DockerDrive: 2 TB NVME Gen3 SSD ########################## Followed the steps for creating the docker containers via docker-compose up -d . The Containers and the volumes get created as expected. Even downloading / extracting steam, works fine, but ran directly into an permission issue:

2023-11-16 07:53:48 (29.8 MB/s) - 'steamcmd_linux.tar.gz' saved [2428561/2428561]

steamcmd.sh
linux32/steamcmd
linux32/steamerrorreporter
linux32/libstdc++.so.6
linux32/crashhandler.so
/usr/bin/start_server: line 17: ./steamcmd.sh: Permission denied
Starting the ARK: Survival Ascended dedicated server...
Start parameters: TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50
/usr/bin/start_server: line 49: cd: /home/gameserver/server-files/ShooterGame/Binaries/Win64: No such file or directory
/usr/bin/start_server: line 50: /home/gameserver/Steam/compatibilitytools.d/GE-Proton8-21/proton: Permission denied

the last part is repeating over and over while trying to restart the asa server container:

/usr/bin/start_server: line 17: ./steamcmd.sh: Permission denied
Starting the ARK: Survival Ascended dedicated server...
Start parameters: TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50
/usr/bin/start_server: line 49: cd: /home/gameserver/server-files/ShooterGame/Binaries/Win64: No such file or directory
/usr/bin/start_server: line 50: /home/gameserver/Steam/compatibilitytools.d/GE-Proton8-21/proton: Permission denied

i would not asume a general problem with docker, since I am running currently from the same system about 15 other containers with several applications without problems. ( Checked already, no container is using the same folder names or ports ;) )

DarkVentHead commented 1 year ago

Can you show your docker-compose? Specifically the volume and set-permissions sections? Only time i've personally ran in to an issue with permissions is when i had a typo in those particular sections.

wofnull commented 1 year ago

the docker-compose is unchanged from the provided one ... however, I was supposing such an error and did a rewrite to another folder outside the docker volumes for all three of them, afterwards the error repeated until I set the three created volumes manual to the access owner/group 25000:25000 looks like a permission problem after all.

Thus said I run into other issues as steam seems to download all needed files, update itself but does not star to download the asa server itself ... it stuck at

[2023-11-16 15:00:04] Checking for update on startup
[2023-11-16 15:00:04] Checking for available updates...
[2023-11-16 15:00:04] Downloading manifest: https://cdn.steamstatic.com/client/steam_cmd_linux
[2023-11-16 15:00:04] Manifest download: send request
[2023-11-16 15:00:04] Manifest download: waiting for download to finish
DarkVentHead commented 1 year ago

2 more questions:

  1. Are you running virtualized or bare hardware?
  2. Did you git the compose file or manually type it?
wofnull commented 1 year ago
  1. Bare Metal directly on the server.
  2. the compose was pulled via wget from git, as given in the instructions
mschnitzer commented 1 year ago

Could you please paste your docker-compose file nevertheless?

btw. the output you showed above:

[2023-11-16 15:00:04] Checking for update on startup
[2023-11-16 15:00:04] Checking for available updates...
[2023-11-16 15:00:04] Downloading manifest: https://cdn.steamstatic.com/client/steam_cmd_linux
[2023-11-16 15:00:04] Manifest download: send request
[2023-11-16 15:00:04] Manifest download: waiting for download to finish

where does it come from?

wofnull commented 1 year ago

Sorry it took so long to answer:

modified docker compose file, which lead to the running example but has download issues via steam:

version: "3.3"
services:
  asa-server-1:
    container_name: asa-server-1
    hostname: asa-server-1
    entrypoint: "/usr/bin/start_server"
    user: gameserver
    image: "mschnitzer/asa-linux-server:latest"
    environment:
      - ASA_START_PARAMS=TheIsland_WP?listen?SessionName=xxxxxx?ServerPassword=xxxxxx?RCONEnabled=true?RCONPort=27022?ServerAdminPassword=xxxxxx?HarvestAmountMultiplier=3?ResourceNoReplenishRadiusPlayer=0.05?ResourceNoReplenishRadiusStructures=0.05?ResourceRespawnPeriodMultiplier=0.1?TamingSpeedMultiplier=4?DifficultyOffset=1?OverrideOfficialDifficulty=5?DinoCountMultiplier=1.5 -WinLiveMaxPlayers=10 -UseBattleEye
#      - ASA_START_PARAMS=TheIsland_WP?listen?Port=7777?RCONPort=27020?RCONEnabled=True -WinLiveMaxPlayers=50
      - ENABLE_DEBUG=0
    ports:
      # Game port for player connections through the server browser
      - 0.0.0.0:7777:7777/udp
      # RCON port for remote server administration
      - 0.0.0.0:27022:27022/tcp
    depends_on:
      - set-permissions-1
    volumes:
      - /sharedfolders/gameservers/asa-d-server/steam:/home/gameserver/Steam:rw
      - /sharedfolders/gameservers/asa-d-server/steamcmd:/home/gameserver/steamcmd:rw
      - /sharedfolders/gameservers/asa-d-server/asaserver:/home/gameserver/server-files:rw
    networks:
      asa-network:
  set-permissions-1:
    entrypoint: "/bin/bash -c 'chown -R 25000:25000 /steam ; chown -R 25000:25000 /steamcmd ; chown -R 25000:25000 /server-files'"
    user: root
    image: "opensuse/leap"
    volumes:
      - /sharedfolders/gameservers/asa-d-server/steam:/steam:rw
      - /sharedfolders/gameservers/asa-d-server/steamcmd:/steamcmd:rw
      - /sharedfolders/gameservers/asa-d-server/asaserver:/server-files:rw
#  asa-server-2:
#    container_name: asa-server-2
#    hostname: asa-server-2
#    entrypoint: "/usr/bin/start_server"
#    user: gameserver
#    image: "mschnitzer/asa-linux-server:latest"
#    environment:
#      - ASA_START_PARAMS=TheIsland_WP?listen?Port=7778?RCONPort=27021?RCONEnabled=True -WinLiveMaxPlayers=50
#    ports:
#      # Game port for player connections through the server browser
#      - 0.0.0.0:7778:7778/udp
#      # RCON port for remote server administration
#      - 0.0.0.0:27021:27021/tcp
#    depends_on:
#      - set-permissions-2
#    volumes:
#      - steam-2:/home/gameserver/Steam:rw
#      - steamcmd-2:/home/gameserver/steamcmd:rw
#      - server-files-2:/home/gameserver/server-files:rw
#    networks:
#      asa-network:
#  set-permissions-2:
#    entrypoint: "/bin/bash -c 'chown -R 25000:25000 /steam ; chown -R 25000:25000 /steamcmd ; chown -R 25000:25000 /server-files'"
#    user: root
#    image: "opensuse/leap"
#    volumes:
#      - steam-2:/steam:rw
#      - steamcmd-2:/steamcmd:rw
#      - server-files-2:/server-files:rw
volumes:
  /sharedfolders/gameservers/asa-d-server/steam:
  /sharedfolders/gameservers/asa-d-server/steamcmd:
  /sharedfolders/gameservers/asa-d-server/asaserver:
#  steam-2:
#  steamcmd-2:
#  server-files-2:
networks:
  asa-network:
    attachable: true
    driver: bridge
    driver_opts:
      com.docker.network.bridge.name: 'asanet'

Log entry did come from ( in container ): /home/gameserver/Steam/logs/bootstrap_log.txt

And before the question comes up: steamcmd on baremetal in the exact same folders works fine, downloads everything and does not lock itself up.

However as the cotainer did not download Ark and made more and more issues, i switched to a fully fledged VM with Win10 ... which is a bit overkill, but the server needs to be running until the normal serverfiles are available

mschnitzer commented 1 year ago

The volume section at the end of the docker-compose.yml file can now be removed, as you switched to an absolute directory path. I'm not sure whether you HAVE to remove it, but there's no point in having it anymore. Just to avoid any further unexpected issues, I'd recommend removing it.

Could you please wipe the content of these volume mount points when the container is stopped and run docker-compose up -d again?

If you still get these permission errors, please run:

docker exec -ti asa-server-1 ls -l /home/gameserver

and post the output here.

mschnitzer commented 1 year ago

@wofnull do you have an update on this?

mschnitzer commented 11 months ago

Please open this issue again, if you still run into issues.