Enhanced game documentation with comprehensive installation and configuration details

Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2025-11-22 21:36:59 +00:00
parent b72c8ea19d
commit 0216af04ed
299 changed files with 20545 additions and 21001 deletions

View file

@ -1,397 +1,413 @@
<?php
/**
* 7 Days to Die Dedicated Server - Comprehensive Hosting Guide
* 7 Days to Die Server Documentation - Comprehensive Guide
* General game server hosting information (not platform-specific)
*/
?>
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
<h3 style="color: #ffffff; margin-top: 0;">📚 Navigation</h3>
<h3 style="color: #ffffff; margin-top: 0;">📚 Quick Navigation</h3>
<div style="display: flex; flex-wrap: wrap; gap: 10px;">
<a href="#overview" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Overview</a>
<a href="#quick-info" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Quick Info</a>
<a href="#ports" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">🔌 Ports</a>
<a href="#installation" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Installation</a>
<a href="#configuration" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">⚙️ Configuration</a>
<a href="#xml-modding" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">XML Modding</a>
<a href="#configuration" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Configuration</a>
<a href="#parameters" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">⚙️ Startup Parameters</a>
<a href="#troubleshooting" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">🔧 Troubleshooting</a>
<a href="#performance" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Performance</a>
<a href="#security" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Security</a>
</div>
</div>
<h1>7 Days to Die Dedicated Server Hosting Guide</h1>
<h1>7 Days to Die Server Hosting Guide</h1>
<h2 id="overview">Overview</h2>
<p><strong>7 Days to Die</strong> is a survival horror game combining first-person shooter, base building, crafting, and role-playing elements in a post-apocalyptic zombie-infested world. Players must survive by scavenging, building bases, and defending against zombie hordes that grow stronger every seven days.</p>
<h2>Overview</h2>
<p>7 Days to Die is a multiplayer game server that can be hosted on a VPS or dedicated server. This comprehensive guide covers everything you need to know about hosting a 7 Days to Die server for your community.</p>
<h2 id="quick-info">Quick Info</h2>
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
<ul style="color: #e5e7eb; line-height: 1.8; margin: 0;">
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">26900</code> (UDP)</li>
<li><strong style="color: #ffffff;">Web Control Panel:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">8080-8090</code> (TCP, configurable)</li>
<li><strong style="color: #ffffff;">Telnet Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">8081</code> (TCP, optional)</li>
<li><strong style="color: #ffffff;">Minimum RAM:</strong> 4GB (Recommended: 12-16GB)</li>
<li><strong style="color: #ffffff;">Recommended CPU:</strong> 4+ cores @ 3.0GHz+</li>
<li><strong style="color: #ffffff;">Storage:</strong> 15GB+ (growing with world size)</li>
<li><strong style="color: #ffffff;">Max Players:</strong> Configurable (8-32 typical)</li>
<li><strong style="color: #ffffff;">SteamCMD App ID:</strong> 294420</li>
<li><strong style="color: #ffffff;">Config Files:</strong> serverconfig.xml</li>
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">Varies (see configuration)</code></li>
<li><strong style="color: #ffffff;">Protocol:</strong> TCP/UDP</li>
<li><strong style="color: #ffffff;">Minimum RAM:</strong> 1GB</li>
<li><strong style="color: #ffffff;">Engine:</strong> Various</li>
<li><strong style="color: #ffffff;">Steam App ID:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">294420</code></li>
<li><strong style="color: #ffffff;">Recommended OS:</strong> Linux (Ubuntu/Debian) or Windows Server</li>
<li><strong style="color: #ffffff;">Configuration Files:</strong><ul style="margin-top: 8px;">
<li><code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">serverconfig.xml</code> - Server Configurations</li>
<li><code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">Saves/serveradmin.xml</code> - Admin Configurations</li>
</ul></li>
</ul>
</div>
<h2 id="ports">🔌 Ports Required</h2>
<table style="width: 100%; border-collapse: collapse; margin: 20px 0; background: #1e3a5f; border-radius: 8px; overflow: hidden;">
<thead>
<tr style="background: #0f172a;">
<th style="padding: 12px; text-align: left; color: #ffffff; border-bottom: 2px solid #3b82f6;">Port</th>
<th style="padding: 12px; text-align: left; color: #ffffff; border-bottom: 2px solid #3b82f6;">Protocol</th>
<th style="padding: 12px; text-align: left; color: #ffffff; border-bottom: 2px solid #3b82f6;">Purpose</th>
<th style="padding: 12px; text-align: left; color: #ffffff; border-bottom: 2px solid #3b82f6;">Required</th>
</tr>
</thead>
<tbody style="color: #e5e7eb;">
<tr style="background: #1e3a5f;">
<td style="padding: 12px; border-bottom: 1px solid #334155;"><code style="background: #0f172a; padding: 4px 8px; border-radius: 3px; color: #a5b4fc;">26900</code></td>
<td style="padding: 12px; border-bottom: 1px solid #334155;"><span style="background: #065f46; padding: 4px 8px; border-radius: 3px; color: #d1fae5;">UDP</span></td>
<td style="padding: 12px; border-bottom: 1px solid #334155;">Primary game port (player connections)</td>
<td style="padding: 12px; border-bottom: 1px solid #334155;"><span style="background: #7c2d12; padding: 4px 8px; border-radius: 3px; color: #fed7aa;"> Yes</span></td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px; border-bottom: 1px solid #334155;"><code style="background: #0f172a; padding: 4px 8px; border-radius: 3px; color: #a5b4fc;">26901-26902</code></td>
<td style="padding: 12px; border-bottom: 1px solid #334155;"><span style="background: #065f46; padding: 4px 8px; border-radius: 3px; color: #d1fae5;">UDP</span></td>
<td style="padding: 12px; border-bottom: 1px solid #334155;">Additional game ports (automatic +1, +2)</td>
<td style="padding: 12px; border-bottom: 1px solid #334155;"><span style="background: #7c2d12; padding: 4px 8px; border-radius: 3px; color: #fed7aa;"> Yes</span></td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px; border-bottom: 1px solid #334155;"><code style="background: #0f172a; padding: 4px 8px; border-radius: 3px; color: #a5b4fc;">8080-8090</code></td>
<td style="padding: 12px; border-bottom: 1px solid #334155;"><span style="background: #1e40af; padding: 4px 8px; border-radius: 3px; color: #dbeafe;">TCP</span></td>
<td style="padding: 12px; border-bottom: 1px solid #334155;">Web control panel (configurable)</td>
<td style="padding: 12px; border-bottom: 1px solid #334155;"><span style="background: #713f12; padding: 4px 8px; border-radius: 3px; color: #fef3c7;">Optional</span></td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;"><code style="background: #0f172a; padding: 4px 8px; border-radius: 3px; color: #a5b4fc;">8081</code></td>
<td style="padding: 12px;"><span style="background: #1e40af; padding: 4px 8px; border-radius: 3px; color: #dbeafe;">TCP</span></td>
<td style="padding: 12px;">Telnet remote console</td>
<td style="padding: 12px;"><span style="background: #713f12; padding: 4px 8px; border-radius: 3px; color: #fef3c7;">Optional</span></td>
</tr>
</tbody>
</table>
<div style="background: #7c2d12; padding: 15px; border-left: 4px solid #ea580c; margin: 20px 0; border-radius: 4px;">
<p style="color: #fed7aa; margin: 0;"><strong>Important:</strong> 7 Days to Die automatically uses three consecutive UDP ports starting from your configured game port. If you set port 26900, the server will also use 26901 and 26902. Always open a range of at least 3 consecutive ports.</p>
</div>
<h3>Firewall Configuration Examples</h3>
<h4>UFW (Ubuntu/Debian)</h4>
<pre><code>sudo ufw allow 26900:26902/udp comment '7DTD game ports'
sudo ufw allow 8080/tcp comment '7DTD web panel'
sudo ufw allow 8081/tcp comment '7DTD telnet'
<h2 id="ports">🔌 Network Ports</h2>
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
<h3 style="color: #ffffff; margin-top: 0;">Required Ports</h3>
<p style="color: #e5e7eb;">The 7 Days to Die server typically uses a configurable port. Check your server configuration files for the specific port settings.</p>
<h3 style="color: #ffffff; margin-top: 20px;">Firewall Configuration</h3>
<p style="color: #e5e7eb;">Allow server ports through your firewall:</p>
<pre><code style="color: #a5b4fc;"># UFW (Ubuntu/Debian)
sudo ufw allow [PORT]/tcp
sudo ufw allow [PORT]/udp
sudo ufw reload
</code></pre>
<h4>FirewallD (CentOS/RHEL/Fedora)</h4>
<pre><code>sudo firewall-cmd --permanent --add-port=26900-26902/udp
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=8081/tcp
# FirewallD (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=[PORT]/tcp
sudo firewall-cmd --permanent --add-port=[PORT]/udp
sudo firewall-cmd --reload
# Windows Firewall
netsh advfirewall firewall add rule name="7 Days to Die Server" dir=in action=allow protocol=TCP localport=[PORT]
netsh advfirewall firewall add rule name="7 Days to Die Server" dir=in action=allow protocol=UDP localport=[PORT]
</code></pre>
<h4>Windows Firewall</h4>
<pre><code># Run in PowerShell as Administrator
New-NetFirewallRule -DisplayName "7 Days to Die Game" -Direction Inbound -Protocol UDP -LocalPort 26900-26902 -Action Allow
New-NetFirewallRule -DisplayName "7 Days to Die Web Panel" -Direction Inbound -Protocol TCP -LocalPort 8080,8081 -Action Allow
</code></pre>
<h4>iptables (Legacy Linux)</h4>
<pre><code>sudo iptables -A INPUT -p udp --dport 26900:26902 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
sudo service iptables save
</code></pre>
<h3 style="color: #ffffff; margin-top: 20px;">⚠️ Port Security Notes</h3>
<ul style="color: #fef3c7; line-height: 1.8;">
<li>Only open ports that are necessary for the game server to function</li>
<li>Consider using non-standard ports to reduce automated attacks</li>
<li>If using cloud hosting, configure security groups properly</li>
<li>Monitor connection attempts and unusual traffic patterns</li>
</ul>
</div>
<h2 id="installation">Installation & Setup</h2>
<h3>System Requirements</h3>
<ul>
<li><strong>OS:</strong> Windows Server 2016+ or Linux 64-bit (Ubuntu/Debian recommended)</li>
<li><strong>CPU:</strong> Minimum 4 cores @ 3.0GHz; Recommended 6-8 cores @ 3.5GHz+</li>
<li><strong>RAM:</strong> 4GB minimum, 12-16GB recommended for 16+ players</li>
<li><strong>Storage:</strong> 15GB+ for game files; world size grows over time (SSD recommended)</li>
<li><strong>Network:</strong> 5Mbps minimum upload; 20Mbps+ for larger servers</li>
<li><strong>OS:</strong> Linux (Ubuntu 20.04+ or Debian 11+ recommended) or Windows Server 2019+</li>
<li><strong>CPU:</strong> 2+ cores recommended (single-threaded performance important for most game servers)</li>
<li><strong>RAM:</strong> 1GB minimum (more for larger player counts)</li>
<li><strong>Storage:</strong> 5GB+ for server files (SSD recommended for better performance)</li>
<li><strong>Network:</strong> Stable internet connection with low latency</li>
</ul>
<h3>Installing via SteamCMD (Linux)</h3>
<pre><code># Install SteamCMD
sudo apt update
sudo apt install steamcmd
<h3>Installation Steps</h3>
<h4>Linux (Ubuntu/Debian)</h4>
<pre><code># Update system packages
sudo apt update && sudo apt upgrade -y
# Create server directory
mkdir -p ~/7dtd-server
cd ~/7dtd-server
mkdir -p ~/gameserver
cd ~/gameserver
# Download server files
steamcmd +login anonymous +force_install_dir ~/7dtd-server +app_update 294420 validate +exit
# Download server files (method varies by game)
# Check official documentation for download links
</code></pre>
<h3>Installing via Steam (Windows)</h3>
<pre><code>1. Open Steam and go to Library
2. Enable "Tools" in the dropdown menu
3. Find "7 Days to Die Dedicated Server"
4. Install to your preferred directory
5. Navigate to installation folder (typically: C:\Program Files (x86)\Steam\steamapps\common\7 Days to Die Dedicated Server\)
<h4>Windows Server</h4>
<p>Download the server files from the official game website or through Steam (if applicable). Extract to a dedicated folder and run the server executable.</p>
<h3>Using SteamCMD - RECOMMENDED METHOD</h3>
<p><strong>This game can be installed via SteamCMD using App ID: 294420</strong></p>
<h4>Install SteamCMD (Ubuntu/Debian)</h4>
<pre><code># Update package list
sudo apt update
# Enable 32-bit architecture
sudo dpkg --add-architecture i386
sudo apt update
# Install SteamCMD
sudo apt install -y lib32gcc-s1 steamcmd
</code></pre>
<h4>Download Server Files</h4>
<pre><code># Create directory for game server
mkdir -p ~/gameservers/7daystodie
# Run SteamCMD and download
steamcmd +login anonymous \
+force_install_dir ~/gameservers/7daystodie \
+app_update 294420 validate \
+quit
# Server files are now in ~/gameservers/7daystodie/
cd ~/gameservers/7daystodie
ls -la
</code></pre>
<h4>Windows Installation with SteamCMD</h4>
<ol>
<li>Download SteamCMD from: <a href="https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip" target="_blank">https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip</a></li>
<li>Extract to <code>C:\steamcmd\</code></li>
<li>Open Command Prompt and run:</li>
</ol>
<pre><code>cd C:\steamcmd
steamcmd.exe +login anonymous ^
+force_install_dir C:\gameservers\7daystodie ^
+app_update 294420 validate ^
+quit
</code></pre>
<h2 id="configuration">Server Configuration</h2>
<h3>serverconfig.xml</h3>
<p>The main configuration file is <code>serverconfig.xml</code> located in the server root directory. Key settings:</p>
<p>After installation, you'll need to configure your server. Here's where to find the configuration files and what settings you can change.</p>
<pre><code>&lt;?xml version="1.0"?&gt;
&lt;ServerSettings&gt;
&lt;!-- Server Settings --&gt;
&lt;property name="ServerName" value="My 7DTD Server"/&gt;
&lt;property name="ServerDescription" value="Survival Server"/&gt;
&lt;property name="ServerWebsiteURL" value=""/&gt;
&lt;property name="ServerPassword" value=""/&gt;
&lt;property name="ServerLoginConfirmationText" value=""/&gt;
&lt;!-- Networking --&gt;
&lt;property name="ServerPort" value="26900"/&gt;
&lt;property name="ServerVisibility" value="2"/&gt; &lt;!-- 0=Not Listed, 1=Friends, 2=Public --&gt;
&lt;property name="ServerDisabledNetworkProtocols" value="SteamNetworking"/&gt;
&lt;!-- Slots --&gt;
&lt;property name="ServerMaxPlayerCount" value="8"/&gt;
&lt;property name="ServerReservedSlots" value="0"/&gt;
&lt;property name="ServerReservedSlotsPermission" value="100"/&gt;
&lt;!-- Admin --&gt;
&lt;property name="ServerAdminSlots" value="0"/&gt;
&lt;property name="ServerAdminSlotsPermission" value="0"/&gt;
&lt;!-- Web Dashboard --&gt;
&lt;property name="ControlPanelEnabled" value="true"/&gt;
&lt;property name="ControlPanelPort" value="8080"/&gt;
&lt;property name="ControlPanelPassword" value="CHANGEME"/&gt;
&lt;!-- Telnet --&gt;
&lt;property name="TelnetEnabled" value="true"/&gt;
&lt;property name="TelnetPort" value="8081"/&gt;
&lt;property name="TelnetPassword" value="CHANGEME"/&gt;
&lt;!-- World --&gt;
&lt;property name="GameWorld" value="Navezgane"/&gt; &lt;!-- or "RWG" for random --&gt;
&lt;property name="WorldGenSeed" value="asdf"/&gt;
&lt;property name="WorldGenSize" value="4096"/&gt;
&lt;property name="GameName" value="My Game"/&gt;
&lt;property name="GameMode" value="GameModeSurvival"/&gt;
&lt;!-- Difficulty --&gt;
&lt;property name="GameDifficulty" value="2"/&gt; &lt;!-- 0=Scavenger, 1=Adventurer, 2=Nomad, 3=Warrior, 4=Survivalist, 5=Insane --&gt;
&lt;property name="ZombiesRun" value="0"/&gt; &lt;!-- 0=Walk, 1=Jog, 2=Run --&gt;
&lt;property name="BuildCreate" value="false"/&gt;
&lt;property name="DayNightLength" value="60"/&gt; &lt;!-- Real-time minutes --&gt;
&lt;property name="DayLightLength" value="18"/&gt;
&lt;!-- Loot & XP --&gt;
&lt;property name="LootAbundance" value="100"/&gt;
&lt;property name="LootRespawnDays" value="7"/&gt;
&lt;property name="PlayerKillingMode" value="3"/&gt; &lt;!-- 0=No Killing, 1=Kill Allies Only, 2=Kill Strangers Only, 3=Kill Everyone --&gt;
&lt;/ServerSettings&gt;
</code></pre>
<h3>Starting the Server</h3>
<h4>Windows</h4>
<pre><code># Navigate to server directory
cd "C:\7DaysToDie\"
# Run dedicated server
startdedicated.bat
# Or with custom config
7DaysToDieServer.exe -configfile=serverconfig.xml
</code></pre>
<h4>Linux</h4>
<pre><code># Make start script executable
chmod +x startserver.sh
# Run in screen session
screen -S 7dtd ./startserver.sh
# Detach: Ctrl+A, D
# Reattach: screen -r 7dtd
# Or direct command
./7DaysToDieServer.x86_64 -configfile=serverconfig.xml
</code></pre>
<h2 id="xml-modding">XML Modding</h2>
<h3>Understanding XML Modding</h3>
<p>7 Days to Die uses XML files for game configuration, making modding highly accessible without programming knowledge. All game items, blocks, recipes, and mechanics are defined in XML.</p>
<h4>Config Files Location</h4>
<h3>Essential Settings</h3>
<ul>
<li><strong>Vanilla Configs:</strong> <code>Data/Config/</code></li>
<li><strong>Mod Overrides:</strong> <code>Mods/ModName/Config/</code></li>
<li><strong>Server Name:</strong> Set a descriptive name for your server</li>
<li><strong>Max Players:</strong> Configure based on your server's resources</li>
<li><strong>Password:</strong> Optional password protection for private servers</li>
<li><strong>Admin/RCON Password:</strong> Set a strong password for remote administration</li>
<li><strong>Game Mode:</strong> Configure game-specific modes and settings</li>
</ul>
<h4>Common XML Files</h4>
<h3>Configuration Files</h3>
<p>Important configuration files for this server:</p>
<ul>
<li><code>items.xml</code> - Item definitions and properties</li>
<li><code>blocks.xml</code> - Block types and behaviors</li>
<li><code>recipes.xml</code> - Crafting recipes</li>
<li><code>loot.xml</code> - Loot tables and containers</li>
<li><code>entityclasses.xml</code> - Zombie and animal stats</li>
<li><code>progression.xml</code> - Skill trees and perks</li>
<li><strong><code>serverconfig.xml</code></strong> - Server Configurations</li>
<li><strong><code>Saves/serveradmin.xml</code></strong> - Admin Configurations</li>
</ul>
<h4>Example: Increase Stack Sizes</h4>
<pre><code>&lt;configs&gt;
&lt;set xpath="/items/item[@name='resourceWood']/@Stacknumber"&gt;10000&lt;/set&gt;
&lt;set xpath="/items/item[@name='resourceIron']/@Stacknumber"&gt;10000&lt;/set&gt;
&lt;set xpath="/items/item[@name='resourceConcreteMix']/@Stacknumber"&gt;10000&lt;/set&gt;
&lt;/configs&gt;
<h3>Server Commands</h3>
<p>Common administrative commands (access via console or RCON):</p>
<pre><code># Kick player
kick [player_name]
# Ban player
ban [player_name]
# Change map/level (syntax varies by game)
changelevel [map_name]
# Set admin password (if supported)
setadminpassword [password]
</code></pre>
<h4>Example: Modify Zombie Health</h4>
<pre><code>&lt;configs&gt;
&lt;set xpath="/entity_classes/entity_class[@name='zombieSteve']/property[@name='Health']/@value"&gt;500&lt;/set&gt;
&lt;set xpath="/entity_classes/entity_class[@name='zombieFeral']/property[@name='Health']/@value"&gt;1000&lt;/set&gt;
&lt;/configs&gt;
<h2 id="parameters">⚙️ Startup Parameters</h2>
<h3>Basic Startup</h3>
<pre><code># Generic startup command structure
./server_executable [parameters]
</code></pre>
<h3>Installing Mods</h3>
<ol>
<li>Download mod from 7daystodiemods.com or NexusMods</li>
<li>Extract to <code>Mods/</code> folder in server directory</li>
<li>Restart server - mods load automatically</li>
<li>Check <code>output_log.txt</code> for errors</li>
</ol>
<h3>Common Parameters</h3>
<ul>
<li><code>-port [number]</code> - Set the server port</li>
<li><code>-maxplayers [number]</code> - Maximum player slots</li>
<li><code>-map [name]</code> - Starting map/level</li>
<li><code>-console</code> - Enable console output</li>
<li><code>-nographics</code> - Run without graphics (headless mode)</li>
</ul>
<h3>Creating a Start Script</h3>
<p><strong>Linux (start.sh):</strong></p>
<pre><code>#!/bin/bash
cd /path/to/server
./server_executable [parameters] 2>&1 | tee server.log
</code></pre>
<pre><code>chmod +x start.sh
./start.sh
</code></pre>
<p><strong>Windows (start.bat):</strong></p>
<pre><code>@echo off
cd /d "%~dp0"
server_executable.exe [parameters]
pause
</code></pre>
<h3>Running as a Service</h3>
<p><strong>Linux (systemd):</strong></p>
<pre><code># Create service file: /etc/systemd/system/gameserver.service
[Unit]
Description=7 Days to Die Server
After=network.target
[Service]
Type=simple
User=gameserver
WorkingDirectory=/home/gameserver/server
ExecStart=/home/gameserver/server/start.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
</code></pre>
<pre><code># Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable gameserver
sudo systemctl start gameserver
sudo systemctl status gameserver
</code></pre>
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
<h3>Server Not Showing in Browser</h3>
<pre><code># Check ServerVisibility in serverconfig.xml
&lt;property name="ServerVisibility" value="2"/&gt; &lt;!-- Must be 2 for public --&gt;
<h3>Server Won't Start</h3>
# Verify ports are open
netstat -an | grep 26900
<h4>Check Server Logs</h4>
<pre><code># View recent log entries
tail -f server.log
# Check firewall rules
sudo ufw status
# Or check system logs
journalctl -u gameserver -f
</code></pre>
<h3>High RAM Usage</h3>
<pre><code># Reduce world size
&lt;property name="WorldGenSize" value="4096"/&gt; &lt;!-- Try 2048 or 3072 --&gt;
<h4>Port Already in Use</h4>
<pre><code># Find what's using the port
sudo lsof -i :[PORT]
sudo netstat -tulpn | grep [PORT]
# Reduce max zombies
&lt;property name="MaxSpawnedZombies" value="60"/&gt; &lt;!-- Lower if needed --&gt;
# Enable/check automatic restarts
# Restart every 24-48 hours to clear memory
# Kill the process or change server port
</code></pre>
<h3>Connection Timeout</h3>
<h4>Missing Dependencies</h4>
<p>Ensure all required dependencies are installed. Check the error messages for missing libraries or packages.</p>
<h3>Connection Issues</h3>
<h4>Can't Connect to Server</h4>
<ol>
<li><strong>Verify server is running:</strong> <code>ps aux | grep server</code></li>
<li><strong>Check port is listening:</strong> <code>netstat -an | grep [PORT]</code></li>
<li><strong>Verify firewall rules</strong> (see Ports section above)</li>
<li><strong>Check server IP:</strong> Use external IP, not localhost</li>
<li><strong>Router/NAT:</strong> Ensure port forwarding is configured</li>
</ol>
<h4>High Latency/Lag</h4>
<ul>
<li>Verify all three UDP ports (26900-26902) are open</li>
<li>Check router port forwarding if self-hosting</li>
<li>Disable Steam networking protocol if having issues</li>
<li>Try direct IP connection instead of server browser</li>
<li>Check server resource usage (CPU, RAM, disk I/O)</li>
<li>Verify network bandwidth is adequate</li>
<li>Consider server location relative to players</li>
<li>Check for background processes consuming resources</li>
</ul>
<h3>XML Parsing Errors</h3>
<pre><code># Check output_log.txt for errors
tail -f output_log.txt
<h3>Performance Issues</h3>
# Validate XML syntax (all tags must close)
# Use XML validator tool online
<h4>Server Lag</h4>
<ol>
<li><strong>Monitor resources:</strong> Use <code>htop</code> or <code>top</code></li>
<li><strong>Check disk I/O:</strong> Use <code>iotop</code></li>
<li><strong>Review server logs</strong> for errors or warnings</li>
<li><strong>Reduce player count</strong> or increase server resources</li>
<li><strong>Optimize configuration</strong> based on server capacity</li>
</ol>
# Remove recently added mods one-by-one
# Common issue: duplicate entries or syntax errors
<h4>Memory Leaks</h4>
<pre><code># Monitor memory usage
free -h
top -p $(pgrep -f server)
# Restart server regularly via cron if needed
0 4 * * * /home/gameserver/restart.sh
</code></pre>
<h2 id="performance">Performance Optimization</h2>
<h3>Server Performance Settings</h3>
<pre><code>&lt;!-- Reduce view distance --&gt;
&lt;property name="ServerMaxWorldTransferSpeedKiBs" value="512"/&gt;
<h3>Server Tuning</h3>
<ul>
<li><strong>CPU:</strong> Ensure adequate CPU allocation; most game servers are single-threaded</li>
<li><strong>RAM:</strong> Allocate sufficient memory; monitor usage and adjust as needed</li>
<li><strong>Disk:</strong> Use SSD storage for better I/O performance</li>
<li><strong>Network:</strong> Ensure stable, low-latency connection</li>
</ul>
&lt;!-- Lower max zombies --&gt;
&lt;property name="MaxSpawnedZombies" value="60"/&gt;
<h3>Operating System Optimization</h3>
<pre><code># Increase file descriptor limits
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
&lt;!-- Reduce AI updates --&gt;
&lt;property name="EnemySpawnMode" value="true"/&gt;
&lt;!-- Disable dynamic mesh --&gt;
&lt;property name="EACEnabled" value="true"/&gt; &lt;!-- Can impact perf if disabled --&gt;
# Network tuning
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 87380 16777216"
</code></pre>
<h3>Hardware Recommendations by Player Count</h3>
<table style="width: 100%; border-collapse: collapse; margin: 20px 0;">
<thead>
<tr style="background: #0f172a;">
<th style="padding: 12px; text-align: left; color: #ffffff;">Players</th>
<th style="padding: 12px; text-align: left; color: #ffffff;">RAM</th>
<th style="padding: 12px; text-align: left; color: #ffffff;">CPU Cores</th>
</tr>
</thead>
<tbody style="color: #e5e7eb;">
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">1-4</td>
<td style="padding: 12px;">4-6GB</td>
<td style="padding: 12px;">2-4</td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">5-8</td>
<td style="padding: 12px;">8-12GB</td>
<td style="padding: 12px;">4-6</td>
</tr>
<tr style="background: #1e3a5f;">
<td style="padding: 12px;">9-16</td>
<td style="padding: 12px;">12-16GB</td>
<td style="padding: 12px;">6-8</td>
</tr>
<tr style="background: #152642;">
<td style="padding: 12px;">17-32</td>
<td style="padding: 12px;">16-24GB</td>
<td style="padding: 12px;">8+</td>
</tr>
</tbody>
</table>
<h3>World Generation Tips</h3>
<h3>Monitoring</h3>
<p>Set up monitoring to track server health:</p>
<ul>
<li><strong>Navezgane:</strong> Fixed map, better performance, 16km²</li>
<li><strong>Random Gen (RWG):</strong> Procedural, larger, higher RAM usage</li>
<li>Smaller world sizes (2048-4096) reduce RAM and CPU load</li>
<li>Pre-generate worlds offline before deploying to production server</li>
<li>CPU and memory usage</li>
<li>Network traffic and latency</li>
<li>Player count and activity</li>
<li>Error rates and crash logs</li>
</ul>
<h3>Backup Strategy</h3>
<pre><code>#!/bin/bash
# backup.sh - Run via cron
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backups/gameserver"
SERVER_DIR="/home/gameserver/server"
# Create backup
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz -C $SERVER_DIR .
# Keep only last 7 days
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
</code></pre>
<h2 id="security">Security Best Practices</h2>
<h3>Firewall Configuration</h3>
<pre><code># Minimal firewall - only allow necessary ports
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow [SERVER_PORT]/tcp
sudo ufw allow [SERVER_PORT]/udp
sudo ufw allow 22/tcp # SSH
sudo ufw enable
</code></pre>
<h3>Strong Passwords</h3>
<ul>
<li>Use strong, unique passwords for admin/RCON access</li>
<li>Never use default passwords</li>
<li>Change passwords regularly</li>
<li>Don't share admin credentials unnecessarily</li>
</ul>
<h3>Regular Updates</h3>
<ul>
<li>Keep server software updated to the latest stable version</li>
<li>Update operating system and dependencies regularly</li>
<li>Subscribe to security advisories for your game</li>
<li>Test updates on a staging server before production deployment</li>
</ul>
<h3>Access Control</h3>
<ul>
<li>Limit SSH access to specific IPs if possible</li>
<li>Use SSH keys instead of passwords</li>
<li>Disable root login via SSH</li>
<li>Implement fail2ban or similar intrusion prevention</li>
</ul>
<h3>DDoS Protection</h3>
<ul>
<li>Consider DDoS protection services (Cloudflare, OVH, etc.)</li>
<li>Implement rate limiting where supported</li>
<li>Monitor for unusual traffic patterns</li>
<li>Have an incident response plan</li>
</ul>
<h2>Additional Resources</h2>
<ul>
<li>Official 7 Days to Die documentation and forums</li>
<li>Community wikis and guides</li>
<li>Game-specific Discord or Reddit communities</li>
<li>Server hosting provider documentation</li>
</ul>
<div style="background: #78350f; padding: 20px; border-left: 4px solid #f59e0b; margin: 20px 0; border-radius: 4px;">
<h3 style="color: #ffffff; margin-top: 0;"><i class="fas fa-lightbulb" style="color: #fbbf24; margin-right: 8px;"></i>Pro Tips</h3>
<ul style="color: #fef3c7; line-height: 1.8;">
<li><strong>Backup regularly:</strong> World corruption can occur - automated backups every 6-12 hours</li>
<li><strong>Restart schedule:</strong> Auto-restart every 24-48 hours clears memory leaks</li>
<li><strong>Update carefully:</strong> Major updates can break worlds - test on backup first</li>
<li><strong>Monitor logs:</strong> <code>output_log.txt</code> shows errors and performance issues</li>
<li><strong>Web panel security:</strong> Change default passwords and restrict IP access</li>
<h3 style="color: #ffffff; margin-top: 0;"><i class="fas fa-exclamation-triangle" style="color: #fbbf24; margin-right: 8px;"></i>Important Notes</h3>
<ul style="color: #fef3c7; line-height: 1.8; margin: 0;">
<li>Always make backups before making configuration changes</li>
<li>Keep your server and dependencies updated</li>
<li>Monitor server resources and player activity</li>
<li>Follow the game's End User License Agreement (EULA) and Terms of Service</li>
<li>Join community forums for support and best practices</li>
</ul>
</div>
<h2 id="related-mods">🔌 Related Mods & Plugins</h2>
<p>Popular server modifications compatible with 7 Days to Die:</p>
<ul>
<li><a href="../oxide/">Oxide / uMod</a> - Comprehensive modding framework with C# plugin system, permissions, hooks, and extensive plugin library for server administration and gameplay enhancement</li>
</ul>
<h2>Resources</h2>
<ul>
<li><a href="https://7daystodie.com/" target="_blank">Official Website</a></li>
<li><a href="https://community.7daystodie.com/" target="_blank">Official Forums</a></li>
<li><a href="https://7daystodiemods.com/" target="_blank">7 Days to Die Mods</a></li>
<li><a href="https://www.nexusmods.com/7daystodie" target="_blank">NexusMods - 7DTD</a></li>
<li><a href="https://7dtd.illy.bz/" target="_blank">7DTD Server Manager Tools</a></li>
</ul>
<p style="text-align: center; margin-top: 30px; color: #666;">
<em>Last updated: November 2025 | For 7 Days to Die server hosting</em>
</p>