HLDS / SteamCMD / Counter-Strike 1.6 Server on Debian (working in 2014)

If you’d like to run a Counter-Strike 1.6 or Half-Life server on your Debian / Ubuntu installation, things changed in 2013.

This how-to will guide you to a working CS server in a few easy steps.

Prerequisite

You are most likely on a 64-bit system, so you’ll need a 32-bit library first. If you are not working as root, type sudo before the command:

In case apt wouldn’t let you install, you need to enable 32-bit architecture and retry:

You should also install nohup which let’s you run the server without beeing connected to it via SSH all the time:

If you are using iptables, setup the rules to let Steam and Half-Life traffic pass:

Setup Steam on your Debian server

It’s a good idea to add a new local user dedicated to run Steam and the game server:

Make sure you chose a strong password or disable SSH login with this user to prevent attackers from abusing the account.

Download and install Steam

You are now using the Steam command line program. First thing is to login, if you want to serve one of the free games (like CS 1.6),
you can login using anonymous (you must login):

Type the following command to install cstrike. You may need to enter it several times until it reaches 100%.
90 is the Half-Life / Counter-Strike App ID from Steam.

Congratulations, Steam and Half-Life / Counter-Strike are now installed!

Running the Counter-Strike gameserver

After installing the software, you have a few new directories.

Counter-Strike got installed into this one:

You can put your maps for example into the maps directory:

To run the Counter-Strike server, type the following:

Don’t forget the & at the end. This will run the server in the background.

Your server configuration is located in the file:

Helpful links

https://developer.valvesoftware.com/wiki/SteamCMD
https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server

One thought on “HLDS / SteamCMD / Counter-Strike 1.6 Server on Debian (working in 2014)

Leave a Reply

Your email address will not be published. Required fields are marked *