How to Set Up a 7 Days to Die Dedicated Server on Linux

Complete step-by-step guide to running a 7 Days to Die dedicated server on Ubuntu/Debian Linux using SteamCMD. Performance tips and configuration included.

This guide walks you through every step of running a 7 Days to Die dedicated server on Linux โ€” from a fresh Ubuntu or Debian VPS to a fully configured, player-ready server. You do not need to own the game to host a server. No prior Linux experience required beyond basic command-line familiarity.

What You'll Learn

Why Run Your 7 Days to Die Server on Linux?

Linux is widely regarded as the best operating system for running a 7 Days to Die dedicated server. Compared to Windows, a Linux server runs leaner, leaving more CPU and RAM headroom for the game itself. Here is what makes Linux the smart choice for your 7DTD server:

  • 10โ€“15% better performance on the same hardware, thanks to lower system overhead and no GUI running in the background.
  • More stable for long sessions โ€” Linux handles memory and process management more efficiently, which matters on horde nights.
  • Better automation โ€” cron jobs, shell scripts, and tools like screen or tmux make scheduled restarts and live backups straightforward.
  • Free and open source โ€” no licensing cost, full root access, and a massive support community.
  • Reliable file system โ€” unlike Windows (NTFS), Linux filesystems allow safe live backups of server saves without corruption risk.
Leo Servers tip: If you want to skip the setup entirely, Leo Servers offers managed gaming server hosting on optimized Linux infrastructure โ€” deployed in minutes with a control panel.

Prerequisites & System Requirements

Before you start, make sure your server meets these requirements. Undersized hardware is the most common reason a 7 Days to Die Linux server performs poorly.

OS
Ubuntu 22.04 LTS
or Debian 12
CPU
2 cores, 2.4 GHz+
(3 GHz+ for 8+ players)
RAM
8 GB minimum
(12โ€“16 GB for 16 players)
Disk
12 GB minimum
(SSD or NVMe strongly recommended)
Network
Root or sudo SSH access
Static or stable IP
Ports
26900 TCP
26900โ€“26902 UDP
Note: An SSD or NVMe drive is highly recommended. 7 Days to Die constantly reads and writes world data โ€” especially during horde nights. SSD storage significantly reduces lag spikes and world-load stalls.

Step 1 โ€” Update Your Linux System

1

Connect to your server via SSH and update all system packages before installing anything.

BASH
# Update package lists and upgrade installed packages
sudo apt update && sudo apt upgrade -y

Step 2 โ€” Create a Dedicated Server User

2

Never run a game server as root. Create a separate 7days user to isolate server processes and improve security.

BASH
# Create a new user account named "7days"
sudo useradd --comment "7 Days to Die Server" -m 7days

# Set the shell to bash
sudo chsh -s /bin/bash 7days

# Set a password for the account
sudo passwd 7days

# Switch to the new user
sudo su - 7days

Step 3 โ€” Install SteamCMD

3

SteamCMD is Valve's command-line Steam client. It is used to download and update the 7 Days to Die dedicated server files without a GUI.

Run these commands as a user with sudo access (not the 7days user):

BASH
# Enable multiverse repository (Ubuntu)
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update

# Install required 32-bit libraries and SteamCMD
sudo apt install -y lib32gcc-s1 steamcmd
Permission error fix: If SteamCMD shows "Missing file permissions" when updating, make sure you are running it as the 7days user and that the install directory is owned by that user โ€” not root.

Step 4 โ€” Download the 7 Days to Die Server Files

4

Switch to the 7days user and use SteamCMD to download the dedicated server. The Steam App ID for 7 Days to Die is 294420.

You do not need a Steam account โ€” the 7DTD dedicated server can be downloaded anonymously:

BASH
# Switch to the 7days user
sudo su - 7days

# Create installation directory
mkdir -p ~/7daysded

# Launch SteamCMD and download the server
steamcmd \
  +force_install_dir ~/7daysded \
  +login anonymous \
  +app_update 294420 validate \
  +quit

This downloads approximately 6โ€“10 GB of files. The validate flag verifies file integrity after download โ€” include it for initial installs. When you see "Success! App '294420' fully installed." the download is complete.

Keeping your server updated: Run the same steamcmd command above any time a new 7 Days to Die update is released. SteamCMD will detect and download only the changed files.

Step 5 โ€” Configure Your Server

5

The main configuration file is serverconfig.xml, found in your server installation directory. Edit it with nano or any text editor.

BASH
nano ~/7daysded/serverconfig.xml

Here are the most important settings to configure in serverconfig.xml:

Parameter Example Value Description
ServerName Leo Servers 7DTD The name displayed in the server browser.
ServerDescription Hosted on Leo Servers Short description shown alongside the server name.
ServerPassword yourStrongPass! Leave empty for a public server. Set a password to require an entry key.
ServerMaxPlayerCount 8 Maximum simultaneous players. Unofficial cap is 16; plan RAM accordingly.
ServerVisibility 2 2 = public listing, 1 = friends only, 0 = not listed.
GameWorld Navezgane The map to load. Navezgane is the handcrafted map; RNG World for procedural.
GameName MyApocalypse The save game name. Change this to start a fresh world.
GameDifficulty 2 0=Scavenger (easiest) to 5=Insane (hardest).
ZombieMove 0 Zombie walk speed by day: 0=walk, 4=sprint.
BloodMoonFrequency 7 How often (in game days) blood moon horde nights occur.
ServerPort 26900 The network port the server listens on. Default is 26900.
ControlPanelEnabled false Enables the web-based admin panel. Keep disabled unless needed.

Setting Up Admin Access

To give yourself admin rights on the server, locate and edit the adminlist.xml file in the Saves directory and add your Steam ID:

XML
<adminTools>
  <admins>
    <admin steamID="76561198XXXXXXXXX" permission_level="0" />
  </admins>
</adminTools>

Replace 76561198XXXXXXXXX with your actual 64-bit Steam ID. You can find yours at steamid.io.

Step 6 โ€” Configure the Firewall (UFW)

6

Open the required network ports so players can connect to your 7 Days to Die Linux server.

The required ports for a 7 Days to Die dedicated server are:

PortProtocolPurpose
26900 TCP UDP Main game port โ€” player connections
26901 UDP EAC (Anti-Cheat) / Steam integration
26902 UDP Steam server queries (server browser)
8080 TCP Web control panel (optional, keep disabled if unused)
BASH
# Enable UFW firewall if not already active
sudo ufw enable

# Allow SSH so you don't lock yourself out
sudo ufw allow 22/tcp

# Open 7 Days to Die ports
sudo ufw allow 26900/tcp
sudo ufw allow 26900:26902/udp

# Verify rules are active
sudo ufw status verbose
Home network users: If you are hosting on a home server behind a router, you also need to set up port forwarding on your router โ€” forward the same ports above to your server's local IP address.

Step 7 โ€” Install Screen and Start the Server

7

Use screen or tmux to run your 7 Days to Die server in a persistent background session that stays alive after you disconnect from SSH.

BASH
# Install screen
sudo apt install -y screen

# Switch to the 7days user
sudo su - 7days

# Create a new screen session named "7dtd"
screen -S 7dtd

# Navigate to server directory and launch
cd ~/7daysded
./startserver.sh -configfile=serverconfig.xml

The server will start initializing. The first launch takes longer as it generates the world. You will see output like INF StartGame and eventually INF StartingServer when the server is ready.

Detaching and Reattaching

BASH
# Detach from the screen session (server keeps running)
Ctrl + A, then D

# List active screen sessions
screen -ls

# Reattach to your 7DTD session
screen -r 7dtd

# To stop the server gracefully (inside screen)
shutdown

Step 8 โ€” Connect to Your Server

8

Once the server is running, connecting from the 7 Days to Die game client is straightforward.

  1. Launch 7 Days to Die on your PC.
  2. From the main menu, select Play โ†’ Join Game โ†’ Direct Connect.
  3. Enter your server's public IP address followed by the port: YOUR.SERVER.IP:26900
  4. Enter the server password if you set one in serverconfig.xml.
  5. Click Connect.
Find your server's public IP: Run curl ifconfig.me on the server to print your public IP address.

Step 9 โ€” Auto-Start on Reboot (systemd)

9

Create a systemd service so your 7 Days to Die server automatically starts when the Linux system reboots.

BASH
sudo nano /etc/systemd/system/7dtd.service

Paste the following content into the file:

SYSTEMD
[Unit]
Description=7 Days to Die Dedicated Server
After=network.target

[Service]
Type=simple
User=7days
WorkingDirectory=/home/7days/7daysded
ExecStart=/home/7days/7daysded/startserver.sh -configfile=serverconfig.xml
ExecStop=/bin/kill -SIGTERM $MAINPID
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target
BASH
# Reload systemd and enable the service
sudo systemctl daemon-reload
sudo systemctl enable 7dtd
sudo systemctl start 7dtd

# Check the service status
sudo systemctl status 7dtd

Performance Optimization Tips

Once your 7 Days to Die dedicated server on Linux is running, these tweaks will reduce lag, improve stability, and make horde nights smoother for all players:

  • Use an SSD or NVMe drive โ€” 7DTD constantly reads and writes world chunks. Spinning disk HDDs cause severe I/O stalls during horde nights with multiple players.
  • Set up automated backups โ€” Use a cron job with rsync or tar to back up ~/7daysded/Saves/ hourly. World corruption after crashes is common; backups let you roll back instantly.
  • Monitor server resources โ€” Run htop to watch CPU and RAM usage. If the server consistently hits 90%+ RAM, lower ServerMaxPlayerCount or upgrade your VPS.
  • Reduce BloodMoonEnemyCount โ€” Lowering zombie counts on horde nights is the single biggest lever for reducing CPU spikes. The default is 8; set it to 4โ€“6 on lower-end hardware.
  • Limit chunk generation distance โ€” Reduce ServerMaxAllowedViewDistance (default 12) to 6โ€“8 on lower-RAM servers to cut memory usage significantly.
  • Keep the server updated โ€” Run the SteamCMD app_update 294420 command regularly. Updates often include server-side performance improvements.

Automated Backup Script

Here is a simple backup script you can schedule with cron to protect your 7 Days to Die world saves:

BASH
#!/bin/bash
# 7 Days to Die Server Backup Script
# Save this as /home/7days/backup.sh and chmod +x it

TIMESTAMP=$(date +"%Y%m%d_%H%M")
SAVE_DIR=/home/7days/7daysded/Saves
BACKUP_DIR=/home/7days/backups
MAX_BACKUPS=24  # Keep last 24 backups (24 hours at hourly cron)

mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_DIR/7dtd_save_$TIMESTAMP.tar.gz" -C "$SAVE_DIR" .

# Remove old backups beyond MAX_BACKUPS
ls -t "$BACKUP_DIR"/*.tar.gz | tail -n +$((MAX_BACKUPS + 1)) | xargs rm -f

echo "Backup complete: 7dtd_save_$TIMESTAMP.tar.gz"

Schedule it to run every hour with cron:

BASH
# Edit the crontab for the 7days user
crontab -e

# Add this line to run backup every hour
0 * * * * /home/7days/backup.sh >> /home/7days/backup.log 2>&1

Frequently Asked Questions

Can I run a 7 Days to Die dedicated server on Linux without owning the game?
Yes. The dedicated server files are downloaded via SteamCMD using anonymous login (login anonymous). You do not need a Steam account or a copy of the game to host a server.
What ports does the 7 Days to Die server use?
The default ports are 26900 TCP and 26900โ€“26902 UDP. These must be open in your firewall and forwarded through your router if hosting at home.
Is Linux faster than Windows for a 7 Days to Die server?
Yes. Linux dedicated servers generally perform 10โ€“15% better than Windows on equivalent hardware. The lack of a GUI and lower background overhead means more resources go directly to the game server process.
How do I update my 7 Days to Die dedicated server on Linux?
Stop the server, then run SteamCMD again with the same app_update 294420 validate command. SteamCMD will download only the changed files. After the update completes, start the server again.
How much RAM does a 7 Days to Die dedicated server need?
A minimum of 8 GB RAM is recommended for up to 8 players. For a full 16-player server or heavily modded worlds, plan for 12โ€“16 GB. Insufficient RAM is the most common cause of lag spikes and crashes.
My server is not showing in the browser โ€” what's wrong?
Check three things: (1) ServerVisibility in serverconfig.xml must be set to 2. (2) Ports 26900โ€“26902 UDP must be open in UFW. (3) If behind a home router, those ports must be forwarded. You can verify ports are reachable using canyouseeme.org.

Want Your 7DTD Server Today?

Leo Servers provides high-performance, DDoS-protected gaming dedicated servers on optimized Linux infrastructure. No setup required โ€” just configure and play.

Deploy a Gaming Server →

Discover Leo Servers High-Performance Locations

Leo Servers operates premium bare-metal environments worldwide, offering diverse hosting options. Check out our specialized offerings to choose the setup that best suits your intensive workload needs.