How to Set Up an Enshrouded Dedicated Server
Host a persistent Enshrouded world for up to 16 players. Install with SteamCMD, edit the JSON config and open the UDP ports.
Enshrouded's survival-RPG world is built for co-op, and a dedicated server keeps it persistent for up to 16 players. Here's how to run one on Linux.
Sizing your server
Enshrouded is fairly demanding thanks to its voxel building and shroud simulation:
- 2โ4 players: 6 GB RAM.
- 8โ16 players: 12โ16 GB RAM.
- Fast cores and NVMe help with the large world streaming.
Step 1: Install SteamCMD
sudo add-apt-repository multiverse -y
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd screen -y
Step 2: Download the server
sudo adduser --disabled-password enshrouded
sudo su - enshrouded
steamcmd +force_install_dir ./enshrouded +login anonymous +app_update 2278520 validate +quit
App ID 2278520 is the Enshrouded dedicated server. It's a Windows binary that runs on Linux through a Proton/Wine layer, which one-click hosts handle for you.
Step 3: First launch to generate the config
cd enshrouded
screen -S enshrouded
./enshrouded_server.exe
This creates enshrouded_server.json. Stop the server to edit it.
Step 4: Edit enshrouded_server.json
Set the key fields:
nameโ the server name in the browser.passwordโ required to join.saveDirectoryandlogDirectoryโ usually leave default.gameSettingsPresetโ Default, Relaxed, Hard, or Custom.slotCountโ up to 16.
Save the file and restart the server. Keep a backup copy of a working config, since a malformed JSON file will stop the server from starting cleanly.
Step 5: Open the ports
Enshrouded uses UDP ports 15636 and 15637:
sudo ufw allow 15636:15637/udp
Step 6: Connect
In game, choose Play โ Join and enter your-ip:15637 (the query port) with your password. If one port doesn't work in your build, try the other โ Enshrouded has shifted its default query port across updates.
Backups
Your world saves live in the savegame folder inside the server directory. Back it up before each restart โ Enshrouded builds represent serious time investment:
cp -r enshrouded/savegame ~/backups/enshrouded-$(date +%F)
Keeping up with updates
Enshrouded is still evolving with frequent content patches. After a game update, re-run the SteamCMD app_update command before players reconnect, since server and client versions must match.
Tuning difficulty with game settings
If you set gameSettingsPreset to Custom in the JSON, a large block of individual settings unlocks. You can adjust combat difficulty, mining and resource yields, stamina and hunger rates, day length, and how punishing the shroud is. This is how you shape the server for your group โ a relaxed building server dials up resources and softens survival pressure, while a hardcore run does the opposite. Change these before players invest heavily, as some settings are most meaningful on a fresh world.
Running it as a service
Because Enshrouded runs through a Proton layer, wrap the launch command in a systemd service so it restarts cleanly after a crash or reboot. Combined with a nightly restart, this keeps the server fresh and self-healing without you babysitting it.
Common issues
- Can't connect: Enshrouded has shifted its default query port between updates โ try both 15636 and 15637, and make sure both UDP ports are open.
- Config changes ignored: edit
enshrouded_server.jsonin the server root, not a copy, and restart fully. - Version mismatch: re-run the SteamCMD update after each patch.
The practical route
Between voxel terrain editing, the shroud simulation and up to 16 players streaming a large world, Enshrouded rewards generous RAM and NVMe storage. Nxeon's VPS provides both plus full root to manage the Proton layer, edit the JSON config and script backups. A one-click Enshrouded deploy runs SteamCMD and sets up the config so your group can get exploring the Embervale sooner.