How to Host an Enshrouded Dedicated Server
/guides/dedicated-server
How to Host an Enshrouded Dedicated Server
Enshrouded's dedicated server is a free Windows program from Keen Games. It runs one world for up to 16 players, and your friends can play in it while you are offline.
What you need
A 64-bit Windows PC that stays on while people play, and SteamCMD, Valve's free command-line tool for downloading Steam servers. The server is Steam app 2278520, an 8.1 GB download with an anonymous login: that PC needs no copy of the game and no Steam account.
A new world with nobody online starts in under 15 seconds and uses about 0.7 GB of RAM, and more as players join. For scale, Wikily Servers gives an 8-player Enshrouded server 8 GB of RAM and 4 CPU threads, and a 16-player server 12 GB and 6 threads.
Players connect over one port, UDP 15637. If friends outside your home will join, you forward that port on your router (see Ports and firewall below).
Checked with the Steam server build of 30 October 2026 (version 1.0.0.0).
Install the server
1. Download SteamCMD from Valve and unzip it to C:\steamcmd.
2. Open PowerShell or Command Prompt and run this line. It downloads the server (8.1 GB) to C:\enshrouded-server:
C:\steamcmd\steamcmd.exe +force_install_dir C:\enshrouded-server +login anonymous +app_update 2278520 validate +quit3. Start C:\enshrouded-server\enshrouded_server.exe. A console window opens. The server is ready when it shows [Session] 'HostOnline' (up)!
Keen Games ships the server for Windows only. On Linux it runs under Wine. SteamCMD has to be told to download the Windows files. On Ubuntu 24.04:
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd wine wine64 xvfb
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir ~/enshrouded-server +login anonymous +app_update 2278520 validate +quit
cd ~/enshrouded-server
xvfb-run -a wine enshrouded_server.exeAccept the Steam licence when apt asks. xvfb-run gives Wine a virtual screen. Tested with Wine 9.0 from Ubuntu 24.04. The settings file, the save and the port are the same as on Windows.
First start and the files
The first start creates enshrouded_server.json, the savegame folder with the world and the logs folder, all next to enshrouded_server.exe.
Stop the server before you edit enshrouded_server.json, then start it again. Closing the console window shuts the server down cleanly and saves the world first.
Server settings
All settings live in enshrouded_server.json. Values in quotes are text; true, false and numbers have no quotes.
| Setting | Default | What it does |
|---|---|---|
name | Enshrouded Server | The name in the server list. |
slotCount | 16 | Player limit, 1 to 16. |
queryPort | 15637 | The UDP port players connect to. |
ip | 0.0.0.0 | The address the server listens on. 0.0.0.0 means every network card of the PC. |
gameSettingsPreset | Default | Default, Relaxed, Hard, Survival or Custom. Only Custom uses the values under gameSettings. |
tags | [] | Filter tags for the server list: LookingForPlayers, a language (English, German, French ...), BaseBuilding, Exploration, Roleplay. |
enableTextChat | false | Text chat on (true) or off (false). |
enableVoiceChat | false | Voice chat on (true) or off (false). |
voiceChatMode | Proximity | Proximity: players hear who is near. Global: everyone hears everyone. |
saveDirectory | ./savegame | Folder of the world save. |
logDirectory | ./logs | Folder of the log files. |
userGroups | 4 groups | Passwords and permissions, see Passwords and roles. |
bannedAccounts | [] | Banned players. Admins ban from the Social tab in the game. |
With gameSettingsPreset set to Custom, the 38 values under gameSettings set the difficulty: enemy damage and health, XP, resources, day and night length, hunger, the Shroud timer and more. They are the settings of the game's Customize Difficulty menu.
| Key | Default | Range |
|---|---|---|
experienceCombatFactor | 1 | 0.25 to 2 |
experienceExplorationQuestsFactor | 1 | 0.25 to 2 |
resourceDropStackAmountFactor | 1 | 0.25 to 2 |
miningDamageFactor | 1 | 0.5 to 2 |
randomSpawnerAmount | Automatic | Few, Normal, Automatic, Many, Extreme |
enemyDamageFactor | 1 | 0.25 to 5 |
dayTimeDuration | 1800000000000 | 30 minutes. 2 to 60 minutes, in nanoseconds: 1 minute is 60000000000 |
nightTimeDuration | 720000000000 | 12 minutes. 2 to 60 minutes, in nanoseconds |
tombstoneMode | AddBackpackMaterials | AddBackpackMaterials, Everything, NoTombstone |
A new enshrouded_server.json, with the long lists shortened:
{
"name": "Enshrouded Server",
"saveDirectory": "./savegame",
"logDirectory": "./logs",
"ip": "0.0.0.0",
"queryPort": 15637,
"slotCount": 16,
"tags": [],
"voiceChatMode": "Proximity",
"enableVoiceChat": false,
"enableTextChat": false,
"gameSettingsPreset": "Default",
"gameSettings": { ... 38 settings, see World Settings ... },
"userGroups": [ ... Admin, Friend, Guest, Visitor ... ],
"bannedAccounts": []
}Passwords and roles
There is no single server password. Each user group has its own password, and the password a player types when joining puts them in that group. A new file comes with four groups and random passwords: set your own before you hand them out.
| Group | Build in bases | Open chests | Change the world | Flame Altars | Kick and ban |
|---|---|---|---|---|---|
| Admin | Yes | Yes | Yes | Yes | Yes |
| Friend | Yes | Yes | Yes | No | No |
| Guest | No | No | Yes | No | No |
| Visitor | No | No | No | No | No |
Every group but Visitor can fight, gather, dig and do quests out in the world. Open chests covers chests, workstations and other containers in player bases, not the chests out in the world. Flame Altars means placing, upgrading and removing them.
reservedSlots keeps that many places free for a group, so an admin can still get in when the server is full.
"userGroups": [
{
"name": "Admin",
"password": "YOUR-ADMIN-PASSWORD",
"canKickBan": true,
"canAccessInventories": true,
"canEditWorld": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 1
},
{
"name": "Friend",
"password": "YOUR-FRIENDS-PASSWORD",
"canKickBan": false,
"canAccessInventories": true,
"canEditWorld": true,
"canEditBase": true,
"canExtendBase": false,
"reservedSlots": 0
}
]The example shows two of the four groups: keep the other two in your file if you use them. Add a group by copying one block, giving it a new name and password and setting each permission to true or false.
Ports and firewall
Players connect on one port: UDP 15637, the queryPort in the settings.
Let the port through Windows Firewall. Run this once in PowerShell as administrator:
New-NetFirewallRule -DisplayName "Enshrouded server" -Direction Inbound -Protocol UDP -LocalPort 15637 -Action AllowFor players outside your home network, forward UDP 15637 on your router to the local IP address of the server PC. If you change queryPort, forward that port instead.
Join the server
1. In the game's main menu, open Join. 2. Tick Show dedicated server and type the server's name in Filter server names. Or type its IP address in Find server ( IPv4 address ) and pick Add Server. 3. Select the server, choose Join (Enter password) and type the password of your group.
Players on the same network as the server use its local IP address, everyone else the public IP address of the router.
Saves, backups and updates
The world is savegame\world0.ksd. The server saves it every few minutes at most while it runs, and when it shuts down. The last 10 saves rotate through savegame\backup as world0.ksd.backup-0 to -9: the number is a slot, not the age, so check the file dates.
To make a backup, stop the server and copy the whole savegame folder. To update, stop the server and run the SteamCMD line from the install step again: it downloads only what changed and keeps the save and the settings.
Steam updates the game on its own, but not the server. After a game patch, players see The build version of this server is older than yours until you update the server.
Common problems
The console closes at once: Internal Error: Failed to parse Config
enshrouded_server.json has a typing error, most often a missing or extra comma or quote in the line you changed. The server does not start until the file is valid JSON again; it does not replace the file.
My changes to enshrouded_server.json do nothing
The server reads the file when it starts. Stop it, save the file, start it again.
My game settings are ignored
gameSettings is only used when gameSettingsPreset is Custom. With Default, Relaxed, Hard or Survival the preset's values apply.
Joining failed. The password is invalid.
The password matches no user group. Copy it from enshrouded_server.json exactly, without the quotes.
A player got the wrong permissions
The password they typed decides the group. Give them the password of the group they belong in and have them join again.
Friends outside my home cannot connect
Check that UDP 15637 is forwarded on the router to the right local IP, that the firewall rule exists, and that the console showed HostOnline. Forward UDP, not TCP.
The build version of this server is older than yours
The game got a patch and the server did not. Stop the server and run the SteamCMD line again.
Questions
Do I need to own Enshrouded to host a server?
No. SteamCMD downloads the server with an anonymous login. Only the players need the game.
How many players can join an Enshrouded server?
Up to 16. slotCount in enshrouded_server.json sets the limit, from 1 to 16.
What port does an Enshrouded server use?
UDP 15637, the queryPort setting. Forward it on your router and allow it in Windows Firewall.
Does the server have to run all the time?
Players can only join while it runs. For friends to play while you are offline, the server's PC stays on 24/7.
Can I run an Enshrouded server on Linux?
Keen Games ships the server for Windows only. It runs on Linux under Wine; it was tested on Ubuntu 24.04 with Wine 9.0.
How do I become admin on my Enshrouded server?
Join with the password of the Admin group in enshrouded_server.json. That group can kick and ban players and change everything in bases.
Wikily Servers hosts Enshrouded
From €4.99 a month