more games
This commit is contained in:
parent
221a0fac38
commit
42e65eace1
14 changed files with 2885 additions and 274 deletions
|
|
@ -134,6 +134,9 @@ uksort($grouped, function($a, $b) use ($grouped) {
|
|||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
||||
<meta http-equiv="Pragma" content="no-cache">
|
||||
<meta http-equiv="Expires" content="0">
|
||||
<title><?php echo $action === 'view' ? 'Documentation' : 'Documentation - GameServers.World'; ?></title>
|
||||
<link rel="stylesheet" href="css/header.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
||||
|
|
|
|||
|
|
@ -26,11 +26,11 @@ This list contains multiplayer games that support dedicated server hosting, orde
|
|||
## High Popularity
|
||||
|
||||
11. ~~DayZ Standalone~~ - Zombie survival
|
||||
12. Team Fortress 2 - Team-based FPS
|
||||
13. Left 4 Dead 2 - Co-op zombie shooter
|
||||
12. ~~Team Fortress 2~~ - Team-based FPS
|
||||
13. ~~Left 4 Dead 2~~ - Co-op zombie shooter
|
||||
14. Squad - Tactical military FPS
|
||||
15. Killing Floor 2 - Co-op wave shooter
|
||||
16. Insurgency: Sandstorm - Tactical FPS
|
||||
15. ~~Killing Floor 2~~ - Co-op wave shooter
|
||||
16. 21. ~~Insurgency: Sandstorm~~ - Tactical FPS
|
||||
17. Space Engineers - Space sandbox engineering
|
||||
18. Don't Starve Together - Survival co-op
|
||||
19. ~~Conan Exiles~~ - Survival and building
|
||||
|
|
@ -42,8 +42,8 @@ This list contains multiplayer games that support dedicated server hosting, orde
|
|||
22. ~~Counter-Strike 1.6~~ - Original CS (GoldSrc engine)
|
||||
23. ~~Arma 2: Operation Arrowhead~~ - Military sim (DayZ Mod base)
|
||||
24. ~~Arma 2: Combined Operations~~ - Arma 2 + OA (DayZ Mod)
|
||||
25. Left 4 Dead - Co-op zombie shooter
|
||||
26. Killing Floor - Wave-based shooter
|
||||
25. ~~Left 4 Dead~~ - Co-op zombie shooter
|
||||
26. 13. ~~Killing Floor~~ - Co-op horror shooter
|
||||
27. Insurgency - Tactical FPS
|
||||
28. The Forest - Survival horror co-op
|
||||
29. Starbound - 2D space exploration
|
||||
|
|
|
|||
|
|
@ -3,66 +3,488 @@
|
|||
* Insurgency: Sandstorm Server Documentation
|
||||
*/
|
||||
?>
|
||||
<h1>Insurgency: Sandstorm Server Guide</h1>
|
||||
|
||||
<h2>Overview</h2>
|
||||
<p><strong>Insurgency: Sandstorm</strong> is available for hosting on our platform. This guide covers the basics of setting up and managing your Insurgency: Sandstorm server.</p>
|
||||
<h1>📚 Insurgency: Sandstorm Server Guide</h1>
|
||||
<p style="font-size: 1.1em; color: rgba(255,255,255,0.8);">Tactical team-based FPS with realistic combat mechanics</p>
|
||||
|
||||
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">Server Information</h3>
|
||||
<ul style="color: #e5e7eb; line-height: 1.8;">
|
||||
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">27102</code></li>
|
||||
<li><strong style="color: #ffffff;">Protocol:</strong> UDP</li>
|
||||
<li><strong style="color: #ffffff;">Additional Info:</strong> Query port is 27131 UDP</li>
|
||||
</ul>
|
||||
<p style="color: #e5e7eb; margin-top: 12px; font-size: 0.95em;">
|
||||
<em>Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.</em>
|
||||
</p>
|
||||
<h3 style="color: #ffffff; margin-top: 0;">Quick Info</h3>
|
||||
<table style="width: 100%; color: #e5e7eb;">
|
||||
<tr><td><strong style="color: #ffffff;">Engine:</strong></td><td>Unreal Engine 4</td></tr>
|
||||
<tr><td><strong style="color: #ffffff;">Developer:</strong></td><td>New World Interactive</td></tr>
|
||||
<tr><td><strong style="color: #ffffff;">App ID:</strong></td><td>581320 (Dedicated Server)</td></tr>
|
||||
<tr><td><strong style="color: #ffffff;">Default Ports:</strong></td><td>27102 (Game), 27131 (Query), 27015 (RCON)</td></tr>
|
||||
<tr><td><strong style="color: #ffffff;">Max Players:</strong></td><td>8v8 (16 players typical), up to 32 possible</td></tr>
|
||||
<tr><td><strong style="color: #ffffff;">Game Modes:</strong></td><td>Push, Firefight, Skirmish, Frontline, Checkpoint, Outpost, Survival</td></tr>
|
||||
<tr><td><strong style="color: #ffffff;">Platforms:</strong></td><td>Linux, Windows</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>Getting Started</h2>
|
||||
<p>To create a Insurgency: Sandstorm server:</p>
|
||||
<ol>
|
||||
<li>Navigate to the <a href="/serverlist.php">Game Servers</a> page</li>
|
||||
<li>Find <strong>Insurgency: Sandstorm</strong> in the list</li>
|
||||
<li>Select your preferred configuration (slots, duration, etc.)</li>
|
||||
<li>Add to cart and complete checkout</li>
|
||||
<li>Your server will be automatically provisioned within minutes</li>
|
||||
</ol>
|
||||
|
||||
<h2>Server Configuration</h2>
|
||||
<p>After your server is created, you can configure it through the control panel:</p>
|
||||
<ul>
|
||||
<li>Server settings and parameters</li>
|
||||
<li>Player slots and limits</li>
|
||||
<li>RCON/remote control access</li>
|
||||
<li>FTP file access</li>
|
||||
<h2>Navigation</h2>
|
||||
<ul style="list-style: none; padding: 0;">
|
||||
<li>📚 <a href="#overview">Overview</a></li>
|
||||
<li>🔌 <a href="#ports">Ports & Firewall</a></li>
|
||||
<li>📥 <a href="#installation">Installation</a></li>
|
||||
<li>⚙️ <a href="#configuration">Configuration</a></li>
|
||||
<li>🎮 <a href="#gamemodes">Game Modes</a></li>
|
||||
<li>🗺️ <a href="#maps">Maps & Scenarios</a></li>
|
||||
<li>🔧 <a href="#admin">Admin Tools</a></li>
|
||||
<li>🛠️ <a href="#mods">Mods & Mutators</a></li>
|
||||
<li>🚀 <a href="#startup">Startup Commands</a></li>
|
||||
<li>🔧 <a href="#troubleshooting">Troubleshooting</a></li>
|
||||
<li>📖 <a href="#resources">Resources</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Common Tasks</h2>
|
||||
<h2 id="overview">Overview</h2>
|
||||
<p>Insurgency: Sandstorm is a hardcore tactical FPS focusing on close-quarters combat and teamwork. The game features realistic ballistics, minimal HUD, and high lethality combat where positioning and communication matter more than twitch reflexes.</p>
|
||||
|
||||
<h3>Starting Your Server</h3>
|
||||
<p>Servers are automatically started after creation. You can stop/start your server from the control panel.</p>
|
||||
|
||||
<h3>Connecting to Your Server</h3>
|
||||
<p>Use your server's IP address and port to connect from the game client.</p>
|
||||
|
||||
<h3>Managing Files</h3>
|
||||
<p>Access your server files via FTP using the credentials provided in your control panel.</p>
|
||||
|
||||
<h2>Support</h2>
|
||||
<p>If you need assistance with your Insurgency: Sandstorm server:</p>
|
||||
<h3>Key Features</h3>
|
||||
<ul>
|
||||
<li>Check our <a href="/docs.php?action=view&doc=common-issues">Common Issues</a> guide</li>
|
||||
<li>Contact support through your account dashboard</li>
|
||||
<li>Visit the official Insurgency: Sandstorm community for game-specific help</li>
|
||||
<li><strong>Realistic Combat:</strong> Minimal HUD, no health regeneration, realistic weapon behavior</li>
|
||||
<li><strong>7 Game Modes:</strong> Competitive and cooperative gameplay options</li>
|
||||
<li><strong>Tactical Depth:</strong> Fire support, smoke grenades, objective-based gameplay</li>
|
||||
<li><strong>Customizable Loadouts:</strong> Weapon attachments and gear choices affect playstyle</li>
|
||||
<li><strong>Mod Support:</strong> Community maps, mutators, and custom scenarios</li>
|
||||
<li><strong>Voice Communication:</strong> Proximity-based voice chat adds immersion</li>
|
||||
<li><strong>Fire Support:</strong> Call in artillery, helicopter gunships, and smoke strikes</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="ports">🔌 Ports & Firewall Configuration</h2>
|
||||
|
||||
<h3>Required Ports</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;">Port</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Protocol</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Purpose</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Required?</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><code>27102</code></td>
|
||||
<td style="padding: 12px;"><span style="background: #10b981; color: #fff; padding: 2px 8px; border-radius: 4px; font-size: 0.85em;">UDP</span></td>
|
||||
<td style="padding: 12px;">Game Port (client connections)</td>
|
||||
<td style="padding: 12px;"><strong style="color: #10b981;">✓ Required</strong></td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><code>27131</code></td>
|
||||
<td style="padding: 12px;"><span style="background: #10b981; color: #fff; padding: 2px 8px; border-radius: 4px; font-size: 0.85em;">UDP</span></td>
|
||||
<td style="padding: 12px;">Query Port (server browser)</td>
|
||||
<td style="padding: 12px;"><strong style="color: #10b981;">✓ Required</strong></td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><code>27015</code></td>
|
||||
<td style="padding: 12px;"><span style="background: #3b82f6; color: #fff; padding: 2px 8px; border-radius: 4px; font-size: 0.85em;">TCP</span></td>
|
||||
<td style="padding: 12px;">RCON Port (remote administration)</td>
|
||||
<td style="padding: 12px;"><span style="color: #fbbf24;">Optional Recommended</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p><strong>Note:</strong> Ports are configurable in Game.ini and Engine.ini. Default ports shown above.</p>
|
||||
|
||||
<h3>Firewall Configuration Examples</h3>
|
||||
|
||||
<h4>Ubuntu/Debian (UFW)</h4>
|
||||
<pre><code># Allow Insurgency: Sandstorm ports
|
||||
sudo ufw allow 27102/udp comment "Insurgency Game Port"
|
||||
sudo ufw allow 27131/udp comment "Insurgency Query Port"
|
||||
sudo ufw allow 27015/tcp comment "Insurgency RCON"
|
||||
sudo ufw reload
|
||||
</code></pre>
|
||||
|
||||
<h4>CentOS/RHEL (FirewallD)</h4>
|
||||
<pre><code># Add Insurgency: Sandstorm ports
|
||||
sudo firewall-cmd --permanent --add-port=27102/udp # Game
|
||||
sudo firewall-cmd --permanent --add-port=27131/udp # Query
|
||||
sudo firewall-cmd --permanent --add-port=27015/tcp # RCON
|
||||
sudo firewall-cmd --reload
|
||||
</code></pre>
|
||||
|
||||
<h4>Windows (PowerShell - Run as Administrator)</h4>
|
||||
<pre><code># Create firewall rules for Insurgency: Sandstorm
|
||||
New-NetFirewallRule -DisplayName "Insurgency Game" -Direction Inbound -Protocol UDP -LocalPort 27102 -Action Allow
|
||||
New-NetFirewallRule -DisplayName "Insurgency Query" -Direction Inbound -Protocol UDP -LocalPort 27131 -Action Allow
|
||||
New-NetFirewallRule -DisplayName "Insurgency RCON" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
|
||||
</code></pre>
|
||||
|
||||
<h4>iptables (Advanced)</h4>
|
||||
<pre><code># Allow Insurgency: Sandstorm ports
|
||||
iptables -A INPUT -p udp --dport 27102 -j ACCEPT -m comment --comment "Insurgency Game"
|
||||
iptables -A INPUT -p udp --dport 27131 -j ACCEPT -m comment --comment "Insurgency Query"
|
||||
iptables -A INPUT -p tcp --dport 27015 -j ACCEPT -m comment --comment "Insurgency RCON"
|
||||
|
||||
# Save rules (Ubuntu/Debian)
|
||||
netfilter-persistent save
|
||||
|
||||
# Save rules (CentOS/RHEL)
|
||||
service iptables save
|
||||
</code></pre>
|
||||
|
||||
<h2 id="installation">Installation</h2>
|
||||
|
||||
<h3>Prerequisites</h3>
|
||||
<ul>
|
||||
<li><strong>SteamCMD</strong> installed (<a href="https://developer.valvesoftware.com/wiki/SteamCMD" target="_blank">Installation Guide</a>)</li>
|
||||
<li>Disk space: ~20 GB for full installation</li>
|
||||
<li>RAM: 4GB minimum, 8GB recommended for 16+ players</li>
|
||||
<li>Open firewall ports (27102, 27131 UDP, 27015 TCP)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Linux Installation</h3>
|
||||
<pre><code># Create server directory
|
||||
mkdir -p ~/insurgency_server
|
||||
cd ~/insurgency_server
|
||||
|
||||
# Download server files with SteamCMD
|
||||
steamcmd +force_install_dir ~/insurgency_server +login anonymous +app_update 581320 validate +quit
|
||||
|
||||
# Note: App ID 581320 is for Insurgency: Sandstorm Dedicated Server
|
||||
# Download size is approximately 18-20 GB
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows Installation</h3>
|
||||
<pre><code># Download SteamCMD for Windows
|
||||
# Extract to C:\steamcmd\
|
||||
|
||||
# Create server directory
|
||||
mkdir C:\insurgency_server
|
||||
|
||||
# Run SteamCMD
|
||||
C:\steamcmd\steamcmd.exe +force_install_dir C:\insurgency_server +login anonymous +app_update 581320 validate +quit
|
||||
</code></pre>
|
||||
|
||||
<h2 id="configuration">⚙️ Configuration</h2>
|
||||
|
||||
<h3>Main Configuration Files</h3>
|
||||
<p>Configuration files are in <code>Insurgency/Saved/Config/LinuxServer/</code> (Linux) or <code>Insurgency/Saved/Config/WindowsServer/</code> (Windows):</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Game.ini</strong> - Game settings, scenarios, map rotation</li>
|
||||
<li><strong>Engine.ini</strong> - Network settings, port configuration</li>
|
||||
<li><strong>ServerConfig.txt</strong> - Server name, admin password, RCON</li>
|
||||
</ul>
|
||||
|
||||
<h3>Engine.ini (Network Configuration)</h3>
|
||||
<p>Edit <code>Insurgency/Saved/Config/LinuxServer/Engine.ini</code>:</p>
|
||||
<pre><code>[URL]
|
||||
Port=27102
|
||||
|
||||
[/Script/Engine.GameNetworkManager]
|
||||
TotalNetBandwidth=64000
|
||||
MaxDynamicBandwidth=32000
|
||||
MinDynamicBandwidth=16000
|
||||
|
||||
[SystemSettings]
|
||||
net.MaxRepArraySize=2048
|
||||
net.MaxRepArrayMemory=2048
|
||||
|
||||
[/Script/OnlineSubsystemUtils.IpNetDriver]
|
||||
MaxClientRate=25000
|
||||
MaxInternetClientRate=25000
|
||||
</code></pre>
|
||||
|
||||
<h3>Game.ini (Server Settings)</h3>
|
||||
<p>Edit <code>Insurgency/Saved/Config/LinuxServer/Game.ini</code>:</p>
|
||||
<pre><code>[/Script/Insurgency.INSMultiplayerMode]
|
||||
bAllowFriendlyFire=True
|
||||
bMapVoting=True
|
||||
RoundLimit=3
|
||||
WinLimit=3
|
||||
GameTimeLimit=-1
|
||||
PreRoundTime=15
|
||||
PostRoundTime=15
|
||||
PostGameTime=15
|
||||
|
||||
[/Script/Insurgency.INSCoopMode]
|
||||
bAllowFriendlyFire=True
|
||||
RoundLimit=1
|
||||
WinLimit=1
|
||||
</code></pre>
|
||||
|
||||
<h3>Map Rotation Configuration</h3>
|
||||
<p>Create <code>Insurgency/Saved/Config/LinuxServer/MapCycle.txt</code>:</p>
|
||||
<pre><code># Competitive Push rotation
|
||||
(Scenario="Scenario_Crossing_Push",Lighting="Day")
|
||||
(Scenario="Scenario_Hideout_Push",Lighting="Day")
|
||||
(Scenario="Scenario_Summit_Push",Lighting="Day")
|
||||
(Scenario="Scenario_Tell_Push",Lighting="Day")
|
||||
(Scenario="Scenario_Ministry_Push",Lighting="Day")
|
||||
|
||||
# Mix in night maps
|
||||
(Scenario="Scenario_Hideout_Push",Lighting="Night")
|
||||
(Scenario="Scenario_Ministry_Push",Lighting="Night")
|
||||
</code></pre>
|
||||
|
||||
<h2 id="gamemodes">Game Modes</h2>
|
||||
|
||||
<h3>Competitive Modes (PvP)</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;">Mode</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Players</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Push</strong></td>
|
||||
<td style="padding: 12px;">Attackers push through objectives, defenders hold ground</td>
|
||||
<td style="padding: 12px;">8v8 (16)</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Firefight</strong></td>
|
||||
<td style="padding: 12px;">Fast-paced 3 objective control, single life per round</td>
|
||||
<td style="padding: 12px;">5v5 (10)</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Frontline</strong></td>
|
||||
<td style="padding: 12px;">Tug-of-war over middle objectives with respawn waves</td>
|
||||
<td style="padding: 12px;">8v8 (16)</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Skirmish</strong></td>
|
||||
<td style="padding: 12px;">Elimination with limited respawns, capture objectives to gain more</td>
|
||||
<td style="padding: 12px;">8v8 (16)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Cooperative Modes (PvE)</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;">Mode</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Players</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Checkpoint</strong></td>
|
||||
<td style="padding: 12px;">Team captures objectives against AI defenders</td>
|
||||
<td style="padding: 12px;">Up to 8 co-op</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Outpost</strong></td>
|
||||
<td style="padding: 12px;">Defend single objective against AI waves (Horde mode)</td>
|
||||
<td style="padding: 12px;">Up to 8 co-op</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Survival</strong></td>
|
||||
<td style="padding: 12px;">Extract-based co-op with permadeath and limited resources</td>
|
||||
<td style="padding: 12px;">Up to 8 co-op</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="maps">🗺️ Official Maps</h2>
|
||||
|
||||
<h3>Core Maps</h3>
|
||||
<ul>
|
||||
<li><strong>Crossing</strong> - Mountain pass with open sightlines</li>
|
||||
<li><strong>Hideout</strong> - Close-quarters village combat</li>
|
||||
<li><strong>Summit</strong> - Snowy mountain compound</li>
|
||||
<li><strong>Tell</strong> - Dense urban environment</li>
|
||||
<li><strong>Ministry</strong> - Multi-story government building</li>
|
||||
<li><strong>Precinct</strong> - Police station and streets</li>
|
||||
<li><strong>Refinery</strong> - Industrial oil refinery complex</li>
|
||||
<li><strong>Farmhouse</strong> - Rural farmland and buildings</li>
|
||||
</ul>
|
||||
|
||||
<h3>DLC Maps</h3>
|
||||
<ul>
|
||||
<li><strong>Citadel</strong> - Ancient fortress ruins</li>
|
||||
<li><strong>Gap</strong> - Afghan village in mountain valley</li>
|
||||
<li><strong>PowerPlant</strong> - Geothermal power facility</li>
|
||||
<li><strong>Tideway</strong> - Port and cargo ship</li>
|
||||
</ul>
|
||||
|
||||
<h3>Lighting Options</h3>
|
||||
<p>Most maps support multiple lighting scenarios:</p>
|
||||
<ul>
|
||||
<li><strong>Day</strong> - Standard daytime lighting</li>
|
||||
<li><strong>Night</strong> - Nighttime with NVG gameplay</li>
|
||||
<li><strong>Dusk/Dawn</strong> - Available on select maps</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="admin">🔧 Admin Tools & RCON</h2>
|
||||
|
||||
<h3>Enabling RCON</h3>
|
||||
<p>RCON allows remote administration. Configure in startup parameters or config files.</p>
|
||||
|
||||
<h4>RCON Commands (Sample)</h4>
|
||||
<pre><code># Player management
|
||||
kick [PlayerName] [Reason]
|
||||
ban [PlayerName]
|
||||
listplayers
|
||||
|
||||
# Map control
|
||||
travel [MapName]
|
||||
restartround
|
||||
|
||||
# Server settings
|
||||
say [Message]
|
||||
setnextmap [MapName]
|
||||
</code></pre>
|
||||
|
||||
<h3>Admin Console Commands</h3>
|
||||
<p>In-game console (tilde key ~):</p>
|
||||
<pre><code># Admin commands (requires admin login)
|
||||
adminlogin [password]
|
||||
kick [PlayerName]
|
||||
ban [PlayerName]
|
||||
travel [MapName]
|
||||
restartround
|
||||
say [Message]
|
||||
</code></pre>
|
||||
|
||||
<h2 id="mods">🛠️ Mods & Mutators</h2>
|
||||
|
||||
<h3>Workshop Content</h3>
|
||||
<p>Insurgency: Sandstorm supports Steam Workshop mods:</p>
|
||||
<ul>
|
||||
<li>Custom maps and scenarios</li>
|
||||
<li>New weapons and attachments</li>
|
||||
<li>Gameplay mutators</li>
|
||||
<li>Cosmetic items</li>
|
||||
</ul>
|
||||
|
||||
<h3>Installing Workshop Mods</h3>
|
||||
<p>Subscribe to mods on Steam Workshop, then add their IDs to your startup command:</p>
|
||||
<pre><code>-Mods=123456789,987654321
|
||||
</code></pre>
|
||||
|
||||
<h3>Popular Mutators</h3>
|
||||
<ul>
|
||||
<li><strong>Ismc Mod:</strong> Adds 100+ weapons and attachments</li>
|
||||
<li><strong>Day of Infamy Maps:</strong> Classic maps ported to Sandstorm</li>
|
||||
<li><strong>Custom Scenarios:</strong> Community-created game modes</li>
|
||||
<li><strong>Hardcore Mutators:</strong> Increased realism and difficulty</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="startup">Startup Commands</h2>
|
||||
|
||||
<h3>Linux</h3>
|
||||
<pre><code>#!/bin/bash
|
||||
# start_insurgency.sh
|
||||
|
||||
cd ~/insurgency_server
|
||||
|
||||
./Insurgency/Binaries/Linux/InsurgencyServer-Linux-Shipping \
|
||||
Crossing?Scenario=Scenario_Crossing_Push?Lighting=Day \
|
||||
-Port=27102 -QueryPort=27131 \
|
||||
-log -AdminList=Admins -MapCycle=MapCycle \
|
||||
-MaxPlayers=16 -Mods
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows</h3>
|
||||
<pre><code>@echo off
|
||||
REM start_insurgency.bat
|
||||
|
||||
cd C:\insurgency_server
|
||||
|
||||
InsurgencyServer.exe Crossing?Scenario=Scenario_Crossing_Push?Lighting=Day ^
|
||||
-Port=27102 -QueryPort=27131 ^
|
||||
-log -AdminList=Admins -MapCycle=MapCycle ^
|
||||
-MaxPlayers=16 -Mods
|
||||
</code></pre>
|
||||
|
||||
<h3>Startup Parameters</h3>
|
||||
<ul>
|
||||
<li><code>MapName?Scenario=ScenarioName?Lighting=Day</code> - Start map with scenario</li>
|
||||
<li><code>-Port=27102</code> - Game port</li>
|
||||
<li><code>-QueryPort=27131</code> - Server browser query port</li>
|
||||
<li><code>-MaxPlayers=16</code> - Maximum players (8v8 typical)</li>
|
||||
<li><code>-AdminList=Admins</code> - Admin list file (Admins.txt)</li>
|
||||
<li><code>-MapCycle=MapCycle</code> - Map rotation file (MapCycle.txt)</li>
|
||||
<li><code>-Mods</code> - Enable Workshop mods</li>
|
||||
<li><code>-log</code> - Enable detailed logging</li>
|
||||
<li><code>-hostname="Server Name"</code> - Server name in browser</li>
|
||||
<li><code>-password=serverpass</code> - Server password (optional)</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
|
||||
|
||||
<h3>Server Not Appearing in Browser</h3>
|
||||
<pre><code># Check ports are open
|
||||
netstat -an | grep 27102
|
||||
netstat -an | grep 27131
|
||||
|
||||
# Verify server is running
|
||||
ps aux | grep Insurgency # Linux
|
||||
tasklist | findstr Insurgency # Windows
|
||||
|
||||
# Check firewall allows both game and query ports
|
||||
# Wait 5-10 minutes for Steam master server registration
|
||||
</code></pre>
|
||||
|
||||
<h3>High Ping / Lag Issues</h3>
|
||||
<ul>
|
||||
<li>Increase <code>MaxClientRate</code> in Engine.ini (try 50000-100000)</li>
|
||||
<li>Reduce <code>MaxPlayers</code> if server hardware is limited</li>
|
||||
<li>Ensure server has adequate CPU (UE4 is CPU-intensive)</li>
|
||||
<li>Check network bandwidth and latency to players</li>
|
||||
</ul>
|
||||
|
||||
<h3>Mods Not Loading</h3>
|
||||
<pre><code># Ensure -Mods flag is in startup command
|
||||
# Verify Workshop mod IDs are correct
|
||||
# Check mod compatibility with current game version
|
||||
# Some mods require client and server to both have them
|
||||
|
||||
# Example with specific mod IDs:
|
||||
-Mods=2389387394,2318862735
|
||||
</code></pre>
|
||||
|
||||
<h3>Players Can't Connect</h3>
|
||||
<ul>
|
||||
<li>Verify game port (27102) is open in firewall</li>
|
||||
<li>Check server isn't password-protected unintentionally</li>
|
||||
<li>Ensure server and client game versions match</li>
|
||||
<li>Verify <code>MaxPlayers</code> isn't reached</li>
|
||||
<li>Check logs in <code>Insurgency/Saved/Logs/</code></li>
|
||||
</ul>
|
||||
|
||||
<h3>RCON Won't Connect</h3>
|
||||
<pre><code># Verify RCON port (27015) is open
|
||||
# Check RCON password is set in startup command or config
|
||||
# Try connecting from localhost first (127.0.0.1)
|
||||
# Use RCON tools compatible with Source-style RCON protocol
|
||||
</code></pre>
|
||||
|
||||
<h3>Server Crashes on Startup</h3>
|
||||
<ul>
|
||||
<li>Verify full installation via SteamCMD (validate)</li>
|
||||
<li>Check map/scenario names are spelled correctly</li>
|
||||
<li>Remove conflicting mods</li>
|
||||
<li>Ensure adequate disk space and RAM</li>
|
||||
<li>Check logs: <code>Insurgency/Saved/Logs/Insurgency.log</code></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-exclamation-triangle" style="color: #fbbf24; margin-right: 8px;"></i>Important Notes</h3>
|
||||
<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>Always keep your server updated to the latest version</li>
|
||||
<li>Make regular backups of your server configuration</li>
|
||||
<li>Review and follow the game's End User License Agreement (EULA)</li>
|
||||
<li><strong>Mixed Lighting:</strong> Rotate day/night versions of maps for variety</li>
|
||||
<li><strong>Balanced Teams:</strong> 8v8 is optimal for most maps and modes</li>
|
||||
<li><strong>Fire Support:</strong> Configure in Game.ini - adds tactical depth</li>
|
||||
<li><strong>Friendly Fire:</strong> Enable for realistic tactical gameplay</li>
|
||||
<li><strong>Vote Systems:</strong> Enable map voting for community choice</li>
|
||||
<li><strong>RCON Tools:</strong> Use tools like RconSharp or HLSW for easier admin</li>
|
||||
<li><strong>Regular Updates:</strong> Game updates frequently - validate files weekly</li>
|
||||
<li><strong>Hardware:</strong> CPU-heavy game - prioritize single-thread performance</li>
|
||||
<li><strong>Competitive Focus:</strong> Push and Firefight are most popular competitive modes</li>
|
||||
<li><strong>Co-op Casual:</strong> Checkpoint is great for casual co-op sessions</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 id="resources">Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://insurgencysandstorm.mod.io/" target="_blank">Insurgency: Sandstorm Mod.io</a></li>
|
||||
<li><a href="https://steamcommunity.com/app/581320/discussions/" target="_blank">Official Community Discussions</a></li>
|
||||
<li><a href="https://newworldinteractive.com/" target="_blank">New World Interactive (Developer)</a></li>
|
||||
<li><a href="https://sandstorm-support.newworldinteractive.com/hc/en-us" target="_blank">Official Support Portal</a></li>
|
||||
<li><a href="https://www.reddit.com/r/insurgency/" target="_blank">r/insurgency - Community Subreddit</a></li>
|
||||
</ul>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Insurgency: Sandstorm",
|
||||
"description": "Setup and configuration guide for Insurgency: Sandstorm game servers",
|
||||
"description": "Comprehensive guide for Insurgency: Sandstorm dedicated servers with 7 game modes (Push, Firefight, Frontline, Skirmish, Checkpoint, Outpost, Survival), tactical FPS gameplay, Workshop mod support, and UE4-based server hosting",
|
||||
"category": "game",
|
||||
"order": 18,
|
||||
"complete": false
|
||||
"order": 22,
|
||||
"complete": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,66 +3,596 @@
|
|||
* Killing Floor Server Documentation
|
||||
*/
|
||||
?>
|
||||
<h1>Killing Floor Server Guide</h1>
|
||||
<h1>📚 Killing Floor Server Guide</h1>
|
||||
|
||||
<h2>Overview</h2>
|
||||
<p><strong>Killing Floor</strong> is available for hosting on our platform. This guide covers the basics of setting up and managing your Killing Floor server.</p>
|
||||
<h3 style="color: #94a3b8; margin-top: 8px;">Original Wave-Based Horror Survival - Comprehensive Setup</h3>
|
||||
|
||||
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">Server Information</h3>
|
||||
<ul style="color: #e5e7eb; line-height: 1.8;">
|
||||
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">7707</code></li>
|
||||
<li><strong style="color: #ffffff;">Protocol:</strong> UDP</li>
|
||||
<li><strong style="color: #ffffff;">Additional Info:</strong> Query port is 7708 UDP, Web admin 8075 TCP</li>
|
||||
</ul>
|
||||
<p style="color: #e5e7eb; margin-top: 12px; font-size: 0.95em;">
|
||||
<em>Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.</em>
|
||||
</p>
|
||||
<div style="background: #1e3a5f; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #3b82f6;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">📋 Quick Info</h3>
|
||||
<table style="width: 100%; color: #e5e7eb;">
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Engine:</strong></td><td>Unreal Engine 2.5 (Modified)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Developer:</strong></td><td>Tripwire Interactive</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">App ID:</strong></td><td>215350</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Game Port:</strong></td><td>7707 UDP (default)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Query Port:</strong></td><td>7708 UDP (default)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Web Admin:</strong></td><td>8075 TCP (default)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Max Players:</strong></td><td>6 (standard), up to 32 with mods</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Game Modes:</strong></td><td>Story, Objective</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Perks:</strong></td><td>7 classes (Berserker, Commando, Support, Sharpshooter, etc.)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Platform:</strong></td><td>Windows, Linux</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>Getting Started</h2>
|
||||
<p>To create a Killing Floor server:</p>
|
||||
<ol>
|
||||
<li>Navigate to the <a href="/serverlist.php">Game Servers</a> page</li>
|
||||
<li>Find <strong>Killing Floor</strong> in the list</li>
|
||||
<li>Select your preferred configuration (slots, duration, etc.)</li>
|
||||
<li>Add to cart and complete checkout</li>
|
||||
<li>Your server will be automatically provisioned within minutes</li>
|
||||
</ol>
|
||||
|
||||
<h2>Server Configuration</h2>
|
||||
<p>After your server is created, you can configure it through the control panel:</p>
|
||||
<ul>
|
||||
<li>Server settings and parameters</li>
|
||||
<li>Player slots and limits</li>
|
||||
<li>RCON/remote control access</li>
|
||||
<li>FTP file access</li>
|
||||
<h3 style="margin-top: 30px;">Navigation</h3>
|
||||
<ul style="line-height: 2; font-size: 1.05em;">
|
||||
<li><a href="#overview">Overview</a></li>
|
||||
<li><a href="#ports">🔌 Ports & Firewall</a></li>
|
||||
<li><a href="#installation">Installation</a></li>
|
||||
<li><a href="#configuration">⚙️ Configuration</a></li>
|
||||
<li><a href="#webadmin">Web Admin Interface</a></li>
|
||||
<li><a href="#gamemodes">Game Modes & Maps</a></li>
|
||||
<li><a href="#perks">Perks & Difficulty</a></li>
|
||||
<li><a href="#mods">Popular Mods & Mutators</a></li>
|
||||
<li><a href="#startup">Startup Commands</a></li>
|
||||
<li><a href="#troubleshooting">🔧 Troubleshooting</a></li>
|
||||
<li><a href="#resources">Resources</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Common Tasks</h2>
|
||||
<h2 id="overview">Overview</h2>
|
||||
<p><strong>Killing Floor</strong> is the original co-op horror FPS that started the franchise. Based on the Unreal Tournament 2004 mod, up to 6 players fight waves of zombie-like "specimens" in various UK locations. The game combines strategic shopping between waves with intense combat and horrific enemy designs.</p>
|
||||
|
||||
<h3>Starting Your Server</h3>
|
||||
<p>Servers are automatically started after creation. You can stop/start your server from the control panel.</p>
|
||||
<p>Originally a mod released in 2005, the standalone game launched in 2009 and built a massive following. Players select from 7 Perk classes, each with unique weapons and passive abilities that level up through gameplay. The final wave always features the terrifying Patriarch boss.</p>
|
||||
|
||||
<h3>Connecting to Your Server</h3>
|
||||
<p>Use your server's IP address and port to connect from the game client.</p>
|
||||
|
||||
<h3>Managing Files</h3>
|
||||
<p>Access your server files via FTP using the credentials provided in your control panel.</p>
|
||||
|
||||
<h2>Support</h2>
|
||||
<p>If you need assistance with your Killing Floor server:</p>
|
||||
<h3>Key Features</h3>
|
||||
<ul>
|
||||
<li>Check our <a href="/docs.php?action=view&doc=common-issues">Common Issues</a> guide</li>
|
||||
<li>Contact support through your account dashboard</li>
|
||||
<li>Visit the official Killing Floor community for game-specific help</li>
|
||||
<li><strong>7 Perk Classes:</strong> Berserker, Commando, Support Specialist, Sharpshooter, Medic, Demolitionist, Firebug</li>
|
||||
<li><strong>Wave-Based Survival:</strong> 4, 7, or 10 waves with boss finale</li>
|
||||
<li><strong>The Patriarch:</strong> Iconic final boss with multiple attack phases</li>
|
||||
<li><strong>Trader System:</strong> Buy weapons and armor between waves</li>
|
||||
<li><strong>Persistent Leveling:</strong> Perks level from 0-6 through gameplay achievements</li>
|
||||
<li><strong>Difficulty Levels:</strong> Beginner, Normal, Hard, Suicidal, Hell on Earth</li>
|
||||
<li><strong>Mod Support:</strong> Extensive mutator and custom map community</li>
|
||||
<li><strong>British Horror Theme:</strong> Dark humor and UK locations</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="ports">🔌 Ports & Firewall Configuration</h2>
|
||||
|
||||
<h3>Required Ports</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; margin: 20px 0; background: #0f172a; border-radius: 8px; overflow: hidden;">
|
||||
<thead>
|
||||
<tr style="background: #1e293b;">
|
||||
<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; font-family: monospace; color: #a5b4fc;">7707</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Game server (main connection)</td>
|
||||
<td style="padding: 12px; color: #22c55e; font-weight: bold;">✓ Yes</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px; font-family: monospace; color: #a5b4fc;">7708</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Query port (server browser)</td>
|
||||
<td style="padding: 12px; color: #22c55e; font-weight: bold;">✓ Yes</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px; font-family: monospace; color: #a5b4fc;">8075</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #3b82f6; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">TCP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Web Admin interface</td>
|
||||
<td style="padding: 12px; color: #94a3b8;">Optional (Recommended)</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px; font-family: monospace; color: #a5b4fc;">28852</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Steam master server port</td>
|
||||
<td style="padding: 12px; color: #94a3b8;">Optional</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="background: #1e3a5f; padding: 15px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<p style="color: #e5e7eb; margin: 0;"><strong>💡 Note:</strong> Port numbers are configurable. Defaults shown above. Multiple servers require unique port combinations (e.g., Game: 7707, 7717; Query: 7708, 7718).</p>
|
||||
</div>
|
||||
|
||||
<h3>Firewall Configuration Examples</h3>
|
||||
|
||||
<h4>Ubuntu/Debian (UFW)</h4>
|
||||
<pre><code># Allow KF game port
|
||||
sudo ufw allow 7707/udp
|
||||
|
||||
# Allow query port (server browser)
|
||||
sudo ufw allow 7708/udp
|
||||
|
||||
# Allow Web Admin (if using)
|
||||
sudo ufw allow 8075/tcp
|
||||
|
||||
# Steam master server port (optional)
|
||||
sudo ufw allow 28852/udp
|
||||
|
||||
# Enable firewall
|
||||
sudo ufw enable
|
||||
sudo ufw status
|
||||
</code></pre>
|
||||
|
||||
<h4>CentOS/RHEL (FirewallD)</h4>
|
||||
<pre><code># Add KF ports
|
||||
sudo firewall-cmd --permanent --add-port=7707/udp
|
||||
sudo firewall-cmd --permanent --add-port=7708/udp
|
||||
sudo firewall-cmd --permanent --add-port=8075/tcp
|
||||
sudo firewall-cmd --permanent --add-port=28852/udp
|
||||
sudo firewall-cmd --reload
|
||||
sudo firewall-cmd --list-ports
|
||||
</code></pre>
|
||||
|
||||
<h4>Windows Firewall (PowerShell)</h4>
|
||||
<pre><code># Game server
|
||||
New-NetFirewallRule -DisplayName "KF Game Port" -Direction Inbound -LocalPort 7707 -Protocol UDP -Action Allow
|
||||
|
||||
# Query port
|
||||
New-NetFirewallRule -DisplayName "KF Query Port" -Direction Inbound -LocalPort 7708 -Protocol UDP -Action Allow
|
||||
|
||||
# Web Admin
|
||||
New-NetFirewallRule -DisplayName "KF Web Admin" -Direction Inbound -LocalPort 8075 -Protocol TCP -Action Allow
|
||||
</code></pre>
|
||||
|
||||
<h4>iptables (Advanced)</h4>
|
||||
<pre><code># Allow KF ports
|
||||
iptables -A INPUT -p udp --dport 7707 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 7708 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 8075 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 28852 -j ACCEPT
|
||||
|
||||
# Save rules (Ubuntu/Debian)
|
||||
netfilter-persistent save
|
||||
|
||||
# Save rules (CentOS/RHEL)
|
||||
service iptables save
|
||||
</code></pre>
|
||||
|
||||
<h2 id="installation">Installation</h2>
|
||||
|
||||
<h3>Prerequisites</h3>
|
||||
<ul>
|
||||
<li><strong>SteamCMD</strong> installed (<a href="https://developer.valvesoftware.com/wiki/SteamCMD" target="_blank">Installation Guide</a>)</li>
|
||||
<li>Disk space: ~5 GB for full installation</li>
|
||||
<li>RAM: 2GB minimum, 4GB recommended for 6 players</li>
|
||||
<li>Open firewall ports (7707, 7708 UDP, 8075 TCP)</li>
|
||||
<li>Linux: 32-bit libraries required (older Unreal Engine 2 game)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Linux Installation</h3>
|
||||
<pre><code># Create server directory
|
||||
mkdir -p ~/kf_server
|
||||
cd ~/kf_server
|
||||
|
||||
# Install required 32-bit libraries (Ubuntu/Debian)
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
sudo apt-get install lib32gcc1 libstdc++6:i386
|
||||
|
||||
# Download server files with SteamCMD
|
||||
steamcmd +force_install_dir ~/kf_server +login anonymous +app_update 215350 validate +quit
|
||||
|
||||
# Note: App ID 215350 is for Killing Floor Dedicated Server
|
||||
# Download size is approximately 4-5 GB
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows Installation</h3>
|
||||
<pre><code># Download SteamCMD for Windows
|
||||
# Extract to C:\steamcmd\
|
||||
|
||||
# Create server directory
|
||||
mkdir C:\kf_server
|
||||
|
||||
# Run SteamCMD
|
||||
C:\steamcmd\steamcmd.exe +force_install_dir C:\kf_server +login anonymous +app_update 215350 validate +quit
|
||||
</code></pre>
|
||||
|
||||
<h2 id="configuration">⚙️ Configuration</h2>
|
||||
|
||||
<h3>Main Configuration Files</h3>
|
||||
<p>KF server configuration is in <code>System/</code> directory:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>KillingFloor.ini</strong> - Main server settings (game mode, difficulty, maps)</li>
|
||||
<li><strong>Default.ini</strong> - Engine and network settings</li>
|
||||
<li><strong>User.ini</strong> - Client-side settings (ignore for dedicated server)</li>
|
||||
</ul>
|
||||
|
||||
<h3>KillingFloor.ini (Essential Settings)</h3>
|
||||
<p>Edit <code>System/KillingFloor.ini</code>:</p>
|
||||
<pre><code>[Engine.GameReplicationInfo]
|
||||
ServerName=My Killing Floor Server
|
||||
ShortName=KF Server
|
||||
Region=0 ; 0=US East, 1=US West, 2=Europe, etc.
|
||||
MessageOfTheDay=Welcome to our Killing Floor server!
|
||||
|
||||
[IpDrv.TcpNetDriver]
|
||||
AllowDownloads=True
|
||||
ConnectionTimeout=60.0
|
||||
InitialConnectTimeout=120.0
|
||||
AckTimeout=1.0
|
||||
KeepAliveTime=0.2
|
||||
MaxClientRate=20000
|
||||
MaxInternetClientRate=10000
|
||||
NetServerMaxTickRate=30
|
||||
|
||||
[Engine.GameEngine]
|
||||
EnableDevTools=False
|
||||
bStartWithMatineeCapture=False
|
||||
|
||||
[KFMod.KFGameType]
|
||||
bChangeLevels=False
|
||||
bUsePreStartTimer=True
|
||||
PreStartTime=30
|
||||
bKickVoteEnabled=True
|
||||
KickVotePercentage=0.66
|
||||
bDisableTeamCollision=True
|
||||
StartingCash=250
|
||||
MinRespawnCash=250
|
||||
|
||||
; Game Length (number of waves)
|
||||
KFGameLength=2 ; 0=Short (4 waves), 1=Medium (7 waves), 2=Long (10 waves)
|
||||
|
||||
; Difficulty
|
||||
GameDifficulty=2.0 ; 1.0=Beginner, 2.0=Normal, 4.0=Hard, 5.0=Suicidal, 7.0=Hell on Earth
|
||||
|
||||
; Enable/disable monsters
|
||||
bEnableStaticSpecimens=False ; Static (non-moving) specimens
|
||||
|
||||
[Engine.AccessControl]
|
||||
AdminPassword=YourAdminPassword
|
||||
GamePassword= ; Leave empty for public server
|
||||
|
||||
[IpDrv.MasterServerUplink]
|
||||
DoUplink=True
|
||||
UplinkToGamespy=True
|
||||
ServerBehindNAT=False ; Set to True if server is behind NAT/router
|
||||
|
||||
[WebAdmin.WebAdmin]
|
||||
bEnabled=True
|
||||
ListenPort=8075
|
||||
|
||||
</code></pre>
|
||||
|
||||
<h3>Difficulty Levels</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;">Difficulty</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Value</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Specimen Health</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Beginner</strong></td>
|
||||
<td style="padding: 12px;"><code>1.0</code></td>
|
||||
<td style="padding: 12px;">50%</td>
|
||||
<td style="padding: 12px;">New players learning the game</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Normal</strong></td>
|
||||
<td style="padding: 12px;"><code>2.0</code></td>
|
||||
<td style="padding: 12px;">100%</td>
|
||||
<td style="padding: 12px;">Standard difficulty</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Hard</strong></td>
|
||||
<td style="padding: 12px;"><code>4.0</code></td>
|
||||
<td style="padding: 12px;">150%</td>
|
||||
<td style="padding: 12px;">Challenging gameplay</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Suicidal</strong></td>
|
||||
<td style="padding: 12px;"><code>5.0</code></td>
|
||||
<td style="padding: 12px;">200%</td>
|
||||
<td style="padding: 12px;">Very difficult, experienced teams</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Hell on Earth</strong></td>
|
||||
<td style="padding: 12px;"><code>7.0</code></td>
|
||||
<td style="padding: 12px;">250%</td>
|
||||
<td style="padding: 12px;">Extreme challenge, elite players</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="webadmin">Web Admin Interface</h2>
|
||||
|
||||
<h3>Enabling Web Admin</h3>
|
||||
<p>Edit <code>System/KillingFloor.ini</code>:</p>
|
||||
<pre><code>[WebAdmin.WebAdmin]
|
||||
bEnabled=True
|
||||
ListenPort=8075
|
||||
</code></pre>
|
||||
|
||||
<h3>Accessing Web Admin</h3>
|
||||
<p>Open browser to: <code>http://your-server-ip:8075</code></p>
|
||||
|
||||
<p>Default login: <strong>Admin</strong> with the password set in <code>AdminPassword</code> in KillingFloor.ini</p>
|
||||
|
||||
<h4>Web Admin Features</h4>
|
||||
<ul>
|
||||
<li><strong>Current Game:</strong> View players, kick/ban, change map</li>
|
||||
<li><strong>Settings:</strong> Change difficulty, game length, server name</li>
|
||||
<li><strong>Chat Log:</strong> Monitor in-game chat</li>
|
||||
<li><strong>Access Policy:</strong> Manage bans and IP restrictions</li>
|
||||
<li><strong>Console:</strong> Execute server commands</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="gamemodes">Game Modes & Maps</h2>
|
||||
|
||||
<h3>Game Modes</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;">Mode</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Waves</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Story Mode</strong></td>
|
||||
<td style="padding: 12px;">Standard wave-based survival with Patriarch finale</td>
|
||||
<td style="padding: 12px;">4, 7, or 10 + Boss</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Objective Mode</strong></td>
|
||||
<td style="padding: 12px;">Complete map-specific objectives while surviving waves</td>
|
||||
<td style="padding: 12px;">Varies by map</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Official Maps (Selection)</h3>
|
||||
<ul>
|
||||
<li><strong>KF-BioticsLab</strong> - Horzine research facility (original)</li>
|
||||
<li><strong>KF-Farm</strong> - Creepy countryside farm</li>
|
||||
<li><strong>KF-Manor</strong> - Gothic mansion</li>
|
||||
<li><strong>KF-WestLondon</strong> - London streets and Underground</li>
|
||||
<li><strong>KF-Offices</strong> - Office building</li>
|
||||
<li><strong>KF-Hospital</strong> - Abandoned hospital</li>
|
||||
<li><strong>KF-Wyre</strong> - Coastal town</li>
|
||||
<li><strong>KF-Bedlam</strong> - Asylum (part of Twisted Christmas)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Map Rotation Configuration</h3>
|
||||
<p>Edit <code>System/KillingFloor.ini</code>:</p>
|
||||
<pre><code>[KFMod.KFGameType]
|
||||
Maps=KF-BioticsLab
|
||||
Maps=KF-Farm
|
||||
Maps=KF-Manor
|
||||
Maps=KF-WestLondon
|
||||
Maps=KF-Offices
|
||||
|
||||
; Enable map voting
|
||||
bUseMapVote=True
|
||||
MapVotePercentage=0.50
|
||||
</code></pre>
|
||||
|
||||
<h2 id="perks">Perks & Classes</h2>
|
||||
|
||||
<h3>The 7 Perks</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;">Perk</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Role</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Primary Weapons</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Level Cap</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Berserker</strong></td>
|
||||
<td style="padding: 12px;">Tank/Melee DPS</td>
|
||||
<td style="padding: 12px;">Katana, Claymore, Fire Axe</td>
|
||||
<td style="padding: 12px;">6</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Commando</strong></td>
|
||||
<td style="padding: 12px;">Trash Cleaner</td>
|
||||
<td style="padding: 12px;">SCAR, Bullpup, AK-47</td>
|
||||
<td style="padding: 12px;">6</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Support Specialist</strong></td>
|
||||
<td style="padding: 12px;">Shotgun Expert</td>
|
||||
<td style="padding: 12px;">AA12, Hunting Shotgun</td>
|
||||
<td style="padding: 12px;">6</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Sharpshooter</strong></td>
|
||||
<td style="padding: 12px;">Precision Sniper</td>
|
||||
<td style="padding: 12px;">Crossbow, M14 EBR, Lever Action</td>
|
||||
<td style="padding: 12px;">6</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Medic</strong></td>
|
||||
<td style="padding: 12px;">Healer/Support</td>
|
||||
<td style="padding: 12px;">MP7M, MP5M</td>
|
||||
<td style="padding: 12px;">6</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Demolitionist</strong></td>
|
||||
<td style="padding: 12px;">Explosive Specialist</td>
|
||||
<td style="padding: 12px;">M79, M32, LAW, Pipe Bombs</td>
|
||||
<td style="padding: 12px;">6</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Firebug</strong></td>
|
||||
<td style="padding: 12px;">Area Denial/DoT</td>
|
||||
<td style="padding: 12px;">Flamethrower, MAC-10</td>
|
||||
<td style="padding: 12px;">6</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Perk Leveling</h3>
|
||||
<p>Perks level from 0 to 6 based on completing requirements:</p>
|
||||
<ul>
|
||||
<li><strong>Level 0:</strong> Starting bonuses (small damage/discount)</li>
|
||||
<li><strong>Level 6:</strong> Maximum bonuses (significant damage, discount, special abilities)</li>
|
||||
<li>Leveling requires kills with perk weapons, healing (Medic), welding (Support), etc.</li>
|
||||
<li>Progress persists across servers using Steam ID</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="mods">Popular Mods & Mutators</h2>
|
||||
|
||||
<h3>Installing Mutators</h3>
|
||||
<p>Place mutator files in <code>System/</code> directory, then add to <code>KillingFloor.ini</code>:</p>
|
||||
<pre><code>[Engine.GameEngine]
|
||||
ServerActors=MyMutator.MyMutatorClass
|
||||
ServerPackages=MyMutator
|
||||
</code></pre>
|
||||
|
||||
<h3>Popular Mutators</h3>
|
||||
<ul>
|
||||
<li><strong>Zed Time Extension:</strong> Extends slow-motion "Zed Time" duration</li>
|
||||
<li><strong>Golden Weapons:</strong> Adds powerful golden variants of standard weapons</li>
|
||||
<li><strong>KF Classic Characters:</strong> Original character models from the mod</li>
|
||||
<li><strong>Siren Scream Multiplier:</strong> Modifies Siren difficulty</li>
|
||||
<li><strong>Server Perks:</strong> Custom perk systems with additional bonuses</li>
|
||||
<li><strong>Custom Trader Inventory:</strong> Modified weapon shops</li>
|
||||
<li><strong>Faked Players:</strong> Adjusts difficulty scaling for smaller teams</li>
|
||||
</ul>
|
||||
|
||||
<h3>WhiteList Mode (Custom Content)</h3>
|
||||
<p>Allow custom maps and mutators:</p>
|
||||
<pre><code>[IpDrv.TcpNetDriver]
|
||||
AllowDownloads=True
|
||||
|
||||
[Engine.GameEngine]
|
||||
CacheSizeMegs=32
|
||||
</code></pre>
|
||||
|
||||
<h2 id="startup">Startup Commands</h2>
|
||||
|
||||
<h3>Linux</h3>
|
||||
<pre><code>#!/bin/bash
|
||||
# start_kf.sh
|
||||
|
||||
cd ~/kf_server/System
|
||||
|
||||
./ucc-bin server KF-BioticsLab.rom?game=KFMod.KFGameType?VACSecured=true \
|
||||
-nohomedir \
|
||||
-ini=KillingFloor.ini \
|
||||
-port=7707 \
|
||||
-queryport=7708
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows</h3>
|
||||
<pre><code>@echo off
|
||||
REM start_kf.bat
|
||||
|
||||
cd C:\kf_server\System
|
||||
|
||||
KillingFloor.exe server KF-BioticsLab.rom?game=KFMod.KFGameType?VACSecured=true ^
|
||||
-ini=KillingFloor.ini ^
|
||||
-port=7707 ^
|
||||
-queryport=7708
|
||||
</code></pre>
|
||||
|
||||
<h3>Startup Parameters</h3>
|
||||
<ul>
|
||||
<li><code>server MapName.rom</code> - Start with specific map</li>
|
||||
<li><code>?game=KFMod.KFGameType</code> - Specify game mode</li>
|
||||
<li><code>?VACSecured=true</code> - Enable VAC anti-cheat</li>
|
||||
<li><code>-port=7707</code> - Game port</li>
|
||||
<li><code>-queryport=7708</code> - Server browser port</li>
|
||||
<li><code>-nohomedir</code> - (Linux) Don't use home directory for configs</li>
|
||||
<li><code>-ini=KillingFloor.ini</code> - Specify config file</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
|
||||
|
||||
<h3>Server Not in Browser</h3>
|
||||
<pre><code># Check ports are open
|
||||
netstat -an | grep 7707
|
||||
netstat -an | grep 7708
|
||||
|
||||
# Verify UplinkToGamespy in KillingFloor.ini
|
||||
[IpDrv.MasterServerUplink]
|
||||
DoUplink=True
|
||||
UplinkToGamespy=True
|
||||
|
||||
# Wait 5-10 minutes for Steam master server registration
|
||||
</code></pre>
|
||||
|
||||
<h3>Web Admin Won't Load</h3>
|
||||
<pre><code># Verify bEnabled in KillingFloor.ini
|
||||
[WebAdmin.WebAdmin]
|
||||
bEnabled=True
|
||||
ListenPort=8075
|
||||
|
||||
# Check firewall allows TCP 8075
|
||||
# Try: http://127.0.0.1:8075 locally first
|
||||
</code></pre>
|
||||
|
||||
<h3>Performance Issues</h3>
|
||||
<ul>
|
||||
<li>Reduce <code>MaxPlayers</code> in KillingFloor.ini</li>
|
||||
<li>Lower <code>NetServerMaxTickRate=20</code></li>
|
||||
<li>Disable complex mutators</li>
|
||||
<li>Use <code>-benchmark</code> flag to test server performance</li>
|
||||
</ul>
|
||||
|
||||
<h3>Custom Maps Not Downloading</h3>
|
||||
<pre><code># Enable downloads in KillingFloor.ini
|
||||
[IpDrv.TcpNetDriver]
|
||||
AllowDownloads=True
|
||||
ConnectionTimeout=60.0
|
||||
|
||||
# Set up redirect (FastDL)
|
||||
DownloadManagers=IpDrv.HTTPDownload
|
||||
|
||||
[IpDrv.HTTPDownload]
|
||||
RedirectToURL=http://yourdomain.com/kf/
|
||||
</code></pre>
|
||||
|
||||
<h3>Perk Progress Not Saving</h3>
|
||||
<ul>
|
||||
<li>Ensure server connects to Steam (<code>VACSecured=true</code>)</li>
|
||||
<li>Players must be logged into Steam</li>
|
||||
<li>Check <code>System/KFStatsAndAchievements.ini</code> for errors</li>
|
||||
<li>Perk data stored server-side via Steam ID</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-exclamation-triangle" style="color: #fbbf24; margin-right: 8px;"></i>Important Notes</h3>
|
||||
<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>Always keep your server updated to the latest version</li>
|
||||
<li>Make regular backups of your server configuration</li>
|
||||
<li>Review and follow the game's End User License Agreement (EULA)</li>
|
||||
<li><strong>Web Admin Essential:</strong> Much easier than console commands</li>
|
||||
<li><strong>Balanced Perks:</strong> Encourage teams to use diverse perk combinations</li>
|
||||
<li><strong>Medic Critical:</strong> At least one Medic greatly improves survival rates</li>
|
||||
<li><strong>Classic Maps:</strong> BioticsLab, Farm, and WestLondon are community favorites</li>
|
||||
<li><strong>Suicidal+ Only:</strong> Most active players prefer Suicidal and Hell on Earth</li>
|
||||
<li><strong>Mutators:</strong> Use sparingly - too many can cause instability</li>
|
||||
<li><strong>VAC Secured:</strong> Always enable for legitimate perk progression</li>
|
||||
<li><strong>Custom Content:</strong> Active custom map community, but test before adding to rotation</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 id="resources">Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://wiki.killingfloor.com/index.php?title=Main_Page" target="_blank">Killing Floor Wiki</a></li>
|
||||
<li><a href="https://forums.tripwireinteractive.com/index.php?forums/killingfloor.3/" target="_blank">Tripwire Interactive Official Forums</a></li>
|
||||
<li><a href="https://steamcommunity.com/app/1250/discussions/" target="_blank">Steam Community Discussions</a></li>
|
||||
<li><a href="https://github.com/InsultingPros/KFStatsX" target="_blank">KFStatsX - Server Statistics</a></li>
|
||||
<li><a href="http://kf-board.com/" target="_blank">KF-Board - Custom Content Repository</a></li>
|
||||
</ul>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Killing Floor",
|
||||
"description": "Setup and configuration guide for Killing Floor game servers",
|
||||
"description": "Comprehensive guide for Killing Floor dedicated servers with Web Admin, all 7 perks (level 0-6), difficulty levels (Beginner to Hell on Earth), mutator support, and wave-based co-op survival hosting on Unreal Engine 2.5",
|
||||
"category": "game",
|
||||
"order": 25,
|
||||
"complete": false
|
||||
"complete": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,66 +3,590 @@
|
|||
* Killing Floor 2 Server Documentation
|
||||
*/
|
||||
?>
|
||||
<h1>Killing Floor 2 Server Guide</h1>
|
||||
<h1>📚 Killing Floor 2 Server Guide</h1>
|
||||
|
||||
<h2>Overview</h2>
|
||||
<p><strong>Killing Floor 2</strong> is available for hosting on our platform. This guide covers the basics of setting up and managing your Killing Floor 2 server.</p>
|
||||
<h3 style="color: #94a3b8; margin-top: 8px;">Wave-Based Co-Op Survival - Comprehensive Setup</h3>
|
||||
|
||||
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">Server Information</h3>
|
||||
<ul style="color: #e5e7eb; line-height: 1.8;">
|
||||
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">27015</code></li>
|
||||
<li><strong style="color: #ffffff;">Protocol:</strong> UDP</li>
|
||||
<li><strong style="color: #ffffff;">Additional Info:</strong> Query port is 27016 UDP, Web Admin 8080 TCP</li>
|
||||
</ul>
|
||||
<p style="color: #e5e7eb; margin-top: 12px; font-size: 0.95em;">
|
||||
<em>Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.</em>
|
||||
</p>
|
||||
<div style="background: #1e3a5f; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #3b82f6;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">📋 Quick Info</h3>
|
||||
<table style="width: 100%; color: #e5e7eb;">
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Engine:</strong></td><td>Unreal Engine 3 (Modified)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Developer:</strong></td><td>Tripwire Interactive</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">App ID:</strong></td><td>232130</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Game Port:</strong></td><td>7777 UDP (default)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Query Port:</strong></td><td>27015 UDP (default)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Web Admin:</strong></td><td>8080 TCP (default)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Max Players:</strong></td><td>6 (standard), up to 32 with mods</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Game Modes:</strong></td><td>Survival, Endless, Weekly Outbreak, Versus Survival</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Perks:</strong></td><td>10 unique classes (Berserker, Commando, Medic, etc.)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Platform:</strong></td><td>Windows, Linux</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>Getting Started</h2>
|
||||
<p>To create a Killing Floor 2 server:</p>
|
||||
<ol>
|
||||
<li>Navigate to the <a href="/serverlist.php">Game Servers</a> page</li>
|
||||
<li>Find <strong>Killing Floor 2</strong> in the list</li>
|
||||
<li>Select your preferred configuration (slots, duration, etc.)</li>
|
||||
<li>Add to cart and complete checkout</li>
|
||||
<li>Your server will be automatically provisioned within minutes</li>
|
||||
</ol>
|
||||
|
||||
<h2>Server Configuration</h2>
|
||||
<p>After your server is created, you can configure it through the control panel:</p>
|
||||
<ul>
|
||||
<li>Server settings and parameters</li>
|
||||
<li>Player slots and limits</li>
|
||||
<li>RCON/remote control access</li>
|
||||
<li>FTP file access</li>
|
||||
<h3 style="margin-top: 30px;">Navigation</h3>
|
||||
<ul style="line-height: 2; font-size: 1.05em;">
|
||||
<li><a href="#overview">Overview</a></li>
|
||||
<li><a href="#ports">🔌 Ports & Firewall</a></li>
|
||||
<li><a href="#installation">Installation</a></li>
|
||||
<li><a href="#configuration">⚙️ Configuration</a></li>
|
||||
<li><a href="#webadmin">Web Admin Interface</a></li>
|
||||
<li><a href="#gamemodes">Game Modes & Maps</a></li>
|
||||
<li><a href="#perks">Perks & Difficulty</a></li>
|
||||
<li><a href="#startup">Startup Commands</a></li>
|
||||
<li><a href="#troubleshooting">🔧 Troubleshooting</a></li>
|
||||
<li><a href="#resources">Resources</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Common Tasks</h2>
|
||||
<h2 id="overview">Overview</h2>
|
||||
<p><strong>Killing Floor 2</strong> is a brutal wave-based co-op FPS where teams of up to 6 players fight through hordes of genetically engineered monsters (Zeds) developed by the Horzine Biotech Corporation. Each player selects a unique Perk class with specialized weapons and abilities.</p>
|
||||
|
||||
<h3>Starting Your Server</h3>
|
||||
<p>Servers are automatically started after creation. You can stop/start your server from the control panel.</p>
|
||||
<p>The game features a sophisticated economy system where players earn "Dosh" during waves to buy weapons, ammo, and armor. Between waves, players strategically shop at Trader Pods scattered across maps. The action culminates in an epic boss battle after the final wave.</p>
|
||||
|
||||
<h3>Connecting to Your Server</h3>
|
||||
<p>Use your server's IP address and port to connect from the game client.</p>
|
||||
|
||||
<h3>Managing Files</h3>
|
||||
<p>Access your server files via FTP using the credentials provided in your control panel.</p>
|
||||
|
||||
<h2>Support</h2>
|
||||
<p>If you need assistance with your Killing Floor 2 server:</p>
|
||||
<h3>Key Features</h3>
|
||||
<ul>
|
||||
<li>Check our <a href="/docs.php?action=view&doc=common-issues">Common Issues</a> guide</li>
|
||||
<li>Contact support through your account dashboard</li>
|
||||
<li>Visit the official Killing Floor 2 community for game-specific help</li>
|
||||
<li><strong>10 Perk Classes:</strong> Berserker, Commando, Medic, Demolitionist, Firebug, Gunslinger, Sharpshooter, Support, SWAT, Survivalist</li>
|
||||
<li><strong>Wave-Based Survival:</strong> 4, 7, or 10 waves with scaling difficulty</li>
|
||||
<li><strong>Boss Fights:</strong> Multiple unique bosses (Hans Volter, Patriarch, King Fleshpound, etc.)</li>
|
||||
<li><strong>MEAT System:</strong> Realistic gore and dismemberment system</li>
|
||||
<li><strong>Weapon Trading:</strong> Buy, upgrade, and share weapons with teammates</li>
|
||||
<li><strong>Difficulty Levels:</strong> Normal, Hard, Suicidal, Hell on Earth</li>
|
||||
<li><strong>Weekly Outbreaks:</strong> Special modifiers and challenges rotate weekly</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="ports">🔌 Ports & Firewall Configuration</h2>
|
||||
|
||||
<h3>Required Ports</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; margin: 20px 0; background: #0f172a; border-radius: 8px; overflow: hidden;">
|
||||
<thead>
|
||||
<tr style="background: #1e293b;">
|
||||
<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; font-family: monospace; color: #a5b4fc;">7777</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Game server (main connection)</td>
|
||||
<td style="padding: 12px; color: #22c55e; font-weight: bold;">✓ Yes</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px; font-family: monospace; color: #a5b4fc;">27015</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Query port (server browser)</td>
|
||||
<td style="padding: 12px; color: #22c55e; font-weight: bold;">✓ Yes</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px; font-family: monospace; color: #a5b4fc;">8080</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #3b82f6; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">TCP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Web Admin interface</td>
|
||||
<td style="padding: 12px; color: #94a3b8;">Optional (Recommended)</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px; font-family: monospace; color: #a5b4fc;">20560</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Steam server list port</td>
|
||||
<td style="padding: 12px; color: #94a3b8;">Optional</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="background: #1e3a5f; padding: 15px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<p style="color: #e5e7eb; margin: 0;"><strong>💡 Note:</strong> Port numbers are configurable. Defaults shown above. Multiple servers require unique port combinations (e.g., Game: 7777, 7778; Query: 27015, 27016).</p>
|
||||
</div>
|
||||
|
||||
<h3>Firewall Configuration Examples</h3>
|
||||
|
||||
<h4>Ubuntu/Debian (UFW)</h4>
|
||||
<pre><code># Allow KF2 game port
|
||||
sudo ufw allow 7777/udp
|
||||
|
||||
# Allow query port (server browser)
|
||||
sudo ufw allow 27015/udp
|
||||
|
||||
# Allow Web Admin (if using)
|
||||
sudo ufw allow 8080/tcp
|
||||
|
||||
# Steam port (optional)
|
||||
sudo ufw allow 20560/udp
|
||||
|
||||
# Enable firewall
|
||||
sudo ufw enable
|
||||
sudo ufw status
|
||||
</code></pre>
|
||||
|
||||
<h4>CentOS/RHEL (FirewallD)</h4>
|
||||
<pre><code># Add KF2 ports
|
||||
sudo firewall-cmd --permanent --add-port=7777/udp
|
||||
sudo firewall-cmd --permanent --add-port=27015/udp
|
||||
sudo firewall-cmd --permanent --add-port=8080/tcp
|
||||
sudo firewall-cmd --permanent --add-port=20560/udp
|
||||
sudo firewall-cmd --reload
|
||||
sudo firewall-cmd --list-ports
|
||||
</code></pre>
|
||||
|
||||
<h4>Windows Firewall (PowerShell)</h4>
|
||||
<pre><code># Game server
|
||||
New-NetFirewallRule -DisplayName "KF2 Game Port" -Direction Inbound -LocalPort 7777 -Protocol UDP -Action Allow
|
||||
|
||||
# Query port
|
||||
New-NetFirewallRule -DisplayName "KF2 Query Port" -Direction Inbound -LocalPort 27015 -Protocol UDP -Action Allow
|
||||
|
||||
# Web Admin
|
||||
New-NetFirewallRule -DisplayName "KF2 Web Admin" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow
|
||||
</code></pre>
|
||||
|
||||
<h4>iptables (Advanced)</h4>
|
||||
<pre><code># Allow KF2 ports
|
||||
iptables -A INPUT -p udp --dport 7777 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 27015 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 20560 -j ACCEPT
|
||||
|
||||
# Save rules (Ubuntu/Debian)
|
||||
netfilter-persistent save
|
||||
|
||||
# Save rules (CentOS/RHEL)
|
||||
service iptables save
|
||||
</code></pre>
|
||||
|
||||
<h2 id="installation">Installation</h2>
|
||||
|
||||
<h3>Prerequisites</h3>
|
||||
<ul>
|
||||
<li><strong>SteamCMD</strong> installed (<a href="https://developer.valvesoftware.com/wiki/SteamCMD" target="_blank">Installation Guide</a>)</li>
|
||||
<li>Disk space: ~30 GB for full installation</li>
|
||||
<li>RAM: 4GB minimum, 8GB recommended for 6 players</li>
|
||||
<li>Open firewall ports (7777, 27015, 8080 TCP)</li>
|
||||
<li>Linux: 64-bit system with required libraries</li>
|
||||
</ul>
|
||||
|
||||
<h3>Linux Installation</h3>
|
||||
<pre><code># Create server directory
|
||||
mkdir -p ~/kf2_server
|
||||
cd ~/kf2_server
|
||||
|
||||
# Install required libraries (Ubuntu/Debian)
|
||||
sudo apt-get update
|
||||
sudo apt-get install libstdc++6:i386 lib32gcc1 libcurl4-gnutls-dev:i386
|
||||
|
||||
# Download server files with SteamCMD
|
||||
steamcmd +force_install_dir ~/kf2_server +login anonymous +app_update 232130 validate +quit
|
||||
|
||||
# Note: App ID 232130 is for Killing Floor 2 Dedicated Server
|
||||
# Download size is approximately 25-30 GB
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows Installation</h3>
|
||||
<pre><code># Download SteamCMD for Windows
|
||||
# Extract to C:\steamcmd\
|
||||
|
||||
# Create server directory
|
||||
mkdir C:\kf2_server
|
||||
|
||||
# Run SteamCMD
|
||||
C:\steamcmd\steamcmd.exe +force_install_dir C:\kf2_server +login anonymous +app_update 232130 validate +quit
|
||||
</code></pre>
|
||||
|
||||
<h2 id="configuration">⚙️ Configuration</h2>
|
||||
|
||||
<h3>Main Configuration Files</h3>
|
||||
<p>KF2 server configuration is split across multiple .ini files in <code>KFGame/Config/</code>:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>PCServer-KFGame.ini</strong> - Main server settings (game mode, difficulty, maps)</li>
|
||||
<li><strong>PCServer-KFEngine.ini</strong> - Engine settings (ports, web admin, network)</li>
|
||||
<li><strong>KFWeb.ini</strong> - Web Admin configuration</li>
|
||||
</ul>
|
||||
|
||||
<h3>PCServer-KFEngine.ini (Essential Settings)</h3>
|
||||
<p>Edit <code>KFGame/Config/PCServer-KFEngine.ini</code>:</p>
|
||||
<pre><code>[Engine.GameReplicationInfo]
|
||||
ServerName=My Killing Floor 2 Server
|
||||
ShortName=KF2
|
||||
|
||||
[IpDrv.TcpNetDriver]
|
||||
AllowDownloads=True
|
||||
ConnectionTimeout=60.0
|
||||
InitialConnectTimeout=120.0
|
||||
MaxClientRate=20000
|
||||
MaxInternetClientRate=10000
|
||||
NetServerMaxTickRate=30
|
||||
LanServerMaxTickRate=35
|
||||
|
||||
[OnlineSubsystemSteamworks.KFWorkshopSteamworks]
|
||||
ServerSubscribedWorkshopItems= # Add Workshop item IDs here
|
||||
|
||||
[IpDrv.TcpNetDriver]
|
||||
DownloadManagers=IpDrv.HTTPDownload
|
||||
|
||||
[IpDrv.HTTPDownload]
|
||||
# Set up FastDL (optional)
|
||||
# RedirectToURL=http://yourfastdl.com/kf2/
|
||||
|
||||
[Engine.AccessControl]
|
||||
AdminPassword=YourAdminPassword
|
||||
GamePassword= # Leave empty for public server
|
||||
|
||||
[SystemSettings]
|
||||
ResX=800
|
||||
ResY=600
|
||||
</code></pre>
|
||||
|
||||
<h3>PCServer-KFGame.ini (Game Settings)</h3>
|
||||
<p>Edit <code>KFGame/Config/PCServer-KFGame.ini</code>:</p>
|
||||
<pre><code>[KFGame.KFGameInfo]
|
||||
ServerName=My KF2 Server
|
||||
GameDifficulty=1 # 0=Normal, 1=Hard, 2=Suicidal, 3=Hell on Earth
|
||||
GameLength=1 # 0=4 waves, 1=7 waves, 2=10 waves
|
||||
bDisableMapVote=False
|
||||
MapVoteDuration=30
|
||||
|
||||
[Engine.Game]
|
||||
MaxPlayers=6
|
||||
MaxSpectators=2
|
||||
|
||||
[KFGame.KFGameReplicationInfo]
|
||||
bAllowGrenade=True
|
||||
|
||||
[SystemSettings]
|
||||
bAllowBulletHitDecals=True
|
||||
bAllowBloodDecals=True
|
||||
|
||||
# Map Rotation
|
||||
[KFGame.KFMapSummary]
|
||||
MapAssociation=(Name="KF-BurningParis",bUsesAuth=False)
|
||||
MapAssociation=(Name="KF-BlackForest",bUsesAuth=False)
|
||||
MapAssociation=(Name="KF-ContainmentStation",bUsesAuth=False)
|
||||
# Add more maps as needed
|
||||
|
||||
[KFGame.KFGameInfo_Survival]
|
||||
GameLengthOptions=(Name="Short", Weight=0)
|
||||
GameLengthOptions=(Name="Medium", Weight=1)
|
||||
GameLengthOptions=(Name="Long", Weight=2)
|
||||
</code></pre>
|
||||
|
||||
<h3>Difficulty Levels</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;">Difficulty</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Value</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Zed Health</th>
|
||||
<th style="padding: #12px; text-align: left; color: #ffffff;">Recommended For</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Normal</strong></td>
|
||||
<td style="padding: 12px;"><code>0</code></td>
|
||||
<td style="padding: 12px;">100%</td>
|
||||
<td style="padding: 12px;">New players, casual play</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Hard</strong></td>
|
||||
<td style="padding: 12px;"><code>1</code></td>
|
||||
<td style="padding: 12px;">135%</td>
|
||||
<td style="padding: 12px;">Intermediate players</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Suicidal</strong></td>
|
||||
<td style="padding: 12px;"><code>2</code></td>
|
||||
<td style="padding: 12px;">185%</td>
|
||||
<td style="padding: 12px;">Experienced teams</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Hell on Earth</strong></td>
|
||||
<td style="padding: 12px;"><code>3</code></td>
|
||||
<td style="padding: 12px;">255%</td>
|
||||
<td style="padding: 12px;">Elite players, competitive</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="webadmin">Web Admin Interface</h2>
|
||||
|
||||
<h3>Enabling Web Admin</h3>
|
||||
<p>Edit <code>KFGame/Config/KFWeb.ini</code>:</p>
|
||||
<pre><code>[IpDrv.WebServer]
|
||||
bEnabled=True
|
||||
ListenPort=8080
|
||||
|
||||
[WebAdmin.WebAdmin]
|
||||
bEnabled=True
|
||||
AuthenticationClass=WebAdmin.MultiWebAdminAuth
|
||||
|
||||
[WebAdmin.Chatlog]
|
||||
Filename=../Logs/chat.log
|
||||
bIncludeTimeStamp=True
|
||||
</code></pre>
|
||||
|
||||
<h3>Creating Admin Account</h3>
|
||||
<pre><code># First admin created automatically at first Web Admin access
|
||||
# Or manually edit: KFGame/Config/KFWebAdmin.ini
|
||||
|
||||
[WebAdmin.WebAdminSettings]
|
||||
AdminName=admin
|
||||
Password=yourpassword # Will be hashed on first use
|
||||
</code></pre>
|
||||
|
||||
<h3>Accessing Web Admin</h3>
|
||||
<p>Open browser to: <code>http://your-server-ip:8080</code></p>
|
||||
|
||||
<h4>Web Admin Features</h4>
|
||||
<ul>
|
||||
<li><strong>Dashboard:</strong> Server status, player count, current map</li>
|
||||
<li><strong>Current Game:</strong> Live player list, kick/ban controls</li>
|
||||
<li><strong>Settings:</strong> Change difficulty, game length, maps</li>
|
||||
<li><strong>Maps:</strong> Manage map rotation and voting</li>
|
||||
<li><strong>Access Policy:</strong> Ban management and IP whitelist</li>
|
||||
<li><strong>Console:</strong> Execute server commands remotely</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="gamemodes">Game Modes & Maps</h2>
|
||||
|
||||
<h3>Game Modes</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;">Mode</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Waves</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Survival</strong></td>
|
||||
<td style="padding: 12px;">Standard wave-based mode with boss at the end</td>
|
||||
<td style="padding: 12px;">4, 7, or 10 + Boss</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Endless</strong></td>
|
||||
<td style="padding: 12px;">Continuous waves with periodic boss fights</td>
|
||||
<td style="padding: 12px;">Infinite</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Weekly Outbreak</strong></td>
|
||||
<td style="padding: 12px;">Rotating special modifiers (Poundemonium, Bobble Zed, etc.)</td>
|
||||
<td style="padding: 12px;">4 waves</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Versus Survival</strong></td>
|
||||
<td style="padding: 12px;">PvP mode - players control Zeds vs Survivors</td>
|
||||
<td style="padding: 12px;">4 rounds</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Official Maps (Selection)</h3>
|
||||
<ul>
|
||||
<li><strong>KF-BurningParis</strong> - Burning streets of Paris</li>
|
||||
<li><strong>KF-BlackForest</strong> - German countryside castle</li>
|
||||
<li><strong>KF-BioticsLab</strong> - Horzine research facility</li>
|
||||
<li><strong>KF-Outpost</strong> - Desert military outpost</li>
|
||||
<li><strong>KF-ContainmentStation</strong> - Space station</li>
|
||||
<li><strong>KF-InfernalRealm</strong> - Halloween-themed hellscape</li>
|
||||
<li><strong>KF-Nightmare</strong> - Twisted carnival</li>
|
||||
<li><strong>KF-Prison</strong> - Abandoned prison facility</li>
|
||||
</ul>
|
||||
|
||||
<h3>Workshop Content</h3>
|
||||
<p>Subscribe to Workshop items and add to <code>PCServer-KFEngine.ini</code>:</p>
|
||||
<pre><code>[OnlineSubsystemSteamworks.KFWorkshopSteamworks]
|
||||
ServerSubscribedWorkshopItems=123456789 # Workshop item ID
|
||||
ServerSubscribedWorkshopItems=987654321 # Add multiple lines for multiple items
|
||||
</code></pre>
|
||||
|
||||
<h2 id="perks">Perks & Classes</h2>
|
||||
|
||||
<h3>The 10 Perks</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;">Perk</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Role</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Primary Weapons</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Berserker</strong></td>
|
||||
<td style="padding: 12px;">Tank/Melee DPS</td>
|
||||
<td style="padding: 12px;">Eviscerator, Pulverizer, Katana</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Commando</strong></td>
|
||||
<td style="padding: 12px;">Trash Killer</td>
|
||||
<td style="padding: 12px;">SCAR, AK-12, M16 M203</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Medic</strong></td>
|
||||
<td style="padding: 12px;">Healer/Support</td>
|
||||
<td style="padding: 12px;">Medic Assault Rifle, HMTech-501</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Demolitionist</strong></td>
|
||||
<td style="padding: 12px;">Explosive Specialist</td>
|
||||
<td style="padding: 12px;">RPG-7, M79, C4</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Firebug</strong></td>
|
||||
<td style="padding: 12px;">Area Denial/DoT</td>
|
||||
<td style="padding: 12px;">Flamethrower, Microwave Gun</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Gunslinger</strong></td>
|
||||
<td style="padding: 12px;">Precision DPS</td>
|
||||
<td style="padding: 12px;">Dual Magnums, AF2011-A1</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Sharpshooter</strong></td>
|
||||
<td style="padding: 12px;">Long-range Sniper</td>
|
||||
<td style="padding: 12px;">M14 EBR, Railgun, Crossbow</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Support</strong></td>
|
||||
<td style="padding: 12px;">Ammo/Armor Specialist</td>
|
||||
<td style="padding: 12px;">AA-12, Doomstick</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>SWAT</strong></td>
|
||||
<td style="padding: 12px;">Close-range Tank</td>
|
||||
<td style="padding: 12px;">Kriss, P90, MP7</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Survivalist</strong></td>
|
||||
<td style="padding: 12px;">Flexible/Hybrid</td>
|
||||
<td style="padding: 12px;">Any weapon type</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2 id="startup">Startup Commands</h2>
|
||||
|
||||
<h3>Linux</h3>
|
||||
<pre><code>#!/bin/bash
|
||||
# start_kf2.sh
|
||||
|
||||
cd ~/kf2_server/Binaries/Win64
|
||||
|
||||
./KFGameSteamServer.bin.x86_64 \
|
||||
KF-BurningParis \
|
||||
?Game=KFGameContent.KFGameInfo_Survival \
|
||||
?Difficulty=1 \
|
||||
?GameLength=1 \
|
||||
?MaxPlayers=6 \
|
||||
-Port=7777 \
|
||||
-QueryPort=27015 \
|
||||
-WebAdminPort=8080
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows</h3>
|
||||
<pre><code>@echo off
|
||||
REM start_kf2.bat
|
||||
|
||||
cd C:\kf2_server\Binaries\Win64
|
||||
|
||||
KFServer.exe KF-BurningParis ^
|
||||
?Game=KFGameContent.KFGameInfo_Survival ^
|
||||
?Difficulty=1 ^
|
||||
?GameLength=1 ^
|
||||
?MaxPlayers=6 ^
|
||||
-Port=7777 ^
|
||||
-QueryPort=27015 ^
|
||||
-WebAdminPort=8080
|
||||
</code></pre>
|
||||
|
||||
<h3>Startup Parameters</h3>
|
||||
<ul>
|
||||
<li><code>KF-MapName</code> - Starting map</li>
|
||||
<li><code>?Game=</code> - Game mode class path</li>
|
||||
<li><code>?Difficulty=</code> - 0-3 (Normal, Hard, Suicidal, Hell on Earth)</li>
|
||||
<li><code>?GameLength=</code> - 0-2 (Short 4 waves, Medium 7, Long 10)</li>
|
||||
<li><code>?MaxPlayers=6</code> - Maximum players</li>
|
||||
<li><code>-Port=7777</code> - Game port</li>
|
||||
<li><code>-QueryPort=27015</code> - Server browser port</li>
|
||||
<li><code>-WebAdminPort=8080</code> - Web Admin port</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
|
||||
|
||||
<h3>Server Not in Browser</h3>
|
||||
<pre><code># Check ports are open
|
||||
netstat -an | grep 7777
|
||||
netstat -an | grep 27015
|
||||
|
||||
# Verify GamePassword is empty in PCServer-KFEngine.ini
|
||||
[Engine.AccessControl]
|
||||
GamePassword=
|
||||
|
||||
# Restart server and wait 5-10 minutes for Steam registration
|
||||
</code></pre>
|
||||
|
||||
<h3>Web Admin Won't Load</h3>
|
||||
<pre><code># Verify KFWeb.ini settings
|
||||
[IpDrv.WebServer]
|
||||
bEnabled=True
|
||||
ListenPort=8080
|
||||
|
||||
# Check firewall allows TCP 8080
|
||||
# Access via: http://server-ip:8080
|
||||
</code></pre>
|
||||
|
||||
<h3>Performance Issues</h3>
|
||||
<ul>
|
||||
<li>Reduce <code>MaxPlayers</code> to 4 or lower</li>
|
||||
<li>Set <code>NetServerMaxTickRate=20</code> in PCServer-KFEngine.ini</li>
|
||||
<li>Lower resolution: <code>ResX=640</code>, <code>ResY=480</code></li>
|
||||
<li>Disable blood decals: <code>bAllowBloodDecals=False</code></li>
|
||||
</ul>
|
||||
|
||||
<h3>Workshop Content Not Downloading</h3>
|
||||
<pre><code># Verify Workshop item IDs in PCServer-KFEngine.ini
|
||||
[OnlineSubsystemSteamworks.KFWorkshopSteamworks]
|
||||
ServerSubscribedWorkshopItems=123456789
|
||||
|
||||
# Check KFGame/Cache/ for downloaded content
|
||||
# Restart server after adding new Workshop items
|
||||
</code></pre>
|
||||
|
||||
<h3>Players Can't Join</h3>
|
||||
<ul>
|
||||
<li>Check firewall allows UDP 7777 and 27015</li>
|
||||
<li>Verify <code>MaxPlayers</code> setting</li>
|
||||
<li>Ensure server isn't password-protected unless intended</li>
|
||||
<li>Check server logs in <code>KFGame/Logs/</code></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-exclamation-triangle" style="color: #fbbf24; margin-right: 8px;"></i>Important Notes</h3>
|
||||
<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>Always keep your server updated to the latest version</li>
|
||||
<li>Make regular backups of your server configuration</li>
|
||||
<li>Review and follow the game's End User License Agreement (EULA)</li>
|
||||
<li><strong>Web Admin:</strong> Essential for remote management - set it up first</li>
|
||||
<li><strong>Balanced Teams:</strong> 6 players is optimal for difficulty scaling</li>
|
||||
<li><strong>Perk Diversity:</strong> Encourage varied perk selection for team synergy</li>
|
||||
<li><strong>Workshop Maps:</strong> Keep official maps for 95% uptime, custom for variety</li>
|
||||
<li><strong>Weekly Outbreaks:</strong> Great for attracting players with fresh challenges</li>
|
||||
<li><strong>Suicidal+:</strong> Most active community plays Suicidal and Hell on Earth</li>
|
||||
<li><strong>Boss Selection:</strong> Can be configured to specific bosses or random</li>
|
||||
<li><strong>FastDL:</strong> Highly recommended for custom maps to reduce join times</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 id="resources">Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://wiki.killingfloor2.com/index.php?title=Dedicated_Server_(Killing_Floor_2)" target="_blank">Official KF2 Dedicated Server Wiki</a></li>
|
||||
<li><a href="https://steamcommunity.com/app/232090/discussions/1/" target="_blank">KF2 Server Hosting Forum</a></li>
|
||||
<li><a href="https://steamcommunity.com/app/232090/workshop/" target="_blank">KF2 Steam Workshop</a></li>
|
||||
<li><a href="https://forums.tripwireinteractive.com/index.php?forums/kf2-server-hosting.125/" target="_blank">Tripwire Interactive Server Hosting Forum</a></li>
|
||||
<li><a href="https://github.com/GenZmeY/KF2-SRV" target="_blank">KF2-SRV - Server Management Scripts</a></li>
|
||||
</ul>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Killing Floor 2",
|
||||
"description": "Setup and configuration guide for Killing Floor 2 game servers",
|
||||
"description": "Comprehensive guide for KF2 dedicated servers with Web Admin, all 10 perks, difficulty levels, Workshop content, and wave-based co-op survival hosting",
|
||||
"category": "game",
|
||||
"order": 26,
|
||||
"complete": false
|
||||
"order": 25,
|
||||
"complete": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,66 +3,510 @@
|
|||
* Left 4 Dead Server Documentation
|
||||
*/
|
||||
?>
|
||||
<h1>Left 4 Dead Server Guide</h1>
|
||||
<h1>📚 Left 4 Dead Server Guide</h1>
|
||||
|
||||
<h2>Overview</h2>
|
||||
<p><strong>Left 4 Dead</strong> is available for hosting on our platform. This guide covers the basics of setting up and managing your Left 4 Dead server.</p>
|
||||
<h3 style="color: #94a3b8; margin-top: 8px;">Original Co-Op Zombie Survival - Comprehensive Setup</h3>
|
||||
|
||||
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">Server Information</h3>
|
||||
<ul style="color: #e5e7eb; line-height: 1.8;">
|
||||
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">27015</code></li>
|
||||
<li><strong style="color: #ffffff;">Protocol:</strong> UDP</li>
|
||||
<li><strong style="color: #ffffff;">Additional Info:</strong> Query port also uses 27015 UDP</li>
|
||||
</ul>
|
||||
<p style="color: #e5e7eb; margin-top: 12px; font-size: 0.95em;">
|
||||
<em>Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.</em>
|
||||
</p>
|
||||
<div style="background: #1e3a5f; padding: 20px; border-radius: 8px; margin: 20px 0; border: 1px solid #3b82f6;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">📋 Quick Info</h3>
|
||||
<table style="width: 100%; color: #e5e7eb;">
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Engine:</strong></td><td>Source Engine</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Developer:</strong></td><td>Valve Corporation</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">App ID:</strong></td><td>222840</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Default Port:</strong></td><td>27015 UDP/TCP</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Max Players:</strong></td><td>8 default (4v4 Versus), up to 32 with mods</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Difficulty:</strong></td><td>Easy, Normal, Advanced, Expert</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Game Modes:</strong></td><td>Campaign, Versus, Survival</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">RCON:</strong></td><td>Supported (same port as game)</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Platform:</strong></td><td>Windows, Linux</td></tr>
|
||||
<tr><td style="padding: 8px 0;"><strong style="color: #a5b4fc;">Control:</strong></td><td>RCON, SourceMod, Console</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>Getting Started</h2>
|
||||
<p>To create a Left 4 Dead server:</p>
|
||||
<ol>
|
||||
<li>Navigate to the <a href="/serverlist.php">Game Servers</a> page</li>
|
||||
<li>Find <strong>Left 4 Dead</strong> in the list</li>
|
||||
<li>Select your preferred configuration (slots, duration, etc.)</li>
|
||||
<li>Add to cart and complete checkout</li>
|
||||
<li>Your server will be automatically provisioned within minutes</li>
|
||||
</ol>
|
||||
|
||||
<h2>Server Configuration</h2>
|
||||
<p>After your server is created, you can configure it through the control panel:</p>
|
||||
<ul>
|
||||
<li>Server settings and parameters</li>
|
||||
<li>Player slots and limits</li>
|
||||
<li>RCON/remote control access</li>
|
||||
<li>FTP file access</li>
|
||||
<h3 style="margin-top: 30px;">Navigation</h3>
|
||||
<ul style="line-height: 2; font-size: 1.05em;">
|
||||
<li><a href="#overview">Overview</a></li>
|
||||
<li><a href="#ports">🔌 Ports & Firewall</a></li>
|
||||
<li><a href="#installation">Installation</a></li>
|
||||
<li><a href="#configuration">⚙️ Configuration</a></li>
|
||||
<li><a href="#gamemodes">Game Modes & Campaigns</a></li>
|
||||
<li><a href="#sourcemod">SourceMod & Plugins</a></li>
|
||||
<li><a href="#startup">Startup Commands</a></li>
|
||||
<li><a href="#troubleshooting">🔧 Troubleshooting</a></li>
|
||||
<li><a href="#resources">Resources</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Common Tasks</h2>
|
||||
<h2 id="overview">Overview</h2>
|
||||
<p><strong>Left 4 Dead</strong> is Valve's original co-operative first-person shooter where four "Survivors" must fight through hordes of infected zombies to reach safety. Released in 2008, L4D pioneered the co-op zombie survival genre and established the foundation for its sequel.</p>
|
||||
|
||||
<h3>Starting Your Server</h3>
|
||||
<p>Servers are automatically started after creation. You can stop/start your server from the control panel.</p>
|
||||
<p>The game features the innovative "AI Director" system that dynamically adjusts gameplay difficulty, pacing, and item placement based on player performance. Each campaign tells the story of four survivors fighting through five chapters (maps) to reach an evacuation point.</p>
|
||||
|
||||
<h3>Connecting to Your Server</h3>
|
||||
<p>Use your server's IP address and port to connect from the game client.</p>
|
||||
|
||||
<h3>Managing Files</h3>
|
||||
<p>Access your server files via FTP using the credentials provided in your control panel.</p>
|
||||
|
||||
<h2>Support</h2>
|
||||
<p>If you need assistance with your Left 4 Dead server:</p>
|
||||
<h3>Key Features</h3>
|
||||
<ul>
|
||||
<li>Check our <a href="/docs.php?action=view&doc=common-issues">Common Issues</a> guide</li>
|
||||
<li>Contact support through your account dashboard</li>
|
||||
<li>Visit the official Left 4 Dead community for game-specific help</li>
|
||||
<li><strong>Co-op Campaign:</strong> 4-player cooperative story campaigns against AI hordes</li>
|
||||
<li><strong>Versus Mode:</strong> 4v4 multiplayer with players controlling Special Infected</li>
|
||||
<li><strong>Survival Mode:</strong> Hold out against endless waves in challenge maps</li>
|
||||
<li><strong>5 Original Campaigns:</strong> No Mercy, Crash Course, Death Toll, Dead Air, Blood Harvest</li>
|
||||
<li><strong>Special Infected:</strong> Boomer, Hunter, Smoker, Tank, Witch</li>
|
||||
<li><strong>AI Director:</strong> Dynamic difficulty and pacing system</li>
|
||||
<li><strong>Four Difficulty Levels:</strong> Easy, Normal, Advanced, Expert</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="ports">🔌 Ports & Firewall Configuration</h2>
|
||||
|
||||
<h3>Required Ports</h3>
|
||||
<table style="width: 100%; border-collapse: collapse; margin: 20px 0; background: #0f172a; border-radius: 8px; overflow: hidden;">
|
||||
<thead>
|
||||
<tr style="background: #1e293b;">
|
||||
<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; font-family: monospace; color: #a5b4fc;">27015</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
<span style="background: #3b82f6; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold; margin-left: 4px;">TCP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">Game server + RCON (dual purpose)</td>
|
||||
<td style="padding: 12px; color: #22c55e; font-weight: bold;">✓ Yes</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px; font-family: monospace; color: #a5b4fc;">27020</td>
|
||||
<td style="padding: 12px;">
|
||||
<span style="background: #22c55e; color: #ffffff; padding: 4px 8px; border-radius: 4px; font-size: 0.85em; font-weight: bold;">UDP</span>
|
||||
</td>
|
||||
<td style="padding: 12px;">SourceTV (optional spectating)</td>
|
||||
<td style="padding: 12px; color: #94a3b8;">Optional</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Firewall Configuration Examples</h3>
|
||||
|
||||
<h4>Ubuntu/Debian (UFW)</h4>
|
||||
<pre><code># Allow L4D game port (UDP and TCP)
|
||||
sudo ufw allow 27015
|
||||
sudo ufw allow 27015/tcp
|
||||
|
||||
# Allow SourceTV (optional)
|
||||
sudo ufw allow 27020/udp
|
||||
|
||||
# Enable firewall
|
||||
sudo ufw enable
|
||||
sudo ufw status
|
||||
</code></pre>
|
||||
|
||||
<h4>CentOS/RHEL (FirewallD)</h4>
|
||||
<pre><code># Add L4D ports
|
||||
sudo firewall-cmd --permanent --add-port=27015/udp
|
||||
sudo firewall-cmd --permanent --add-port=27015/tcp
|
||||
sudo firewall-cmd --permanent --add-port=27020/udp
|
||||
sudo firewall-cmd --reload
|
||||
sudo firewall-cmd --list-ports
|
||||
</code></pre>
|
||||
|
||||
<h4>Windows Firewall (PowerShell)</h4>
|
||||
<pre><code># Game server port
|
||||
New-NetFirewallRule -DisplayName "L4D Server" -Direction Inbound -LocalPort 27015 -Protocol UDP -Action Allow
|
||||
New-NetFirewallRule -DisplayName "L4D Server TCP" -Direction Inbound -LocalPort 27015 -Protocol TCP -Action Allow
|
||||
|
||||
# SourceTV (optional)
|
||||
New-NetFirewallRule -DisplayName "L4D SourceTV" -Direction Inbound -LocalPort 27020 -Protocol UDP -Action Allow
|
||||
</code></pre>
|
||||
|
||||
<h4>iptables (Advanced)</h4>
|
||||
<pre><code># Allow L4D ports
|
||||
iptables -A INPUT -p udp --dport 27015 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 27020 -j ACCEPT
|
||||
|
||||
# Save rules (Ubuntu/Debian)
|
||||
netfilter-persistent save
|
||||
|
||||
# Save rules (CentOS/RHEL)
|
||||
service iptables save
|
||||
</code></pre>
|
||||
|
||||
<h2 id="installation">Installation</h2>
|
||||
|
||||
<h3>Prerequisites</h3>
|
||||
<ul>
|
||||
<li><strong>SteamCMD</strong> installed (<a href="https://developer.valvesoftware.com/wiki/SteamCMD" target="_blank">Installation Guide</a>)</li>
|
||||
<li>Adequate disk space (~15 GB for full installation)</li>
|
||||
<li>Open firewall ports (27015 UDP/TCP minimum)</li>
|
||||
<li>Linux: 32-bit libraries (libstdc++6:i386, lib32gcc1)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Linux Installation</h3>
|
||||
<pre><code># Create server directory
|
||||
mkdir -p ~/l4d_server
|
||||
cd ~/l4d_server
|
||||
|
||||
# Install 32-bit libraries (Ubuntu/Debian)
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
sudo apt-get install lib32gcc1 libstdc++6:i386
|
||||
|
||||
# Download server files with SteamCMD
|
||||
steamcmd +force_install_dir ~/l4d_server +login anonymous +app_update 222840 validate +quit
|
||||
|
||||
# Note: App ID 222840 is for Left 4 Dead Dedicated Server
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows Installation</h3>
|
||||
<pre><code># Download SteamCMD for Windows
|
||||
# Extract to C:\steamcmd\
|
||||
|
||||
# Create server directory
|
||||
mkdir C:\l4d_server
|
||||
|
||||
# Run SteamCMD
|
||||
C:\steamcmd\steamcmd.exe +force_install_dir C:\l4d_server +login anonymous +app_update 222840 validate +quit
|
||||
</code></pre>
|
||||
|
||||
<h2 id="configuration">⚙️ Configuration</h2>
|
||||
|
||||
<h3>server.cfg</h3>
|
||||
<p>Create or edit <code>left4dead/cfg/server.cfg</code>:</p>
|
||||
<pre><code>// Server Identity
|
||||
hostname "My Left 4 Dead Server"
|
||||
rcon_password "your_secure_rcon_password"
|
||||
sv_contact "admin@yourserver.com"
|
||||
sv_region 1 // 0=US East, 1=US West, 2=South America, 3=Europe
|
||||
|
||||
// Basic Settings
|
||||
sv_lan 0 // 0=internet server, 1=LAN only
|
||||
sv_password "" // Leave empty for public, set for private server
|
||||
sv_allow_lobby_connect_only 0 // Allow direct connections
|
||||
|
||||
// Game Settings
|
||||
z_difficulty "Normal" // Easy, Normal, Hard, Expert
|
||||
mp_gamemode "coop" // coop, versus, survival
|
||||
sv_cheats 0 // Disable cheats in production
|
||||
|
||||
// Player Limits
|
||||
sv_maxplayers 8 // Max 8 for versus (4v4)
|
||||
sv_visiblemaxplayers 8
|
||||
|
||||
// Voice Communication
|
||||
sv_voiceenable 1
|
||||
sv_alltalk 0 // 0=team only, 1=all talk
|
||||
|
||||
// Connection Settings
|
||||
sv_minrate 20000
|
||||
sv_maxrate 30000
|
||||
sv_mincmdrate 30
|
||||
sv_maxcmdrate 67
|
||||
sv_minupdaterate 30
|
||||
sv_maxupdaterate 67
|
||||
|
||||
// Logging
|
||||
log on
|
||||
sv_logecho 1
|
||||
sv_logfile 1
|
||||
sv_log_onefile 0
|
||||
sv_logbans 1
|
||||
|
||||
// Director AI
|
||||
director_no_death_check 0 // 0=normal spawning, 1=disable death checks
|
||||
director_build_up_min_interval 20 // Minimum seconds between events
|
||||
|
||||
// Friendly Fire
|
||||
mp_friendlyfire 0 // 0=off, 1=on (often enabled in Versus)
|
||||
|
||||
// Download Settings
|
||||
sv_allowdownload 1
|
||||
sv_allowupload 1
|
||||
net_maxfilesize 64 // MB
|
||||
|
||||
// Performance
|
||||
fps_max 300 // Server FPS cap
|
||||
</code></pre>
|
||||
|
||||
<h2 id="gamemodes">Game Modes & Campaigns</h2>
|
||||
|
||||
<h3>Game Modes</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;">Mode</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Players</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Campaign (Coop)</strong></td>
|
||||
<td style="padding: 12px;">1-4</td>
|
||||
<td style="padding: 12px;">Fight through story campaigns as Survivors against AI infected</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Versus</strong></td>
|
||||
<td style="padding: 12px;">4v4</td>
|
||||
<td style="padding: 12px;">Teams alternate as Survivors and Special Infected</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Survival</strong></td>
|
||||
<td style="padding: 12px;">1-4</td>
|
||||
<td style="padding: 12px;">Hold out against endless waves in small challenge maps</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Official Campaigns</h3>
|
||||
<p>All 5 original campaigns included:</p>
|
||||
|
||||
<table style="width: 100%; border-collapse: collapse; margin: 20px 0;">
|
||||
<thead>
|
||||
<tr style="background: #0f172a;">
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Campaign</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Starting Map</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Maps</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Setting</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>No Mercy</strong></td>
|
||||
<td style="padding: 12px;"><code>l4d_hospital01_apartment</code></td>
|
||||
<td style="padding: 12px;">5</td>
|
||||
<td style="padding: 12px;">Fairfield (hospital rooftop escape)</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Crash Course</strong></td>
|
||||
<td style="padding: 12px;"><code>l4d_garage01_alleys</code></td>
|
||||
<td style="padding: 12px;">2</td>
|
||||
<td style="padding: 12px;">Riverside (truck depot)</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Death Toll</strong></td>
|
||||
<td style="padding: 12px;"><code>l4d_river01_docks</code></td>
|
||||
<td style="padding: 12px;">5</td>
|
||||
<td style="padding: 12px;">Rural Pennsylvania (boathouse escape)</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Dead Air</strong></td>
|
||||
<td style="padding: 12px;"><code>l4d_airport01_greenhouse</code></td>
|
||||
<td style="padding: 12px;">5</td>
|
||||
<td style="padding: 12px;">Metro Airport (airplane escape)</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Blood Harvest</strong></td>
|
||||
<td style="padding: 12px;"><code>l4d_farm01_hilltop</code></td>
|
||||
<td style="padding: 12px;">5</td>
|
||||
<td style="padding: 12px;">Allegheny National Forest (farmhouse finale)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Changing Maps via RCON</h3>
|
||||
<pre><code># Connect with RCON
|
||||
rcon_password your_password
|
||||
rcon changelevel l4d_hospital01_apartment
|
||||
|
||||
# List all maps
|
||||
rcon maps *
|
||||
|
||||
# Change game mode
|
||||
rcon mp_gamemode versus
|
||||
rcon map l4d_hospital01_apartment // Restart map in new mode
|
||||
</code></pre>
|
||||
|
||||
<h2 id="sourcemod">SourceMod & Plugins</h2>
|
||||
|
||||
<h3>Installing SourceMod</h3>
|
||||
|
||||
<h4>Step 1: Install MetaMod:Source</h4>
|
||||
<pre><code># Download from: https://www.sourcemm.net/downloads.php?branch=stable
|
||||
# Extract to left4dead/ directory
|
||||
|
||||
# Structure should be:
|
||||
left4dead/
|
||||
addons/
|
||||
metamod/
|
||||
bin/
|
||||
|
||||
# Verify in server console:
|
||||
meta version
|
||||
</code></pre>
|
||||
|
||||
<h4>Step 2: Install SourceMod</h4>
|
||||
<pre><code># Download from: https://www.sourcemod.net/downloads.php?branch=stable
|
||||
# Extract to left4dead/ directory
|
||||
|
||||
# Structure should be:
|
||||
left4dead/
|
||||
addons/
|
||||
sourcemod/
|
||||
plugins/
|
||||
configs/
|
||||
|
||||
# Add yourself as admin in:
|
||||
# left4dead/addons/sourcemod/configs/admins_simple.ini
|
||||
"STEAM_0:1:12345678" "99:z"
|
||||
|
||||
# Verify in-game:
|
||||
sm version
|
||||
</code></pre>
|
||||
|
||||
<h3>Essential Plugins</h3>
|
||||
<ul>
|
||||
<li><strong>L4DToolZ:</strong> Enable 10+ player servers (bypass 8-player limit)</li>
|
||||
<li><strong>AdminMenu:</strong> Full admin control panel (included with SourceMod)</li>
|
||||
<li><strong>Simple Chat Processor:</strong> Chat colors and formatting</li>
|
||||
<li><strong>Basic Votes:</strong> Kick, ban, and map voting</li>
|
||||
</ul>
|
||||
|
||||
<h3>Popular L4D Plugins</h3>
|
||||
<ul>
|
||||
<li><strong>Super Versus:</strong> 8v8 Versus mode support</li>
|
||||
<li><strong>Survivor Bots:</strong> Enhanced bot AI and control</li>
|
||||
<li><strong>Competitive Spawns:</strong> Balanced Special Infected spawning for competitive play</li>
|
||||
<li><strong>L4D Stats:</strong> Player statistics tracking</li>
|
||||
<li><strong>Infected Bots Control:</strong> Manage AI Special Infected behavior</li>
|
||||
</ul>
|
||||
|
||||
<h3>Installing Plugins</h3>
|
||||
<pre><code># Place .smx files in:
|
||||
left4dead/addons/sourcemod/plugins/
|
||||
|
||||
# Reload plugins:
|
||||
rcon sm plugins reload pluginname
|
||||
|
||||
# List all plugins:
|
||||
rcon sm plugins list
|
||||
|
||||
# Disable a plugin:
|
||||
rcon sm plugins unload pluginname
|
||||
</code></pre>
|
||||
|
||||
<h2 id="startup">Startup Commands</h2>
|
||||
|
||||
<h3>Linux</h3>
|
||||
<pre><code>#!/bin/bash
|
||||
# start_l4d.sh
|
||||
|
||||
cd ~/l4d_server
|
||||
|
||||
./srcds_run -console -game left4dead \
|
||||
+map l4d_hospital01_apartment \
|
||||
+maxplayers 8 \
|
||||
+mp_gamemode coop \
|
||||
-port 27015 \
|
||||
-ip 0.0.0.0
|
||||
</code></pre>
|
||||
|
||||
<h3>Windows</h3>
|
||||
<pre><code>@echo off
|
||||
REM start_l4d.bat
|
||||
|
||||
cd C:\l4d_server
|
||||
|
||||
srcds.exe -console -game left4dead ^
|
||||
+map l4d_hospital01_apartment ^
|
||||
+maxplayers 8 ^
|
||||
+mp_gamemode coop ^
|
||||
-port 27015
|
||||
</code></pre>
|
||||
|
||||
<h3>Startup Parameters</h3>
|
||||
<ul>
|
||||
<li><code>-console</code> - Run with visible console</li>
|
||||
<li><code>-game left4dead</code> - Specify game directory</li>
|
||||
<li><code>+map mapname</code> - Starting map</li>
|
||||
<li><code>+maxplayers 8</code> - Maximum players (4 for coop, 8 for versus)</li>
|
||||
<li><code>+mp_gamemode mode</code> - Game mode (coop, versus, survival)</li>
|
||||
<li><code>-port 27015</code> - Server port</li>
|
||||
<li><code>-ip 0.0.0.0</code> - Bind to all interfaces</li>
|
||||
<li><code>+exec server.cfg</code> - Execute config file on start</li>
|
||||
</ul>
|
||||
|
||||
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
|
||||
|
||||
<h3>Server Not in Browser</h3>
|
||||
<pre><code># Check sv_lan setting
|
||||
sv_lan 0 // Must be 0 for internet
|
||||
|
||||
# Verify connection to Steam
|
||||
status // Check "Connected to Steam servers"
|
||||
|
||||
# Check port availability
|
||||
netstat -an | grep 27015
|
||||
|
||||
# Wait for master server registration (5-10 minutes)
|
||||
</code></pre>
|
||||
|
||||
<h3>Connection Issues</h3>
|
||||
<ul>
|
||||
<li>Verify firewall allows UDP 27015</li>
|
||||
<li>Check server password (<code>sv_password</code>)</li>
|
||||
<li>Ensure clients can ping server IP</li>
|
||||
<li>Verify router port forwarding</li>
|
||||
</ul>
|
||||
|
||||
<h3>SourceMod Not Loading</h3>
|
||||
<pre><code># Verify directory structure
|
||||
left4dead/
|
||||
addons/
|
||||
metamod/
|
||||
sourcemod/
|
||||
|
||||
# Check metamod first
|
||||
meta version // Should show version number
|
||||
|
||||
# Then check sourcemod
|
||||
sm version
|
||||
|
||||
# Review error logs
|
||||
left4dead/addons/sourcemod/logs/errors_*.log
|
||||
</code></pre>
|
||||
|
||||
<h3>Performance Issues</h3>
|
||||
<pre><code># Check server FPS
|
||||
stats // In server console
|
||||
|
||||
# Optimize rates
|
||||
sv_minrate 20000
|
||||
sv_maxrate 30000
|
||||
fps_max 300
|
||||
|
||||
# Reduce max players if needed
|
||||
sv_maxplayers 4 // For coop
|
||||
</code></pre>
|
||||
|
||||
<h3>AI Director Too Hard/Easy</h3>
|
||||
<pre><code># Change difficulty
|
||||
z_difficulty Normal // Easy, Normal, Hard, Expert
|
||||
|
||||
# Adjust Special Infected spawn rates
|
||||
director_build_up_min_interval 20 // Seconds between events
|
||||
|
||||
# Tank spawn frequency
|
||||
z_tank_max_players 3000 // Distance before Tank spawns
|
||||
</code></pre>
|
||||
|
||||
<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-exclamation-triangle" style="color: #fbbf24; margin-right: 8px;"></i>Important Notes</h3>
|
||||
<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>Always keep your server updated to the latest version</li>
|
||||
<li>Make regular backups of your server configuration</li>
|
||||
<li>Review and follow the game's End User License Agreement (EULA)</li>
|
||||
<li><strong>L4DToolZ Plugin:</strong> Unlock 10-32 player servers for custom game modes</li>
|
||||
<li><strong>Versus Balance:</strong> 4v4 is standard competitive format</li>
|
||||
<li><strong>Custom Campaigns:</strong> L4D has active custom campaign community</li>
|
||||
<li><strong>Survival Mode:</strong> Great for warming up or quick sessions</li>
|
||||
<li><strong>RCON Management:</strong> Use HLSW or similar tools for remote management</li>
|
||||
<li><strong>sv_pure 2:</strong> Enable for competitive to prevent cheats</li>
|
||||
<li><strong>Friendly Fire:</strong> Enable in Versus for tactical gameplay</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 id="resources">Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://developer.valvesoftware.com/wiki/Left_4_Dead_Dedicated_Server" target="_blank">Valve Developer Wiki - L4D Dedicated Server</a></li>
|
||||
<li><a href="https://wiki.alliedmods.net/Category:Left_4_Dead" target="_blank">AlliedModders L4D Wiki</a></li>
|
||||
<li><a href="https://www.l4dmaps.com/" target="_blank">L4DMaps - Custom Campaign Repository</a></li>
|
||||
<li><a href="https://forums.alliedmods.net/forumdisplay.php?f=72" target="_blank">AlliedModders L4D Forum</a></li>
|
||||
<li><a href="https://steamcommunity.com/app/500/discussions/" target="_blank">Steam Community Discussions</a></li>
|
||||
</ul>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Left 4 Dead",
|
||||
"description": "Setup and configuration guide for Left 4 Dead game servers",
|
||||
"description": "Comprehensive guide for L4D dedicated servers with SourceMod/MetaMod, all 5 campaigns, game modes, and original co-op zombie survival hosting",
|
||||
"category": "game",
|
||||
"order": 31,
|
||||
"complete": false
|
||||
"order": 17,
|
||||
"complete": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,68 +1,424 @@
|
|||
<?php
|
||||
/**
|
||||
* Left 4 Dead 2 Server Documentation
|
||||
* Left 4 Dead 2 Dedicated Server - Comprehensive Hosting Guide
|
||||
* General game server hosting information (not platform-specific)
|
||||
*/
|
||||
?>
|
||||
<h1>Left 4 Dead 2 Server Guide</h1>
|
||||
|
||||
<h2>Overview</h2>
|
||||
<p><strong>Left 4 Dead 2</strong> is available for hosting on our platform. This guide covers the basics of setting up and managing your Left 4 Dead 2 server.</p>
|
||||
|
||||
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<h3 style="color: #ffffff; margin-top: 0;">Server Information</h3>
|
||||
<ul style="color: #e5e7eb; line-height: 1.8;">
|
||||
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">27015</code></li>
|
||||
<li><strong style="color: #ffffff;">Protocol:</strong> UDP</li>
|
||||
<li><strong style="color: #ffffff;">Additional Info:</strong> Query port also uses 27015 UDP</li>
|
||||
</ul>
|
||||
<p style="color: #e5e7eb; margin-top: 12px; font-size: 0.95em;">
|
||||
<em>Note: When running on a VPS or dedicated server, you can use the default port or configure a custom port in your server configuration file.</em>
|
||||
</p>
|
||||
<h3 style="color: #ffffff; margin-top: 0;">📚 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="#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="#gamemodes" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Game Modes</a>
|
||||
<a href="#addons" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Addons & Mods</a>
|
||||
<a href="#troubleshooting" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">🔧 Troubleshooting</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Getting Started</h2>
|
||||
<p>To create a Left 4 Dead 2 server:</p>
|
||||
<ol>
|
||||
<li>Navigate to the <a href="/serverlist.php">Game Servers</a> page</li>
|
||||
<li>Find <strong>Left 4 Dead 2</strong> in the list</li>
|
||||
<li>Select your preferred configuration (slots, duration, etc.)</li>
|
||||
<li>Add to cart and complete checkout</li>
|
||||
<li>Your server will be automatically provisioned within minutes</li>
|
||||
</ol>
|
||||
<h1>Left 4 Dead 2 Dedicated Server Hosting Guide</h1>
|
||||
|
||||
<h2>Server Configuration</h2>
|
||||
<p>After your server is created, you can configure it through the control panel:</p>
|
||||
<h2 id="overview">Overview</h2>
|
||||
<p><strong>Left 4 Dead 2</strong> is a cooperative first-person shooter developed by Valve. Set in the aftermath of a zombie apocalypse, teams of four survivors fight through hordes of infected across various campaigns. The game features intense co-op action, versus mode, and extensive modding support through the Source engine.</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;">27015</code> (UDP)</li>
|
||||
<li><strong style="color: #ffffff;">RCON Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">27015</code> (TCP, same as game port)</li>
|
||||
<li><strong style="color: #ffffff;">SourceTV Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">27020</code> (UDP, optional)</li>
|
||||
<li><strong style="color: #ffffff;">Minimum RAM:</strong> 1GB (Recommended: 2-4GB)</li>
|
||||
<li><strong style="color: #ffffff;">Recommended CPU:</strong> 2+ cores @ 2.5GHz</li>
|
||||
<li><strong style="color: #ffffff;">Storage:</strong> 15GB+ for game files</li>
|
||||
<li><strong style="color: #ffffff;">Max Players:</strong> 4-8 typical (co-op/versus)</li>
|
||||
<li><strong style="color: #ffffff;">SteamCMD App ID:</strong> 222860</li>
|
||||
<li><strong style="color: #ffffff;">Engine:</strong> Source Engine</li>
|
||||
<li><strong style="color: #ffffff;">Config File:</strong> server.cfg</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</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;">27015</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> / <span style="background: #1e40af; padding: 4px 8px; border-radius: 3px; color: #dbeafe;">TCP</span></td>
|
||||
<td style="padding: 12px; border-bottom: 1px solid #334155;">Game + RCON port (UDP for game, TCP for RCON)</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;"><code style="background: #0f172a; padding: 4px 8px; border-radius: 3px; color: #a5b4fc;">27020</code></td>
|
||||
<td style="padding: 12px;"><span style="background: #065f46; padding: 4px 8px; border-radius: 3px; color: #d1fae5;">UDP</span></td>
|
||||
<td style="padding: 12px;">SourceTV (spectator mode, game replays)</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: #1e3a5f; padding: 15px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
||||
<p style="color: #e5e7eb; margin: 0;"><strong>Note:</strong> Source engine games use the same port for both UDP (game traffic) and TCP (RCON). If you run multiple L4D2 servers on one machine, use different ports (27016, 27017, etc.) and adjust your startup parameters accordingly.</p>
|
||||
</div>
|
||||
|
||||
<h3>Firewall Configuration Examples</h3>
|
||||
|
||||
<h4>UFW (Ubuntu/Debian)</h4>
|
||||
<pre><code>sudo ufw allow 27015/udp comment 'L4D2 game port'
|
||||
sudo ufw allow 27015/tcp comment 'L4D2 RCON'
|
||||
sudo ufw allow 27020/udp comment 'L4D2 SourceTV'
|
||||
sudo ufw reload
|
||||
</code></pre>
|
||||
|
||||
<h4>FirewallD (CentOS/RHEL/Fedora)</h4>
|
||||
<pre><code>sudo firewall-cmd --permanent --add-port=27015/udp
|
||||
sudo firewall-cmd --permanent --add-port=27015/tcp
|
||||
sudo firewall-cmd --permanent --add-port=27020/udp
|
||||
sudo firewall-cmd --reload
|
||||
</code></pre>
|
||||
|
||||
<h4>Windows Firewall</h4>
|
||||
<pre><code># Run in PowerShell as Administrator
|
||||
New-NetFirewallRule -DisplayName "L4D2 Game/RCON" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
|
||||
New-NetFirewallRule -DisplayName "L4D2 RCON TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
|
||||
New-NetFirewallRule -DisplayName "L4D2 SourceTV" -Direction Inbound -Protocol UDP -LocalPort 27020 -Action Allow
|
||||
</code></pre>
|
||||
|
||||
<h4>iptables (Legacy Linux)</h4>
|
||||
<pre><code>sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
|
||||
sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
|
||||
sudo iptables -A INPUT -p udp --dport 27020 -j ACCEPT
|
||||
sudo service iptables save
|
||||
</code></pre>
|
||||
|
||||
<h2 id="installation">Installation & Setup</h2>
|
||||
|
||||
<h3>System Requirements</h3>
|
||||
<ul>
|
||||
<li>Server settings and parameters</li>
|
||||
<li>Player slots and limits</li>
|
||||
<li>RCON/remote control access</li>
|
||||
<li>FTP file access</li>
|
||||
<li><strong>OS:</strong> Windows Server 2016+ or Linux 64-bit (Ubuntu/Debian recommended)</li>
|
||||
<li><strong>CPU:</strong> Dual-core @ 2.5GHz minimum; Quad-core for better performance</li>
|
||||
<li><strong>RAM:</strong> 1GB minimum, 2-4GB recommended</li>
|
||||
<li><strong>Storage:</strong> 15GB+ for game files and workshop content</li>
|
||||
<li><strong>Network:</strong> 5Mbps+ upload recommended</li>
|
||||
</ul>
|
||||
|
||||
<h2>Common Tasks</h2>
|
||||
<h3>Installing via SteamCMD (Linux)</h3>
|
||||
<pre><code># Install SteamCMD
|
||||
sudo apt update
|
||||
sudo apt install steamcmd
|
||||
|
||||
<h3>Starting Your Server</h3>
|
||||
<p>Servers are automatically started after creation. You can stop/start your server from the control panel.</p>
|
||||
# Create server directory
|
||||
mkdir -p ~/l4d2-server
|
||||
cd ~/l4d2-server
|
||||
|
||||
<h3>Connecting to Your Server</h3>
|
||||
<p>Use your server's IP address and port to connect from the game client.</p>
|
||||
# Download server files
|
||||
steamcmd +login anonymous +force_install_dir ~/l4d2-server +app_update 222860 validate +exit
|
||||
</code></pre>
|
||||
|
||||
<h3>Managing Files</h3>
|
||||
<p>Access your server files via FTP using the credentials provided in your control panel.</p>
|
||||
<h3>Installing via SteamCMD (Windows)</h3>
|
||||
<pre><code># Download SteamCMD from https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
|
||||
# Extract to C:\steamcmd\
|
||||
|
||||
# Run CMD as Administrator
|
||||
cd C:\steamcmd
|
||||
steamcmd.exe +login anonymous +force_install_dir "C:\L4D2Server" +app_update 222860 validate +exit
|
||||
</code></pre>
|
||||
|
||||
<h2 id="configuration">Server Configuration</h2>
|
||||
|
||||
<h3>server.cfg</h3>
|
||||
<p>Create <code>left4dead2/cfg/server.cfg</code> with your settings:</p>
|
||||
|
||||
<pre><code>// Server Name and Info
|
||||
hostname "My Left 4 Dead 2 Server"
|
||||
sv_steamgroup "" // Steam group ID (optional)
|
||||
sv_steamgroup_exclusive 0
|
||||
|
||||
// Server Settings
|
||||
sv_lan 0
|
||||
sv_region 1 // 0=US East, 1=US West, 2=South America, 3=Europe, etc.
|
||||
sv_allow_lobby_connect_only 0
|
||||
sv_gametypes "coop,versus,survival,scavenge"
|
||||
|
||||
// RCON
|
||||
rcon_password "your_secure_password"
|
||||
|
||||
// Communication
|
||||
sv_voiceenable 1
|
||||
sv_alltalk 0 // 0=team only, 1=all players
|
||||
|
||||
// Logging
|
||||
log on
|
||||
sv_logbans 1
|
||||
sv_logecho 1
|
||||
sv_logfile 1
|
||||
sv_log_onefile 0
|
||||
|
||||
// Rates
|
||||
sv_minrate 30000
|
||||
sv_maxrate 100000
|
||||
sv_mincmdrate 30
|
||||
sv_maxcmdrate 100
|
||||
sv_minupdaterate 30
|
||||
sv_maxupdaterate 100
|
||||
|
||||
// Download Settings
|
||||
sv_allowdownload 1
|
||||
sv_allowupload 1
|
||||
net_maxfilesize 64
|
||||
|
||||
// Game Rules
|
||||
mp_disable_autokick 1 // Don't auto-kick idle players
|
||||
sv_consistency 1
|
||||
sv_pure 1 // Server purity (1=enforce consistency)
|
||||
sv_pure_kick_clients 1
|
||||
|
||||
// Campaign Settings
|
||||
mp_gamemode "coop" // coop, versus, survival, scavenge
|
||||
z_difficulty "Normal" // Easy, Normal, Hard, Impossible
|
||||
|
||||
// Versus Settings
|
||||
versus_boss_flow_max 0.9
|
||||
versus_boss_flow_min 0.2
|
||||
|
||||
// Performance
|
||||
fps_max 300
|
||||
sv_maxcmdrate 100
|
||||
sv_maxupdaterate 100
|
||||
|
||||
// Plugins (SourceMod/MetaMod if installed)
|
||||
// sm_cvar mp_autoteambalance 0
|
||||
</code></pre>
|
||||
|
||||
<h3>Starting the Server</h3>
|
||||
|
||||
<h4>Windows</h4>
|
||||
<pre><code># Navigate to server directory
|
||||
cd C:\L4D2Server\
|
||||
|
||||
# Basic startup
|
||||
srcds.exe -console -game left4dead2 +map c1m1_hotel +maxplayers 8
|
||||
|
||||
# With custom config and hostname
|
||||
srcds.exe -console -game left4dead2 +exec server.cfg +map c1m1_hotel +maxplayers 8 +hostname "My Server"
|
||||
|
||||
# Specific game mode
|
||||
srcds.exe -console -game left4dead2 +map c1m1_hotel +mp_gamemode versus +maxplayers 8
|
||||
</code></pre>
|
||||
|
||||
<h4>Linux</h4>
|
||||
<pre><code># Make start script executable
|
||||
chmod +x srcds_run
|
||||
|
||||
# Run in screen session
|
||||
screen -S l4d2 ./srcds_run -console -game left4dead2 +map c1m1_hotel +maxplayers 8
|
||||
|
||||
# With custom parameters
|
||||
./srcds_run -console -game left4dead2 +exec server.cfg +map c1m1_hotel +maxplayers 8 +ip YOUR_SERVER_IP -port 27015
|
||||
|
||||
# Detach: Ctrl+A, D
|
||||
# Reattach: screen -r l4d2
|
||||
</code></pre>
|
||||
|
||||
<h2 id="gamemodes">Game Modes</h2>
|
||||
|
||||
<h3>Available Game Modes</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;">Mode</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Players</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">ConVar</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Co-op</strong></td>
|
||||
<td style="padding: 12px;">4 survivors vs AI infected</td>
|
||||
<td style="padding: 12px;">1-4</td>
|
||||
<td style="padding: 12px;"><code>mp_gamemode coop</code></td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Versus</strong></td>
|
||||
<td style="padding: 12px;">4v4 PvP (survivors vs special infected)</td>
|
||||
<td style="padding: 12px;">2-8</td>
|
||||
<td style="padding: 12px;"><code>mp_gamemode versus</code></td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Survival</strong></td>
|
||||
<td style="padding: 12px;">Hold out against endless waves</td>
|
||||
<td style="padding: 12px;">1-4</td>
|
||||
<td style="padding: 12px;"><code>mp_gamemode survival</code></td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Scavenge</strong></td>
|
||||
<td style="padding: 12px;">4v4 timed gas can collection</td>
|
||||
<td style="padding: 12px;">2-8</td>
|
||||
<td style="padding: 12px;"><code>mp_gamemode scavenge</code></td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Realism</strong></td>
|
||||
<td style="padding: 12px;">Hardcore co-op (no outlines, harder)</td>
|
||||
<td style="padding: 12px;">1-4</td>
|
||||
<td style="padding: 12px;"><code>mp_gamemode realism</code></td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Mutations</strong></td>
|
||||
<td style="padding: 12px;">Special rule variants (weekly)</td>
|
||||
<td style="padding: 12px;">Varies</td>
|
||||
<td style="padding: 12px;"><code>mp_gamemode mutation#</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Campaign Maps</h3>
|
||||
<p>Default starting maps for campaigns:</p>
|
||||
|
||||
<h2>Support</h2>
|
||||
<p>If you need assistance with your Left 4 Dead 2 server:</p>
|
||||
<ul>
|
||||
<li>Check our <a href="/docs.php?action=view&doc=common-issues">Common Issues</a> guide</li>
|
||||
<li>Contact support through your account dashboard</li>
|
||||
<li>Visit the official Left 4 Dead 2 community for game-specific help</li>
|
||||
<li><strong>Dead Center:</strong> <code>c1m1_hotel</code></li>
|
||||
<li><strong>Dark Carnival:</strong> <code>c2m1_highway</code></li>
|
||||
<li><strong>Swamp Fever:</strong> <code>c3m1_plankcountry</code></li>
|
||||
<li><strong>Hard Rain:</strong> <code>c4m1_milltown_a</code></li>
|
||||
<li><strong>The Parish:</strong> <code>c5m1_waterfront</code></li>
|
||||
<li><strong>The Passing (DLC):</strong> <code>c6m1_riverbank</code></li>
|
||||
<li><strong>The Sacrifice (DLC):</strong> <code>c7m1_docks</code></li>
|
||||
<li><strong>No Mercy (L4D1):</strong> <code>c8m1_apartment</code></li>
|
||||
<li><strong>Crash Course (L4D1):</strong> <code>c9m1_alleys</code></li>
|
||||
<li><strong>Death Toll (L4D1):</strong> <code>c10m1_caves</code></li>
|
||||
<li><strong>Dead Air (L4D1):</strong> <code>c11m1_greenhouse</code></li>
|
||||
<li><strong>Blood Harvest (L4D1):</strong> <code>c12m1_hilltop</code></li>
|
||||
<li><strong>Cold Stream (DLC):</strong> <code>c13m1_alpinecreek</code></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="addons">Addons & Mods</h2>
|
||||
|
||||
<h3>SourceMod & MetaMod:Source</h3>
|
||||
<p>Essential for server administration and plugins:</p>
|
||||
|
||||
<h4>Installing MetaMod:Source</h4>
|
||||
<pre><code># Download from https://www.sourcemm.net/downloads.php?branch=stable
|
||||
# Extract to left4dead2/ directory
|
||||
|
||||
# Verify installation - should see "addons/metamod/" folder
|
||||
</code></pre>
|
||||
|
||||
<h4>Installing SourceMod</h4>
|
||||
<pre><code># Download from https://www.sourcemod.net/downloads.php?branch=stable
|
||||
# Extract to left4dead2/ directory
|
||||
|
||||
# Add yourself as admin in addons/sourcemod/configs/admins_simple.ini:
|
||||
"STEAM_0:1:12345678" "99:z" // Replace with your SteamID
|
||||
|
||||
# Restart server
|
||||
</code></pre>
|
||||
|
||||
<h3>Popular SourceMod Plugins</h3>
|
||||
<ul>
|
||||
<li><strong>L4DToolZ:</strong> Unlock player slots beyond 8 (up to 32)</li>
|
||||
<li><strong>Super Versus:</strong> Custom versus configurations</li>
|
||||
<li><strong>Survivor Bots:</strong> Better bot AI and control</li>
|
||||
<li><strong>Admin Menu:</strong> In-game admin panel for server management</li>
|
||||
<li><strong>Spawn Control:</strong> Customize special infected spawning</li>
|
||||
<li><strong>Vocalize:</strong> Enhanced survivor voice lines</li>
|
||||
</ul>
|
||||
|
||||
<h3>Workshop Content</h3>
|
||||
<p>L4D2 supports Steam Workshop. To auto-download workshop items:</p>
|
||||
|
||||
<pre><code># In server.cfg or startup command
|
||||
+workshop_download_dir "addons/workshop"
|
||||
+host_workshop_collection "COLLECTION_ID_HERE"
|
||||
|
||||
# Find collection IDs on Steam Workshop
|
||||
# Server will auto-download subscribed content
|
||||
</code></pre>
|
||||
|
||||
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
|
||||
|
||||
<h3>Server Not Showing in Browser</h3>
|
||||
<pre><code># Check sv_lan setting
|
||||
sv_lan 0 // Must be 0 for internet servers
|
||||
|
||||
# Verify region
|
||||
sv_region 1 // Must be set appropriately
|
||||
|
||||
# Check ports
|
||||
netstat -an | grep 27015
|
||||
|
||||
# Test RCON connection
|
||||
# Use tool like SourceRCON or in-game console
|
||||
rcon_password "your_password"
|
||||
rcon status
|
||||
</code></pre>
|
||||
|
||||
<h3>Connection Issues / Lag</h3>
|
||||
<pre><code># Optimize rates in server.cfg
|
||||
sv_minrate 30000
|
||||
sv_maxrate 100000
|
||||
sv_mincmdrate 30
|
||||
sv_maxcmdrate 100
|
||||
|
||||
# Adjust tickrate (default 30)
|
||||
-tickrate 30 // Add to startup command
|
||||
|
||||
# Check server FPS
|
||||
fps_max 300 // In server.cfg
|
||||
</code></pre>
|
||||
|
||||
<h3>Players Can't Join / Authentication Failed</h3>
|
||||
<ul>
|
||||
<li>Ensure <code>sv_lan 0</code> is set correctly</li>
|
||||
<li>Check firewall allows both UDP and TCP on game port</li>
|
||||
<li>Verify Steam authentication is working (servers need Steam running)</li>
|
||||
<li>Try <code>sv_allow_lobby_connect_only 0</code> to allow direct connects</li>
|
||||
</ul>
|
||||
|
||||
<h3>Mods/Addons Not Loading</h3>
|
||||
<pre><code># Check MetaMod loaded
|
||||
meta version // In server console
|
||||
|
||||
# Check SourceMod loaded
|
||||
sm version
|
||||
|
||||
# Verify file structure
|
||||
addons/
|
||||
metamod/
|
||||
sourcemod/
|
||||
plugins/
|
||||
configs/
|
||||
|
||||
# Review error logs
|
||||
left4dead2/addons/sourcemod/logs/
|
||||
</code></pre>
|
||||
|
||||
<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-exclamation-triangle" style="color: #fbbf24; margin-right: 8px;"></i>Important Notes</h3>
|
||||
<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>Always keep your server updated to the latest version</li>
|
||||
<li>Make regular backups of your server configuration</li>
|
||||
<li>Review and follow the game's End User License Agreement (EULA)</li>
|
||||
<li><strong>Versus balance:</strong> Use SourceMod plugins for better competitive balance</li>
|
||||
<li><strong>Custom campaigns:</strong> L4D2 has hundreds of community campaigns on Workshop</li>
|
||||
<li><strong>More players:</strong> L4DToolZ plugin allows 10+ player servers (chaotic but fun!)</li>
|
||||
<li><strong>Mutations:</strong> Weekly mutation modes provide variety (Taaannnkk!, Gib Fest, etc.)</li>
|
||||
<li><strong>Performance:</strong> Source engine is CPU-bound; prioritize single-core performance</li>
|
||||
<li><strong>Difficulty scaling:</strong> z_difficulty affects tank health, special spawn rates</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://developer.valvesoftware.com/wiki/Left_4_Dead_2" target="_blank">Valve Developer Wiki - L4D2</a></li>
|
||||
<li><a href="https://www.sourcemod.net/" target="_blank">SourceMod Official Site</a></li>
|
||||
<li><a href="https://www.metamodsource.net/" target="_blank">MetaMod:Source Official Site</a></li>
|
||||
<li><a href="https://steamcommunity.com/app/550/workshop/" target="_blank">Steam Workshop - L4D2</a></li>
|
||||
<li><a href="https://www.gamemaps.com/l4d2/" target="_blank">GameMaps - Custom Campaigns</a></li>
|
||||
</ul>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Left 4 Dead 2",
|
||||
"description": "Setup and configuration guide for Left 4 Dead 2 game servers",
|
||||
"description": "Comprehensive guide for L4D2 dedicated servers with SourceMod/MetaMod, game modes, Workshop content, and co-op zombie shooter hosting",
|
||||
"category": "game",
|
||||
"order": 29,
|
||||
"complete": false
|
||||
"order": 18,
|
||||
"complete": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,13 +5,15 @@
|
|||
*/
|
||||
?>
|
||||
<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;">📚 Navigation</h3>
|
||||
<div style="display: flex; flex-wrap: wrap; gap: 10px;">
|
||||
<a href="#quick-info" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Quick Info</a>
|
||||
<a href="#quick-info" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Overview</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="#configuration" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">⚙️ Configuration</a>
|
||||
<a href="#gamemodes" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Game Modes</a>
|
||||
<a href="#plugins" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Plugins</a>
|
||||
<a href="#troubleshooting" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Troubleshooting</a>
|
||||
<a href="#troubleshooting" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">🔧 Troubleshooting</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -35,6 +37,64 @@
|
|||
</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;">27015</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> / <span style="background: #1e40af; padding: 4px 8px; border-radius: 3px; color: #dbeafe;">TCP</span></td>
|
||||
<td style="padding: 12px; border-bottom: 1px solid #334155;">Game + RCON port (UDP for game, TCP for RCON)</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;"><code style="background: #0f172a; padding: 4px 8px; border-radius: 3px; color: #a5b4fc;">27020</code></td>
|
||||
<td style="padding: 12px;"><span style="background: #065f46; padding: 4px 8px; border-radius: 3px; color: #d1fae5;">UDP</span> / <span style="background: #1e40af; padding: 4px 8px; border-radius: 3px; color: #dbeafe;">TCP</span></td>
|
||||
<td style="padding: 12px;">SourceTV (spectator/streaming)</td>
|
||||
<td style="padding: 12px;"><span style="background: #713f12; padding: 4px 8px; border-radius: 3px; color: #fef3c7;">Optional</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Firewall Configuration Examples</h3>
|
||||
|
||||
<h4>UFW (Ubuntu/Debian)</h4>
|
||||
<pre><code>sudo ufw allow 27015/udp comment 'TF2 game port'
|
||||
sudo ufw allow 27015/tcp comment 'TF2 RCON'
|
||||
sudo ufw allow 27020 comment 'TF2 SourceTV'
|
||||
sudo ufw reload
|
||||
</code></pre>
|
||||
|
||||
<h4>FirewallD (CentOS/RHEL/Fedora)</h4>
|
||||
<pre><code>sudo firewall-cmd --permanent --add-port=27015/udp
|
||||
sudo firewall-cmd --permanent --add-port=27015/tcp
|
||||
sudo firewall-cmd --permanent --add-port=27020/tcp
|
||||
sudo firewall-cmd --permanent --add-port=27020/udp
|
||||
sudo firewall-cmd --reload
|
||||
</code></pre>
|
||||
|
||||
<h4>Windows Firewall</h4>
|
||||
<pre><code># Run in PowerShell as Administrator
|
||||
New-NetFirewallRule -DisplayName "TF2 Game/RCON" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow
|
||||
New-NetFirewallRule -DisplayName "TF2 RCON TCP" -Direction Inbound -Protocol TCP -LocalPort 27015 -Action Allow
|
||||
New-NetFirewallRule -DisplayName "TF2 SourceTV" -Direction Inbound -LocalPort 27020 -Action Allow
|
||||
</code></pre>
|
||||
|
||||
<h4>iptables (Legacy Linux)</h4>
|
||||
<pre><code>sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
|
||||
sudo iptables -A INPUT -p tcp --dport 27015 -j ACCEPT
|
||||
sudo iptables -A INPUT -p tcp --dport 27020 -j ACCEPT
|
||||
sudo iptables -A INPUT -p udp --dport 27020 -j ACCEPT
|
||||
sudo service iptables save
|
||||
</code></pre>
|
||||
|
||||
<h2 id="installation">Installation & Setup</h2>
|
||||
|
||||
<h3>System Requirements</h3>
|
||||
|
|
@ -78,26 +138,298 @@ steamcmd +login anonymous +force_install_dir ~/tf2server +app_update 232250 vali
|
|||
<p>Create <code>tf/cfg/server.cfg</code>:</p>
|
||||
<pre><code>// Server Information
|
||||
hostname "My TF2 Server"
|
||||
sv_region 1
|
||||
sv_region 1 // 0=US East, 1=US West, 2=South America, 3=Europe, etc.
|
||||
rcon_password "your_secure_password"
|
||||
sv_password "" // Leave empty for public, or set server password
|
||||
|
||||
// Server Settings
|
||||
sv_lan 0
|
||||
sv_pure 2
|
||||
sv_pure 2 // 0=off, 1=loose, 2=strict file checking
|
||||
mp_autoteambalance 1
|
||||
sv_visiblemaxplayers 24
|
||||
mp_timelimit 30
|
||||
mp_maxrounds 5
|
||||
mp_winlimit 0
|
||||
|
||||
// Class Limits (competitive servers)
|
||||
// tf_tournament_classlimit_scout 2
|
||||
// tf_tournament_classlimit_soldier 2
|
||||
// tf_tournament_classlimit_demoman 2
|
||||
// tf_tournament_classlimit_medic 1
|
||||
|
||||
// Communication
|
||||
sv_alltalk 0
|
||||
sv_alltalk 0 // 0=team only, 1=all players
|
||||
sv_voiceenable 1
|
||||
sv_allow_voice_from_file 0
|
||||
|
||||
// Logging
|
||||
log on
|
||||
sv_logbans 1
|
||||
sv_logecho 1
|
||||
sv_logfile 1
|
||||
sv_log_onefile 0
|
||||
|
||||
// Network Settings
|
||||
sv_minrate 20000
|
||||
sv_maxrate 100000
|
||||
sv_mincmdrate 66
|
||||
sv_maxcmdrate 66
|
||||
sv_minupdaterate 66
|
||||
sv_maxupdaterate 66
|
||||
|
||||
// Anti-Cheat
|
||||
sv_cheats 0
|
||||
sv_consistency 1
|
||||
sv_pure 2
|
||||
</code></pre>
|
||||
|
||||
<h2 id="gamemodes">Game Modes & Maps</h2>
|
||||
|
||||
<h3>Official Game Modes</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;">Mode</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Description</th>
|
||||
<th style="padding: 12px; text-align: left; color: #ffffff;">Example Maps</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody style="color: #e5e7eb;">
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Capture the Flag</strong></td>
|
||||
<td style="padding: 12px;">Capture enemy intelligence briefcase</td>
|
||||
<td style="padding: 12px;">ctf_2fort, ctf_turbine</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Control Point</strong></td>
|
||||
<td style="padding: 12px;">Capture all control points</td>
|
||||
<td style="padding: 12px;">cp_dustbowl, cp_gorge</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Payload</strong></td>
|
||||
<td style="padding: 12px;">Push/stop cart to destination</td>
|
||||
<td style="padding: 12px;">pl_badwater, pl_upward</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Payload Race</strong></td>
|
||||
<td style="padding: 12px;">Both teams push carts</td>
|
||||
<td style="padding: 12px;">plr_hightower, plr_pipeline</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>King of the Hill</strong></td>
|
||||
<td style="padding: 12px;">Control single point for timer</td>
|
||||
<td style="padding: 12px;">koth_harvest, koth_viaduct</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Arena</strong></td>
|
||||
<td style="padding: 12px;">No respawns, last team standing</td>
|
||||
<td style="padding: 12px;">arena_lumberyard, arena_well</td>
|
||||
</tr>
|
||||
<tr style="background: #1e3a5f;">
|
||||
<td style="padding: 12px;"><strong>Mann vs Machine</strong></td>
|
||||
<td style="padding: 12px;">Co-op vs AI robot waves</td>
|
||||
<td style="padding: 12px;">mvm_decoy, mvm_coaltown</td>
|
||||
</tr>
|
||||
<tr style="background: #152642;">
|
||||
<td style="padding: 12px;"><strong>Pass Time</strong></td>
|
||||
<td style="padding: 12px;">Sports-like mode with JACK</td>
|
||||
<td style="padding: 12px;">pass_brickyard, pass_district</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Map Rotation</h3>
|
||||
<p>Create <code>tf/cfg/mapcycle.txt</code>:</p>
|
||||
<pre><code>ctf_2fort
|
||||
ctf_turbine
|
||||
cp_dustbowl
|
||||
cp_gorge
|
||||
pl_badwater
|
||||
pl_upward
|
||||
koth_harvest
|
||||
koth_viaduct
|
||||
</code></pre>
|
||||
|
||||
<h3>Popular Community Maps</h3>
|
||||
<ul>
|
||||
<li><strong>pl_barnblitz:</strong> Community favorite payload map</li>
|
||||
<li><strong>cp_process:</strong> Competitive 5CP map</li>
|
||||
<li><strong>koth_product:</strong> Competitive KOTH variant</li>
|
||||
<li><strong>pl_swiftwater:</strong> Popular payload map</li>
|
||||
<li><strong>cp_steel:</strong> Unique attack/defend CP map</li>
|
||||
</ul>
|
||||
|
||||
<h3>Installing Custom Maps</h3>
|
||||
<pre><code># Download map .bsp file
|
||||
# Place in: tf/maps/
|
||||
|
||||
# Download .nav file (for bots) if available
|
||||
# Place in: tf/maps/
|
||||
|
||||
# Add to mapcycle.txt
|
||||
echo "custom_map_name" >> tf/cfg/mapcycle.txt
|
||||
|
||||
# Change map via RCON
|
||||
rcon changelevel custom_map_name
|
||||
</code></pre>
|
||||
|
||||
<h2 id="plugins">Plugins & Extensions</h2>
|
||||
|
||||
<h3>SourceMod & MetaMod Installation</h3>
|
||||
|
||||
<h4>1. Install MetaMod:Source</h4>
|
||||
<pre><code># Download from https://www.sourcemm.net/downloads.php?branch=stable
|
||||
# Extract to tf/ directory
|
||||
|
||||
# Verify - should see:
|
||||
tf/addons/metamod/
|
||||
|
||||
# Test in server console:
|
||||
meta version
|
||||
</code></pre>
|
||||
|
||||
<h4>2. Install SourceMod</h4>
|
||||
<pre><code># Download from https://www.sourcemod.net/downloads.php?branch=stable
|
||||
# Extract to tf/ directory
|
||||
|
||||
# Should see:
|
||||
tf/addons/sourcemod/
|
||||
|
||||
# Add admin in: tf/addons/sourcemod/configs/admins_simple.ini
|
||||
"STEAM_0:1:12345678" "99:z" // Replace with your SteamID
|
||||
|
||||
# Test in server:
|
||||
sm version
|
||||
</code></pre>
|
||||
|
||||
<h3>Essential Plugins</h3>
|
||||
<ul>
|
||||
<li><strong>AdminMenu:</strong> In-game admin panel (included with SourceMod)</li>
|
||||
<li><strong>RTV (Rock The Vote):</strong> Player-initiated map voting</li>
|
||||
<li><strong>MapChooser:</strong> End-of-map voting system</li>
|
||||
<li><strong>Basic Votes:</strong> Kick, ban, map change votes</li>
|
||||
<li><strong>BaseBans:</strong> Permanent ban system</li>
|
||||
<li><strong>BaseComm:</strong> Mute/gag player communications</li>
|
||||
</ul>
|
||||
|
||||
<h3>Popular TF2-Specific Plugins</h3>
|
||||
<ul>
|
||||
<li><strong>TF2 Competitive Fixes:</strong> Tournament mode improvements</li>
|
||||
<li><strong>TF2 Stats:</strong> Track player statistics</li>
|
||||
<li><strong>MGE Mod:</strong> 1v1/2v2 training arenas</li>
|
||||
<li><strong>Randomizer:</strong> Random weapon/class attributes</li>
|
||||
<li><strong>PropHunt:</strong> Hide as props, seekers find them</li>
|
||||
<li><strong>Dodgeball:</strong> Airblast-redirected rocket gameplay</li>
|
||||
<li><strong>Surf Timer:</strong> Surfing movement maps with records</li>
|
||||
<li><strong>VSH (Vs Saxton Hale):</strong> All players vs one boss</li>
|
||||
</ul>
|
||||
|
||||
<h3>Installing Plugins</h3>
|
||||
<pre><code># Download .smx plugin file
|
||||
# Place in: tf/addons/sourcemod/plugins/
|
||||
|
||||
# Restart server or reload plugins:
|
||||
sm plugins reload pluginname
|
||||
|
||||
# List loaded plugins:
|
||||
sm plugins list
|
||||
|
||||
# Disable plugin:
|
||||
sm plugins unload pluginname
|
||||
</code></pre>
|
||||
|
||||
<h2 id="troubleshooting">🔧 Troubleshooting</h2>
|
||||
|
||||
<h3>Server Not in Browser</h3>
|
||||
<pre><code># Verify sv_lan setting
|
||||
sv_lan 0 // Must be 0
|
||||
|
||||
# Check region
|
||||
sv_region 1
|
||||
|
||||
# Test connectivity
|
||||
netstat -an | grep 27015
|
||||
|
||||
# Wait 5-10 minutes for Steam master server registration
|
||||
</code></pre>
|
||||
|
||||
<h3>Players Can't Connect</h3>
|
||||
<ul>
|
||||
<li>Check firewall allows UDP 27015</li>
|
||||
<li>Verify <code>sv_password</code> is empty or known to players</li>
|
||||
<li>Ensure server has valid Steam connection</li>
|
||||
<li>Check <code>sv_pure</code> settings aren't too strict</li>
|
||||
<li>Review server console for connection errors</li>
|
||||
</ul>
|
||||
|
||||
<h3>MetaMod/SourceMod Not Loading</h3>
|
||||
<pre><code># Check file structure
|
||||
tf/
|
||||
addons/
|
||||
metamod/
|
||||
bin/
|
||||
sourcemod/
|
||||
plugins/
|
||||
configs/
|
||||
|
||||
# Verify in server console
|
||||
meta version
|
||||
sm version
|
||||
|
||||
# Check logs
|
||||
tf/addons/sourcemod/logs/errors_*.log
|
||||
</code></pre>
|
||||
|
||||
<h3>Performance Issues / Low FPS</h3>
|
||||
<pre><code># Optimize rates
|
||||
sv_maxrate 100000
|
||||
sv_maxcmdrate 66
|
||||
sv_maxupdaterate 66
|
||||
|
||||
# Set tickrate (requires startup parameter)
|
||||
-tickrate 66 // Add to startup command
|
||||
|
||||
# Check server FPS
|
||||
stats // In server console
|
||||
|
||||
# Reduce max players if needed
|
||||
maxplayers 16 // Instead of 24
|
||||
</code></pre>
|
||||
|
||||
<h3>Custom Content Not Downloading</h3>
|
||||
<pre><code># Enable downloads in server.cfg
|
||||
sv_allowdownload 1
|
||||
sv_allowupload 1
|
||||
net_maxfilesize 64 // MB
|
||||
|
||||
# Use FastDL for faster downloads
|
||||
sv_downloadurl "http://yourdomain.com/tf/"
|
||||
// Upload maps/materials/sounds to web server
|
||||
</code></pre>
|
||||
|
||||
<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>Tickrate:</strong> TF2 defaults to 66 tick - use <code>-tickrate 66</code> for consistency</li>
|
||||
<li><strong>sv_pure:</strong> Set to 2 for competitive, 1 for casual with custom content</li>
|
||||
<li><strong>Class limits:</strong> Use tournament cvars for competitive format restrictions</li>
|
||||
<li><strong>Crits:</strong> Disable random crits in competitive: <code>tf_weapon_criticals 0</code></li>
|
||||
<li><strong>Spread:</strong> Disable random spread: <code>tf_use_fixed_weaponspreads 1</code></li>
|
||||
<li><strong>FastDL:</strong> Essential for custom maps - set up web server for fast downloads</li>
|
||||
<li><strong>Logs.tf:</strong> Use for match statistics and competitive logging</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<h2>Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://wiki.teamfortress.com/wiki/Windows_dedicated_server" target="_blank">Official TF2 Dedicated Server Wiki</a></li>
|
||||
<li><a href="https://wiki.alliedmods.net/Introduction_to_SourceMod_Plugins" target="_blank">SourceMod Plugin Development</a></li>
|
||||
<li><a href="https://forums.alliedmods.net/forumdisplay.php?f=108" target="_blank">AlliedModders TF2 Forum</a></li>
|
||||
<li><a href="https://comp.tf/" target="_blank">Competitive TF2 Community</a></li>
|
||||
<li><a href="https://logs.tf/" target="_blank">Logs.tf - Match Statistics</a></li>
|
||||
<li><a href="https://tf2maps.net/" target="_blank">TF2Maps - Custom Map Community</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Port Forwarding</h3>
|
||||
<pre><code># Required ports:
|
||||
UDP 27015 - Game server
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Team Fortress 2",
|
||||
"description": "Setup and configuration guide for Team Fortress 2 game servers",
|
||||
"description": "Comprehensive guide for TF2 dedicated servers with SourceMod plugins, all game modes, competitive configs, and class-based FPS hosting",
|
||||
"category": "game",
|
||||
"order": 110,
|
||||
"complete": false
|
||||
"order": 15,
|
||||
"complete": true
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue