Skip to content

fix(ark): set the image entrypoint (the server never started) + manage CurseForge mods - #14

Merged
ValgulNecron merged 2 commits into
mainfrom
feat/ark-mods-by-id
Jul 13, 2026
Merged

ValgulNecron merged 2 commits into
mainfrom
feat/ark-mods-by-id

Conversation

@ValgulNecron

Copy link
Copy Markdown
Collaborator

ARK declared no capabilities.mods at all, so it had no Mods tab. That was correct at the time: ASA has no mods directory and no mods env — its only hook is a -mods=<curseforge-id>,... flag on the launch string, which also carries the user's own params. The file-drop mod model simply doesn't fit.

Gameplane now has mods-by-ID (Gameplane#122): the operator projects the selected mod ids into a template-declared env. ARK declares it in append mode against ASA_START_PARAMS, so the ids are appended onto whatever launch params the user set — they never type -mods= themselves. With no mods selected, nothing is appended (a bare -mods= would break the server).

Also adds the CurseForge registry provider for in-app browse — ASA's mod platform. Deliberately no install / allowedHosts block: the game downloads the mods, so the agent never fetches anything for this template.

Requires Gameplane#122 (CRD + operator) and the mods-by-ID API route.

ARK: Survival Ascended declared no capabilities.mods at all, so it had no
Mods tab — correct at the time, because ASA has no mods directory and no
mods env. Its only hook is a -mods=<curseforge-id>,... flag on the launch
string, which also carries the user's own params, so the file-drop model
never fitted.

Gameplane now has mods-by-ID: the operator projects the selected mod ids
into a template-declared env. ARK declares it in append mode against
ASA_START_PARAMS, so the ids are appended to whatever launch params the
user set — they never type -mods= themselves. With no mods selected nothing
is appended (a bare -mods= would break the server).

Adds the CurseForge registry provider for in-app browse (ASA's mod
platform). No install/allowedHosts block: the game downloads the mods
itself, so the agent never fetches anything here.

Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
The image declares no ENTRYPOINT and its CMD is /bin/bash. With no TTY the
container got a non-interactive bash, which read EOF on stdin and exited 0
immediately: the pod restart-looped forever with an EMPTY log and a
'Completed' exit status, which looks nothing like a crash and is why this
went unnoticed. Caught on the test cluster after 22 restarts.

The image's own docker-compose sets entrypoint: /usr/bin/start_server.
Declaring it makes the server actually boot — verified on the cluster: the
container now runs, fetches Proton and proceeds to the SteamCMD install.

ARK could never have started since the module was written.

Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
@ValgulNecron ValgulNecron changed the title feat(ark): manage CurseForge mods from the Mods tab fix(ark): set the image entrypoint (the server never started) + manage CurseForge mods Jul 13, 2026
@ValgulNecron
ValgulNecron merged commit 00aa85a into main Jul 13, 2026
@ValgulNecron
ValgulNecron deleted the feat/ark-mods-by-id branch July 13, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant