Files
panel/modules/empyrion/README.md
T
dbledeez 295eb22826 panel public release
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 01:26:41 -07:00

36 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.