Files
SnarfCode/snarfnet-game-seeds/README.md

74 lines
2.7 KiB
Markdown

# 🌲 SnarfNet Game Seed Management Plane
Declarative, GitOps-ready game server management plane for the SnarfNet dedicated gaming machine (`bc:24:11:67:16:cd` @ `140.44.44.80`), modeled on the declarative seed pattern (`arasoi/yggdrasil-releases` and `arasoi/yggdrasil-seeds`).
---
## 🎮 Declared Game Servers
| Game | Steam AppID | Container Image | Ports | RAM (Res / Limit) | World Save Path |
| :--- | :--- | :--- | :--- | :--- | :--- |
| **Enshrouded** | `2278520` | `skarab42/enshrouded-server:latest` | `15636/udp`, `15637/udp` | 8GB / 16GB | `/opt/game-servers/enshrouded/savegame` |
| **Farming Simulator 25** | `2300320` | `thijsvanloef/farming-simulator-25:latest` | `10823/tcp`, `10823/udp` | 6GB / 12GB | `/opt/game-servers/fs25/savegame` |
| **Stationeers** | `600760` | `sprits/stationeers-server:latest` | `27016/udp`, `27015/udp` | 4GB / 8GB | `/opt/game-servers/stationeers/saves` |
| **Valheim** (Crossplay) | `896660` | `lloesche/valheim-server:latest` | `2456/udp`, `2457/udp` | 4GB / 8GB | `/opt/game-servers/valheim/worlds` |
| **V Rising** | `1829350` | `trueosiris/vrising:latest` | `9876/udp`, `9877/udp` | 4GB / 8GB | `/opt/game-servers/vrising/Saves` |
---
## 🛠️ Management CLI (`core/manager.py`)
The manager CLI reconciles declared seeds against the host runtime, triggers automated world backups to Synology NAS, and issues Wake-on-LAN magic packets.
### Commands
```bash
# 1. Preview declared server configuration
python core/manager.py plan
# 2. Render docker-compose.yml for live deployment
python core/manager.py compose
# 3. Trigger manual atomic snapshot & sync to Synology NAS
python core/manager.py backup
# 4. Wake up the gaming PC via Wake-on-LAN (bc:24:11:67:16:cd)
python core/manager.py wol
```
---
## 💾 Backup & Disaster Recovery Architecture
All game world save files are preserved in atomic tarballs and synchronized to the Synology NAS:
- **NAS Backup NFS Target**: `14.10.10.71:/volume1/docker/game-backups`
- **Host Mount**: `/mnt/nas/game-backups`
- **Automated Timer**: Daily at 04:00 AM via `gameseed-backup.timer`
- **Retention**: 14 rolling snapshots per game
---
## 🌐 UDM Pro Port Forwarding Matrix
To permit external friends and players to join the servers, ensure the following port forwards are mapped from WAN to `140.44.44.80` on the UDM Pro:
```
Enshrouded: UDP 15636-15637 -> 140.44.44.80
Farming Simulator 25: TCP/UDP 10823 -> 140.44.44.80
Stationeers: UDP 27015-27016 -> 140.44.44.80
Valheim: UDP 2456-2457 -> 140.44.44.80
V Rising: UDP 9876-9877 -> 140.44.44.80
```
---
## 🚀 Bootstrap New Host
To provision the physical gaming PC:
```bash
sudo bash scripts/setup-host.sh
python3 core/manager.py compose
docker compose up -d
```