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 |
:::warning Note: client and server on one machine If you run the dedicated server and the game client on the same PC, the RAM requirement doubles. In that case at least 16 GB is recommended. :::
- 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
:::warning Tip: create an update script
Save the SteamCMD command as update.bat (Windows) or as a shell script (Linux). That way you can update the server with a single run on every patch — always make a world backup before updating.
:::
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"/>
:::warning Caution: do not change GameName after the game has started
The GameName value is also the save game identifier. If it is changed after the first start, the server creates a new world. Do not use special characters.
:::
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
:::warning Security note: Telnet
The Telnet port (8081) transmits data unencrypted. Do not expose this port publicly — use it only on the local network or through an SSH tunnel. Do not use a default password.
:::
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.