diff --git a/games/valheim/game.yaml b/games/valheim/game.yaml new file mode 100644 index 0000000..b8df3e9 --- /dev/null +++ b/games/valheim/game.yaml @@ -0,0 +1,42 @@ +# yaml-language-server: $schema=../../schema/game.schema.json +id: valheim +name: Valheim +defaultDockerImage: cm2network/steamcmd +defaultStartupCommand: args=(-name "${SERVER_NAME:-GBRHosting - Valheim}" -port 2456 -world "${WORLD_NAME:-Dedicated}" -savedir /server); [ -n "${SERVER_PASSWORD}" ] && args+=(-password "${SERVER_PASSWORD}"); [ "${CROSSPLAY}" = "true" ] && args+=(-crossplay); ./valheim_server.x86_64 "${args[@]}" +requiredMemoryMb: 4096 +requiredDiskMb: 4096 +defaultPorts: + - 2456/udp + - 2457/udp +installMethod: STEAMCMD +installConfig: + appId: "896660" +defaultConfig: + Crossplay: false + ServerName: GBRHosting - {SERVER_NAME} + ServerPassword: "" + WorldName: Dedicated +configSchema: + properties: + Crossplay: + category: Security & Access + description: Enable crossplay so Xbox, PlayStation, Nintendo Switch, and Game Pass players can join. A join code is printed to the server log when enabled. + title: Enable Crossplay + type: boolean + ServerName: + category: System & General + description: Display name of the dedicated server. Defaults to "GBRHosting - ". + title: Server Name + type: string + ServerPassword: + category: Security & Access + description: Optional password players must enter to join. Must be at least 5 characters if set; leave empty for a public server. + title: Server Password + type: string + WorldName: + category: World & Environment + description: Name of the world to load or create. A new world is generated if it does not already exist. + title: World Name + type: string + type: object +readyPattern: '[0-9.]+/[0-9.]+/[0-9.]+ [0-9.]+:[0-9.]+:[0-9.]+: Loading: Done\. Total seconds sinze ZNet start: [0-9.]+,' diff --git a/games/valheim/test.yaml b/games/valheim/test.yaml new file mode 100644 index 0000000..8571215 --- /dev/null +++ b/games/valheim/test.yaml @@ -0,0 +1,6 @@ +# yaml-language-server: $schema=../../schema/test.schema.json +# Values CI uses to boot-test this game. Never put real credentials here: map them under 'secrets'. +config: {} +readyExample: '10/25/2026 21:27:59: Loading: Done. Total seconds sinze ZNet start: 36.851581, Genloc duration: 29122.732 ms, (Total genloc time: 00:00:29.3234120, locations: 183, iterations: 0)' +secrets: {} +timeoutSec: 2400