Dedicated Server Killing Floor 2: How to Set Up a KF2 Server (Requirements, Ports, Config, Workshop Maps)

A dedicated server for Killing Floor 2 is Tripwire’s free KF2 server (SteamCMD app 232130) running on its own, so your squad’s maps, difficulty and Workshop content are waiting whenever you want a few waves. You install it with SteamCMD (no KF2 purchase needed for the server itself), start it once to generate its config files, set your name and passwords in PCServer-KFGame.ini, and open UDP 7777 and 27015. Give it 3–4 GB of RAM. Below is the full Killing Floor 2 dedicated server setup on Windows and Linux, plus game modes, WebAdmin, custom maps from the Workshop, and fixes for servers that don’t show up.

Do you need a dedicated KF2 server?

You can create a private game straight from KF2’s menu, and for one session that works. A dedicated server is for when the group plays often: it stays up when the host logs off, keeps your map list and difficulty between sessions, and loads the Workshop maps and mutators you pick. It’s also the only way to control exactly who gets in.

Hosting from the game Dedicated server
Runs when the host is offline No Yes
Custom map list and Workshop maps Limited Yes, set in the server config
Remote admin from a browser No WebAdmin on port 8080
Password and server name Basic Full control in the ini files

Killing Floor 2 dedicated server requirements

KF2’s server runs on Unreal Engine 3 and is heavier than the old Source servers, but still modest: plan on 3–4 GB of RAM. Six players in Survival is the standard load, and 12-player Versus or a long list of Workshop maps sits at the top of that range.

  • RAM: 3–4 GB for the server.
  • CPU: a modern CPU with good single-core speed. The server ticks at 30 by default (NetServerMaxTickRate).
  • OS: 64-bit Windows, or 64-bit Linux with glibc 2.17 or newer. The Linux server is 64-bit only.
  • Windows prerequisite: run UE3Redist.exe, which ships in the server’s Binaries\Redist folder.
  • Disk: room for the server and every Workshop map you add, since each is downloaded to the server.
  • Network: enough upload for every player and a router you can forward ports on.

How to set up a Killing Floor 2 server on Windows

The install takes three steps: SteamCMD downloads the server, the included launcher starts it, and the first start writes the config files you edit. Log in to SteamCMD anonymously; Tripwire recommends it, and the server download doesn’t need an account that owns the game.

  1. Download SteamCMD from Valve, unzip it to C:\steamcmd and run it once to update.
  2. Download the server:
    steamcmd +force_install_dir C:\KF2Server +login anonymous +app_update 232130 validate +quit

    For later updates drop validate, or the update overwrites the KF2Server.bat launcher you may have edited. A good habit: keep your own launch file under a different name.

  3. Install C:\KF2Server\Binaries\Redist\UE3Redist.exe.
  4. Start the server once with the included KF2Server.bat launcher, or directly:
    start .\Binaries\win64\kfserver kf-bioticslab

    Wait until it’s fully up, then close it. The first start creates the config files in KFGame\Config.

  5. Edit the generated PCServer- files (next section), never the Default ones, then start the server again.

Killing Floor 2 dedicated server on Linux

On Linux you run the same Windows-named folders with a Linux binary. Install SteamCMD from your package manager, point it at a script, and start KFGameSteamServer.bin.x86_64. The .bat launcher is Windows-only, so you write the start line yourself.

# ~/kf2/update.txt
login anonymous
force_install_dir /home/kf2/kf2server
app_update 232130 validate
quit
sudo apt install steamcmd
steamcmd +runscript /home/kf2/kf2/update.txt
cd /home/kf2/kf2server
mkdir -p KFGame/Cache            # Linux doesn't create it, and Workshop maps need it
./Binaries/Win64/KFGameSteamServer.bin.x86_64 kf-bioticslab

As on Windows, start it once, stop it, then edit the config. For a managed setup, LinuxGSM installs KF2 as kf2server and wraps start, stop, update and the live console in one tool. To skip installing anything, Killing Floor 2 server hosting comes with the server files and ports already set up.

Killing Floor 2 server ports

A KF2 server uses different ports from most Steam games. Forward UDP 7777 (the game) and UDP 27015 (the query port Steam’s server list talks to). Add TCP 8080 only if you want WebAdmin reachable from outside. A server that runs fine but never shows in the browser often has 27015 closed.

Port Protocol Purpose Change with
7777 UDP Game connections -Port=
27015 UDP Query port, Steam master server -QueryPort=
8080 TCP WebAdmin (if enabled) -WebAdminPort= or ListenPort in KFWeb.ini
20560 UDP Steam n/a
123 UDP Internet time lookup, Weekly Outbreak only n/a

Running two servers on one machine? Change -Port and the query port moves with it by the same amount, unless you set -QueryPort yourself.

KF2 server config: PCServer-KFGame.ini and friends

Killing Floor 2 server config lives in KFGame\Config, split across a few ini files. PCServer-KFGame.ini holds the game settings: name, passwords, map list and game length. PCServer-KFEngine.ini holds the network side and the Workshop list. KFWeb.ini switches WebAdmin on. Edit them only while the server is stopped.

; PCServer-KFGame.ini
[Engine.AccessControl]
AdminPassword=long-random-string
GamePassword=squad-only            ; leave empty for a public server

[Engine.GameReplicationInfo]
ServerName=Friday Zed Night | Hard | Long
[email protected]

Under the game section of the same file, GameLength sets waves per game (0 short = 4, 1 normal = 7, 2 long = 10), and bUseMapList=True with a GameMapCycles line limits the rotation to the maps you choose:

GameMapCycles=(Maps=("KF-BurningParis","KF-Bioticslab","KF-Outpost","KF-VolterManor","KF-Catacombs","KF-EvacuationPoint"))

The welcome screen is three lines in PCServer-KFGame.ini: BannerLink (a PNG), ServerMOTD (use \n for new lines) and WebsiteLink.

Difficulty, players and launch options

Most settings can also go on the launch line as URL options after the map name, which is handy for testing. Difficulty runs 0 to 3: Normal, Hard, Suicidal, Hell on Earth.

kfserver kf-burningparis?Difficulty=2?MaxPlayers=6?AdminPassword=secret -Port=7777 -QueryPort=27015

Other switches worth knowing: -Multihome= binds the server to one IP, -PREFERREDPROCESSOR= pins it to one CPU core, and -ConfigSubDir= gives a second server its own set of ini files.

Game modes on a dedicated server

By default a KF2 server starts in Survival, the 6-player co-op mode. Switch modes with the ?Game= option on the launch line, or from the Change Map tab in WebAdmin. Versus Survival is the one mode that goes beyond 6, up to 12 players in a competitive mode.

Mode Players Launch option
Survival 6 Default (KFGameContent.KFGameInfo_Survival)
Versus Survival Up to 12 ?Game=KFGameContent.KFGameInfo_VersusSurvival?maxplayers=12
Weekly Outbreak 6 ?Game=KFGameContent.KFGameInfo_WeeklySurvival (needs UDP 123 out for the time check)
Endless 6 ?Game=KFGameContent.KFGameInfo_Endless

Versus needs a map that supports it: Burning Paris, Biotics Lab, Prison, Voltor Manor and Farmhouse.

WebAdmin: run the server from a browser

WebAdmin is KF2’s built-in control panel, and it’s the easiest way to change maps, modes and difficulty without touching files. Turn it on in KFWeb.ini, restart, then open the server’s IP on port 8080 in any browser. The user is Admin and the password is the AdminPassword you set; no admin password, no login.

; KFWeb.ini
[IpDrv.WebServer]
bEnabled=true
ListenPort=8080

For more than one admin, add AuthenticationClass=WebAdmin.MultiWebAdminAuth under [WebAdmin.WebAdmin] in KFWebAdmin.ini, start the server once to create MultiAdmin.ini, and add admins there or from WebAdmin itself.

Custom maps and mutators from the Steam Workshop

KF2 servers pull custom maps and mutators straight from the Steam Workshop, and players download them from Steam when they join. You list each item’s Workshop ID in PCServer-KFEngine.ini and tell the server to hand downloads to Steam. The old redirect method still exists but Tripwire marks it as deprecated in favour of the Workshop.

  1. Stop the server. A running server overwrites these edits when it restarts.
  2. In PCServer-KFEngine.ini, add a section with one line per item. The ID is the number after id= in the Workshop URL:
    [OnlineSubsystemSteamworks.KFWorkshopSteamworks]
    ServerSubscribedWorkshopItems=643383080
    ServerSubscribedWorkshopItems=605633924
  3. In the [IpDrv.TcpNetDriver] section of the same file, add this as the first DownloadManagers= line, without deleting anything else:
    DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload
  4. Start the server and wait. The first boot downloads every listed item and can take several minutes, so a slow first start after adding maps is normal.
  5. Stop it again and find each map’s real name in KFGame\Cache\<ID>\0\BrewedPC (the .kfm file, without the extension). Add those names to GameMapCycles.
  6. To see the maps in WebAdmin’s Change Map list, add a data store per map to PCServer-KFGame.ini, written in lowercase:
    [kf-bikiniatoll KFMapSummary]
    MapName=kf-bikiniatoll
    ScreenshotPathName=UI_MapPreview_TEX.UI_MapPreview_Placeholder

Keep the rotation under 519 maps; Tripwire’s wiki says more than that breaks the server.

Leveling, XP farm and RPG servers

Plenty of community servers are built around custom maps and mutators: perk leveling maps, “fast XP” farm servers, RPG-style mutators that add their own level system, custom weapons and big-player-count servers. You can build any of these with the Workshop steps above. Check each mutator’s Workshop page for how it affects ranked status before you build on it; Tripwire’s own docs note that cheat commands derank a session, while a few admin tools such as Admin SetFriendlyFireScale keep the server ranked.

Private servers, passwords and Server Takeover

To make a private server, set GamePassword in PCServer-KFGame.ini. Then decide about Server Takeover. By default, players matchmaking for a private game can “take over” an idle dedicated server, which applies their settings and makes it private for their session; they never see your admin password, and the server reopens when they leave. If you want the server to stay yours, have it removed from the takeover list in PCServer-KFEngine.ini:

[Engine.GameEngine]
bUsedForTakeover=FALSE

How to join your KF2 server

Players can find a public server in the in-game server browser by its ServerName, or join directly from the console. Open it with ~ (or F3 for the small one) and type open plus the IP, with the password if there is one.

open 203.0.113.25
open 203.0.113.25?password=squad-only
open 203.0.113.25??spectatoronly=1

Players on the same LAN use the server’s local IP. Once in, admins log in with AdminLogin yourpassword in the console.

Can Epic Games players join?

KF2 arrived on the Epic Games Store on July 9, 2020, with cross-play and cross-friend invites between the Steam and Epic versions. Tripwire limits that cross-play to unmodded ranked servers. If your server runs Workshop maps or mutators, plan on it being a Steam-players server.

Useful KF2 server commands

Command What it does
AdminLogin <password> / AdminLogout Log in or out as admin from the game console
open KF-Farmhouse?Game=Endless?Difficulty=2?Gamelength=1 Load a map with a mode, difficulty and length (short names: Survival, Weekly, Versus, Endless, Objective)
Admin SetFriendlyFireScale 0.25 Set friendly fire; the server stays ranked
Pause Pause the game
Disconnect / Reconnect Leave or rejoin the current server

For day-to-day admin, WebAdmin covers the same ground: map changes, mode, difficulty, players and bans.

Updating the server

When Tripwire patches KF2, players on the new version can’t join a server still on the old one. Stop the server, run app_update 232130 through SteamCMD again (without validate if you’ve customised KF2Server.bat), and start it. Your PCServer- ini files stay as they are.

KF2 server problems and fixes

Problem Likely cause Fix
Server not showing up in the browser UDP 27015 (query) closed, or a changed query port not forwarded Forward the query port as well as 7777; check the firewall
Only shows under LAN Ports not open to the internet Forward 7777 and 27015; friends join with open ip meanwhile
Settings keep resetting Edited a Default ini, or edited while the server was running Stop the server, edit the PCServer- file
Workshop maps never download on Linux Missing KFGame/Cache folder mkdir -p KFGame/Cache in the server folder
Players stuck on “connecting” moving between custom maps Client is downloading the next map without showing progress Wait it out; it’s a known issue
Redirect clients get a 1 KB file Missing trailing slash or uppercase map names on a Linux redirect Fix the URL and use lowercase, or switch to Workshop
Can’t log in to WebAdmin No AdminPassword set, or bEnabled still false Set both, restart, log in as Admin
Server changed settings by itself and went private Server Takeover Set bUsedForTakeover=FALSE
Weekly Outbreak shows the wrong week Outbound UDP 123 blocked Allow NTP out

Skip the setup: rent a KF2 server

Running it yourself means a PC left on, three ports forwarded, four ini files, and a Workshop list where one wrong line means a map that never loads. If you’d rather just hold the line, Killing Floor 2 server hosting on GameTeam is ready in minutes, with no port forwarding. You pay per GB of RAM, from $0.49/GB a week or $1.99/GB billed monthly, and slots are unlimited on our side; KF2 itself sets 6 for Survival and 12 for Versus. DDoS protection comes with every plan, and if it isn’t for you, the first 72 hours are refundable. The built-in AI copilot does the ini work: tell it “Hell on Earth, long games, password the server and add these three Workshop maps” and it edits PCServer-KFGame.ini and PCServer-KFEngine.ini, then restarts. Ask “why isn’t my server in the browser?” and it reads the server log and the port settings in your ini files and tells you what’s wrong.

FAQ

Is the Killing Floor 2 dedicated server free?

Yes. It’s app 232130 in SteamCMD, an anonymous download, and the account doesn’t need to own KF2. Players still need the game. You pay only for the machine or a host.

How many players can a KF2 dedicated server hold?

Six in Survival, Weekly Outbreak and Endless, and up to 12 in Versus Survival, which you set with ?maxplayers=12.

How do I change the difficulty on my KF2 server?

Add ?Difficulty= to the launch line (0 Normal, 1 Hard, 2 Suicidal, 3 Hell on Earth), or change it from WebAdmin’s Change Map tab.

Where are the Killing Floor 2 server config files?

In KFGame\Config inside the server folder. They appear after the first start: PCServer-KFGame.ini, PCServer-KFEngine.ini, KFWeb.ini and KFWebAdmin.ini.

How do I add custom maps to a Killing Floor 2 dedicated server?

List each Workshop ID as ServerSubscribedWorkshopItems in PCServer-KFEngine.ini, add the Steam Workshop download manager, start the server so it downloads them, then add the map names to GameMapCycles.

Can I run a KF2 server on Linux?

Yes, with the 64-bit Linux binary KFGameSteamServer.bin.x86_64. Create the KFGame/Cache folder yourself, or Workshop maps won’t download.

Can I host a LAN server?

Yes. Start the server on a PC on your network and have everyone join with open and the server’s local IP. You don’t need to forward ports for players on the same network.

Your group also plays co-op horde shooters on Source? Our Left 4 Dead 2 dedicated server guide covers that setup.

Total
0
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *