Empyrion - Galactic Survival has a free dedicated server (SteamCMD app 530870, anonymous login) for Windows, configured via dedicated.yaml. This guide covers Windows, Linux via Wine, ports and backups; it relies on third-party guides since no complete official documentation was found.
Step-by-step installation
Check the machine: 4 cores, 8 GB RAM, 30 GB disk (community estimate).
Download SteamCMD and create the server folder.
Install the server with SteamCMD: login anonymous, app_update 530870 validate.
Run DedicatedServer\EmpyrionDedicated.exe -batchmode -nographics once to create the files, then stop it.
Start the server once, stop it, then edit dedicated.yaml.
Open ports 30000/UDP (+ 30001/UDP) in the firewall and on your router.
Test on localhost (127.0.0.1), then from outside using another network.
Configure auto-start (scheduled task or systemd service).
Schedule backups of Saves/ and updates.
Requirements
Estimates from third-party guides (unofficial): a fast multi-core CPU, 6 to 16 GB RAM depending on players, 30 to 70 GB disk. Windows (Server 2016 or later, up-to-date Visual C++) or Linux with Wine. No licence key: anonymous SteamCMD. EAC must match between client and server.
Local install (Windows)
Install with SteamCMD, edit dedicated.yaml, then start the server; connect from the game using 127.0.0.1.
C:\steamcmd\steamcmd.exe +force_install_dir C:\empyrion-server +login anonymous +app_update 530870 validate +quit
cd /d C:\empyrion-server
DedicatedServer\EmpyrionDedicated.exe -batchmode -nographics -logFile Logs/current.logInstall on a Linux VPS / dedicated server
On Linux the server runs through Wine (no official support): install Wine and Xvfb, install the server forcing the Windows platform, then start it with wine64 as a non-root user. Windows Server uses the local commands directly.
sudo adduser --disabled-password --gecos "" steam
sudo apt update && sudo apt install -y wine64 xvfb curl lib32gcc-s1
sudo -iu steam
mkdir -p ~/steamcmd ~/empyrion && cd ~/steamcmd
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar zxf -
./steamcmd.sh +@sSteamCmdForcePlatformType windows +force_install_dir ~/empyrion +login anonymous +app_update 530870 validate +quit
cd ~/empyrion && xvfb-run wine64 DedicatedServer/EmpyrionDedicated.exe -batchmode -nographicsPorts to open
- 30000/UDP: game port (Srv_Port)
- 30001/UDP: game port +1 (internal use, third-party guides); some sources open 30000-30002 on UDP and TCP
- 30004/TCP: telnet (Tel_Port): local only, do not expose
Linux firewall (ufw)
On Ubuntu/Debian, allow SSH first so you do not lock yourself out, then the game ports.
sudo ufw allow OpenSSH
sudo ufw allow 30000:30001/udp
sudo ufw enable
sudo ufw statusWindows firewall (netsh)
In an elevated PowerShell (or administrator “cmd”):
netsh advfirewall firewall add rule name="Empyrion 30000-30001/UDP" dir=in action=allow protocol=UDP localport=30000-30001Provider firewall and port forwarding (NAT)
If the server is at a provider (OVH, Hetzner, Scaleway…), open the same ports in its network firewall (“security group”). For home hosting, forward the ports (NAT) from your router to the machine's fixed local IP. Test from outside (mobile data or a friend): a test from your own network proves nothing.
Auto-start and supervision
Create /etc/systemd/system/<name>.service, then: sudo systemctl daemon-reload && sudo systemctl enable --now <name>. Logs: journalctl -u <name> -f.
[Unit]
Description=Empyrion dedicated server
After=network-online.target
Wants=network-online.target
[Service]
User=steam
WorkingDirectory=/home/steam/empyrion
ExecStart=/usr/bin/xvfb-run /usr/bin/wine64 DedicatedServer/EmpyrionDedicated.exe -batchmode -nographics
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.targetAuto-start on Windows (scheduled task)
Create a scheduled task triggered “At startup” that runs the launch script, with highest privileges and “Run whether user is logged on or not”.
Updates, backups and restarts
Stop the server, re-run app_update 530870 validate, then restart. Back up Saves/ before any major update. Do not copy an old dedicated.yaml from an older version without comparing it to the generated file.
# backup
tar czf ~/backup-$(date +%F).tar.gz -C ~/server Saves/List and find your server
Once your server is public, add it on https://game-rank.com/jeux/empyrion (the owner's site) so players can find it, follow it and vote for it.
Troubleshooting
- Unreachable from outside but fine on localhost: the OS firewall, the provider firewall or the NAT forward is missing, or the protocol (UDP/TCP) is wrong. Check each layer one by one.
- Connection refused after a game update: client and server must run the same version. Re-run the server update, then restart it.
- The server exits immediately: start it from a console to read the error, and check free RAM, disk space and software prerequisites.
- YAML error at startup: replace tabs with spaces and check the indentation of the ServerConfig and GameConfig blocks.
- Players are kicked by EAC: the EACActive option must match between client and server.
Frequently asked questions
- What is the server's Steam app ID?
- 530870 (dedicated server, anonymous login).
- How do I update the server?
- Stop the server, then re-run app_update 530870 validate; client and server must run the same version.
- PvP or PvE: where to set it?
- Per playfield, in each playfield.yaml of the scenario, not via a global dedicated.yaml key.
- How do I make my server known?
- Add it on https://game-rank.com/jeux/empyrion (the owner's site): players can find it, follow it and vote for it.
