OK here is my guide
First off we are going to make a user called: hlds. It is better if we don't run our server as root, but rather we run it as a normal user, just so that their is less chances of a security breach
You will need to login as root to perform the following steps:
To make a user type:
adduser hlds
This will make a new user on our server with the username as hlds. You can choose a different username if you so wish, but making it hlds will clearly show what the user account is used for.
Next we need give our user an password. Type the following:
passwd hlds
A prompt will appear where you can give the user hlds a password.
** Now logout of root and login as hlds. We need to download the Linux hldsupdatetool.bin file. Do this by using the following command:
wget http://storefront.steampowered.com/download/hldsupdatetool.bin
Once it has finished downloading, issue the following command to make it an executable:
chmod +x hldsupdatetool.bin
** Now logout of hlds and login as root.
Navigate your way to the hlds user folder:
cd /home/hlds
We need to enable gunzip or something like that so we can run the hldsupdatetool. To do this, issue this command:
ln -s /usr/bin/gunzip /usr/bin/uncompress
** Now logout of the root account and log back in as hlds.
To run the hldsupdatetool, issue this command:
./hldsupdatetool.bin
Say yes the the licence agreement. The hldsupdatetool will uncompress and extract some files. We now need to run the updater so it can update itself. To do this, type:
./steam
The update shouldn't take to long depending on your internet connection. After hlds has updated you need to decide what game you want to install. For this how to I will just be installing a normal Half-Life server, but you are free to install a cstrike or czero etc... server if you so desire.
To update the server, issue the following command:
./steam -command update -game valve -dir /home/hlds
This will tell hlds to get all the files required for a normal Half-Life server. If you want to have a counterstrike server, all you need to do is change the -game valve to -game cstrike Or if you want condition zero: -game czero I don't know the commands for any other games, but they should be fairly easy to find using google.
Getting the game files may take some time, but after hlds has downloaded them, you'll be back at the prompt.
Before we start our server, we need to issue the following command:
export LD_LIBRARY_PATH=/home/hlds:$LD_LIBRARY_PATH
Now we can start our server. Use the following command to start your server. If you are running a different game or don't like the command I'm using, feel free to change it to suit your needs.
./hlds_run -game valve +map crossfire +maxplayers 4 +port 27015
Hopefully your server has started. If it has, you can go on to customising it
I hope you have found this guide to be very usefull
I welcome any feedback for this How To and also some solutions on how to run hlds in the background