> ## Content Index
> Fetch the complete content index at: https://blog.sudowl.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Enshrouded Dedicated Server on Linux — SteamCMD, Wine, and the RAM Reality
- URL: https://blog.sudowl.com/enshrouded-dedicated-server-linux/
- Published: 2026-05-15T10:00:00.000Z
- Updated: 2026-10-11T08:26:51.000Z
- Description: Run an Enshrouded dedicated server on Ubuntu via SteamCMD + Wine. Systemd unit, ports, the real RAM requirement, save backups, and the gotchas the wiki skips.
- Author: Lukas
- Tags: Gameserver, Ubuntu, Linux

Enshrouded doesn't ship a native Linux server — it's Windows-only. You run it under Wine, which works fine but eats more RAM than the docs suggest. Allocate **16 GB minimum** for a 4-player group. The "8 GB recommended" line is fiction past about 30 hours of playtime.

**TL;DR:**

```bash
sudo dpkg --add-architecture i386
sudo apt install steamcmd wine64 winetricks
sudo adduser --system --group --home /opt/enshrouded enshrouded
sudo -u enshrouded -H steamcmd +force_install_dir /opt/enshrouded \
  +login anonymous +app_update 2278520 validate +quit
sudo ufw allow 15637/udp

```

Then a systemd unit that runs it through Wine, then backups. Standard SteamCMD pattern, same as [Valheim](/valheim-dedicated-server-linux/) and [Palworld](/palworld-dedicated-server-linux/), with a Wine wrapper layered on.

## Why Wine, not Proton

Proton needs Steam running, and a headless server box shouldn't have a Steam client lurking. Wine straight is leaner and the server doesn't use any Proton-specific shims (no DXVK, no Vulkan, no Wayland nonsense — it's a network process).

Bare `wine64` works. Don't overthink it.

## Install

App ID for the dedicated server is `2278520`. The game's app ID is `1203620` — you don't need it. Anonymous login is fine; the server is free.

```bash
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd wine64 winetricks
sudo adduser --system --group --home /opt/enshrouded enshrouded
sudo -u enshrouded -H steamcmd \
  +force_install_dir /opt/enshrouded \
  +login anonymous \
  +app_update 2278520 validate \
  +quit

```

First wine run initializes the prefix:

```bash
sudo -u enshrouded -H WINEPREFIX=/opt/enshrouded/wineprefix WINEARCH=win64 wineboot --init

```

This downloads Mono and Gecko prompts — say no to both, the server doesn't need them.

## Config

Server config is `/opt/enshrouded/enshrouded_server.json`. First run creates it; stop the server and edit:

```json
{
  "name": "MyServer",
  "password": "changeme",
  "saveDirectory": "./savegame",
  "logDirectory": "./logs",
  "ip": "0.0.0.0",
  "queryPort": 15637,
  "slotCount": 16
}

```

`slotCount` max is 16\. `queryPort` is also the game port. There's no separate Steam query port like Valheim — Enshrouded uses one UDP port for everything.

## Systemd unit

`/etc/systemd/system/enshrouded.service`:

```ini
[Unit]
Description=Enshrouded Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=enshrouded
Group=enshrouded
WorkingDirectory=/opt/enshrouded
Environment=WINEPREFIX=/opt/enshrouded/wineprefix
Environment=WINEARCH=win64
Environment=WINEDEBUG=-all
ExecStart=/usr/bin/wine64 /opt/enshrouded/enshrouded_server.exe
Restart=on-failure
RestartSec=15
RuntimeMaxSec=86400
MemoryMax=20G

[Install]
WantedBy=multi-user.target

```

Two lines that matter:

- `RuntimeMaxSec=86400` — restart every 24h. Wine slowly leaks GDI handles. After 3-4 days the server starts stuttering, after a week it OOMs. Daily restart at 4am, players never notice.
- `MemoryMax=20G` — hard cap. If the process exceeds it, systemd kills it instead of the kernel doing it under load. Cleaner restart, save survives.

`WINEDEBUG=-all` silences a wall of noise that's otherwise written to stderr at every tick. Read [systemd service unit files](/systemd-service-unit-file/) if any of this is unfamiliar.

```bash
sudo systemctl daemon-reload
sudo systemctl enable --now enshrouded
sudo journalctl -u enshrouded -f

```

First start takes 60-90 seconds. Look for `Server is now ready` — until then, clients can't connect.

## Ports

Single UDP port, default `15637`:

```bash
sudo ufw allow 15637/udp

```

If you change `queryPort` in the JSON, change the firewall rule. Enshrouded uses **only UDP** — opening TCP does nothing useful.

[UFW rules reference](/ufw-firewall-rules-ubuntu/).

## The RAM thing

Keen Games' page says 8 GB, the Steam page says 8 GB, the wiki says 8 GB. With 4 active players and a few hours of build progress, RSS sits around 11 GB. By 50 hours of playtime it's pushing 14 GB. The world chunks load eagerly and don't unload aggressively.

If you put this on an 8 GB VM, it OOMs within a week. 16 GB is the floor. 24 GB is comfortable. I run it on a 32 GB box because it's also doing other things and Wine likes its breathing room.

## Backups

The save lives in `/opt/enshrouded/savegame/`. The whole directory matters — it's a small SQLite-ish blob plus chunk files. Nightly:

```bash
rsync -a --delete /opt/enshrouded/savegame/ /backup/enshrouded/$(date +%F)/

```

Keep 14 days. Enshrouded's save corruption is rare but when it happens, the symptom is the server starting and then booting everyone within 60 seconds with no error. Restore from yesterday's backup, you lose maybe an hour of progress. [rsync backup pattern](/rsync-backup-linux/).

**Always stop the server before snapshotting if you can.** A crash mid-rsync is fine 95% of the time, but the 5% where the chunk file was being written gives you a corrupt backup. Two-line wrapper:

```bash
systemctl stop enshrouded
rsync -a --delete /opt/enshrouded/savegame/ /backup/enshrouded/$(date +%F)/
systemctl start enshrouded

```

Downtime: 30 seconds. Worth it.

## Updates

Enshrouded patches break protocol compatibility roughly every 6-8 weeks. Updating:

```bash
sudo systemctl stop enshrouded
sudo -u enshrouded -H steamcmd \
  +force_install_dir /opt/enshrouded \
  +login anonymous \
  +app_update 2278520 validate \
  +quit
sudo systemctl start enshrouded

```

`validate` re-checks file hashes. After a Wine prefix upgrade or a Wine version bump, run `wineboot --update` first or the new EXE complains about missing DLL versions.

## The two failure modes you'll hit

**"Server is starting up" forever.** Wine prefix didn't initialize. Check `journalctl -u enshrouded` for `wine: failed to load`. Fix: re-run `wineboot --init` as the enshrouded user.

**Players see the server but can't join.** Almost always firewall (UFW rule on wrong port) or NAT (port-forward missing on home router). Double-check with:

```bash
sudo ss -tulnp | grep 15637

```

You should see `udp UNCONN 0 0 0.0.0.0:15637 ...`. If the listener isn't there, the server isn't bound — usually a config issue.

If `ss` shows it but external clients can't connect, the gap is your network, not the server. From outside, `nc -uvz <publicip> 15637` proves it one way or the other.

## Why this and not a managed host

Same answer as [Valheim](/valheim-dedicated-server-linux/) and [Palworld](/palworld-dedicated-server-linux/): a Hetzner CPX31 (4 vCPU, 16 GB) is €15/month and runs Enshrouded plus two other game servers. Managed Enshrouded hosts charge €20-25/month for a single 8-slot instance and lock you behind a control panel. For one group of friends, owning the box wins.

The only thing managed hosts do better is automatic patch deployment. With the systemd unit above and a cron-driven update script, you can match that in an evening.

---

### Related posts

- [Satisfactory Dedicated Server on Linux — Native, Lightweight, and Boring (in the Best Way)](https://blog.diengdoh.com/satisfactory-dedicated-server-linux/?ref=blog.sudowl.com)
- [ARK Survival Ascended Dedicated Server on Linux — Wine, 16 GB RAM, and Patience](https://blog.diengdoh.com/ark-survival-ascended-dedicated-server-linux/?ref=blog.sudowl.com)
- [Valheim Dedicated Server on Linux — the One Thing People Get Wrong](https://blog.diengdoh.com/valheim-dedicated-server-linux/?ref=blog.sudowl.com)