panel — open-source game server manager (public release)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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 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.
|
||||
Reference in New Issue
Block a user