Hosting
Enshrouded dedicated server
Setup, ports, requirements and the complete settings reference
The Enshrouded dedicated server is a free, separate Steam app (id 2278520) that downloads anonymously — the account running it does not need to own the game. It holds up to 16 players, queries on UDP port 15637 by default, and exposes 55 configurable settings, of which 37 tune difficulty and world rules. Full reference on our server settings page.
Downloading the server
The server is fetched with SteamCMD using an anonymous login. On Windows that is all you need:
steamcmd +force_install_dir C:\enshrouded-server ^
+login anonymous ^
+app_update 2278520 validate ^
+quitThe Linux trap: “fully installed” with no game files
The Enshrouded server is a Windows-only application. Run the command above on Linux and SteamCMD will download roughly 100 MB of Steam shared libraries, report Success! App ‘2278520’ fully installed, and leave you with no server at all — no executable, no game data. It looks exactly like a successful install.
You have to ask for the Windows depot explicitly:
steamcmd +@sSteamCmdForcePlatformType windows \
+force_install_dir /opt/enshrouded-server \
+login anonymous \
+app_update 2278520 validate \
+quitThat yields about 8.3 GB — the real server, which you then run under Proton or Wine. A correct download contains enshrouded_server.exe alongside .kfc, .kfc_resources and 32 .dat files. If all you have are .so files, you hit the trap.
What you need to open
| What | Value | Notes |
|---|---|---|
| Steam app id | 2278520 | Free, anonymous login, separate from the game itself |
| Query port | 15637 (UDP) | Set by queryPort — required for server-browser listing |
| Bind address | 0.0.0.0 | Listens on all interfaces; change only with reason |
| Player slots | 1–16 | slotCount, default 16 |
| Save directory | ./savegame | Relative to the server executable |
| Log directory | ./logs | Relative to the server executable |
Player permission groups
Access is granted per group rather than per player. Each group carries its own password and its own permissions, so you hand out a different password depending on how much you trust someone. The shipped groups are Admin, Friend, Guest and Visitor, and you can define your own.
| Permission | Controls |
|---|---|
canAccessInventories | Whether the group may open chests and containers. |
canEditBase | Whether the group may build and edit inside player bases. |
canEditWorld | Whether the group may reshape terrain outside bases. |
canExtendBase | Whether the group may extend base boundaries. |
canKickBan | Whether the group may kick or ban other players. Admin-level only. |
password | Join password. Leave empty for an open server. |
reservedSlots | Slots held open for this group when the server is full. |
What you need to run one
The download is 8.3 GB — the server ships the full game data because it simulates the world, it simply never renders it. Budget disk accordingly; the game files alone are larger than many people expect from a headless server.
| Requirement | What we observe | Notes |
|---|---|---|
| Disk | 8.3 GB for the server, plus save data | 32 .dat containers account for most of it |
| Platform | Windows application | Linux hosts run it under Proton or Wine |
| Steam account | None | Anonymous login; the account need not own Enshrouded |
| Open port | UDP 15637 by default | Must be reachable for the server browser |
| Players | Up to 16 | Hard ceiling — slotCount will not accept more |
What is inside the download
Knowing the expected layout is the fastest way to tell a good install from a broken one:
| File | Count | What it is |
|---|---|---|
| enshrouded_server.exe | 1 | The server itself, ~22 MB |
| enshrouded_server.kfc | 1 | Index of the game data |
| enshrouded_server.kfc_resources | 1 | Game data — items, recipes, world rules (~144 MB) |
| enshrouded_server_NNN.dat | 32 | Content containers, ~260–300 MB each |
| steam_api64.dll and friends | 7 | Steam integration libraries |
| _CommonRedist | 1 folder | Microsoft redistributables, ~25 MB |
If your folder does not contain enshrouded_server.exe and 32 .dat files, the download did not complete — see the platform trap above.
Configuring the server
On first launch the server writes enshrouded_server.json beside the executable. Stop the server before editing it — a running server rewrites the file on shutdown and will discard your changes.
The trap that costs people the most time: individual difficulty values do nothing unless gameSettingsPreset is set to Custom. Leave it on a named preset and the server silently overrides every value you carefully tuned. All 55 settings are documented on our server settings reference, with defaults and permitted ranges taken from the shipped configuration.
Keeping it updated
Re-running the same SteamCMD command updates in place — it is a no-op when you are already current, so it is safe to run on a schedule. Clients and servers must match: after a game patch, players cannot join until the server is updated too, which is why an automatic update on a timer is worth setting up before 1.0 rather than after.
A reliable way to detect that an update actually landed is to compare the buildid in steamapps/appmanifest_2278520.acf before and after. Do not use SteamCMD’s app_info_print for this — it returns empty output unless its cache happens to be warm, which makes it look like nothing changed. We run exactly this check on a 30-minute timer to trigger our own data re-extraction.
When it goes wrong
| Symptom | Likely cause |
|---|---|
| SteamCMD says "fully installed" but there is no .exe | Downloaded on Linux without the Windows platform override — you have ~100 MB of Steam libraries and no server |
| Server runs but never appears in the in-game browser | UDP 15637 not open, or queryPort changed without opening the new port |
| Difficulty settings appear to be ignored | gameSettingsPreset is not set to Custom, so the preset overrides them |
| Config edits keep reverting | The server was running when you edited; it rewrites the file on shutdown |
| Players cannot join after a patch | Client and server versions must match — update the server |
| SteamCMD fails with a permissions error as root | SteamCMD will not install content as root; run it as an unprivileged user |
Running it unattended
A server you have to start by hand is a server that is down whenever you are asleep. Two things are worth setting up on day one, and both are lessons from running this in production rather than theory:
Do not run SteamCMD as root. It refuses to install content as root and fails with a misleading permissions error even when the disk is empty and you plainly have permission. Create an unprivileged user, own the install directory with it, and drop privileges for the download step only.
Put a timeout on any lock. If you wrap updates in a scheduled job, guard it with a lock so two runs cannot overlap — but always with a timeout, never an indefinite wait. A job that hangs while holding an indefinite lock will make every subsequent run exit instantly and silently, and the first symptom is noticing days later that nothing has updated. A run that cannot acquire the lock should fail loudly so the scheduler reports it.
Beyond that it is an ordinary long-running process: a service unit that restarts on failure, logs to somewhere you will actually read, and an update check on a timer.
Self-hosting versus renting
Because the server binary is free and anonymous, the only thing a hosting company sells you is the machine and the convenience. That is a real service — an always-on box with a decent connection and someone else handling updates — but it is worth being clear that there is no licence, no per-slot fee and no restriction from Keen’s side.
Self-hosting suits you if you already have a machine that stays on and you are comfortable opening a port. Renting suits you if you want it to survive your laptop closing. The 16-player ceiling is the same either way, and so is the configuration — the same enshrouded_server.json and the same settings whichever route you take.
Frequently asked
- Is the Enshrouded dedicated server free?
- Yes. The server is a separate Steam app (id 2278520) that downloads with an anonymous login — you do not need to own Enshrouded on the account running it.
- How many players can an Enshrouded server hold?
- Sixteen. The slotCount setting accepts values from 1 to 16, and 16 is the shipped default.
- What port does an Enshrouded server use?
- The server browser queries UDP port 15637 by default, set by queryPort in the config. That port must be reachable or your server will not appear in the in-game list.
- Can you run an Enshrouded server on Linux?
- Not natively — the dedicated server ships as a Windows application only. Linux hosts run it under Proton or Wine. Downloading it on Linux also needs an explicit platform override (see below), or SteamCMD silently fetches no game files at all.
- Where are Enshrouded server save files stored?
- In ./savegame next to the server executable by default, controlled by the saveDirectory setting. Logs default to ./logs.
Every value on this page comes from the configuration and documentation shipped inside the public server download, which is also where this site’s recipe and item data is extracted from. See how we build the data.