📚 Killing Floor 2 Server Guide

Wave-Based Co-Op Survival - Comprehensive Setup

📋 Quick Info

Engine:Unreal Engine 3 (Modified)
Developer:Tripwire Interactive
App ID:232130
Game Port:7777 UDP (default)
Query Port:27015 UDP (default)
Web Admin:8080 TCP (default)
Max Players:6 (standard), up to 32 with mods
Game Modes:Survival, Endless, Weekly Outbreak, Versus Survival
Perks:10 unique classes (Berserker, Commando, Medic, etc.)
Platform:Windows, Linux

Navigation

Overview

Killing Floor 2 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.

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.

Key Features

🔌 Ports & Firewall Configuration

Required Ports

Port Protocol Purpose Required
7777 UDP Game server (main connection) ✓ Yes
27015 UDP Query port (server browser) ✓ Yes
8080 TCP Web Admin interface Optional (Recommended)
20560 UDP Steam server list port Optional

💡 Note: Port numbers are configurable. Defaults shown above. Multiple servers require unique port combinations (e.g., Game: 7777, 7778; Query: 27015, 27016).

Firewall Configuration Examples

Ubuntu/Debian (UFW)

# 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

CentOS/RHEL (FirewallD)

# 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

Windows Firewall (PowerShell)

# 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

iptables (Advanced)

# 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

Installation

Prerequisites

Linux Installation

# 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

Windows Installation

# 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

⚙️ Configuration

Main Configuration Files

KF2 server configuration is split across multiple .ini files in KFGame/Config/:

PCServer-KFEngine.ini (Essential Settings)

Edit KFGame/Config/PCServer-KFEngine.ini:

[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

PCServer-KFGame.ini (Game Settings)

Edit KFGame/Config/PCServer-KFGame.ini:

[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)

Difficulty Levels

Difficulty Value Zed Health Recommended For
Normal 0 100% New players, casual play
Hard 1 135% Intermediate players
Suicidal 2 185% Experienced teams
Hell on Earth 3 255% Elite players, competitive

Web Admin Interface

Enabling Web Admin

Edit KFGame/Config/KFWeb.ini:

[IpDrv.WebServer]
bEnabled=True
ListenPort=8080

[WebAdmin.WebAdmin]
bEnabled=True
AuthenticationClass=WebAdmin.MultiWebAdminAuth

[WebAdmin.Chatlog]
Filename=../Logs/chat.log
bIncludeTimeStamp=True

Creating Admin Account

# 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

Accessing Web Admin

Open browser to: http://your-server-ip:8080

Web Admin Features

Game Modes & Maps

Game Modes

Mode Description Waves
Survival Standard wave-based mode with boss at the end 4, 7, or 10 + Boss
Endless Continuous waves with periodic boss fights Infinite
Weekly Outbreak Rotating special modifiers (Poundemonium, Bobble Zed, etc.) 4 waves
Versus Survival PvP mode - players control Zeds vs Survivors 4 rounds

Official Maps (Selection)

Workshop Content

Subscribe to Workshop items and add to PCServer-KFEngine.ini:

[OnlineSubsystemSteamworks.KFWorkshopSteamworks]
ServerSubscribedWorkshopItems=123456789  # Workshop item ID
ServerSubscribedWorkshopItems=987654321  # Add multiple lines for multiple items

Perks & Classes

The 10 Perks

Perk Role Primary Weapons
Berserker Tank/Melee DPS Eviscerator, Pulverizer, Katana
Commando Trash Killer SCAR, AK-12, M16 M203
Medic Healer/Support Medic Assault Rifle, HMTech-501
Demolitionist Explosive Specialist RPG-7, M79, C4
Firebug Area Denial/DoT Flamethrower, Microwave Gun
Gunslinger Precision DPS Dual Magnums, AF2011-A1
Sharpshooter Long-range Sniper M14 EBR, Railgun, Crossbow
Support Ammo/Armor Specialist AA-12, Doomstick
SWAT Close-range Tank Kriss, P90, MP7
Survivalist Flexible/Hybrid Any weapon type

Startup Commands

Linux

#!/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

Windows

@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

Startup Parameters

🔧 Troubleshooting

Server Not in Browser

# 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

Web Admin Won't Load

# Verify KFWeb.ini settings
[IpDrv.WebServer]
bEnabled=True
ListenPort=8080

# Check firewall allows TCP 8080
# Access via: http://server-ip:8080

Performance Issues

Workshop Content Not Downloading

# 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

Players Can't Join

Pro Tips

Resources