📚 Killing Floor Server Guide

Original Wave-Based Horror Survival - Comprehensive Setup

📋 Quick Info

Engine:Unreal Engine 2.5 (Modified)
Developer:Tripwire Interactive
App ID:215350
Game Port:7707 UDP (default)
Query Port:7708 UDP (default)
Web Admin:8075 TCP (default)
Max Players:6 (standard), up to 32 with mods
Game Modes:Story, Objective
Perks:7 classes (Berserker, Commando, Support, Sharpshooter, etc.)
Platform:Windows, Linux

Navigation

Overview

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

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.

Key Features

🔌 Ports & Firewall Configuration

Required Ports

Port Protocol Purpose Required
7707 UDP Game server (main connection) ✓ Yes
7708 UDP Query port (server browser) ✓ Yes
8075 TCP Web Admin interface Optional (Recommended)
28852 UDP Steam master server port Optional

💡 Note: Port numbers are configurable. Defaults shown above. Multiple servers require unique port combinations (e.g., Game: 7707, 7717; Query: 7708, 7718).

Firewall Configuration Examples

Ubuntu/Debian (UFW)

# 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

CentOS/RHEL (FirewallD)

# 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

Windows Firewall (PowerShell)

# 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

iptables (Advanced)

# 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

Installation

Prerequisites

Linux Installation

# 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

Windows Installation

# 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

⚙️ Configuration

Main Configuration Files

KF server configuration is in System/ directory:

KillingFloor.ini (Essential Settings)

Edit System/KillingFloor.ini:

[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

Difficulty Levels

Difficulty Value Specimen Health Description
Beginner 1.0 50% New players learning the game
Normal 2.0 100% Standard difficulty
Hard 4.0 150% Challenging gameplay
Suicidal 5.0 200% Very difficult, experienced teams
Hell on Earth 7.0 250% Extreme challenge, elite players

Web Admin Interface

Enabling Web Admin

Edit System/KillingFloor.ini:

[WebAdmin.WebAdmin]
bEnabled=True
ListenPort=8075

Accessing Web Admin

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

Default login: Admin with the password set in AdminPassword in KillingFloor.ini

Web Admin Features

Game Modes & Maps

Game Modes

Mode Description Waves
Story Mode Standard wave-based survival with Patriarch finale 4, 7, or 10 + Boss
Objective Mode Complete map-specific objectives while surviving waves Varies by map

Official Maps (Selection)

Map Rotation Configuration

Edit System/KillingFloor.ini:

[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

Perks & Classes

The 7 Perks

Perk Role Primary Weapons Level Cap
Berserker Tank/Melee DPS Katana, Claymore, Fire Axe 6
Commando Trash Cleaner SCAR, Bullpup, AK-47 6
Support Specialist Shotgun Expert AA12, Hunting Shotgun 6
Sharpshooter Precision Sniper Crossbow, M14 EBR, Lever Action 6
Medic Healer/Support MP7M, MP5M 6
Demolitionist Explosive Specialist M79, M32, LAW, Pipe Bombs 6
Firebug Area Denial/DoT Flamethrower, MAC-10 6

Perk Leveling

Perks level from 0 to 6 based on completing requirements:

Popular Mods & Mutators

Installing Mutators

Place mutator files in System/ directory, then add to KillingFloor.ini:

[Engine.GameEngine]
ServerActors=MyMutator.MyMutatorClass
ServerPackages=MyMutator

Popular Mutators

WhiteList Mode (Custom Content)

Allow custom maps and mutators:

[IpDrv.TcpNetDriver]
AllowDownloads=True

[Engine.GameEngine]
CacheSizeMegs=32

Startup Commands

Linux

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

Windows

@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

Startup Parameters

🔧 Troubleshooting

Server Not in Browser

# 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

Web Admin Won't Load

# 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

Performance Issues

Custom Maps Not Downloading

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

Perk Progress Not Saving

Pro Tips

Resources