Game Server
Introduction
The game server module runs Abiotic Factor, Minecraft, and Valheim through the Podman server abstraction.
Requirements
Game containers require the Podman server and shared storage. Secrets such as server passwords come from agenix, and optional public port mappings are declared through UPnP.
Persistence
Each enabled game declares an application dataset under
storage.datasets.app.children. Preserve these datasets;
container images and writable layers are replaceable, but world and save
data are not.
Troubleshooting
Inspect abiotic.service, minecraft.service,
or valheim.service and verify the corresponding
/storage/app/{abiotic,minecraft,valheim} dataset is
mounted. Generated secrets and settings come from
/run/podman-server/{abiotic,minecraft,valheim}.env; inspect
the matching podman-server-<game>-env.service when an
environment file is missing. For connection failures, check Abiotic UDP
7777/27015, Minecraft TCP 25565, or Valheim UDP 2456/2457 against the
firewall and generated UPnP forwards.
Options
gameServer.abiotic.enable
Enable Abiotic Factor server.
Type: boolean
Default:
falseDeclared by:
gameServer.minecraft.enable
Enable Minecraft server.
Type: boolean
Default:
falseDeclared by:
gameServer.minecraft.ops
Minecraft usernames granted operator privileges.
Type: list of string
Default:
[ ]Declared by:
gameServer.minecraft.users
Minecraft usernames allowed to join the server.
Type: list of string
Default:
[ ]Declared by:
gameServer.upnp.enable
Whether game-server services declare their UPnP forwards.
Type: boolean
Default:
trueDeclared by:
gameServer.valheim.enable
Enable Valheim server.
Type: boolean
Default:
falseDeclared by:
gameServer.valheim.admins
Valheim administrator usernames mapped to SteamID64 values.
Type: attribute set of string
Default:
{ }Declared by:
gameServer.valheim.modifiers.combat
Valheim combat difficulty modifier.
Type: null or one of “veryeasy”, “easy”, “hard”, “veryhard”
Default:
nullDeclared by:
gameServer.valheim.modifiers.deathPenalty
Valheim death penalty modifier.
Type: null or one of “casual”, “veryeasy”, “easy”, “hard”, “hardcore”
Default:
nullDeclared by:
gameServer.valheim.modifiers.playerBasedRaids
Scale Valheim raids based on the participating players.
Type: boolean
Default:
falseDeclared by:
gameServer.valheim.modifiers.portals
Valheim portal restriction modifier.
Type: null or one of “casual”, “hard”, “veryhard”
Default:
nullDeclared by:
gameServer.valheim.modifiers.raids
Valheim raid frequency modifier.
Type: null or one of “none”, “muchless”, “less”, “more”, “muchmore”
Default:
nullDeclared by:
gameServer.valheim.modifiers.resources
Valheim resource rate modifier.
Type: null or one of “muchless”, “less”, “more”, “muchmore”, “most”
Default:
nullDeclared by:
gameServer.valheim.permittedUsers
Permitted Valheim usernames mapped to SteamID64 values.
Type: attribute set of string
Default:
{ }Declared by:
gameServer.valheim.serverName
Name shown in the Valheim server browser.
Type: string
Default:
"bovbel"Declared by:
gameServer.valheim.worldName
Name of the Valheim world to load.
Type: string
Default:
"Dedicated"Declared by: