panel v0.9.2 — public release

Self-hostable game server control panel: Go controller + agent, 26 game
modules, embedded web UI. One-line install via install.sh / install.ps1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 00:43:35 -07:00
commit 4ccccc6fe2
2164 changed files with 301480 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# Empyrion - Galactic Survival
Panel-native dedicated server module for Empyrion.
## How it works
- Image: `panel-empyrion:latest` — built from `./Dockerfile` (Debian 12 + Wine + Xvfb + tini).
- Game files: downloaded by the panel's SteamCMD updater sidecar into the `panel-<id>-game` named volume. Because Empyrion's dedicated server ships only as a Windows binary, the updater uses `+@sSteamCmdForcePlatformType windows` (declared in `module.yaml` via `platform: windows`).
- Entrypoint: boots Xvfb, initializes a Wine prefix on first run, then runs `EmpyrionDedicated.exe` under `wine64` with `-batchmode -nographics -logFile -` so Unity pipes its log to stdout.
## First-run flow
1. Build the image (one-time):
```bash
docker build -t panel-empyrion:latest modules/empyrion
```
2. Create an instance in the panel (defaults are fine).
3. Click **Update** on the instance — the SteamCMD sidecar downloads ~3.5 GB of Windows build into the `game` volume.
4. Click **Start** — the entrypoint seeds `dedicated.yaml` from the shipped default, starts Xvfb, bootstraps Wine, and launches the server.
First boot is slow (Wine prefix init + Empyrion's own first-run map generation). Subsequent starts are 3060s.
## Ports
| Name | Proto | Default | Notes |
|--------|-------|---------|-----------------------------|
| game | UDP | 30000 | Srv_Port — main traffic |
| query | UDP | 30001 | Steam query |
| client | UDP | 30002 | Client connect |
| eac | UDP | 30003 | EasyAntiCheat |
| csw | TCP | 30004 | CSW API (internal for now) |
## No RCON (yet)
Empyrion has no native RCON protocol. The in-game `admin` console commands can only be issued from a connected client. Third-party tools (Empyrion Web Admin / EAH) fill this gap and can be layered on later via plugins — not wired into this module for v1.