This guide covers how to set up and configure your Killing Floor 2 dedicated server hosted with Legion Hosting, including first start, GPanel startup variables, difficulty settings, configuration files, map rotation, and how to connect. For custom workshop maps, see KF2 Custom Maps (Workshop). For admin commands and the web admin panel, see KF2 Web Admin and Admin Commands.
First Start
When you first receive your Killing Floor 2 server, it needs to download and install the game files from Steam (App ID 232130). This happens automatically on the first start.
- Log in to GPanel.
- Select your Killing Floor 2 server from the server list.
- Click the Startup tab and set your ADMIN_PASS before starting. This is required — the server will not function correctly without an admin password.
- Go to the Console tab and click Start.
- The server will download the Killing Floor 2 files from Steam. This may take several minutes depending on server load. Watch the console output for progress.
- Once the download completes, the server will start automatically. Wait for the console to show that the server is ready and listening for connections.
ADMIN_PASS startup variable is required. Without it, you will not be able to access the web admin panel or use in-game admin commands.
GPanel Startup Variables
Killing Floor 2 uses several startup variables configured in the GPanel Startup tab. These control core server behaviour and take effect each time the server starts.
- Log in to GPanel and select your KF2 server.
- Click the Startup tab.
- Review and set the variables listed below. Changes take effect the next time the server is started.
| Variable | Default | Description |
|---|---|---|
MAP_NAME |
kf-bioticslab |
The map the server loads on startup. Must be a valid KF2 map name (lowercase, prefixed with kf-). See the Map Rotation section below for a list of default maps. |
ADMIN_PASS |
(none — required) | The admin password used for the web admin panel and in-game admin authentication. This must be set before starting the server. Keep it private. |
SERVER_NAME |
(assigned) | The name displayed in the in-game server browser. Make it descriptive so players can find your server easily. |
DIFFICULTY |
0 |
The difficulty level for the server. 0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth. See the Difficulty Levels section below for details. |
WEB_ADMIN |
true |
Enables or disables the web admin panel. Set to true to enable or false to disable. See KF2 Web Admin and Admin Commands for details. |
WEB_ADMIN_PORT |
8089 |
The port the web admin panel listens on. Check the GPanel Network tab for the actual port assigned to your server. |
Difficulty Levels
Killing Floor 2 has four difficulty levels that affect Zed health, damage, speed, and spawn behaviour. Set the difficulty using the DIFFICULTY startup variable in GPanel.
| Value | Difficulty | Description |
|---|---|---|
0 |
Normal | The default difficulty. Zeds have standard health and damage. Good for casual play and new players learning the game. Zeds move at normal speed and have no special behaviour modifiers. |
1 |
Hard | Zeds deal more damage and have increased health pools. Players take more damage from attacks. A solid step up that requires better teamwork and loadout choices. |
2 |
Suicidal | Significantly tougher Zeds with higher health, faster movement, and more aggressive AI. Zeds can sprint and perform special attacks more frequently. Requires experienced players and coordinated team compositions. |
3 |
Hell on Earth | The hardest difficulty. Zeds have maximum health and damage, sprint constantly, and use their most dangerous attacks frequently. Friendly fire damage is increased. Only recommended for highly experienced, well-coordinated teams. |
Configuration Files
Killing Floor 2's primary server configuration file is LinuxServer-KFGame.ini, located at KFGame/Config/LinuxServer-KFGame.ini. This file is generated on the first server start and controls detailed gameplay settings.
Accessing Configuration Files
- Log in to GPanel and select your KF2 server.
- Stop the server from the Console tab if it is running.
- Click the Files tab and navigate to
KFGame/Config/. - Click
LinuxServer-KFGame.inito open it in the inline editor.
Key Settings in LinuxServer-KFGame.ini
The following settings are found under the [Engine.GameReplicationInfo] and [KFGame.KFGameInfo] sections:
| Setting | Section | Default | Description |
|---|---|---|---|
GameLength |
[KFGame.KFGameInfo] |
1 |
Number of waves in a match. 0 = Short (4 waves), 1 = Medium (7 waves), 2 = Long (10 waves). |
MaxPlayers |
[KFGame.KFGameInfo] |
6 |
Maximum number of players who can join the server. KF2 supports up to 6 by default, but modded servers can increase this. |
FriendlyFireScale |
[KFGame.KFGameInfo] |
0.0 |
Friendly fire damage multiplier. 0.0 = disabled, 1.0 = full damage to teammates. Values between 0 and 1 scale proportionally. |
bDisableTeamCollision |
[KFGame.KFGameInfo] |
False |
When True, players can walk through each other. Useful on servers with many players to prevent blocking in tight corridors. |
ServerName |
[Engine.GameReplicationInfo] |
(assigned) | The server name shown in the browser. The SERVER_NAME startup variable in GPanel overrides this if set. |
bAdminCanPause |
[KFGame.KFGameInfo] |
False |
Allows admins to pause the game. Set to True if you want the ability to pause mid-wave. |
Example of key settings in LinuxServer-KFGame.ini:
[KFGame.KFGameInfo]
GameLength=1
MaxPlayers=6
FriendlyFireScale=0.0
bDisableTeamCollision=False
bAdminCanPause=False
Web Admin Configuration — KFWeb.ini
The web admin panel settings are stored in KFGame/Config/KFWeb.ini. This file controls whether the web admin is enabled and which port it runs on. In most cases, you do not need to edit this file directly — the WEB_ADMIN and WEB_ADMIN_PORT startup variables in GPanel handle these settings.
Map Rotation
Killing Floor 2 supports map rotation, allowing the server to cycle through a list of maps between matches. The map cycle is configured in LinuxServer-KFGame.ini under the [KFGame.KFGameInfo] section.
Setting Up Map Rotation
Add GameMapCycles entries to define your map rotation. Each entry specifies a list of maps the server will cycle through:
[KFGame.KFGameInfo]
GameMapCycles=(Maps=("kf-bioticslab","kf-burningparis","kf-outpost","kf-volter_manor","kf-catacombs","kf-evacuation_point"))
kf-. An incorrect map name will cause the server to skip that entry or fail to load the map.
Default Maps
Killing Floor 2 ships with a large selection of built-in maps. Here are some of the most commonly used ones:
| Map Name | Display Name |
|---|---|
kf-bioticslab | Biotics Lab |
kf-burningparis | Burning Paris |
kf-outpost | Outpost |
kf-volter_manor | Volter Manor |
kf-catacombs | Catacombs |
kf-evacuation_point | Evacuation Point |
kf-farmhouse | Farmhouse |
kf-blackforest | Black Forest |
kf-prison | Prison |
kf-containmentstation | Containment Station |
kf-hostilegrounds | Hostile Grounds |
kf-infernalrealm | Infernal Realm |
kf-nuked | Nuked |
kf-thescent | The Descent |
kf-zedlanding | Zed Landing |
MAP_NAME startup variable sets the initial map only. The map specified in the GPanel MAP_NAME variable is loaded when the server first starts. After that, the server follows the GameMapCycles rotation defined in the config file.
How to Connect
There are two ways to connect to your Killing Floor 2 server: through the in-game server browser or via direct connect.
Using the In-Game Server Browser
- Launch Killing Floor 2 and go to the main menu.
- Click Matchmaking and then Create Game or browse Server Browser.
- Use the filters to narrow down the results. Search for your server by the name you set in the
SERVER_NAMEstartup variable. - Select your server from the list and click Join.
Direct Connect via Steam
- Open Steam and click View in the top menu bar, then select Game Servers.
- Click the Favourites tab, then click Add a Server.
- Enter your server's IP and game port as shown in the GPanel Network tab (format:
IP:PORT). - Click Add this address to favourites, then select the server and click Connect.
You can also use the in-game console. Press ` (tilde/backtick) to open the console, then type:
open IP:PORT
Replace IP and PORT with the values from the GPanel Network tab.
For help finding your server's IP and port, see How to Find Your Server IP and Port.
Related Articles
- KF2 Custom Maps (Workshop)
- KF2 Web Admin and Admin Commands
- How to Find Your Server IP and Port
- Server Startup Guide
- How to Upload Files via SFTP
Need Help?
If you run into an issue not covered in this guide, our support team is available to help. Submit a support ticket and include your server ID, a description of the issue, and any relevant console output or screenshots.