Platform: Windows, per Eleon
Eleon ships the server as Windows programs: EmpyrionDedicated.exe in the DedicatedServer folder and EmpyrionPlayfieldServer.exe in PlayfieldServer, started by .cmd launchers through EmpyrionLauncher. The official setup guide states that Linux is not supported and that no support is planned. Eleon documents no native Linux build.
The guide adds that some players have it running on Linux, points them to a Linux_Support channel on Eleon's Discord, and does not say how they do it. Easy Anti-Cheat will not work there. For a supported server, install Windows Server.
The standalone server is free. Eleon's v1.11.9 notes add that it is not distributed through Epic: everyone installs it with SteamCMD, whichever store the players bought the game from.
What the machine has to carry
Eleon publishes no CPU, memory or disk figures for the dedicated server, so this page gives none. Its guide and patch notes do show the shape of the load: one EmpyrionDedicated.exe plus playfield server processes, each holding one or more loaded playfields.
Our reading: the cost follows how many playfields are loaded at once, which depends on how far players spread out as much as on how many there are. Start with memory and cores to spare, watch those processes in Task Manager at peak, and resize from what you measure.
Install with SteamCMD
- Install Windows Server on the machine and connect with Remote Desktop as an administrator.
- Run the block below in PowerShell. It fetches SteamCMD from Valve's download URL, then installs app 530870 into
C:\Empyrion\Serverusing the line from Eleon's guide. - In
C:\Empyrion\Server, copydedicated.yamltoMyServer.yamland edit only the copy. Eleon's guide warns that any update undoes changes to stock files. - Copy
EmpyrionDedicated_NoGraphics.cmdtoMyServer_NoGraphics.cmdand change its launcher line toEmpyrionLauncher -startDedi -dedicated MyServer.yaml. - Open the firewall (next section), then start
MyServer_NoGraphics.cmd. It runs the server as a background process.
New-Item -ItemType Directory -Force C:\steamcmd, C:\Empyrion | Out-Null
Invoke-WebRequest https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip -OutFile C:\steamcmd\steamcmd.zip -UseBasicParsing
Expand-Archive C:\steamcmd\steamcmd.zip -DestinationPath C:\steamcmd -Force
C:\steamcmd\steamcmd.exe +force_install_dir C:\Empyrion\Server +login anonymous +app_update 530870 validate +quit
Use the NoGraphics launcher: the graphics version's batch file warns against it over Remote Desktop, which is how you will reach this machine, because the output log floods and the server lags. Per Valve's SteamCMD wiki, a validate pass rewrites any file you changed; keep it for first installs and repairs.
Edit YAML in Notepad++ or another editor that respects the format, not plain Notepad, as Eleon advises. Under GameConfig, GameName names the save game, Mode is Survival or Creative, Seed fixes the generated galaxy and CustomScenario names a folder in Content\Scenarios. Set EACActive: true for Easy Anti-Cheat and EnableDLC: true for a Dark Faction scenario. For a scenario with a SharedData folder, Eleon recommends SharedDataURL: a public link to a zip of that folder, since the in-game transfer is slow.
Ports and the firewall
Eleon's guide asks for the game port set in your YAML plus three additional ports, on TCP and UDP alike. Eleon has not published a default in these sources; a 2017 reply from Eleon staff forwarded 30000-30004. Our 30000-30003 is that example combined with the current guide's rule never to forward telnet. If your YAML names another game port, shift the range in the table and in the commands below.
| Port | Protocol | Open to the internet? |
|---|---|---|
| Game port: the one set in your YAML; 30000 in Eleon staff's example | TCP and UDP | Yes |
| Game port +1 to +3 (30001-30003 with that example) | TCP and UDP | Yes |
| Telnet (30004 by default) | TCP | Never: Eleon's guide says not to forward it |
Each machine has its own public IPv4, so treat the Windows firewall as your fence. Eleon's guide allows the two server programs as applications; a program rule admits that program on any port it opens, telnet included, so we prefer port rules:
New-NetFirewallRule -DisplayName "Empyrion game TCP" -Direction Inbound -Protocol TCP -LocalPort 30000-30003 -Action Allow
New-NetFirewallRule -DisplayName "Empyrion game UDP" -Direction Inbound -Protocol UDP -LocalPort 30000-30003 -Action Allow
Get-NetFirewallRule -Direction Inbound -Enabled True | Where-Object DisplayName -like '*Empyrion*' | Format-Table DisplayName, Action
The last line lists the enabled inbound rules with Empyrion in the name. Disable any program rule for the two executables so the port rules are the only way in.
Telnet, admins and hiding the server
Telnet is the server's remote console. Eleon's guide says the server does not need it and describes it as very insecure. As a general point about telnet itself, not Eleon's wording: it carries everything, the password included, in clear text. The stock NoGraphics launcher says to enable it in the YAML and connect locally, the only use we would make of it: a strong password, port 30004 in no firewall rule, and the client run on the server itself.
- Admin permissions, bans and mutes are keyed to player IDs in
adminconfig.yaml. Alpha 1.1.0 addedadminconfig.example.yamlas a starting point; search your install for it. - v1.11.10 recalculated 20-digit Epic IDs to at most 19 digits at server start; update any 20-digit entry in
adminconfig.yamlto the new ID. Srv_Public: falsekeeps a server out of the browser; without it the server is listed. The v1.11.9 notes open Steam dedicated servers to Epic players when the server is publicly visible, so with Epic players in the group, stay listed and set a server password instead.- The Empyrion Admin Helper (EAH) ships with the server in
DedicatedServer\EmpyrionAdminHelper. Set it up while the server is offline, so it can copy its mod files in.
Saves, backups and updates
In Eleon's patch notes a world is a folder under Saves\Games, named after the game, with Players, Templates and Shared inside; those notes describe the game client, whose Saves sits inside the game's install directory. We assume the server keeps it likewise at C:\Empyrion\Server\Saves: confirm the folder exists and holds your world before relying on the script. Back up the whole Saves folder, your YAML, your launcher copy and adminconfig.yaml. Stop the server first with saveandexit from the console (help saveandexit gives its delay syntax) or from EAH, and check Task Manager shows neither server program.
Then this copies the saves, the YAML, the launcher and every adminconfig.yaml it finds to a dated folder, and updates only if every copy succeeded. It does not copy a custom scenario: copy your scenario's folder from Content\Scenarios yourself.
$stamp = Get-Date -Format yyyy-MM-dd_HHmm
$dest = "C:\EmpyrionBackups\$stamp"
robocopy C:\Empyrion\Server\Saves "$dest\Saves" /E /R:2 /W:5
if ($LASTEXITCODE -ge 8) {
Write-Warning "Saves copy failed (robocopy exit $LASTEXITCODE): server NOT updated"
} else {
try {
Copy-Item C:\Empyrion\Server\MyServer.yaml, C:\Empyrion\Server\MyServer_NoGraphics.cmd $dest -ErrorAction Stop
Get-ChildItem C:\Empyrion\Server -Recurse -Filter adminconfig.yaml -ErrorAction Stop |
ForEach-Object { Copy-Item $_.FullName "$dest\$($_.Directory.Name)-adminconfig.yaml" -ErrorAction Stop }
C:\steamcmd\steamcmd.exe +force_install_dir C:\Empyrion\Server +login anonymous +app_update 530870 +quit
} catch {
Write-Warning "Backup step failed, server NOT updated: $_"
}
}
Then copy the dated folder off the machine: a backup that lives only beside the world it protects fails with the same disk. Update when Eleon ships a release, since its notes ask for client and server to move together, and read the notes first: some releases, v1.13 among them, need a new save game for new content.
To restore a world on the live server:
- Open the dated backup folder and confirm
Saves\Gamesholds the world named in yourGameName. - Stop the server cleanly and confirm both server programs are gone from Task Manager.
- Rename
C:\Empyrion\Server\SavestoSaves.old. - Run
robocopy "C:\EmpyrionBackups\2026-10-23_0400\Saves" C:\Empyrion\Server\Saves /Ewith your backup's folder name, then check that$LASTEXITCODEis below 8; 8 or more means files failed to copy. - Start
MyServer_NoGraphics.cmd, join, and check your bases and inventory. - Delete
Saves.oldonly once the restored world is right.
Which of our machines fit
Start from the game server line: a whole machine with full administrator control of Windows. On our widest lines Windows Server, 2008 R2 to 2025, is a one-click install; which versions a machine offers depends on its line. Its licence is counted per core and billed at its monthly price every month, so a 3, 6 or 12-month prepayment does not discount it, and the ARM lines cannot run it. Our Windows RDP server notes cover remote access.
- Unmetered port: 1 Gbps on 10 of the 18 configurable lines, 500 Mbps on the other 8. Scenario downloads and busy weekends never move the bill.
- Rack servers and blades carry an out-of-band controller (HPE iLO, Dell iDRAC or a Supermicro BMC) with a browser console, for when an update leaves Remote Desktop unreachable.
- Five cities on our own network, AS19624. Ping each city's test IP from where your players are on the locations page.
- Racked machines are live in about 30 minutes, counted from order approval; builds to order take 4-24 hours.
When this is the wrong setup
If you will not run Windows, Eleon gives you nothing supported, and Easy Anti-Cheat is out either way. If you want a start button and someone else patching the box, a managed game host suits you better than an administrator login. For a single weekend, hourly billing on a ready machine skips the monthly term. Our Space Engineers notes cover another Windows-first space builder.
Questions
Can the Empyrion server run natively on Linux?
No native Linux build is documented, and Eleon's setup guide says Linux is unsupported with no plan to change that. Players who run it anyway are pointed to Eleon's Discord, and Easy Anti-Cheat will not work there. Install Windows Server instead.
Do players who own the game on Epic need a different server?
No. Eleon's v1.11.9 notes say the standalone server is not on Epic; it is a free SteamCMD download. Those notes also let Epic players into any publicly visible Steam dedicated server, so keep yours listed. An Epic player's admin rights, bans and mutes sit under their Epic ID in adminconfig.yaml; v1.11.10 recalculated any 20-digit Epic ID to at most 19 digits, so update such entries.
Why is my server missing from the in-game list?
Check Srv_Public first: false hides the server (and keeps Epic players out of the browser), and with no setting at all it is listed. Then check that the game port and the three above it are allowed on both TCP and UDP. Eleon also asks for client and server to be updated together, so make sure both run the same release.
Should telnet be enabled?
Not unless you need console commands. Eleon's guide says the server runs without it and calls the protocol very insecure. If you use it, set a password, keep its port out of every firewall rule and connect only from the server itself.
How do I run two Empyrion servers on one machine?
Eleon's guide does not cover it, so this is our advice: a second install directory, its own YAML and launcher copy, its own block of four game ports and, if telnet is on, its own telnet port. Add firewall rules for the new block and back it up separately.