---
title: "Eco Dedicated Server Setup: SteamCMD, Ports, Network.eco and Admins"
description: "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."
url: "https://www.gameserverkings.com/knowledge-base/eco/eco-dedicated-server/"
category: "Eco"
category_url: "https://www.gameserverkings.com/knowledge-base/eco/"
published: "2026-10-28T03:25:53.496Z"
updated: "2026-10-28T04:19:00.413Z"
source_format: "markdown"
site: "GameServerKings"
---

# Eco Dedicated Server Setup: SteamCMD, Ports, Network.eco and Admins

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.

> [!NOTE] 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 `Storage` before 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`:

```bash
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:

1. **Never edit the `.template` files.** Each config ships as `Something.eco.template`, and updates overwrite it. If a `.eco` file doesn't exist yet, copy the template, drop `.template` from the name, and edit the copy.
2. **Stop the server first.** Eco writes its current settings back to the `.eco` files when it shuts down, so an edit made while it is running is overwritten on the next stop. The alternative is `/serverui` in-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:

```json title="Configs/Users.eco (excerpt)"
"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](/games/eco/) 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 `GameServerPort` from your server's main port and `WebServerPort` and `RconServerPort` from 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 in `Localization.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** writes `DefaultSlots` (`-1` is 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
