Eco Dedicated Server Setup: SteamCMD, Ports, Network.eco and Admins
Set up an Eco dedicated server: SteamCMD app 739590, ports 3000 UDP and 3001 TCP, Network.eco, Users.eco admins, and what the GSK panel writes for you.
An Eco dedicated server is a separate program, EcoServer, that you install with SteamCMD (app 739590, anonymous login works) or from your Strange Loop Games account, and run on Windows or Linux. Players connect on the game port, 3000 UDP, and the law and economy web pages use the web port, 3001 TCP. Everything else is set in the JSON .eco files in the Configs folder, or in-game with /serverui.
This page covers both routes: running it yourself, and what is different on a GameServerKings panel, where some of those files are written for you on every start.
Checked against Eco 14.2.1 (hotfix released 16 October 2026)
Update 14 (6 August 2026) added garbage, recycling and pollution and changed most crafting recipes. 14.2 notes that migration of 14.1 worlds is fully supported. Back up
Storagebefore any major update anyway.
Getting the Server Files
There are three official ways to get the server. All three give you the same EcoServer program.
| Route | How | Updates |
|---|---|---|
| Steam client | Library → Tools → Eco Server. You must own Eco on Steam | Automatic, like a game. Strange Loop warns an update may wipe configs, so back them up |
| SteamCMD | +login anonymous +app_update 739590 validate |
Re-run the same command |
| SLG website | Sign in at play.eco → Account → download the Server zip for the current or staging version | Manual. Do not overwrite Configs and Storage when you unzip a new version |
A SteamCMD install on Linux, into ~/Eco:
steamcmd +force_install_dir ~/Eco +login anonymous +app_update 739590 validate +quit
cd ~/Eco
./install.sh # installs libgdiplus and libc6-dev
./EcoServer On Windows, run EcoServer.exe from the install folder. If you script it with a .bat, cd into the folder first. The Eco wiki notes the server will not start correctly if you call the executable from another directory.
Keep the SteamCMD download folder as a clean copy and run the server from a copy of it. That way an update never touches your live world before you have backed it up.
Hardware. The simulation runs on one CPU core, so clock speed matters more than core count. The wiki's minimum for the default 72×72 world is 4 GB RAM and 1 GB of disk, with an SSD recommended for busy law and economy databases. Bigger worlds need more.
Ports and Network.eco
Configs/Network.eco controls how the server is reached and how it is listed. These are the keys you will touch first, with their defaults:
| Key | Default | What it does |
|---|---|---|
GameServerPort |
3000 |
Game traffic. UDP only |
WebServerPort |
3001 |
Web UI, laws and economy pages. TCP only |
RconServerPort |
3002 |
RCON. TCP. Only active if RconPassword is set |
PublicServer |
false |
true lists the server in the in-game browser |
Password |
empty | Required to join, unless the player is on the whitelist |
Name |
empty | Server name in the browser (up to 250 characters, supports colour markup) |
DetailedDescription |
empty | Long description shown when someone selects the server |
DefaultSlots |
-1 |
Player cap. -1 is unlimited |
ServerCategory |
None |
Puts the server in a category on the New Game screen (Beginner, Established and so on) |
UPnPEnabled |
true |
Lets the server map ports on a home router automatically |
WebServerUrl |
empty | Set this if the web UI sits behind a domain or reverse proxy |
If you host at home, forward 3000 UDP and 3001 TCP to the server's LAN IP, and open the same two in the OS firewall. If you play from the same PC that runs the server, move the server to two other ports (the wiki's example is 4000 and 4001) so the client and server don't collide.
Players can find a public server in the browser, or join directly with IP:GamePort, for example 203.0.113.10:3000. Give them the game port, not the web port.
Editing Configs Without Losing Changes
Two rules prevent most "my setting reverted" problems:
- Never edit the
.templatefiles. Each config ships asSomething.eco.template, and updates overwrite it. If a.ecofile doesn't exist yet, copy the template, drop.templatefrom the name, and edit the copy. - Stop the server first. Eco writes its current settings back to the
.ecofiles when it shuts down, so an edit made while it is running is overwritten on the next stop. The alternative is/serveruiin-game: change the value, then click File → Save, or the change is lost on restart.
Some files only matter at world creation. Changes to WorldGenerator.eco need a new world, and the world size must stay divisible by 4. The Storage folder holds the world (Game.db, Game.eco) and its backups, so deleting it is how you wipe. Copy it somewhere first.
Patch notes sometimes say a change "requires updating" a config file, as 14.2 did for EcoSim.eco. That means your existing copy keeps the old default. Compare it against the new template, or regenerate it from the template if you never customised it.
Making Yourself Admin
Admins go in Configs/Users.eco, and they must be listed by SLG ID or Steam64 ID. A username does not work, and the wiki lists this as the usual reason admin rights "don't take". In-game, /whoami shows your own ID and /whois <name> shows someone else's.
The lists are nested. Put the ID inside the $values array of the Admins block:
"Admins": {
"UserIDAddedEvent": {},
"UserIDRemovedEvent": {},
"Collection": {
"System.String": {
"$type": "System.Collections.Generic.List`1[[System.String, System.Private.CoreLib]], System.Private.CoreLib",
"$values": [
"76561198000000000"
]
}
}
} Edit it with the server stopped, then start it. From then on you can manage admins, the whitelist, the blacklist and mutes from /serverui → Initial Setup → Users. The same file holds the AFK kick (TimeRequiredForAFKMinutes, 0 turns it off). Note that the whitelist only works if a server password is set: whitelisted players skip the password, and everyone else needs it.
Running Eco on a GameServerKings Server
On a hosted Eco server the install and updates are handled for you, and the panel takes over some of Network.eco:
- Ports come from your allocation. The panel writes
GameServerPortfrom your server's main port andWebServerPortandRconServerPortfrom the Startup tab. They are rarely 3000 and 3001. Read the real numbers off the Network tab, and give players the main (game) port. - Startup variables are written into the file on every start. The panel sets Server Name, Max Connections, Public Server, Server Password, UPnP, Detailed Description, Playtime, Discord Server, RCON Password and Server Category in
Network.eco, and Language inLocalization.eco, each time the server boots. If you change one of these in the file, the panel puts its own value back on the next start. Change them on the Startup tab instead. - Server name and player cap. The Startup tab's Server Name field writes
Name(the panel field takes up to 50 characters), and Max Connections writesDefaultSlots(-1is unlimited). A new server starts with the name "Hosted by Pterodactyl", so change it before you make the server public. - The console says it is ready when it logs
Web Server now listening on:. The panel shows the server online at that point. The first start of a new world takes longer, because the world has to generate first. - Auto Update is on by default, so the server pulls the current Eco build when it restarts. Turn it off on the Startup tab if you need to stay on a version your mods support.
Everything else, including Users.eco, Difficulty.eco, WorldGenerator.eco and the Mods folder, is yours to edit in the File Manager. Stop the server first.
Common Problems
"Mods recompiled with errors" and the server stops. Mods in Mods/UserCode are compiled at start-up, and one compile error stops the whole server. The log names the file and line. Remove or fix that file, then add mods back one at a time. After a game update, recreate any .override.cs files, since they replace a core file wholesale and still contain the old version's code.
Friends can't see a home-hosted server. Check that 3000 is forwarded as UDP and 3001 as TCP (not the other way round), that PublicServer is true, and that RemoteAddress in Network.eco has no stray space in it. A leading or trailing space there can make the server hard to find.
Settings keep reverting. Either the server was running when you edited the file, or (on a panel) the key is one the Startup tab writes. See the two sections above.
FAQ
Do I need to own Eco to run a dedicated server?
Not with SteamCMD: app 739590 installs with an anonymous login. The Steam Tools route needs Eco in your Steam library, and the website download needs an SLG account that owns the game.
What ports does an Eco server use?
3000 UDP for the game and 3001 TCP for the web server by default, plus 3002 TCP for RCON if you set an RCON password. All three can be changed in Network.eco.
How do I make my Eco server public?
Set PublicServer to true in Network.eco (or Public Server on the panel's Startup tab), give it a Name (Server Name on the panel), and optionally choose a ServerCategory so new players see it on the New Game screen.
How do I reset or wipe an Eco world?
Stop the server, back up the Storage folder, then delete it. The next start generates a new world from WorldGenerator.eco.
Can I run an Eco server on Linux?
Yes. EcoServer is a native Linux binary. Run ./install.sh once for the libgdiplus and libc6-dev dependencies, then start ./EcoServer from the install folder. A systemd unit should use kill -TERM to stop it so the world saves cleanly.
Made with 💜 by GameServerKings

Need an Eco server?
Deploy an instantly-provisioned Eco server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $7.80 /month