Skip to content
github-actions[bot] edited this page Oct 16, 2026 · 3 revisions

ARK: Survival Evolved

This guide covers the ark module in AlphaGSM.

ark is currently PASSED on the documented Ubuntu 24.04 Linux baseline. The checked-in GitHub validation path for this server is Docker-first through the shared steamcmd-linux runtime, with the real Linux dedicated server answering A2S query, info, and info --json on the managed queryport. The CI permission fix passed Docker smoke and integration on 2026-10-14: Docker uses the manager's user/group IDs, a private writable home and read-only Steam SDK mounts. It does not recursively widen game-file permissions.

Requirements

  • Docker or another supported AlphaGSM runtime backend
  • SteamCMD access for app 376030
  • Python packages from requirements.txt

Quick Start

Create the server:

alphagsm myark create ark

Run setup:

alphagsm myark setup

Start it:

alphagsm myark start

Check it:

alphagsm myark status

Stop it:

alphagsm myark stop

Setup Details

Setup configures:

  • the game port (default 7777)
  • the query port (default 27015)
  • the install directory
  • SteamCMD downloads the server files

Useful Commands

alphagsm myark update
alphagsm myark backup

Notes

  • Module name: ark
  • Default game port: 7777
  • Default query port: 27015
  • Validated Linux support path: Docker steamcmd-linux runtime with A2S query / info on queryport

Server variables

After create ark, inspect or change these with set:

alphagsm myserver set --list
alphagsm myserver set KEY --describe
alphagsm myserver set KEY VALUE
Key Aliases Type What it does
adminpassword adminpass string Server admin password. Stored as a secret.
serverpassword sv_password, password string Password required to join the server. Stored as a secret.

Developer Notes

Run File

  • Executable: ShooterGame/Binaries/Linux/ShooterGameServer
  • Location: <install_dir>/ShooterGame/Binaries/Linux/ShooterGameServer
  • Engine: Native Linux dedicated server via SteamCMD
  • SteamCMD App ID: 376030

Server Configuration

Maps and Mods

  • Map directory: Check game documentation
  • Mod directory: Check game documentation
  • Workshop support: anonymous Linux gameplay-mod and custom-map staging; fresh process/Docker engine validation is pending.

Workshop mods and maps

alphagsm myserver mod add workshop https://steamcommunity.com/sharedfiles/filedetails/?id=2860800256
alphagsm myserver mod add workshop-collection COLLECTION_ID
alphagsm myserver mod apply
alphagsm myserver start

AlphaGSM validates items against ARK: Survival Evolved game AppID 346110, downloads anonymously, and validates native mod.info and modmeta.info. Stackable gameplay mods (ModType=1) and custom maps (ModType=2) require WindowsNoEditor cooked content, which the native Linux dedicated server also uses. AlphaGSM follows ARK Server Tools' Windows mod-branch default, whose upstream warning identifies the Linux-cooked branch as a server crash source. Linux-only payloads and total conversions are rejected. Custom-map metadata must declare a safe map name that resolves to exactly one staged native .umap; missing or ambiguous maps fail before publication. Optional native metadata strings may use Unreal's zero-length empty-string encoding. String bounds, terminators and map-name validation still apply.

Compressed .z assets are decompressed with checked chunk sizes and bounded output. Native assets and a binary .mod descriptor are published under ShooterGame/Content/Mods/. The ordered ActiveMods setting in ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini preserves operator IDs and unrelated settings. Per-file decompression is limited to 1 GiB and each mod to 8 GiB of unpacked content. Custom maps use their exact staged /Game/Mods/ID/.../MapName path and MapModID; they are not mixed into the gameplay GameModIds launch list. Merely installing a map leaves TheIsland selected until you explicitly change map.

For the small public Very Flat Map fixture (author's map name FlatMap, listed payload 3.372 MB):

alphagsm myserver mod add workshop 2041231763
alphagsm myserver mod apply
alphagsm myserver set map /Game/Mods/2041231763/FlatMap
alphagsm myserver start
alphagsm myserver info --json

CI run 38702811625 downloaded and staged the map, then both native runtime tests crashed with LinkerLoad: Bad name index while using LinuxNoEditor. Run 38748333313 passed both process/Docker native integrations and Docker smoke with the corrected Windows-cooked branch, requiring the exact custom world startup and real A2S map identity.

mod remove workshop ID_OR_URL followed by mod apply removes selected owned content and activation IDs. mod cleanup clears all desired Workshop items. Operator files remain present; modified owned files block replacement or cleanup. Removing a gameplay mod can affect world objects created by that mod. Switch back to an installed map before starting after custom-map cleanup. Native file staging and ActiveMods alone do not establish a successful engine load.

Baseline smoke and integration runs use the stock world. They require a named world and positive player capacity; the initial empty A2S response is insufficient. The separate, currently unverified Workshop case requires ALPHAGSM_RUN_ARK_WORKSHOP=1. It selects the declared FlatMap world and requires fresh native successful-startup records on its exact staged map URL, plus real A2S metadata naming FlatMap with positive player capacity. A stock-world fallback, download result or activation ID cannot satisfy the assertion. The Linux 361.7 server authenticated native RCON but returned only a generic receipt for engine GetAll, so the fixture now proves custom-world execution instead of relying on unsupported object introspection. Native activation IDs and map paths are snapshotted before start so inspecting or stopping the live container does not reopen an engine-private INI.

Clone this wiki locally