A 7 Days to Die dedicated server keeps your survival world online without requiring the original host to play. You control the player limit, visibility, world, permissions, mods and gameplay rules.

The dedicated server runs natively on Windows and Linux. You can install it with SteamCMD or use a managed game server. This guide reflects the major configuration changes introduced in Version 3.0, including the new SandboxCode for gameplay settings.

7 Days to Die server – fortified base with a watchtower, a survivor overlooking an approaching zombie horde under a red sky

Info
Last technically reviewed on August 4, 2026. Version 3.1.0 “Henpocalypse” was the stable default branch at that time. Older guides that rely on individual XML properties such as GameDifficulty, DayNightLength or LootAbundance are partly outdated for current V3 builds.

What you will learn

  • how to install the 7 Days to Die dedicated server with SteamCMD
  • how to use the Windows and Linux startup scripts
  • which values are still configured directly in serverconfig.xml
  • how SandboxCode replaced many individual gameplay properties
  • which TCP and UDP ports the server requires
  • how to manage administrators, mods, backups, updates and branches

Create a 7 Days to Die server: quick overview

  1. Prepare a fast CPU, SSD storage and at least 6 to 8 GB of free memory.
  2. Install SteamCMD and download dedicated-server App 294420.
  3. Copy serverconfig.xml and configure the name, password, world and slots.
  4. Generate a matching SandboxCode in the current game client.
  5. Start the server with startdedicated.bat or startserver.sh.
  6. Allow 26900/TCP and 26900–26903/UDP through the firewall and router.
  7. Join through the server browser or connect directly to SERVER-IP:26900.
  8. Configure administrators, regular backups and a controlled update process.

Table of contents

Requirements and hardware

7 Days to Die is relatively demanding on both memory and CPU resources. Random-world generation, many active players, large bases, Blood Moon hordes and extensive mods can increase the load considerably.

Memory by server size

UsageSensible free memory for the serverNotes
1 to 4 players, vanilla6 to 8 GBsmall world and few additional services
5 to 8 players or RWG8 to 12 GBmore headroom for world data and hordes
9 to 16 players12 to 16 GBfast CPU and scheduled restarts recommended
Large modpacks or overhauls16 GB or moredepends on the mod, world size and player count

These are planning figures rather than fixed limits. Monitor real usage and leave enough memory for the operating system, SteamCMD, backups and monitoring.

Additional requirements

ComponentRecommendation
CPUhigh single-core performance and several modern cores
StorageSSD or NVMe with room for worlds, saves and backups
Networkstable connection with low packet loss
Reachabilitypublic IPv4 address or a working IPv6 design
Operating systemcurrent 64-bit Windows or Linux distribution
Important
A DS-Lite or carrier-grade NAT connection may not be directly reachable over IPv4. Port forwarding can fail even when the router rule is correct. Use native dual stack, a public IPv4 address, a suitable tunnel or an external server.

Self-hosting or renting a server

OptionAdvantagesDrawbacks
Home serverfull control and no additional rental chargeelectricity, router configuration and home-network dependency
VPS or root serveralways online, public IP and full accessyou manage security, updates and the operating system
Managed game serverfast deployment and no port forwardingmonthly cost and less system access

To start without managing SteamCMD and firewall rules yourself, you can rent a 7 Days to Die server.

See Create a Valheim server and Create a Project Zomboid server for related survival-server guides.

Install the 7 Days to Die dedicated server

The dedicated-server SteamCMD App ID is 294420. The game client uses App ID 251570; do not use it for the server installation. The dedicated server can be downloaded anonymously.

On Windows

  1. Create C:\steamcmd and C:\7dtd-server, for example.
  2. Download Valve's SteamCMD package and extract it to C:\steamcmd.
  3. Open PowerShell and run:
C:\steamcmd\steamcmd.exe +force_install_dir C:\7dtd-server +login anonymous +app_update 294420 validate +quit

+force_install_dir selects the installation directory. +login anonymous does not require a Steam account. validate checks existing files and replaces missing or damaged data.

The installation directory now contains startdedicated.bat and serverconfig.xml.

Create working copies:

Copy-Item C:\7dtd-server\serverconfig.xml C:\7dtd-server\myserver.xml
Copy-Item C:\7dtd-server\startdedicated.bat C:\7dtd-server\start-dsh.bat

Open start-dsh.bat and change its existing configuration argument to:

-configfile=myserver.xml

Start the server with start-dsh.bat. The first launch can take considerably longer when generating a new random world.

Tip
Keep the original serverconfig.xml as a reference. Updates may add or change properties that should be reviewed before being copied into your custom configuration.

On Linux

This Debian or Ubuntu example uses a dedicated account:

sudo adduser --disabled-password --gecos "" sdtd
sudo mkdir -p /opt/7dtd-server
sudo chown -R sdtd:sdtd /opt/7dtd-server
sudo apt update
sudo apt install steamcmd lib32gcc-s1

SteamCMD package names and paths vary by distribution and may require an additional repository.

Install the server:

sudo -u sdtd steamcmd \
  +force_install_dir /opt/7dtd-server \
  +login anonymous \
  +app_update 294420 validate \
  +quit

Copy the configuration and startup script:

sudo -u sdtd cp /opt/7dtd-server/serverconfig.xml /opt/7dtd-server/myserver.xml
sudo -u sdtd cp /opt/7dtd-server/startserver.sh /opt/7dtd-server/start-dsh.sh
sudo chmod +x /opt/7dtd-server/start-dsh.sh

Change the existing configuration argument inside the copied script to:

-configfile=/opt/7dtd-server/myserver.xml

Test the server:

sudo -u sdtd /opt/7dtd-server/start-dsh.sh

Start automatically with systemd

Create /etc/systemd/system/7dtd.service:

[Unit]
Description=7 Days to Die Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=sdtd
Group=sdtd
WorkingDirectory=/opt/7dtd-server
ExecStart=/opt/7dtd-server/start-dsh.sh
Restart=on-failure
RestartSec=15
TimeoutStopSec=180

[Install]
WantedBy=multi-user.target

Enable the service:

sudo systemctl daemon-reload
sudo systemctl enable --now 7dtd
sudo systemctl status 7dtd

Follow its output with:

journalctl -u 7dtd -f
Important
For planned maintenance, run saveworld followed by shutdown through the server console whenever possible. A hard termination can damage the latest save or region files.

For another Linux-friendly survival setup, see Create a Rust server.

Configure the server: serverconfig.xml

serverconfig.xml is located in the installation directory. Work with a copy such as myserver.xml so SteamCMD updates can deliver a fresh reference file without mixing it with your own settings.

Changes take effect only after a complete server restart.

Important current properties

PropertyPurposeExample
ServerNamename shown in the browserDSH Survivors
ServerPasswordjoin passwordstrong unique password
ServerPortprimary port26900
ServerMaxPlayerCountmaximum players8 or 16
ServerVisibilityserver-browser visibility2 for public
GameWorldexisting world or generatorNavezgane or RWG
WorldGenSeedrandom-world seedunique text value
WorldGenSizerandom-world sizevalue supported by the current build
GameNamesave-game nameDSH-Survival
GameModegame modeGameModeSurvival
SandboxCodecompressed gameplay settings since V3code from the current client
EACEnabledenables Easy Anti-Cheattrue for vanilla
ServerAdminFileNameadmin-file name or pathcommonly serveradmin.xml
SaveGameFolderoptional custom save pathabsolute path when used
Important
Since Version 3.0, many individual gameplay properties have been replaced by SandboxCode. Legacy settings such as GameDifficulty, DayNightLength, DayLightLength, XPMultiplier, LootAbundance and several Blood Moon properties may be ignored by current builds.

Safe XML example

This is only a central-property excerpt, not a replacement for the complete file shipped with the server. Edit a copy of the current serverconfig.xml and retain unknown current properties.

<?xml version="1.0"?>
<ServerSettings>
  <property name="ServerName" value="DSH Survivors" />
  <property name="ServerPassword" value="REPLACE_WITH_STRONG_PASSWORD" />
  <property name="ServerPort" value="26900" />
  <property name="ServerMaxPlayerCount" value="8" />
  <property name="ServerVisibility" value="2" />
  <property name="GameWorld" value="Navezgane" />
  <property name="WorldGenSeed" value="DSH-World-2026" />
  <property name="WorldGenSize" value="6144" />
  <property name="GameName" value="DSH-Survival" />
  <property name="GameMode" value="GameModeSurvival" />
  <property name="SandboxCode" value="PASTE_CODE_FROM_CURRENT_CLIENT" />
  <property name="EACEnabled" value="true" />
</ServerSettings>
Caution
XML is sensitive to malformed quotes, missing closing characters and duplicate properties. Check the console and current log file after every edit.

Visibility and passwords

ServerVisibility determines how the server appears in the browser. Use the accepted values and comments from the serverconfig.xml shipped with your exact build, because platform and crossplay properties may change.

Use a long unique ServerPassword. Never reuse the normal player password for administration or Telnet access.

Configure the world and SandboxCode

World typeAdvantageConsideration
Navezganeimmediately available and reproduciblefixed map layout
Pregenerated worldno lengthy generation stepworld name must match the installed map exactly
RWGunique map from a seed and sizefirst generation consumes significant CPU, memory and time

For an RWG world, set GameWorld to the value specified for Random World Generation in the current reference file, then configure WorldGenSeed and WorldGenSize. Do not change the seed or size after starting an established world.

Caution
A changed GameName, world name, seed or save path can make the server create a new world. Do not delete the apparent old save until you have verified the path currently loaded by the server.

Generate a SandboxCode

Version 3.0 and later store many gameplay rules in a compact SandboxCode.

  1. Start a client on the same version as the dedicated server.
  2. Open the new-game setup screen.
  3. Configure the sandbox options.
  4. Use the copy-code function.
  5. Paste the complete value into SandboxCode in myserver.xml.
  6. Restart the dedicated server.
Important
Version 3.1 expanded and split several sandbox options. An older V3.0 code can apply different values or partially fall back to defaults. Generate a new code with the exact client version used by the server.

Ports and firewall

A current 7 Days to Die dedicated server requires the primary TCP port and a range of UDP ports.

PortProtocolPurposeRequired
26900TCPprimary connection and server communicationyes
26900 to 26903UDPgame traffic, query and additional channelsyes
8080TCPoptional web dashboardonly when enabled
8081TCPoptional Telnet serviceonly when enabled
8082TCPadditional web or API function depending on buildonly when enabled
Caution
Do not expose Telnet or web-administration ports to the whole internet without protection. Use strong credentials and restrict access through a firewall, VPN or trusted source addresses.

Windows Firewall

Run PowerShell as Administrator:

New-NetFirewallRule -DisplayName "7DTD TCP 26900" -Direction Inbound -Protocol TCP -LocalPort 26900 -Action Allow
New-NetFirewallRule -DisplayName "7DTD UDP 26900-26903" -Direction Inbound -Protocol UDP -LocalPort 26900-26903 -Action Allow

UFW on Linux

sudo ufw allow 26900/tcp
sudo ufw allow 26900:26903/udp
sudo ufw status

Forward ports on a home router

Forward the same protocols to the server computer's local IP address. Reserve that address through DHCP so the target does not change after a reboot.

Port tests are meaningful only while the server is running. Test TCP and UDP separately, and remember that many browser-based checkers support TCP only.

Connect to the server

  1. Start 7 Days to Die.
  2. Open Join a Game.
  3. Search for the configured ServerName.
  4. Alternatively, choose the direct IP connection.
  5. Enter SERVER-IP and port 26900.
  6. Provide the ServerPassword when prompted.

Inside the same home network, use the server's local IP address. Some routers do not support NAT loopback and cannot route their own public address back into the LAN.

If the server is not publicly listed, also review ServerVisibility, game version, selected branch, EAC and crossplay settings, and all required UDP ports.

Administration

Administrator permissions are managed through serveradmin.xml and the server console. The file is normally located in the active user-data directory, which may be affected by ServerAdminFileName, UserDataFolder or other path settings.

Permission level 0 is the highest administrator level. Larger numbers grant fewer permissions.

Useful console commands

CommandPurpose
helpshow available commands and syntax
lpilist connected players and platform IDs
admin add ID 0grant full administrator rights to an identified player
admin remove IDremove administrator rights
say Messagebroadcast a message
saveworldsave the current world state
shutdownstop the server cleanly

Use the exact platform ID reported by lpi or the server logs. With crossplay, not every player is identified solely by a SteamID64.

Tip
Run help admin first. The accepted ID format and exact syntax may change between builds.

Telnet and web dashboards can simplify remote administration but increase the attack surface. Leave optional services disabled when they are not required.

Install mods

7 Days to Die server mods are installed manually in a Mods directory. There is no general Steam Workshop workflow for dedicated-server mods.

  1. Stop the server.
  2. Create Mods in the server directory if it does not exist.
  3. Extract every mod into its own subdirectory.
  4. Confirm that ModInfo.xml is located where the mod author expects it.
  5. Read the supported-version and client requirements.
  6. Start the server and inspect the logs for loading errors.

Example layout:

C:\7dtd-server\Mods\ExampleMod\ModInfo.xml

or on Linux:

/opt/7dtd-server/Mods/ExampleMod/ModInfo.xml

Server-side mods and overhauls

Mod typeClient installationEAC
XML-only server modoften not requiredmay remain enabled depending on the mod
Mod containing custom assets or codeusually required on server and clientsoften disabled
Full overhaulmatching version required on server and clientsusually EACEnabled=false
Important
Follow the individual mod author's instructions. Not every mod requires a client installation, but full overhauls generally do. Many older overhauls do not yet support current V3 builds and may require a specifically supported older Steam branch.

Set EACEnabled to false only when the mod requires it. EAC, crossplay and mods interact, so test the intended combination before opening the server publicly.

Create backups

The active worlds and saves are stored under the configured user-data or save directory. Common defaults are:

SystemTypical data directory
Windows%APPDATA%\7DaysToDie\
Linux~/.local/share/7DaysToDie/ for the service account

UserDataFolder, SaveGameFolder, container mounts or hosting-panel settings can override these locations. Treat the current startup command, XML file and server logs as the source of truth.

Safe backup process

  1. Announce the maintenance window.
  2. Run saveworld.
  3. Stop the server with shutdown.
  4. Back up the world, save, serverconfig.xml, serveradmin.xml and Mods directory.
  5. Keep at least one copy outside the active server disk.

Linux example using the default path for account sdtd:

sudo systemctl stop 7dtd
sudo tar -czf /opt/backups/7dtd-$(date +%F-%H%M).tar.gz \
  /home/sdtd/.local/share/7DaysToDie \
  /opt/7dtd-server/myserver.xml \
  /opt/7dtd-server/Mods
sudo systemctl start 7dtd

Adjust the path to match the actual configuration.

Caution
Do not delete apparently damaged region files without a complete backup. Removing a region file resets the affected part of the map.

Updates and branches

Stop the server and create a backup first.

Update the stable default branch

On Windows:

C:\steamcmd\steamcmd.exe +force_install_dir C:\7dtd-server +login anonymous +app_update 294420 validate +quit

On Linux:

sudo systemctl stop 7dtd
sudo -u sdtd steamcmd \
  +force_install_dir /opt/7dtd-server \
  +login anonymous \
  +app_update 294420 validate \
  +quit
sudo systemctl start 7dtd

The default branch is intended for normal production use. It delivered Version 3.1.0 at the time of review.

Use the experimental branch

Opt into experimental builds only deliberately:

steamcmd +force_install_dir /opt/7dtd-server +login anonymous +app_update 294420 -beta latest_experimental validate +quit
Caution
Experimental builds can change saves, mods, SandboxCodes and server properties. Never use them without a separate backup, and tell all players that their clients must select the same branch.

Clients and the server must run the same game version and a compatible branch. After an update, compare your custom file against the newly shipped serverconfig.xml for added properties.

Troubleshooting

ProblemLikely causeFix
Server is not listedports, visibility or version mismatchcheck 26900/TCP, 26900–26903/UDP, ServerVisibility and branch
Direct connection failsprimary port blocked or wrong addresscheck firewall, router, public IP and port 26900
Client reports version mismatchserver and client use different buildsput both on the same stable or experimental branch
Gameplay rules do not changelegacy properties used instead of SandboxCodegenerate a current code and restart the server
Rules differ after V3.1old V3.0 SandboxCodecopy a new code from V3.1 settings
Server starts a new worldchanged GameName, world, seed or pathinspect XML and logs; restore the original save path
Mods do not loadwrong directory structure or incompatible buildverify ModInfo.xml, mod version and server logs
Player is disconnected by EACmod requires EAC off or client files differfollow the mod instructions and align settings
Server consumes excessive memorylarge world, mods, long uptime or hordeschedule restarts, reduce world or mod load, or add RAM
Administrator rights failwrong platform ID or permission levelcheck lpi, help admin and serveradmin.xml
Public IP works externally onlyno NAT loopbackuse the local IP inside the LAN
No connection despite forwardingDS-Lite or carrier-grade NATobtain public IPv4, use a tunnel or host externally
World errors after a crashincomplete write or damaged regionstop the server and restore a known-good backup

Frequently asked questions

How much RAM does a 7 Days to Die server need?

A small 7 Days to Die server should have 6 to 8 GB of free memory. Plan 8 to 12 GB for 5 to 8 players, RWG worlds or mods, and often 16 GB or more for larger or heavily modified servers.

Which ports does a 7 Days to Die server need?

A current 7 Days to Die dedicated server requires 26900/TCP and 26900–26903/UDP by default. Ports 8080, 8081 and 8082 are needed only when their optional web or Telnet features are enabled.

Where can I find serverconfig.xml?

serverconfig.xml is stored in the dedicated server installation directory. Create a copy such as myserver.xml, edit it while the server is stopped and select it with the -configfile startup argument.

How do I install mods on a 7 Days to Die server?

Install mods manually in the server directory's Mods folder. For every mod, verify whether clients need the same files, which game version is supported and whether EACEnabled=false is required.

How many players does a 7 Days to Die server support?

The technical limit depends on the current server build, but 8 to 16 players is a practical range for most communities. Higher values require substantially more CPU performance, memory and careful world and zombie settings.

How do I become an administrator on my server?

Use lpi or the logs to identify your platform ID, then grant permission level 0 through the console or add the correct entry to serveradmin.xml. Check the current command format with help admin first.

Planned cluster guides cover serverconfig.xml and SandboxCode, mods and overhauls, Random World Generation, administrator commands, backups and performance optimisation.

Summary

Install a 7 Days to Die server with SteamCMD and App ID 294420. Windows uses startdedicated.bat, while Linux uses startserver.sh. Core server properties remain in serverconfig.xml, but Version 3.0 replaced many individual gameplay properties with SandboxCode.

Allow 26900/TCP and 26900–26903/UDP, keep clients and the server on the same branch, and back up the active save directories before every update. To avoid installation, port forwarding and maintenance, you can instead rent a 7 Days to Die server.