Let's learn how to host a KF1 dedicated server from an Ubuntu machine.

I will assume that you're already logged into the root account and plan to install the files under /root, because that's what I do and I want to be able to refer back to these instructions with the config that I normally use.

Feel free to escalate to root with sudo if you prefer, and adapt the /root directory I'm using to a path of your own preference.

Step 1: Update package cache and install the prerequisite packages:

apt update
apt insall lib32gcc-s1 steamcmd screen

Step 2: Make a new directory wherever you'd like the Killing Floor game files to be stored:

mkdir /root/killingfloor

Step 3: Use the steamcmd command to download the KF1 files. It doesn't support anonymous logging in, so you will need to specify your Steam username and password.

steamcmd +login user password +force_install_dir /root/killingfloor/ +app_update 215360 validate +quit

Step 4: The command will ask you for your Steam Guard code. Enter it.

Please check your email for the message from Steam, and enter the Steam Guard
 code from that message.

Step 5: After installation has finished, let's create a Bash script that will be used for starting the server.

nano killingfloor.sh

In this file, paste:

#!/bin/bash
cd /root/killingfloor/System/
./ucc-bin server KF-farm.rom?Difficulty=7.0?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -ini=Killingfloor.ini -nohomedir

Save the file and make it executable:

chmod +x killingfloor.sh

Step 6: Before you start the server, you should edit Killingfloor.ini with your desired settings.

cat /root/killingfloor/System/Default.ini > /root/killingfloor/System/Killingfloor.ini

nano /root/killingfloor/System/Killingfloor.ini

Some of the settings you may want to configure:

ServerName=Killing Floor Server
GamePassword=
Adminpassword=

[KFMod.KFGameType]
KFGameLength=2
GameDifficulty=7

Valid settings for KFGameLength are:

  • 0 — 4 waves
  • 1 — 7 waves
  • 2 — 10 waves

Valid settings for GameDifficulty (by default you need to manually insert this setting) are:

  • 1 — Beginner
  • 2 — Normal
  • 4 — Hard
  • 5 — Suicidal
  • 7 — Hell on Earth

Step 7: After that, you can start your server in a screen:

screen -S killingfloor ./killingfloor.sh

Ctrl+A and then D to disconnect from screen.

Using Admin In-Game

Open the developer console (~) and enter adminlogin <yourpassword> — This will log you in as admin and will give you access to admin commands such as map, kick, and ban.