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)

  1. Open Steam and search the Library for 7 Days to Die.
  2. Install the entry "7 Days to Die Dedicated Server" under the tools.
  3. 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

  1. Set up port forwarding in the router: forward all of the ports listed above to the local IP address of the server machine.
  2. 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:26900 there.
  • 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.