7 Days to Die Dedicated Server Setup
This guide explains how to set up and configure a 7 Days to Die dedicated server. It covers every necessary step — from installation through configuring the serverconfig.xml all the way to network port forwarding and day-to-day operation.
Requirements for a dedicated server
Minimum hardware requirements
| Component | Minimum | Recommended |
|---|---|---|
| CPU | Dual core, 2.4 GHz | Quad core, 3.2+ GHz (favor a high single-core clock speed) |
| RAM | 8 GB | 16 GB+ |
| Storage | 12 GB (HDD) | SSD/NVMe |
| Upload bandwidth | ~50–100 KB/s per player | ≥ 2 Mbps for 10 players |
- The game relies heavily on single-thread CPU performance — above all during blood moon nights and with a high zombie count.
- SSD or NVMe noticeably reduces I/O wait times when loading and saving world data, especially with several players active at once.
Software requirements
- Windows (64-bit) or Linux (e.g. Debian/Ubuntu) as the operating system
- SteamCMD or the Steam client installed
- Microsoft Visual C++ Redistributables 2022 (strictly required on Windows)
- A text editor for XML files — Notepad++ is recommended
Installing the dedicated server
Via Steam (Windows, the simplest method)
- Open Steam and search the Library for 7 Days to Die.
- Install the entry "7 Days to Die Dedicated Server" under the tools.
- Note the installation path — by default:
C:\Program Files (x86)\Steam\steamapps\common\7 Days to Die Dedicated Server
Via SteamCMD (Windows & Linux)
The dedicated server is available free of charge under the Steam app ID 294420 — no separate game license is needed for it.
Downloading the stable build:
steamcmd +force_install_dir "C:\Server\7dtd" +login anonymous +app_update 294420 validate +quit
Downloading the experimental build:
steamcmd +force_install_dir "C:\Server\7dtd" +login anonymous +app_update 294420 -beta latest_experimental validate +quit
Configuring the serverconfig.xml
The entire configuration of the dedicated server runs through the file serverconfig.xml in the installation directory. Change only the content of the value= attribute — do not touch the structure of the file itself.
==Recommendation: do not edit the default file directly. Rename it and adjust the start parameter -configfile= accordingly.==
Key parameters at a glance
| Parameter | Meaning | Example value |
|---|---|---|
ServerName |
Display name in the server browser | AKMG 7DTD Server |
ServerPassword |
Password for joining | geheimespasswort |
ServerPort |
Main port of the server | 26900 |
ServerVisibility |
Visibility: 2 = public, 1 = friends only, 0 = invisible | 0 (for a clan server) |
ServerDescription |
Description text in the browser | anything |
Region |
Server region | Europe |
GameWorld |
Map: Navezgane (story) or RWG (procedural) |
RWG |
WorldGenSeed |
Seed for procedural worlds | anything |
WorldGenSize |
World size in meters (e.g. 6144, 8192, 10240) | 8192 |
GameName |
Game name / save game identifier | AKMGworld |
MaxSpawnedZombies |
Max. zombies active at the same time | 64 |
BloodMoonFrequency |
Blood moon interval in in-game days | 7 |
LootAbundance |
Loot frequency in percent | 100 |
PlayerKillingMode |
PvP setting (0–3) | 0 (no PvP) |
LandClaimSize |
Diameter of the protected zone | 41 |
Example: minimal serverconfig.xml (excerpt)
<property name="ServerName" value="AKMG 7DTD Server"/>
<property name="ServerPassword" value="geheimespasswort"/>
<property name="ServerPort" value="26900"/>
<property name="ServerVisibility" value="0"/>
<property name="Region" value="Europe"/>
<property name="GameWorld" value="RWG"/>
<property name="WorldGenSeed" value="akmg2024"/>
<property name="WorldGenSize" value="8192"/>
<property name="GameName" value="AKMGworld"/>
<property name="MaxSpawnedZombies" value="64"/>
<property name="PlayerKillingMode" value="0"/>
Starting the server
Windows
7DaysToDieServer.exe -quit -batchmode -nographics -configfile=serverconfig.xml -dedicated
Alternatively: double-click startdedicated.bat in the server directory.
On the first start the server generates the world — depending on map size and CPU this can take several minutes. Do not interrupt the process.
Linux
./startserver.sh -configfile=serverconfig.xml
So that the server keeps running after the SSH connection is closed, use a terminal multiplexer such as screen or tmux:
screen -S 7dtd ./startserver.sh -configfile=serverconfig.xml
# Detach with Ctrl+A, then D
Network & opening ports
Without correct port forwarding the dedicated server cannot be reached from outside.
Required ports
| Port(s) | Protocol | Purpose |
|---|---|---|
26900 |
TCP + UDP | Main game port |
26901–26902 |
UDP | Steam communication / connection setup |
8080 |
TCP | Web control panel (optional) |
8081 |
TCP | Telnet management access (optional) |
How to proceed
- Set up port forwarding in the router: forward all of the ports listed above to the local IP address of the server machine.
- Create inbound rules for the ports in the operating system's firewall.
Linux (UFW):
sudo ufw allow 26900:26902/tcp
sudo ufw allow 26900:26902/udp
sudo ufw allow 26900/tcp
sudo ufw allow 26900/udp
Windows (PowerShell as admin):
New-NetFirewallRule -DisplayName "7DTD Server" -Direction Inbound -Protocol TCP -LocalPort 26900,8080,8081 -Action Allow
New-NetFirewallRule -DisplayName "7DTD Server UDP" -Direction Inbound -Protocol UDP -LocalPort 26900-26902 -Action Allow
Testing the connection
- Find your own public IP: search for "my IP" in the browser.
- In the game: Join a Game → Connect to IP — enter
IP:26900there. - Local connection (same machine):
127.0.0.1:26900
Admin management
Adding a player as admin
The file serveradmin.xml (located in the server's UserDataFolder) controls permissions. Entering your own SteamID64 grants full admin access through console commands in the game.
<users>
<user steamID="76561198XXXXXXXX" name="AdminName" permission_level="0"/>
</users>
permission_level="0" = highest permission (full access).
Console commands (Telnet / in-game)
| Command | Function |
|---|---|
shutdown |
Shut the server down cleanly |
say "message" |
Server message to all players |
kick [playername] |
Remove a player |
ban add [SteamID] |
Ban a player permanently |
setgamepref [param] [value] |
Change a game setting at runtime |
mem |
Show RAM usage |
Operation & performance tips
Setting up automatic restarts
The 7 Days to Die dedicated server has a known memory leak problem during long uptimes. Regular restarts stabilize performance.
- Windows: Task Scheduler with a daily restart script (e.g. at 4:00)
- Linux: cron job:
0 4 * * * /path/to/7dtd/startserver.sh -configfile=serverconfig.xml
Backing up world data
Before every update, and regularly during operation, back up the saves directory completely:
%APPDATA%\7DaysToDie\Saves\ (Windows)
~/.local/share/7DaysToDie/Saves/ (Linux)
Updates can change the save format — without a backup there is no rollback.
Performance levers in the serverconfig.xml
| Parameter | Effect when reduced |
|---|---|
MaxSpawnedZombies |
Lowers CPU load, especially during blood moon nights |
MaxSpawnedAnimals |
Relieves the CPU on large worlds |
ServerMaxAllowedViewDistance |
Reduces chunk streaming load |
LootRespawnDays |
Affects game balance, barely any CPU impact |
- Mods such as Darkness Falls or Undead Legacy raise RAM and CPU demand considerably — test them in single player before using them on the server.
- Store server data on an SSD or NVMe: 7DTD reads and writes world data continuously, particularly on horde nights.
Updating the server
After every patch release the server files have to be updated manually:
steamcmd +force_install_dir "C:\Server\7dtd" +login anonymous +app_update 294420 validate +quit
Always back up the world first, then stop the server, and only then update.
After an update, check the serverconfig.xml for new or removed parameters — the file evolves along with the game.