diff --git a/games/valheim/game.yaml b/games/valheim/game.yaml new file mode 100644 index 0000000..a29234b --- /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}" -port 2456 -world "${WORLD_NAME:-Dedicated}" -savedir /server); [ -n "${JOIN_PASSWORD}" ] && args+=(-password "${JOIN_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 + JoinPassword: "" + ServerName: GBRHosting - {SERVER_NAME} + WorldName: Dedicated +configSchema: + properties: + Crossplay: + category: Gameplay & Rules + description: Enable crossplay so Xbox, PS5, Switch, and Game Pass players can join. A join code is printed to the server log when enabled. + title: Enable Crossplay + type: boolean + JoinPassword: + category: Security & Access + description: Password players must enter to join. Must be at least 5 characters. Leave empty for a public server. + title: Join Password + type: string + ServerName: + category: System & General + description: The name shown in the server browser. + title: Server Name + type: string + WorldName: + category: World & Environment + description: The world to load. Use a new name to start a fresh world. + 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..e5603f1 --- /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/26/2026 00:45:16: Loading: Done. Total seconds sinze ZNet start: 42.881854, Genloc duration: 34991.9 ms, (Total genloc time: 00:00:35.1924670, locations: 183, iterations: 0)' +secrets: {} +timeoutSec: 2400