On this page we will explain how to install Counter-Strike on Linux. We assume you have some
Installing Counter-Strike 1.6 (HLDS)
First, lets create a directory where we will run the hldsupdatetool, run the following command:
Now we switch to the hlds
we just created and download the hldsupdatetool.bin
If all goes well you should now have the hldsupdatetool.bin in the srcds directory. Now we change the permission of hldsupdatetool.bin so we can execute it and extract the contents from hldsupdatetool.bin
chmod +x hldsupdatetool.bin
| Note: after you run ./hldsupdatetool.bin you will get a prompt to agree with the terms and conditions, simply type yes and hit enter.|
If all goes well, you should not have two files in the srcds directory, the hldsupdatetool.bin which we downloaded earlier, and a steam
file the updatetool generated, this is the file we will use to install Counter-Strike: Source.
| Note: if you receive a 'uncompress: command not found' message it means your server does not have uncompress installed. You have two options to easily work around this, try the following while logged-in as root:|
Then try to run ./hldsupdatetool.bin again. If that does not work, or you do not have root privileges you can download the binary file we have available:
ln -s /bin/gunzip /bin/uncompress
Now that you have the steam binary file, Type the following command to begin installing CS 1.6
chmod +x steam
./steam -command update -game cstrike -dir .
| Note the period after -dir|
By now, the Counter-Strike 1.6 install should have started:
HLDS Install has started
Install times will vary anywhere between 15-30 minutes (~300MB) depending on your server connection speed and how congested the Steam network is. Once setup has finished it will display a "HLDS installation up to date" message. Now we are ready to start the server.
Counter-Strike command line options
Below is a list of options you can use when starting up the server.
Initializes console mode
Automatically update the server when Steam updates are released
-game <game name>
The HLDS mod you want to run
+maxplayers <number of players>
Amount of players to allow
+map <map name>
The map to start the server with
-port <port number>
The port number the server should run on. Can be left out if you plan on using the default port (27015).
Useful if you have multiple IPs and want to assign a particular IP to the server.
There are a couple of ways to start the server; for simplicity we will start the server the easy way. We want the server to run in the background, so we issue the following command:
./hlds_run -game cstrike -autoupdate +maxplayers 20 +map de_aztec > /dev/null 2>&1 &
If you are wondering what > /dev/null is; this will send no output, and the ending '&' will run the server in the background. This would be the most common way to start the server. Sometimes we like to see what is happening while the server is running, mostly for debugging purposes:
./hlds_run -game cstrike -autoupdate +maxplayers 20 +map de_aztec > hlds.log 2>&1 &
The above will start the server, send all output (logging) to a file called hlds.log and run in the background. Everything the server generates will be sent to hlds.log, very useful if you want to see any errors that are happening while the server is running.
| Note: if you choose to send output to a file, remember to periodically delete the file, it can grow quite large on an active server. Keep in mind this should be used mostly for debugging and not for a production server.|