From 9fef27cd4025c48f4afe82427939547497d134e4 Mon Sep 17 00:00:00 2001 From: Greg Date: Sun, 25 Oct 2026 02:25:45 -0400 Subject: [PATCH] fix(ark): retry the server install before handing over to the image The image's start_server runs SteamCMD once and carries on even when it fails; SteamCMD's intermittent "Missing configuration" error then left no server installed, so ARK exited and only the node's restart policy saved it (a boot test would fail on the restart). First boot showed it. The startup command now downloads SteamCMD if missing, runs the usual "+login anonymous +quit" warm-up and installs app 2430930, retrying up to three times until ArkAscendedServer.exe exists. start_server's own install step then only validates. Co-Authored-By: Claude Opus 5.5 --- games/ark-survival-ascended-crossplay/game.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/games/ark-survival-ascended-crossplay/game.yaml b/games/ark-survival-ascended-crossplay/game.yaml index 06038f9..59809ad 100644 --- a/games/ark-survival-ascended-crossplay/game.yaml +++ b/games/ark-survival-ascended-crossplay/game.yaml @@ -3,7 +3,7 @@ id: ark-survival-ascended-crossplay name: 'ARK: Survival Ascended (Crossplay Dedicated Server)' defaultDockerImage: mschnitzer/asa-linux-server:latest containerUser: "25000:25000" -defaultStartupCommand: bash -c 'mkdir -p /server /data/Steam /data/steamcmd /data/cluster-shared && rm -rf /home/gameserver/server-files /home/gameserver/Steam /home/gameserver/steamcmd /home/gameserver/cluster-shared && ln -sfn /server /home/gameserver/server-files && ln -sfn /data/Steam /home/gameserver/Steam && ln -sfn /data/steamcmd /home/gameserver/steamcmd && ln -sfn /data/cluster-shared /home/gameserver/cluster-shared && export ASA_START_PARAMS="${ASA_START_PARAMS:-${SERVER_MAP:-TheIsland_WP}?listen?Port=${PORT:-7777}?RCONPort=${RCONPORT:-27020}?RCONEnabled=True -WinLiveMaxPlayers=${MAX_PLAYERS:-70} -ServerPlatform=ALL}" && exec /usr/bin/start_server' +defaultStartupCommand: bash -c 'mkdir -p /server /data/Steam /data/steamcmd /data/cluster-shared && rm -rf /home/gameserver/server-files /home/gameserver/Steam /home/gameserver/steamcmd /home/gameserver/cluster-shared && ln -sfn /server /home/gameserver/server-files && ln -sfn /data/Steam /home/gameserver/Steam && ln -sfn /data/steamcmd /home/gameserver/steamcmd && ln -sfn /data/cluster-shared /home/gameserver/cluster-shared && (cd /home/gameserver/steamcmd && { [ -x steamcmd.sh ] || wget -qO- https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xz; } && for i in 1 2 3; do ./steamcmd.sh +login anonymous +quit; ./steamcmd.sh +force_install_dir /home/gameserver/server-files +login anonymous +app_update 2430930 validate +quit; [ -f /home/gameserver/server-files/ShooterGame/Binaries/Win64/ArkAscendedServer.exe ] && break; echo "ARK install attempt $i failed, retrying in 15s"; sleep 15; done) && export ASA_START_PARAMS="${ASA_START_PARAMS:-${SERVER_MAP:-TheIsland_WP}?listen?Port=${PORT:-7777}?RCONPort=${RCONPORT:-27020}?RCONEnabled=True -WinLiveMaxPlayers=${MAX_PLAYERS:-70} -ServerPlatform=ALL}" && exec /usr/bin/start_server' requiredMemoryMb: 16384 requiredDiskMb: 32768 defaultPorts: