Killing Floor 2 Updated April 29, 2026

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 2setupinstallSteamCMDdedicated serverLinux

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 Win64 folder 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.