VGKAMI
Advertise Get listed

Game Guides

Killing Floor 2 Server Settings Explained: The Best Configuration for Your Group

October 26, 2026 12 min read

For a friends-only Killing Floor 2 server, start with Survival, six slots, a familiar map, Difficulty=1 (Hard), and GameLength=1 (seven waves). Set those per-session choices on the launch line, then keep passwords, player limits, server name, and map cycles in the generated platform INI file. The order matters: install the dedicated server, start it once, stop it cleanly, and only then edit its files. A non-empty player password, a separate administrator password, and Web Admin restricted by your firewall give a private group control without exposing unnecessary services.

This guide explains exactly which values belong where, how the numeric presets work, how to enable remote administration, and what to check when an INI edit appears to do nothing.

What is the best baseline configuration for a friends-only server?

Use the following as a starting point, then adjust difficulty and session length to your group rather than trying to make every setting permanent.

Setting Recommended starting value Why
Mode KFGameContent.KFGameInfo_Survival It is the straightforward co-op ruleset and is documented for six players.
Players 6 Six is the stock co-op target for Survival, Weekly, Endless, and Objective.
Difficulty 1 (Hard) A practical middle ground for a mixed-experience group.
Wave count 1 (seven waves) Long enough to feel complete without the time commitment of ten waves.
Player password A non-empty, group-only password Stops uninvited players from joining.
Administrator password A different, strong password Protects Web Admin and console-level administration.
Web Admin Enabled only when remote control is needed Restrict its TCP port in the firewall instead of exposing it broadly.

Choose Difficulty=0 for Normal when players are learning, 2 for Suicidal when everyone is experienced, and 3 for Hell on Earth only when the whole group understands the jump in enemy pressure and resource demands. Those recommendations are group guidance; the numeric meanings are fixed presets documented by the game.

How do I set up a Killing Floor 2 dedicated server?

The critical rule is to let the server generate its configuration before you edit it. Files placed or changed before the first successful start can be replaced by the server’s own defaults.

  1. Install the dedicated-server package. Use the dedicated-server method supplied by your operating system or hosting provider and select a location with enough disk space for the server files, logs, maps, and any Workshop content you plan to use.
  2. Start the server once with its default launch settings. Let it finish initialization. This first boot creates the platform-specific configuration files and establishes the sections the process expects.
  3. Stop it cleanly. Shut the process down through the host’s stop control or the server’s normal shutdown command. Do not edit while the process is still running.
  4. Locate the generated platform INI. Linux uses LinuxServer-KFGame.ini; Windows uses the corresponding PCServer configuration file. The exact directory depends on the installation method, so use the path shown by your host or startup script.
  5. Edit persistent values while the server is stopped. Set the server name, passwords, maximum players, map cycle, and other controls in the section where the file already defines them. A key under the wrong section can be silently ignored.
  6. Choose per-boot values on the launch line. Put the starting map first, followed by the game class and URL-style options. For example:
    KF-BioticsLab?Game=KFGameContent.KFGameInfo_Survival?Difficulty=1?GameLength=1
  7. Start the server again and verify the result. Join with a client, confirm the map and rules, and check that the password and player limit behave as intended before inviting the rest of the group.

If a managed host provides a startup-command field, place the map-and-options string there. If it provides separate map, mode, difficulty, or wave controls, the panel normally writes those values into the launch line; the same precedence rules still apply.

Which settings belong on the launch line and which belong in the INI?

Use the launch line for choices that may change from one boot or session to the next. Use the generated INI for values that should survive restarts. Launch-line values take precedence when both locations define the same behavior.

Location Best use Examples
Launch line after the map name Per-session or per-boot rules Starting map, Game class, Difficulty, GameLength
Generated platform INI Persistent server identity and administration ServerName, AdminPassword, GamePassword, MaxPlayers, map cycles, other gameplay controls
Web configuration section Remote administration service [IpDrv.WebServer], bEnabled, ListenPort

The launch URL is evaluated at startup. If it says Difficulty=1 while the INI contains a different persistent difficulty, the launch value wins for that boot. Remove or change the launch argument when you want the INI value to take effect.

Keep the map name at the beginning of the string and separate each option with a question mark. Do not add spaces inside the option sequence. Preserve the game class exactly as shown in the example when selecting Survival.

How do the difficulty and wave-count numbers work?

Killing Floor 2 uses numeric presets rather than words in these URL-style options.

Option Value In-game preset
Difficulty 0 Normal
Difficulty 1 Hard
Difficulty 2 Suicidal
Difficulty 3 Hell on Earth
GameLength 0 Four waves
GameLength 1 Seven waves
GameLength 2 Ten waves

Which difficulty should a mixed group use?

Hard (Difficulty=1) is the sensible first test for players with different experience levels. Normal is useful for teaching movement, perk roles, and map routes. Suicidal is a better fit when everyone already understands team economy and enemy priorities; Hell on Earth should be reserved for a coordinated group that wants the steepest standard challenge.

When should I use four, seven, or ten waves?

Four waves (GameLength=0) suits a short evening or a quick server check. Seven waves (GameLength=1) is the practical default for a regular group. Ten waves (GameLength=2) creates the longest standard session and needs more uninterrupted time.

How do I make the server private for friends?

Private access requires a game password, a sensible player limit, and network rules that expose only the services your group needs.

  1. Set GamePassword in the generated platform INI. Use a non-empty phrase that you can share privately. This password controls entry to the game itself.
  2. Set a different AdminPassword. Never reuse the player password. The administrator password controls administrative access and Web Admin login.
  3. Set MaxPlayers to the size of your group. Six is the stock co-op target. A higher value may require a mutator and can change ranking or progression behavior.
  4. Give friends the address and game password through a private channel. Do not publish the password in a public server listing.
  5. Test a second account or ask one friend to join before the scheduled session. This confirms that the port is reachable and that the password is being read from the active file.

A password does not replace firewall rules. It protects the game join, while the firewall determines which machines can reach the game, query, and administration ports.

What player limits apply to each game mode?

The documented stock limits differ by mode. Treat six as the normal co-op target and do not assume that every mode supports the same population.

Mode Documented player target Important qualification
Survival 6 Standard co-op target.
Weekly 6 Uses the six-player co-op target.
Endless 6 Uses the six-player co-op target.
Objective 6 Uses the six-player co-op target.
Versus Survival 12 Documented for up to twelve players.

Mutators that raise the cap can change how ranking or progression behaves. If your group cares about normal progression, test the mutator on a separate session before using it for a campaign you want recorded normally.

How do I enable and secure Web Admin?

Web Admin is the built-in remote administration panel. It is disabled by default, so you must enable it in the generated configuration, choose a listening port, restart the server, and then authenticate with the administrator credentials.

  1. Stop the server. Configuration edits made while it is running can be overwritten or ignored.
  2. Open the generated platform INI and find the Web Server section. Add or edit:
    [IpDrv.WebServer]
    bEnabled=true
    ListenPort=8080
  3. Choose a port appropriate for your network. Port 8080/TCP is the documented default example. If another service already uses it, choose another unused TCP port and apply the same value to your firewall rule.
  4. Allow only the required administrators through the firewall. Restrict the source addresses where possible instead of opening the panel to the entire internet.
  5. Restart the server. The Web Admin listener is created during startup; changing the file without a restart will not activate it.
  6. Open the panel at the server address and port, then log in as Admin. Use the AdminPassword value, not GamePassword.

The documented default network ports are game 7777/UDP, Steam query 27015/UDP, and Web Admin 8080/TCP. A host may map different external ports, so verify the values shown by its control panel or startup configuration before changing firewall rules.

What ports and firewall rules does a private server need?

At minimum, allow the game and query traffic required by your deployment, and allow Web Admin only if you intend to use it.

Service Documented default Protocol Exposure guidance
Game traffic 7777 UDP Allow players’ networks to reach it.
Steam query 27015 UDP Allow only if you need server discovery or query visibility.
Web Admin 8080 TCP Restrict to administrator addresses; do not expose unnecessarily.

These are defaults, not a guarantee that every host uses the same external mapping. If a panel translates ports, use the public port shown there. A blocked UDP game port can make the server appear offline, while a blocked TCP Web Admin port can leave gameplay working but prevent browser administration.

Why did my KF2 INI setting not save or take effect?

Most apparent failures come from editing at the wrong time, editing the wrong file or section, or allowing a launch-line value to override the INI.

The file changed back after a restart

Stop the server before editing and save the generated platform file, not a template or an unrelated default file. The first boot also overwrites files that were edited before generation, which is why the install-start-stop-edit order matters.

The value is present but has no effect

Check that the key is under the section expected by the server. An otherwise valid key in the wrong section can be ignored without an obvious error. Then inspect the startup command for a conflicting map, game, difficulty, or length argument; the launch line wins for that boot.

The new value appears only after changing maps

Some hosting panels apply configuration when the process restarts or when a map change triggers a new session. Restart after editing, and if the panel says a map change is required, perform that change before judging the result.

Friends cannot join even with the correct password

Confirm that the server is running, the public game port is forwarded or allowed, and the address uses the host’s external port rather than an internal one. Verify that the player password is the current GamePassword; the administrator password will not admit a player.

Web Admin refuses the login

Confirm that [IpDrv.WebServer] contains bEnabled=true, that the TCP port is reachable, and that you restarted after saving. Log in as Admin with AdminPassword; using the game password or a different username will fail.

Should I self-host or use managed hosting?

Self-hosting provides the most direct control, while managed hosting reduces network and maintenance work. The right choice depends on whether you want to administer an operating system or simply run game sessions.

Consideration Self-hosted server Managed server
Initial setup Install the dedicated server, generate files, configure the process, and validate networking yourself. Provider supplies a game-server installation flow and a control panel.
File access Direct access to Linux or Windows files and startup scripts. Usually panel-based with file access varying by provider; exact access is not stated universally.
Updates You schedule and verify updates. Update automation may be available; behavior is provider-specific.
Firewall and ports You configure forwarding, firewall rules, and public addressing. Provider usually handles the host network, while you still choose service settings and access rules exposed by the panel.
Web Admin Enable [IpDrv.WebServer] and secure the port yourself. Often exposed through a panel or mapped port; confirm whether built-in Web Admin is available and how it is protected.
Workshop and mutators Full control over files and load order, with all compatibility testing on you. May provide one-click or managed Workshop support; exact tooling is not stated universally.
Recurring cost No hosting fee, but you supply hardware, bandwidth, power, and administration. Monthly or hourly fee; the amount is provider- and slot-dependent, not a universal figure.
Control Highest control over the operating system, files, ports, and launch process. Convenience in exchange for provider limits and panel abstractions.

Choose self-hosting when you already maintain a reachable Linux or Windows machine and want unrestricted file access. Choose managed hosting when reliable uptime, automated updates, or a simpler control panel matters more than operating-system access.

How should I organize maps, cycles, and recurring sessions?

Keep the map and session rules that change frequently on the launch line, and store the recurring map cycle and server identity in the generated INI. This lets you run a special event without permanently changing the group’s normal rotation.

  • Use the launch line to start a one-off map or alter difficulty and wave count for a particular night.
  • Use the INI for ServerName, the normal map cycle, passwords, MaxPlayers, and other persistent gameplay controls.
  • Stop the process before changing the cycle so the running server cannot rewrite the file.
  • After restarting, verify the next map and the displayed server name from a client before the group joins.

If a panel has its own map-cycle editor, treat it as the authoritative interface for that host. Do not edit a local copy and expect the panel to import it automatically unless the provider documents that behavior.

What is the safest way to change settings during a live event?

Avoid editing the INI while players are in a match. Prepare a second launch profile or record the original values, stop the server between sessions, and test the changed rule with one client before opening the server to everyone.

  1. Write down the current map, difficulty, wave count, player limit, and passwords in a private administrator note.
  2. Stop the server after the current match ends.
  3. Change only the values needed for the next session, leaving unrelated settings untouched.
  4. Restart and verify the displayed map, mode, difficulty, and wave count.
  5. Restore the normal profile after the event rather than relying on memory or an untracked panel change.

This process prevents a launch-line override or a temporary mutator setting from becoming the group’s unnoticed permanent configuration.

Frequently Asked Questions

Can I change difficulty without editing the INI?

Yes. Put the desired numeric value in the startup URL after the map name, such as Difficulty=2 for Suicidal. That value applies to the boot or session launched with it and takes precedence over a conflicting persistent value.

Do I need Web Admin to run a private server?

No. A private game can run with a player password and normal server configuration alone. Web Admin is an optional browser-based control panel for remote administration, and it is disabled by default.

Why can a server show fewer slots than I configured?

The active game mode and any mutator can impose a different practical limit from the value in MaxPlayers. Stock co-op modes target six players, while Versus Survival is documented for twelve; mutators that raise the cap may also affect progression or ranking.

What should I do before changing a password?

Stop the server, edit the generated platform INI, save the new value, and restart. Tell current players the new GamePassword separately from the administrator credentials, and never reuse AdminPassword for joining.

Can I expose Web Admin on the same port as the game?

No. Web Admin uses a TCP listener, while the documented game service uses UDP, and each service needs its own port. Keep the Web Admin port distinct and restrict it to trusted administrator addresses.