How to Add Workshop Maps to a Killing Floor 2 Server
Add Steam Workshop maps to a Killing Floor 2 server: ServerSubscribedWorkshopItems in KFEngine.ini, then the map name in GameMapCycles and a KFMapSummary entry.
Updated Oct 3, 2026 · 5 min read
On this page
- What you are working with
- Workshop ID versus map name
- Before you start
- Step 1: Add the Workshop IDs to KFEngine.ini
- Step 2: Turn on Workshop downloads
- Step 3: Add the map to the map cycle
- Step 4: Add a map summary entry
- Step 5: Restart and check the console
- The gotcha: the map has to be in three places
- Mutators work the same way
- Common problems
- Workshop maps on GamezServers
- FAQ
To add Workshop maps to a Killing Floor 2 server, list each map's Workshop ID as ServerSubscribedWorkshopItems=<ID> under [OnlineSubsystemSteamworks.KFWorkshopSteamworks] in KFEngine.ini, and add DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload under [IpDrv.TcpNetDriver]. Then add the map's file name, like KF-SomeMap, to GameMapCycles in KFGame.ini, with a [KF-SomeMap KFMapSummary] entry. Restart: the server downloads the maps at boot, and players download them when they join.
What you are working with
| File | What you change there | Location |
|---|---|---|
LinuxServer-KFEngine.ini (PCServer- on Windows) |
Workshop IDs and the download manager | KFGame/Config/ |
LinuxServer-KFGame.ini (PCServer- on Windows) |
Map cycle and map summary entries | KFGame/Config/ |
| Workshop ID | The number after ?id= in the map's Workshop URL |
Goes in KFEngine.ini |
| Map file name | The real map name, such as KF-BikiniAtoll |
Goes in KFGame.ini |
The config files only appear after the server has started once. Our servers run on Linux, so the files there start with LinuxServer-.
Workshop ID versus map name
| You need | Where to find it | Used in |
|---|---|---|
Workshop ID, like 535769647 |
The map's Workshop page URL | ServerSubscribedWorkshopItems |
Map name, like KF-BikiniAtoll |
The Workshop description, or the map file name after download | GameMapCycles, KFMapSummary, changelevel, the start map |
These two are the most common mix up. The Workshop title is not the map name either: titles often carry spaces, versions or extra words, while the map name is a single file name starting with KF-.

Before you start
- Start the server once so it writes its config files, then stop it.
- Back up the two ini files. A typo in a section header can stop the server loading its settings.
- Edit with the server stopped. The game can rewrite its ini files on shutdown.
Step 1: Add the Workshop IDs to KFEngine.ini
Open KFGame/Config/LinuxServer-KFEngine.ini. Add this section at the end, with one line per map:
[OnlineSubsystemSteamworks.KFWorkshopSteamworks]
ServerSubscribedWorkshopItems=535769647
ServerSubscribedWorkshopItems=1234567890
Step 2: Turn on Workshop downloads
In the same file, find [IpDrv.TcpNetDriver] and add this line. If the section already has DownloadManagers lines, put this one first:
[IpDrv.TcpNetDriver]
DownloadManagers=OnlineSubsystemSteamworks.SteamWorkshopDownload
Step 3: Add the map to the map cycle
Open KFGame/Config/LinuxServer-KFGame.ini and find GameMapCycles under [KFGame.KFGameInfo]. Add the map name inside the list, in quotes, separated by commas:
GameMapCycles=(Maps=("KF-BurningParis","KF-Outpost","KF-BioticsLab","KF-BikiniAtoll"))
Step 4: Add a map summary entry
In the same file, add a section for each custom map, the same way the stock maps are listed:
[KF-BikiniAtoll KFMapSummary]
MapName=KF-BikiniAtoll
ScreenshotPathName=UI_MapPreview_TEX.UI_MapPreview_Placeholder
This entry is what makes the map show up properly in the server's map list and votes. The well known Steam guide Dedicated Server + Workshop walks through the same three edits.
Step 5: Restart and check the console
Start the server. It downloads every subscribed item before loading, and the console shows each download. After that, changelevel KF-BikiniAtoll from the console or WebAdmin loads the map, and it appears in end of match votes.
The gotcha: the map has to be in three places
A Workshop map that only appears in ServerSubscribedWorkshopItems is downloaded and then never used. It needs the Workshop ID in KFEngine.ini, the map name in GameMapCycles, and the KFMapSummary section in KFGame.ini. Miss the cycle and nobody can vote for it. Miss the download manager line and nothing downloads at all.
The second trap is the start map. Keep a stock map such as kf-bioticslab as the Map Name in our panel until you have seen the Workshop map load once from the cycle, so a typo or a failed download never leaves the server unable to start. Map names on the launch line should be lowercase.
Mutators work the same way
Workshop mutators and game modes, such as Controlled Difficulty or Zedternal Reborn, are added with ServerSubscribedWorkshopItems too. They are then switched on with ?Mutator= or ?Game= on the server's launch line, which our support team can help you set. Check each mod's Workshop page for the exact class name, and whether it switches off perk XP.
Common problems
- Map downloads but never shows in votes: it is missing from
GameMapCyclesor has noKFMapSummarysection. - Nothing downloads: the
DownloadManagersline is missing or not first in[IpDrv.TcpNetDriver], or the section header has a typo. - "Map not found" on changelevel: you used the Workshop title or ID instead of the map file name.
- Players stuck on a long download: big custom maps take time on first join. Post the Workshop links so players can subscribe beforehand.
- Settings vanished after a restart: the ini was edited while the server ran. Stop, edit, start.
Workshop maps on GamezServers
On a Killing Floor 2 server from GamezServers, the start map, difficulty and WebAdmin are panel settings, and the ini files are a click away in the file manager or over the SFTP login in Settings. The file manager also unzips archives and can download a file from a link straight to the server. Click Backup before editing the configs, and the server stays up for the squad without anyone's PC on. For ports and WebAdmin, see how to host a Killing Floor 2 server.
FAQ
Where do I put Workshop IDs on a KF2 server?
Under [OnlineSubsystemSteamworks.KFWorkshopSteamworks] in KFEngine.ini, one ServerSubscribedWorkshopItems= line per item.
Why is my Workshop map not in the map vote?
It also needs its name in GameMapCycles and a KFMapSummary section in KFGame.ini.
Do players need to subscribe to the maps?
No. They download the map when they join, but subscribing first saves time on big maps.
Can I use Workshop mutators on my KF2 server?
Yes. Add them with ServerSubscribedWorkshopItems, then load them with ?Mutator= on the launch line.
Skip the setup. Your own Killing Floor 2 server.
Then $7.99/mo. Just trying it? $2.00 for 3 days