In this tutorial, I’m using a dedicated server running Ubuntu to host a Killing Floor server. The custom settings I use are for Hell on Earth difficulty with 10 waves. If you play on anything less, then you are a noob and should edit these settings accordingly or find another guide.
Install the necessary packages.
sudo apt-get update
sudo apt-get install lib32gcc1 screen wget
Create a directory for the KF server.
mkdir ~/killingfloor ; cd ~/killingfloor
Retrieve and extract SteamCMD.
tar -xvzf steamcmd_linux.tar.gz
The program will update itself and you’ll be brought to a Steam prompt. For Killing Floor, you need to provide your Steam login credentials and can’t login anonymously.
login <username> <password>
Next, set the installation directory and let SteamCMD start downloading all of the necessary files. (Make sure you specify an absolute path)
app_update 215360 validate
That part will take a while. After it’s complete, create a script to start your server.
./ucc-bin server KF-farm.rom?Difficulty=7.0?game=KFmod.KFGameType?VACSecured=true?MaxPlayers=6 -ini=Killingfloor.ini -nohomedir
chmod +x killingfloor.sh
Before you start the server, you should edit Killingfloor.ini with your desired settings.
Create Killingfloor.ini file and edit it as needed:
cat /home/<user>/killingfloor/game/System/Default.ini > /home/<user>/killingfloor/game/System/Killingfloor.ini
Some of the settings you should configure:
ServerName=Killing Floor Server
After that, you can start your server in a screen.
screen -S killingfloor ./killingfloor.sh
Ctrl+A, D to disconnect from screen.
Join your server in game by searching through the server list or connecting via Favorites and entering the server IP.
Using admin in game
Open the developer console (~) an enter
This will log you in as admin and will give you access to admin commands such as map, kick, and ban.
If you set up this server at home, behind a router, make sure you forward these ports:
7707 UDP/IP (Game Port)
7708 UDP/IP (Query Port)
7717 UDP/IP (GameSpy Query Port)
28852 TCP/IP and UDP (Allows your Server to Connect to the Master Server Browser)
8075 TCP/IP (Port set via ListenPort that your WebAdmin will run on)
20560 UDP/IP (Steam Port)