How to Set Up a Killing Floor 2 Dedicated Server
Install and launch a Killing Floor 2 dedicated server on Linux using SteamCMD. Covers AppID 232130, the correct binary path, required launch parameters, and first-launch checklist.
Killing Floor 2 Dedicated Server Setup
Killing Floor 2 dedicated servers run on Linux via SteamCMD. The server binary is a native Linux 64-bit executable — no Wine required.
Step 1 — Install SteamCMD
If SteamCMD isn't already installed:
sudo apt-get install lib32gcc-s1 -y
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
Step 2 — Download the Server Files
KF2's dedicated server AppID is 232130.
~/steamcmd/steamcmd.sh \
+force_install_dir /home/steam/kf2server \
+login anonymous \
+app_update 232130 validate \
+quit
This downloads roughly 15–20 GB. The validate flag verifies file integrity — include it on first install and whenever files may be corrupt.
Step 3 — Locate the Server Binary
After the download completes, the main executable is at:
/home/steam/kf2server/Binaries/Win64/KFGameSteamServer.bin.x86_64
Note: Despite the
Win64folder name, this is a native Linux binary. Do not try to run it with Wine.
Make it executable if needed:
chmod +x /home/steam/kf2server/Binaries/Win64/KFGameSteamServer.bin.x86_64
Step 4 — First Launch
Run the server to generate default config files:
cd /home/steam/kf2server
./Binaries/Win64/KFGameSteamServer.bin.x86_64 KF-BioticsLab?game=KFGameContent.KFGameInfo_Survival?difficulty=0?GameLength=1 -log
The first launch generates the KFGame/Config/ directory with all default .ini files. Let it run until you see LogInit: Server is up or similar, then stop it (Ctrl+C) and proceed to configuration.
Step 5 — Keeping the Server Updated
Run the SteamCMD command again to update:
~/steamcmd/steamcmd.sh \
+force_install_dir /home/steam/kf2server \
+login anonymous \
+app_update 232130 \
+quit
Consider automating this in your startup script or systemd service before launch.
Launch Parameter Reference
| Parameter | Example | Description |
|---|---|---|
| Map | KF-BioticsLab |
Starting map |
game= |
KFGameContent.KFGameInfo_Survival |
Game mode |
difficulty= |
0 – 3 |
0=Normal, 1=Hard, 2=Suicidal, 3=Hell on Earth |
GameLength= |
0 – 2 |
0=Short (4 waves), 1=Normal (7 waves), 2=Long (10 waves) |
-log |
— | Enable console logging |
-Port=7777 |
— | Override game port |
A complete launch line looks like:
./Binaries/Win64/KFGameSteamServer.bin.x86_64 KF-BioticsLab?game=KFGameContent.KFGameInfo_Survival?difficulty=1?GameLength=1?MaxPlayers=6 -log
Next Steps
- Configure the server — edit
KFGame/Config/LinuxServer-KFGame.ini - Open firewall ports — UDP 7777 (game), UDP 27015 (Steam query), TCP 8080 (WebAdmin)
- Set up WebAdmin — enable the in-browser admin panel at port 8080
- Run as a service — use systemd so the server restarts automatically
See the related articles for each of these steps.