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 <noreply@anthropic.com>
334 lines
12 KiB
YAML
334 lines
12 KiB
YAML
# yaml-language-server: $schema=../../schema/game.schema.json
|
|
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 && (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:
|
|
- 7777/udp
|
|
installMethod: NONE
|
|
defaultConfig:
|
|
AdminLogging: false
|
|
AllowFlyerCarryPvE: false
|
|
AllowHitMarkers: true
|
|
AllowThirdPersonPlayer: true
|
|
AlwaysAllowStructurePickup: true
|
|
AutoSavePeriodMinutes: 15
|
|
DayCycleSpeedScale: 1
|
|
DayTimeSpeedScale: 1
|
|
DifficultyOffset: 1
|
|
DisableDinoDecayPvE: false
|
|
DisableStructureDecayPvE: false
|
|
EnablePVPGamma: false
|
|
MaxPlayers: 70
|
|
NightTimeSpeedScale: 1
|
|
OverrideOfficialDifficulty: 5
|
|
Port: 7777
|
|
PreventDiseases: false
|
|
PreventDownloadDinos: false
|
|
PreventDownloadItems: false
|
|
PreventDownloadSurvivors: false
|
|
PreventUploadDinos: false
|
|
PreventUploadItems: false
|
|
PreventUploadSurvivors: false
|
|
RCONEnabled: true
|
|
RCONPort: 27020
|
|
ServerAdminPassword: ""
|
|
ServerCrosshair: true
|
|
ServerHardcore: false
|
|
ServerMap: TheIsland_WP
|
|
ServerPVE: false
|
|
ServerPassword: ""
|
|
ShowFloatingDamageText: false
|
|
ShowMapPlayerLocation: true
|
|
bDisableStructurePlacementCollision: false
|
|
configSchema:
|
|
$schema: http://json-schema.org/draft-07/schema#
|
|
properties:
|
|
AdminLogging:
|
|
category: Security & Access
|
|
default: false
|
|
description: Broadcasts in-game administrative commands in chat to all connected players.
|
|
title: Admin Command Logging
|
|
type: boolean
|
|
AllowFlyerCarryPvE:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Allows airborne tamed creatures to pick up and carry wild or non-allied dinosaurs in PvE.
|
|
title: Allow Flyer Carry in PvE
|
|
type: boolean
|
|
AllowHitMarkers:
|
|
category: Gameplay & Rules
|
|
default: true
|
|
description: Shows floating visual indicators when striking an enemy or creature.
|
|
title: Allow Hit Markers
|
|
type: boolean
|
|
AllowThirdPersonPlayer:
|
|
category: Gameplay & Rules
|
|
default: true
|
|
description: Permits players to switch between first-person and third-person camera views.
|
|
title: Allow Third Person
|
|
type: boolean
|
|
AlwaysAllowStructurePickup:
|
|
category: Gameplay & Rules
|
|
default: true
|
|
description: Allows players to pick up placed structures indefinitely without demolition restrictions.
|
|
title: Always Allow Structure Pickup
|
|
type: boolean
|
|
AutoSavePeriodMinutes:
|
|
category: World & Environment
|
|
default: 15
|
|
description: Frequency in minutes at which the server automatically saves world and player state.
|
|
title: Auto-Save Interval (Minutes)
|
|
type: number
|
|
DayCycleSpeedScale:
|
|
category: World & Environment
|
|
default: 1
|
|
description: Global multiplier adjusting the overall speed of the 24-hour day/night cycle.
|
|
title: Day Cycle Speed Scale
|
|
type: number
|
|
DayTimeSpeedScale:
|
|
category: World & Environment
|
|
default: 1
|
|
description: Multiplier governing the passage speed of daytime hours relative to standard speed.
|
|
title: Day Time Speed Scale
|
|
type: number
|
|
DifficultyOffset:
|
|
category: Gameplay & Rules
|
|
default: 1
|
|
description: Base difficulty multiplier governing wild creature level distributions (0.0 to 1.0).
|
|
title: Difficulty Offset
|
|
type: number
|
|
DisableDinoDecayPvE:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Disables unclaiming timers and decay for inactive tamed creatures in PvE mode.
|
|
title: Disable Dino Decay in PvE
|
|
type: boolean
|
|
DisableStructureDecayPvE:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Disables the automatic structure decay and demolition timer on abandoned PvE bases.
|
|
title: Disable Structure Decay in PvE
|
|
type: boolean
|
|
EnablePVPGamma:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Allows players to use client gamma brightness adjustments during PvP sessions.
|
|
title: Enable PvP Gamma
|
|
type: boolean
|
|
MaxPlayers:
|
|
category: System & General
|
|
default: 70
|
|
description: Maximum number of simultaneous players allowed on the server.
|
|
title: Max Players
|
|
type: integer
|
|
NightTimeSpeedScale:
|
|
category: World & Environment
|
|
default: 1
|
|
description: Multiplier governing the passage speed of nighttime hours relative to standard speed.
|
|
title: Night Time Speed Scale
|
|
type: number
|
|
OverrideOfficialDifficulty:
|
|
category: Gameplay & Rules
|
|
default: 5
|
|
description: Sets the maximum wild dino level ceiling (e.g. 5.0 allows wild creatures up to level 150).
|
|
title: Override Official Difficulty
|
|
type: number
|
|
Port:
|
|
category: System & General
|
|
default: 7777
|
|
description: Primary UDP port used by game clients to connect to the dedicated server.
|
|
title: Game Port
|
|
type: integer
|
|
PreventDiseases:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Disables all permanent sicknesses and diseases from afflicting players.
|
|
title: Prevent Diseases
|
|
type: boolean
|
|
PreventDownloadDinos:
|
|
category: Security & Access
|
|
default: false
|
|
description: Blocks transferring tamed creatures into the server from external cluster servers.
|
|
title: Prevent Download Dinos
|
|
type: boolean
|
|
PreventDownloadItems:
|
|
category: Security & Access
|
|
default: false
|
|
description: Blocks downloading items or inventory into the server from external sources or cluster.
|
|
title: Prevent Download Items
|
|
type: boolean
|
|
PreventDownloadSurvivors:
|
|
category: Security & Access
|
|
default: false
|
|
description: Blocks transferring survivor characters into the server from other cluster servers.
|
|
title: Prevent Download Survivors
|
|
type: boolean
|
|
PreventUploadDinos:
|
|
category: Security & Access
|
|
default: false
|
|
description: Disallows survivors from uploading tamed creatures to cluster cloud storage.
|
|
title: Prevent Upload Dinos
|
|
type: boolean
|
|
PreventUploadItems:
|
|
category: Security & Access
|
|
default: false
|
|
description: Disallows survivors from uploading items and equipment to cluster cloud storage.
|
|
title: Prevent Upload Items
|
|
type: boolean
|
|
PreventUploadSurvivors:
|
|
category: Security & Access
|
|
default: false
|
|
description: Disallows survivors from uploading their character data to cluster cloud storage.
|
|
title: Prevent Upload Survivors
|
|
type: boolean
|
|
RCONEnabled:
|
|
category: Security & Access
|
|
default: true
|
|
description: Enables remote console (RCON) access for external server administration tools.
|
|
title: Enable RCON
|
|
type: boolean
|
|
RCONPort:
|
|
category: System & General
|
|
default: 27020
|
|
description: TCP port for remote console management and server administration.
|
|
title: RCON Port
|
|
type: integer
|
|
ServerAdminPassword:
|
|
category: Security & Access
|
|
default: ""
|
|
description: Password for admin commands in-game and for GBR actions over RCON (kick, ban, save, broadcast). Leave blank and GBR generates an easy one for your server.
|
|
showOnDeploy: true
|
|
title: Admin Password
|
|
type: string
|
|
x-savedValue:
|
|
key: GAME_ADMIN_PASSWORD
|
|
label: Game admin password
|
|
secret: true
|
|
x-generate:
|
|
type: password
|
|
replace:
|
|
- AdminPassword123
|
|
ServerCrosshair:
|
|
category: Gameplay & Rules
|
|
default: true
|
|
description: Enables an on-screen targeting crosshair for all players.
|
|
title: Enable Crosshair
|
|
type: boolean
|
|
ServerHardcore:
|
|
category: Security & Access
|
|
default: false
|
|
description: When enabled, player death permanently deletes the character and resets progression.
|
|
title: Hardcore Mode
|
|
type: boolean
|
|
ServerMap:
|
|
category: World & Environment
|
|
default: TheIsland_WP
|
|
description: Select the world map loaded by the dedicated server.
|
|
enum:
|
|
- TheIsland_WP
|
|
- ScorchedEarth_WP
|
|
- TheCenter_WP
|
|
- Aberration_WP
|
|
- Extinction_WP
|
|
showOnDeploy: true
|
|
title: Active World Map
|
|
type: string
|
|
ServerPVE:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Disables player-versus-player combat and structure damage, enabling cooperative PvE mode.
|
|
title: PvE Mode
|
|
type: boolean
|
|
ServerPassword:
|
|
category: Security & Access
|
|
default: ""
|
|
description: Password required for players to join the server. Leave blank to keep the server public.
|
|
showOnDeploy: true
|
|
title: Server Password
|
|
type: string
|
|
x-savedValue:
|
|
key: GAME_JOIN_PASSWORD
|
|
label: Game join password
|
|
secret: true
|
|
ShowFloatingDamageText:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Displays floating damage numbers overhead when inflicting damage on targets.
|
|
title: Show Floating Damage Text
|
|
type: boolean
|
|
ShowMapPlayerLocation:
|
|
category: Gameplay & Rules
|
|
default: true
|
|
description: Displays the player's current position pin on the in-game map.
|
|
title: Show Player On Map
|
|
type: boolean
|
|
bDisableStructurePlacementCollision:
|
|
category: Gameplay & Rules
|
|
default: false
|
|
description: Removes terrain and building clipping restrictions, allowing structures to clip into world geometry.
|
|
title: Disable Structure Placement Collision
|
|
type: boolean
|
|
required: []
|
|
type: object
|
|
configFilePath: ShooterGame/Saved/Config/WindowsServer/GameUserSettings.ini
|
|
configFileFormat: STANDARD
|
|
configFormatOptions:
|
|
assignment: =
|
|
falseValue: "False"
|
|
floatKeys: []
|
|
footer: null
|
|
header: '[ServerSettings]'
|
|
quoteStrings: false
|
|
separator: "\n"
|
|
trueValue: "True"
|
|
unquotedKeys: []
|
|
uppercaseKeys: false
|
|
agnosticCommandConfig:
|
|
actions:
|
|
Ban:
|
|
command: BanPlayer {target}
|
|
passwordKey: ServerAdminPassword
|
|
portKey: RCONPort
|
|
type: RCON
|
|
Broadcast:
|
|
command: Broadcast {message}
|
|
passwordKey: ServerAdminPassword
|
|
portKey: RCONPort
|
|
type: RCON
|
|
Kick:
|
|
command: KickPlayer {target}
|
|
passwordKey: ServerAdminPassword
|
|
portKey: RCONPort
|
|
type: RCON
|
|
Save:
|
|
command: SaveWorld
|
|
passwordKey: ServerAdminPassword
|
|
portKey: RCONPort
|
|
type: RCON
|
|
pingPort: null
|
|
pingPortKey: null
|
|
playerJoinRegex: (?:^.*?:\s+)?(.+?)\s+(?:has\s+)?joined this [Aa][Rr][Kk]!?
|
|
playerLeaveRegex: (?:^.*?:\s+)?(.+?)\s+(?:has\s+)?left this [Aa][Rr][Kk]!?
|
|
playersCommand: ListPlayers
|
|
playersFormat: REGEX
|
|
playersRegex: ^\d+\.\s+([^,]+)
|
|
queryPortKey: null
|
|
queryType: RCON
|
|
rconPasswordKey: ServerAdminPassword
|
|
rconPortKey: RCONPort
|
|
restEndpoint: null
|
|
restPasswordKey: null
|
|
restPortKey: null
|
|
restUser: null
|
|
logFilePath: ShooterGame/Saved/Logs/ShooterGame.log
|
|
backupPaths:
|
|
- ShooterGame/Saved
|
|
maxBackupSizeMb: 4096
|
|
maxPlayersConfigKey: MaxPlayers
|
|
mapConfigKey: ServerMap
|
|
aiCoverPrompt: A cinematic, photorealistic vista of a primeval tropical island built in Unreal Engine 5, featuring lush ancient rainforests, colossal waterfalls pouring into azure lagoons, and futuristic floating obelisks beaming energy into the sky. A massive Tyrannosaurus Rex roars on a cliffside overlooking prehistoric valleys while Pteranodons glide across a vivid sunset horizon.
|