7 Days to Die
| Platform | Support | Notes |
|---|---|---|
| Linux | ✅ Native | Full support |
| Windows | ✅ Native | Full support |
7 Days to Die
7 Days to Die is a survival zombie game with cooperative and PvP gameplay. This guide covers setting up a dedicated server on Linux with full configuration, mods, and admin control.
- RAM: 4GB minimum, 6GB+ recommended
- vCPU: 2+ cores
- Disk Space: 20GB+ (game files ~2GB, world saves scale with player count)
- Network: Stable connection, ~5 Mbps for 8-16 players
RAM requirements scale with player count (roughly 500MB-1GB per additional player) and active mods.
Prerequisites
- Dedicated server or VPS with Linux (Ubuntu 20.04+ or similar)
- SSH access
- Steam account (free)
- Basic Linux command-line experience
Step 1: Install System Dependencies
sudo apt update
sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl wget unzip
Step 2: Create Game User Account
sudo useradd -m -s /bin/bash 7dtdserver
sudo passwd 7dtdserver
sudo usermod -aG sudo 7dtdserver
Switch to the new user:
su - 7dtdserver
Step 3: Install SteamCMD
mkdir -p ~/steamcmd
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
./steamcmd.sh +quit
Step 4: Install 7 Days to Die Server
Use SteamCMD to download the server files (AppID 294420):
cd ~/steamcmd
./steamcmd.sh +force_install_dir ~/7dtd-server +login anonymous \
+app_update 294420 validate +quit
Installation takes 5-15 minutes depending on disk speed.
Verify installation:
ls -la ~/7dtd-server/
You should see files like 7DaysToDieServer.sh, 7DaysToDieServer_x64, etc.
Step 5: Configure Server
Navigate to the configuration directory:
cd ~/7dtd-server
First run to generate default config:
./7DaysToDieServer.sh -dedicated
Wait 30 seconds, then press Ctrl+C to stop. This generates config files in 7dtd-server/Config/.
Edit serverconfig.xml
nano Config/serverconfig.xml
Key configuration options:
<?xml version="1.0" encoding="UTF-8"?>
Important settings explained:
Create serveradmin.xml
cat > Config/serveradmin.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<adminTools>
<admin userid="76561198999999999" name="YourSteamName" permission_level="0"/>
</adminTools>
EOF
Replace the userid with your Steam64 ID. Find it at steamid.io.
- ServerPassword: Leave empty for public, set password for private
- ServerMaxPlayerCount: Number of slots (8 default, up to 16 tested)
- GameWorld: "Navezgane" (default map) or "RWG" (procedurally generated)
- WorldGenSeed: For RWG, controls world generation (use any string)
- GameDifficulty: 0=Easiest to 5=Hardest
- XpMultiplier: 100 = normal, 200 = double XP
- LootAbundance: Item spawn frequency
- EACEnabled: Set to false for Linux servers
- AdminFileName: Points to admin user list
Step 6: Create Systemd Service
Exit back to root user and create the service:
exit # Exit 7dtdserver user
sudo tee /etc/systemd/system/7dtd.service > /dev/null << 'EOF'
[Unit]
Description=7 Days to Die Dedicated Server
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=7dtdserver
WorkingDirectory=/home/7dtdserver/7dtd-server
ExecStart=/home/7dtdserver/7dtd-server/7DaysToDieServer.sh -dedicated
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
# Limits
MemoryLimit=8G
CPUQuota=200%
[Install]
WantedBy=multi-user.target
EOF
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable 7dtd
sudo systemctl start 7dtd
Check status:
sudo systemctl status 7dtd
sudo journalctl -u 7dtd -f # Follow logs
Step 7: Configure Firewall
7 Days to Die uses TCP and UDP on port 26900, plus additional UDP ports for connections:
sudo ufw allow 26900/tcp comment "7DTD TCP"
sudo ufw allow 26900/udp comment "7DTD UDP Game"
sudo ufw allow 26901/udp comment "7DTD UDP Secondary"
sudo ufw allow 26902/udp comment "7DTD UDP Tertiary"
sudo ufw allow 26903/udp comment "7DTD UDP Quaternary"
Or with iptables:
sudo iptables -A INPUT -p tcp --dport 26900 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 26900:26903 -j ACCEPT
Step 8: Server Management
In-Game Admin Commands
Connect as an admin (configured in serveradmin.xml) and use console commands (press /):
/help # List available commands
/players # List connected players
/kick [player_id] # Kick player by ID
/ban [player_id] # Ban player
/unban [steam_id] # Unban by Steam ID
/mute [player_id] # Mute player chat
/unmute [player_id] # Unmute player
/kill [player_id] # Kill player
/teleport [player_id] [x] [y] [z] # Teleport player
/weather clear # Clear weather
/weather rain # Set rain
/say "Message" # Server broadcast
/shutdown [minutes] "Message" # Schedule shutdown
/savegame # Force save
Server Status and Logs
Monitor in real-time:
sudo journalctl -u 7dtd -f
Check for errors:
sudo journalctl -u 7dtd -n 50
Step 9: Install Mods
Mods Folder Setup
mkdir -p ~/7dtd-server/Mods
Manual Mod Installation
Download mods (typically .zip files) and extract to the Mods folder:
cd ~/7dtd-server/Mods
unzip /path/to/mod-file.zip
Verify structure (should have modinfo.xml at root):
ls -la Mods/YourModName/
# Should contain: modinfo.xml, resources/, etc.
Popular Mods
Always verify mod compatibility with your server version. Mod mismatches between server and clients cause disconnections. Test with one client first before large deployments.
Disable mods by moving them outside the Mods/ directory.
Enable Mods on Clients
Clients must have the same mods installed locally. Distribute mod list and versions to players or use a mod manager like Vortex.
- DelitPlus - Quality of life improvements
- XUi - Enhanced UI
- Undead Legacy - Major gameplay overhaul
- War3zuk's Decor - Additional building blocks
Step 10: Backup and World Management
Backup World
cat > ~/backup-7dtd.sh << 'EOF'
#!/bin/bash
BACKUP_DIR=/home/7dtdserver/backups
WORLD_DIR=/home/7dtdserver/7dtd-server/Data/Worlds
mkdir -p $BACKUP_DIR
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
# Create backup
tar -czf $BACKUP_DIR/7dtd-world-$TIMESTAMP.tar.gz $WORLD_DIR/
# Keep last 10 backups
find $BACKUP_DIR -name "7dtd-world-*.tar.gz" -mtime +30 -delete
echo "Backup completed: 7dtd-world-$TIMESTAMP.tar.gz"
EOF
chmod +x ~/backup-7dtd.sh
Schedule daily backups:
sudo crontab -e
# Add: 0 2 * * * /home/7dtdserver/backup-7dtd.sh
Rotate Worlds
To switch worlds or reset:
cd ~/7dtd-server/Data/Worlds
mv MyGame MyGame-backup-$(date +%Y%m%d)
Change GameName in serverconfig.xml to load a different world.
Step 11: Performance Optimization
Monitor Resource Usage
watch -n 2 'ps aux | grep 7Day'
free -h
iostat -x 1 5
Tuning Tips
Start with 4GB RAM for 4-6 players. Add ~1GB per 2 additional players. With mods, add 1-2GB buffer.
- Reduce LootRespawnDays to decrease memory usage
- Lower StreamingBudget (1-4) on constrained hardware
- Disable blood moons (BloodMoonFrequency: 0) for lighter CPU load
- Cap MaxPlayerCount at 8-12 for stable performance on 4GB RAM
Troubleshooting
Server Won't Start
sudo journalctl -u 7dtd -n 100 | grep -i error
Check for conflicting processes:
sudo lsof -i :26900
High Memory Usage
Monitor with htop. If exceeds allocation:
Players Can't Connect
Verify firewall:
sudo ufw status
sudo netstat -tuln | grep 26900
Ensure serverconfig.xml has no syntax errors (XML validation).
Client/Server Version Mismatch
Ensure all clients and server run the same game version. Check server logs for version info:
sudo journalctl -u 7dtd | grep -i version
- Reduce MaxPlayerCount
- Disable or update mods
- Reduce StreamingBudget
Windows Server Setup
Step 1: Download Server on Windows
Download the 7 Days to Die Dedicated Server from Steam:
# Using SteamCMD on Windows
steamcmd +force_install_dir "C:\7DTD-Server" +login anonymous +app_update 294420 validate +quit
Step 2: Configure serverconfig.xml on Windows
Edit C:\7DTD-Server\Config\serverconfig.xml with the same settings as Linux (see Step 5 above).
Step 3: Create Admin List
Edit C:\7DTD-Server\Config\serveradmin.xml:
<?xml version="1.0" encoding="UTF-8"?>
<adminTools>
<admin userid="76561198999999999" name="YourSteamName" permission_level="0"/>
</adminTools>
Step 4: Run Server via Batch Script
Create start-server.bat:
@echo off
cd /d C:\7DTD-Server
7DaysToDieServer.exe -dedicated
pause
Step 5: Create Windows Service (Optional)
Use NSSM (Non-Sucking Service Manager) to run the server as a service:
# Install NSSM (download from https://nssm.cc/download)
nssm install 7DTDServer "C:\7DTD-Server\7DaysToDieServer.exe" "-dedicated"
nssm start 7DTDServer
Monitor service:
nssm status 7DTDServer
Get-EventLog Application -Source 7DTDServer -Newest 10
Tips & Tweaks
serverconfig.xml Performance Tuning
| Parameter | Value | Impact |
|---|---|---|
StreamingBudget | 1-4 | Lower = less CPU usage, fewer chunks loaded |
EntityRemovalRange | 32-64 | Unload distant entities to save RAM |
AirDropFrequency | 48-72 | Reduce frequency for less CPU overhead |
ZombiePopulation | 0.8-1.0 | Adjust zombie count vs server load |
MaxItemOnGround | 500-1000 | Limit dropped items in memory |
Admin Console Commands
| Command | Purpose |
|---|---|
/say "Message" | Broadcast to all players |
/players | List connected players |
/kick [player_id] | Remove player session |
/ban [steam_id] | Permanent ban |
/weather [type] | Change weather (clear, rain, foggy) |
/time [hour] | Set server time |
/shutdown [minutes] | Graceful shutdown with warning |
Map Generation with Custom Seeds
For procedurally generated worlds (RWG), use custom seeds:
<property name="GameWorld" value="RWG"/>
<property name="WorldGenSeed" value="MyCustomMapSeed123"/>
<property name="WorldGenSize" value="4096"/> <!-- 2048, 4096, 8192 -->
RAM Usage vs Map Size
- Navezgane map: 2-4 GB for 8-16 players
- RWG 2048x2048: 3-5 GB for 8-16 players
- RWG 4096x4096: 4-8 GB for 8-16 players
- Add 1 GB per 8 additional players
Next Steps
- Set up automated Discord notifications for events (webhooks)
- Configure backup rotation and off-site storage
- Install quality-of-life mods for better gameplay
- Plan regular maintenance windows and restarts
- Monitor player activity and adjust difficulty accordingly
Related articles
CS2
How to install and configure a Counter-Strike 2 dedicated server on Linux VPS with SteamCMD
Palworld
Create a dedicated Palworld server on Linux with SteamCMD. Configuration, ports and automatic startup.
Rust
Install and manage a Rust server (Facepunch) on Linux with SteamCMD. Includes automatic updates, Oxide plugins and optimizations.
