Killing Floor 2 Updated April 29, 2026

Adding Custom Maps to Your KF2 Server

Install custom .kfm maps on your Killing Floor 2 dedicated server. Covers manual file placement, the correct directory path, updating the map cycle in LinuxServer-KFGame.ini, and Steam Workshop integration.

Killing Floor 2custom mapsworkshopkfmmap cyclemods

Custom Maps on Your KF2 Server

KF2 maps use the .kfm file format. You can install custom maps manually or via Steam Workshop.


Method 1 — Manual Installation

Step 1 — Get the map file

Download the .kfm file from a source like the KF2 Steam Workshop (download using a SteamCMD workshop downloader or transfer from a client install).

Step 2 — Upload the file

Place the .kfm file in:

KFGame/Published/BrewedPC/Maps/

Create the directory if it doesn't exist:

mkdir -p /home/steam/kf2server/KFGame/Published/BrewedPC/Maps/

Then upload (e.g. via SFTP or scp):

scp KF-MyCustomMap.kfm user@YOUR_SERVER_IP:/home/steam/kf2server/KFGame/Published/BrewedPC/Maps/

Step 3 — Add to map cycle

In KFGame/Config/LinuxServer-KFGame.ini, add the map to GameMapCycles:

[KFGame.KFGameInfo]
GameMapCycles=(Maps=("KF-BioticsLab","KF-BurningParis","KF-MyCustomMap"))

Map names are case-sensitive and must match the filename exactly (without .kfm).

Step 4 — Restart the server

The map will now appear in the WebAdmin map list and in the rotation.


Method 2 — Steam Workshop

KF2 servers can subscribe to Workshop items and download maps automatically.

Enable Workshop in LinuxServer-KFGame.ini:

[OnlineSubsystemSteamworks.KFWorkshopSteamworks]
ServerSubscribedWorkshopItems=WorkshopItemID1
ServerSubscribedWorkshopItems=WorkshopItemID2

Replace WorkshopItemID1 with the numeric ID from the Steam Workshop URL (e.g. https://steamcommunity.com/sharedfiles/filedetails/?id=12345678 → 12345678).

The server downloads workshop items on startup. After they download, add the map names to GameMapCycles as above.


Official Map List (for Reference)

All official KF2 maps use the KF- prefix:

KF-AshwoodAsylum    KF-BioticsLab       KF-BurningParis
KF-Catacombs        KF-ContainmentStation KF-EvacuationPoint
KF-Farmhouse        KF-HostileGrounds    KF-InfernalRealm
KF-KrampusLair      KF-Lockdown          KF-MonsterBall
KF-Nightmare        KF-Nuked             KF-Outpost
KF-PowerCore        KF-Prison            KF-Sanitarium
KF-Schwarzwald      KF-ShoppingSpree     KF-Spillway
KF-SteamFortress    KF-ThePit            KF-TragicKingdom
KF-VolterManor      KF-ZedLanding

Troubleshooting

Map not loading: Check that the filename matches exactly what's in GameMapCycles — KF2 map names are case-sensitive on Linux.

Custom map not appearing in WebAdmin: Restart the server fully (not just map change) so it rescans the Published/BrewedPC/Maps/ directory.

Players getting "map not found" errors: Players must also have the map installed. For public servers, use Workshop-based maps so Steam can push the map to clients automatically.