54 lines
1.3 KiB
Markdown
54 lines
1.3 KiB
Markdown
---
|
|
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 <APP_ID> 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 <CTID> --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)
|