From 5a7a2c8f54beb2f03aba1201353f54fa9bb4a1af Mon Sep 17 00:00:00 2001 From: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> Date: Mon, 13 Jul 2026 20:57:00 +0200 Subject: [PATCH] =?UTF-8?q?fix(ark):=20add=20a=20startup=20probe=20?= =?UTF-8?q?=E2=80=94=20liveness=20was=20killing=20the=2013GB=20first=20ins?= =?UTF-8?q?tall?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARK's first boot downloads ~13 GB of game via SteamCMD (plus Proton). The liveness probe fired 5 minutes in (initialDelay 180s + 5x30s), killed the container mid-download, and the server crash-looped forever — it could never reach a state where RCON listens, so liveness could never pass. Observed on the test cluster. A startup probe suspends liveness and readiness until it first succeeds, so the install now gets up to an hour; the normal liveness window only takes over once the server is actually up. This is the standard Kubernetes answer to a slow-starting container, and initialDelaySeconds on liveness/readiness is now redundant, so it's dropped. Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com> --- ark-survival-ascended/module.yaml | 2 +- ark-survival-ascended/template.yaml | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ark-survival-ascended/module.yaml b/ark-survival-ascended/module.yaml index bd404ec..7c72b65 100644 --- a/ark-survival-ascended/module.yaml +++ b/ark-survival-ascended/module.yaml @@ -1,7 +1,7 @@ apiVersion: gameplane.local/module/v1 name: ark-survival-ascended displayName: "ARK: Survival Ascended" -version: 1.0.1 +version: 1.0.2 game: ark-survival-ascended summary: "ARK: Survival Ascended dedicated server (mschnitzer/asa-linux-server) with RCON console/moderation. CurseForge mods install via the game's own -mods= launch parameter." homepage: https://survivetheark.com/ diff --git a/ark-survival-ascended/template.yaml b/ark-survival-ascended/template.yaml index 1f4df4a..b64f81d 100644 --- a/ark-survival-ascended/template.yaml +++ b/ark-survival-ascended/template.yaml @@ -58,7 +58,7 @@ metadata: spec: displayName: "ARK: Survival Ascended" game: ark-survival-ascended - version: 1.0.1 + version: 1.0.2 accentColor: "#00b2e2" description: | ARK: Survival Ascended dedicated server using @@ -162,16 +162,28 @@ spec: probes: # Game/peer ports are UDP; RCON is the only TCP port, so it's the # probe target (same pattern as factorio). + # + # The startup probe is LOAD-BEARING, not a nicety. First boot downloads + # ~13 GB of game via SteamCMD (plus Proton), which takes far longer than + # any sane liveness window. Without a startup probe the liveness probe + # fires ~5 minutes in, kills the container mid-download, and the server + # crash-loops forever — never once reaching a state where RCON listens. + # A startup probe suspends liveness/readiness until it first succeeds, + # so the install gets up to an hour to finish; only then does the normal + # liveness window take over. + startup: + tcpSocket: + port: rcon + periodSeconds: 30 + failureThreshold: 120 readiness: tcpSocket: port: rcon - initialDelaySeconds: 60 periodSeconds: 15 failureThreshold: 20 liveness: tcpSocket: port: rcon - initialDelaySeconds: 180 periodSeconds: 30 failureThreshold: 5