Files
gbr-games/games/ark-survival-ascended-crossplay/game.yaml
T
gregandClaude Opus 5.5 e9ff989246
Validate game templates / validate (push) Successful in 9m32s
Validate game templates / publish (push) Canceled after 0s
Validate game templates / boot-test (push) Canceled after 5m15s
ci: boot-test changed games before publishing
Only games whose folder changed are boot-tested (against the previous
main commit, or against main on branches; manual runs pick games). Each
one is deployed by the node-agent's real deploy code on a dedicated
game-test runner, in a network that can reach the internet but not the
LAN. Publishing to the panel runs only if they all booted.

- boottest-payload builds the DEPLOY_SERVER message the panel would send
- readyPattern/failPatterns in game.yaml; readyExample in test.yaml is
  checked against the pattern during validation
- secrets in test.yaml come from CI; a game missing one is skipped
- Minecraft gets a ready pattern; Dragonwilds needs DRAGONWILDS_OWNER_ID
- RUNNER.md + scripts/runner: runner, isolated network, systemd unit

Also fixes newline values ("\n" separators/footers) that yaml.v3 wrote
as "" on import, which would have broken ARK and Dragonwilds config
files once synced, and adds a round-trip test for the importer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 17:49:19 -04:00

333 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
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=${RCON_PORT:-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.