| 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 |
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.
💡 Note: Port numbers are configurable. Defaults shown above. Multiple servers require unique port combinations (e.g., Game: 7707, 7717; Query: 7708, 7718).
# 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
# 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
# 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
# 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
# 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
# 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
KF server configuration is in System/ directory:
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 | 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 |
Edit System/KillingFloor.ini:
[WebAdmin.WebAdmin]
bEnabled=True
ListenPort=8075
Open browser to: http://your-server-ip:8075
Default login: Admin with the password set in AdminPassword in KillingFloor.ini
| 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 |
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
| 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 |
Perks level from 0 to 6 based on completing requirements:
Place mutator files in System/ directory, then add to KillingFloor.ini:
[Engine.GameEngine]
ServerActors=MyMutator.MyMutatorClass
ServerPackages=MyMutator
Allow custom maps and mutators:
[IpDrv.TcpNetDriver]
AllowDownloads=True
[Engine.GameEngine]
CacheSizeMegs=32
#!/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
@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
server MapName.rom - Start with specific map?game=KFMod.KFGameType - Specify game mode?VACSecured=true - Enable VAC anti-cheat-port=7707 - Game port-queryport=7708 - Server browser port-nohomedir - (Linux) Don't use home directory for configs-ini=KillingFloor.ini - Specify config file# 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
# 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
MaxPlayers in KillingFloor.iniNetServerMaxTickRate=20-benchmark flag to test server performance# 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/
VACSecured=true)System/KFStatsAndAchievements.ini for errors