7 Days to Die
Install and configure a 7 Days to Die dedicated server on Linux
Platform Support
| 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.
Hardware Requirements
- 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 unzipStep 2: Create Game User Account
sudo useradd -m -s /bin/bash 7dtdserver
sudo passwd 7dtdserver
sudo usermod -aG sudo 7dtdserverSwitch to the new user:
su - 7dtdserverStep 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 +quitStep 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 +quitInstallation 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-serverFirst run to generate default config:
./7DaysToDieServer.sh -dedicatedWait 30 seconds, then press Ctrl+C to stop. This generates config files in 7dtd-server/Config/.
Edit serverconfig.xml
nano Config/serverconfig.xmlKey configuration options:
<?xml version="1.0" encoding="UTF-8"?>
<ServerSettings>
<!-- Server name and description -->
<property name="ServerName" value="My 7 Days Server"/>
<property name="ServerDescription" value="Friendly PvE server"/>
<property name="ServerPassword" value="changeMe123"/>
<property name="ServerIsPublic" value="true"/>
<property name="GameWorld" value="Navezgane"/>
<property name="GameName" value="My Game"/>
<property name="GameMode" value="GameModeSurvival"/>
<!-- Player settings -->
<property name="ServerMaxPlayerCount" value="8"/>
<property name="ServerMaxLandClaimSize" value="41"/>
<property name="ServerLandClaimExpiryTime" value="3"/>
<property name="ServerLandClaimOfflineDelay" value="0"/>
<property name="ServerLandClaimOfflineDurability" value="4"/>
<property name="ServerLandClaimOnlineDurability" value="4"/>
<property name="ServerLandClaimOfflineExpireTime" value="3"/>
<!-- Game difficulty -->
<property name="GameDifficulty" value="2"/>
<property name="ZombieFeralWight" value="0"/>
<property name="ZombieFeralWightChance" value="0"/>
<property name="ZombieBloatFastMovement" value="0"/>
<property name="ZombieBloatFastMovementChance" value="0"/>
<property name="ZombieRadiationFastMovement" value="0"/>
<property name="ZombieRadiationFastMovementChance" value="0"/>
<!-- Progression -->
<property name="XpMultiplier" value="100"/>
<property name="LootAbundance" value="100"/>
<property name="LootRespawnDays" value="30"/>
<property name="AirDropFrequency" value="72"/>
<property name="AirDropMarker" value="true"/>
<property name="PartySharedKillRange" value="100"/>
<property name="PlayerKillingMode" value="3"/>
<!-- World seed (for procedural generation) -->
<property name="WorldGenSeed" value="navezgane"/>
<!-- Blood moons -->
<property name="BloodMoonFrequency" value="7"/>
<property name="BloodMoonRange" value="0"/>
<property name="BloodMoonWarning" value="8"/>
<property name="BloodMoonBorder" value="2"/>
<!-- Network and performance -->
<property name="EACEnabled" value="false"/>
<property name="UseGLES" value="false"/>
<property name="StreamingBudget" value="4"/>
<!-- Admin -->
<property name="AdminFileName" value="serveradmin.xml"/>
<property name="ControlPanelEnabled" value="false"/>
<property name="TelnetEnable" value="false"/>
<property name="SaveGameFolder" value=""/>
</ServerSettings>Important settings explained:
ServerPassword: Leave empty for public, set password for privateServerMaxPlayerCount: 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=HardestXpMultiplier: 100 = normal, 200 = double XPLootAbundance: Item spawn frequencyEACEnabled: Set tofalsefor Linux serversAdminFileName: Points to admin user list
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>
EOFReplace the userid with your Steam64 ID. Find it at steamid.io.
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
EOFEnable and start:
sudo systemctl daemon-reload
sudo systemctl enable 7dtd
sudo systemctl start 7dtdCheck status:
sudo systemctl status 7dtd
sudo journalctl -u 7dtd -f # Follow logsStep 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 ACCEPTStep 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 saveServer Status and Logs
Monitor in real-time:
sudo journalctl -u 7dtd -fCheck for errors:
sudo journalctl -u 7dtd -n 50Step 9: Install Mods
Mods Folder Setup
mkdir -p ~/7dtd-server/ModsManual Mod Installation
Download mods (typically .zip files) and extract to the Mods folder:
cd ~/7dtd-server/Mods
unzip /path/to/mod-file.zipVerify structure (should have modinfo.xml at root):
ls -la Mods/YourModName/
# Should contain: modinfo.xml, resources/, etc.Popular Mods
- DelitPlus - Quality of life improvements
- XUi - Enhanced UI
- Undead Legacy - Major gameplay overhaul
- War3zuk's Decor - Additional building blocks
Mod Compatibility
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.
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.shSchedule daily backups:
sudo crontab -e
# Add: 0 2 * * * /home/7dtdserver/backup-7dtd.shRotate 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 5Tuning Tips
- 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
RAM Scaling
Start with 4GB RAM for 4-6 players. Add ~1GB per 2 additional players. With mods, add 1-2GB buffer.
Troubleshooting
Server Won't Start
sudo journalctl -u 7dtd -n 100 | grep -i errorCheck for conflicting processes:
sudo lsof -i :26900High Memory Usage
Monitor with htop. If exceeds allocation:
- Reduce
MaxPlayerCount - Disable or update mods
- Reduce
StreamingBudget
Players Can't Connect
Verify firewall:
sudo ufw status
sudo netstat -tuln | grep 26900Ensure 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 versionWindows 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 +quitStep 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
pauseStep 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 7DTDServerMonitor service:
nssm status 7DTDServer
Get-EventLog Application -Source 7DTDServer -Newest 10Tips & 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