Option 1: with SteamCMD, on Windows or Linux
The Killing Floor 2 Dedicated Server is a free, anonymous download from Steam, application 232130, about 32 GB. You do not need to own the game on the server. Ask SteamCMD for the Windows platform even on Linux: that download also carries the Linux server binary.
- Install SteamCMD, then run: +@sSteamCmdForcePlatformType windows +login anonymous +app_update 232130 validate +quit.
- On Windows start KFServer.exe; on Linux run Binaries/Win64/KFGameSteamServer.bin.x86_64 with Binaries/Win64/lib64 on LD_LIBRARY_PATH (it needs libcurl installed). Give it a map and options, for example: KF-BioticsLab?Game=KFGameContent.KFGameInfo_Survival?Difficulty=0?GameLength=0?MaxPlayers=6 -Port=7777 -QueryPort=27015.
- Open UDP 7777 and 27015 in the firewall and forward them on the router.
- Start it once: it writes its ini files in KFGame/Config. Stop it, then set AdminPassword and GamePassword in LinuxServer-KFGame.ini (the server rewrites its ini files from memory while it runs, so always edit them while it is stopped).
- To use the browser admin, set bEnabled=true in KFWeb.ini and open TCP 8080; log in as Admin with the admin password.
Game modes and options
The first argument is the map and its options. Game picks the mode (KFGameContent.KFGameInfo_Survival, _WeeklySurvival, _Endless, _VersusSurvival or _Objective), Difficulty is 0 to 3 (Normal, Hard, Suicidal, Hell on Earth), GameLength is 0 to 2 (4, 7 or 10 waves, Survival only).
Option 2: Docker
runonflux/killingfloor2-server-flux, our image, installs and updates the server with SteamCMD on every start, runs the native Linux binary with no Wine and no display, writes the ini files from environment variables, downloads workshop items, and gives the panel a JSON status.
- Mount /mnt/kf2/data on a volume: the ini files (settings, bans, map cycle, workshop list) and the backups live there.
- Mount /mnt/kf2/server too, or every start downloads the 32 GB install again.
- Publish UDP 7777 and 27015, and keep the numbers the same outside and inside: the server binds exactly the ports it is given.
Option 3: managed on Flux
Deploy a Killing Floor 2 server on the Flux decentralized cloud, on that same image, with the ports opened and routed for you, DDoS protection included, and a dashboard with the server settings, a map cycle editor, workshop maps and mutators, a live player list with kick and ban, and backups.
- Pick the Squad, Squad Plus or Versus plan.
- Choose a region close to your players.
- Name the server, set the admin password (and a join password if you want one), pick the mode and difficulty, and deploy. The first start downloads about 32 GB, then the server is up in half a minute.
- Your squad finds it by name in the game's server browser.
Frequently asked questions
Is the Killing Floor 2 dedicated server free?
Yes. It is a free, anonymous download from Steam (application 232130); you do not need to own the game on the server.
Does the Killing Floor 2 server run on Linux?
Yes. Tripwire ships a native Linux server binary in the same download as the Windows one, which is what our Docker image runs. SteamCMD has to be asked for the Windows platform to fetch it.
Why does my edit to the ini file disappear?
A running Killing Floor 2 server rewrites its ini files from memory, undoing edits made while it runs. Stop the server first, edit, then start it. A managed Flux server keeps your panel edits and writes them before the next start for you.