diff --git a/graph/code-patterns/pattern-proxmox-lxc-creation-for-headless-game-servers-ccb2b5.md b/graph/code-patterns/pattern-proxmox-lxc-creation-for-headless-game-servers-ccb2b5.md new file mode 100644 index 00000000000..3fe57ac1ba2 --- /dev/null +++ b/graph/code-patterns/pattern-proxmox-lxc-creation-for-headless-game-servers-ccb2b5.md @@ -0,0 +1,53 @@ +--- +id: ccb2b5a4-a9bb-4f8f-9367-d74713ab2415 +type: code_pattern +title: "Pattern: Proxmox LXC Creation for Headless Game Servers" +tags: [proxmox, lxc, game-server, pattern, steamcmd, claude-home] +importance: 0.7 +confidence: 0.8 +created: "2026-03-05T03:43:01.292934+00:00" +updated: "2026-03-05T03:43:01.292934+00:00" +--- + +# Proxmox LXC Game Server Pattern + +## Container Setup +- Unprivileged container with `nesting=1` +- No Docker needed, so no keyctl/apparmor hacks required +- Template: Debian 12 + +## SteamCMD Setup +```bash +dpkg --add-architecture i386 +apt install lib32gcc-s1 steamcmd +``` + +## User +- Create dedicated `steam` user for server process +- Run SteamCMD and server as `steam`, not root + +## SteamCMD Invocation Pattern +```bash +steamcmd +@sSteamCmdForcePlatformType linux +login anonymous \ + +force_install_dir /home/steam/server \ + +app_update validate +quit +``` + +## Systemd Service Pattern +```ini +[Service] +Type=simple +User=steam +Restart=on-failure +ExecStart=/home/steam/server/start.sh +``` + +## DNS +- Use local gateway/Pi-hole (e.g. 10.10.0.1) not 8.8.8.8 +- Set via: `pct set --nameserver 10.10.0.1` + +## GPU +- No GPU passthrough needed for headless game servers + +## Reference +- Existing LXC creation script: `gaming/scripts/lxc-docker-create.sh` (adapt, minus Docker parts)