Complete guide to installing and running an Enshrouded dedicated server on Ubuntu/Debian Linux using SteamCMD and Wine.
Wine/Proton Required
The Enshrouded dedicated server is a Windows executable. To run it on Linux, you'll need Wine or Proton. This guide uses Wine.
Install SteamCMD, Wine, and required 32-bit libraries on Ubuntu/Debian.
# Enable 32-bit architecture
sudo dpkg --add-architecture i386
# Update package lists
sudo apt update
# Install SteamCMD
sudo apt install steamcmd -y
# Install Wine
sudo apt install wine wine64 wine32 -y
# Install additional dependencies
sudo apt install lib32gcc-s1 libsdl2-2.0-0:i386 -yCreate a dedicated user for running the game server for security.
# Create user
sudo useradd -m -s /bin/bash enshrouded
# Switch to the new user
sudo su - enshroudedUse SteamCMD to download the Enshrouded dedicated server files.
# Create server directory
mkdir -p ~/enshrouded-server
# Download server files using SteamCMD
steamcmd +force_install_dir ~/enshrouded-server +login anonymous +app_update 2278520 validate +quitApp ID: 2278520
This is the Steam App ID for the Enshrouded Dedicated Server.
Create the server configuration file.
{
"name": "My Enshrouded Server",
"saveDirectory": "./savegame",
"logDirectory": "./logs",
"ip": "0.0.0.0",
"queryPort": 15637,
"slotCount": 16,
"gameSettingsPreset": "Default",
"userGroups": [
{
"name": "Admin",
"password": "change_this_password",
"canKickBan": true,
"canAccessInventories": true,
"canEditBase": true,
"canExtendBase": true,
"reservedSlots": 1
}
]
}Use our Config Builder to generate a customized configuration file.
Open the required ports in your firewall using UFW (Uncomplicated Firewall).
# Allow Game Port (UDP 15636)
sudo ufw allow 15636/udp
# Allow Query Port (UDP 15637)
sudo ufw allow 15637/udp
# Enable UFW if not already enabled
sudo ufw enable
# Check status
sudo ufw statusUse Wine to run the Windows server executable.
cd ~/enshrouded-server
wine enshrouded_server.exeThe first startup may take several minutes. Wine will create a virtual Windows environment and the server will initialize.
Create a systemd service to auto-start your server on boot and manage it easily.
[Unit]
Description=Enshrouded Dedicated Server
After=network.target
[Service]
Type=simple
User=enshrouded
WorkingDirectory=/home/enshrouded/enshrouded-server
ExecStart=/usr/bin/wine /home/enshrouded/enshrouded-server/enshrouded_server.exe
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target# Create the service file
sudo nano /etc/systemd/system/enshrouded.service
# (paste the above content and save)
# Reload systemd
sudo systemctl daemon-reload
# Enable auto-start on boot
sudo systemctl enable enshrouded
# Start the server
sudo systemctl start enshrouded
# Check status
sudo systemctl status enshrouded
# View logs
sudo journalctl -u enshrouded -fCreate a script to easily update your server.
#!/bin/bash
echo "Stopping Enshrouded server..."
sudo systemctl stop enshrouded
echo "Updating server files..."
steamcmd +force_install_dir ~/enshrouded-server +login anonymous +app_update 2278520 +quit
echo "Starting Enshrouded server..."
sudo systemctl start enshrouded
echo "Done! Server updated and restarted."# Make it executable
chmod +x ~/update-server.sh
# Run it when needed
./update-server.shOnce your server is running, players can connect using:
123.45.67.89:15637)curl ifconfig.me to get your public IP