# 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--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 30–60s. ## 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.