Skip to main content

Migrating HLDS Linux server from WON to STEAM.

[caption id="attachment_612" align="alignright" width="200" caption="Valve's Steam logo."]Steam powered logo.[/caption]

I found this tutorial in my back-ups from the old Clan MP website I had designed. This tutorial I wrote shortly after Valve released the Half-Life Steam Dedicated Server, but it never made it to the new web site. Now I am including it on my web site, simply because it is a more appropriate place for it here than on the MP web site. Another reason I am putting it here is because I am thinking to write other tutorials and publish them on my web site. The convenience of the blog database will allow me to keep the tutorials organized and still be able to present them to my blog reader.

Last update: Thursday January 01, 2004 12:45 PM

Hi everyone,

I hope this will be useful for all of you, who are having issues with updating to STEAM on Linux.

Here it is how after three days of sleepless headaches and swearing left and right at anyone and anything and trying to update HLDS, a Linux server update can be accomplished in 3 minutes.

Background information.

The -(MP)- server is hosted remotely. The host company does not provide any support regarding Half-Life, only actual hardware and administration support.

To translate the above, I, as an admin of the account, have to do all installations and configurations of HLDS by myself and rely on what I can find on the Internet.

I did not have access to the root directory only the directory allocated to me by the host company. This means that I HAD to use - hldaupdatetool.bin, simply because the destination path is hard coded in the standalone installation file – hlds_l_1120_full.bin

This guide is on how to migrate* to STEAM with or without administrative privileges on the hosted / remote server.

* This is if you have an HLDS ( installed but it is still under the WON system.
Get hldsupdatetool.bin on the server.

Go into the directory which contains the HLDS server. It usually is hlds_l

You need the steam file from the Valve FTP server. I use wget here to get the file, if your Linux doesn’t have wget, use the FTP program provided with your distribution to get it.

For those who get it by FTP, this is the server to get it from:

User: hlserver
Pass: hlserver
Remote dir: /Linux
File: hldsupdatetool.bin

bash$ wget


You can get the file on the server by uploading it from your machine, as well.

Making executables.

We now have the file we need, now lets run it!

bash$ chmod +x hldsupdatetool.bin
bash$ ./hldsupdatetool.bin

This will extract the steam utility. Now make it executable.

bash$ chmod +x steam

Creating an account and updating STEAM.

Now we are all ready to create an account for steam, and to get the files! But first, you MUST have the box administrator or yourself, create .steam directory in the root directory. Root in my case was the home directory of my account. I hade .steam permissions set to 777, just in case. The only file which will reside in the directory is a text file - ClientRegistry.blob

(1) You must have the .steam directory, for the utility to work.
(2) Change steam's (the utility) permissions to 777.

./steam -create < username> < password> < question> < answer>

Here is an example how the fields will be filled out:

./steam -create hard2guess "is STEAM a pain?” yes

Now you know how it must be done so lets do it. Go make and account. Run:

bash$ ./steam -create hard2guess "is STEAM a pain?" yes

Steam will now update the steam client to the latest version

Getting version X of Steam Linux Client
Downloading. . . . . . . . . . .
Linux Client updated, please retry the command

It is updated, now we must restart the program.

bash$ ./steam -create hard2guess "is STEAM a pain?" yes

If all goes well it will respond with: Account Created successfully.


If you have any problems with updating, you can run the process again, but make sure you have deleted ClientRegistry.blob file from .steam directory. After deleting the ClientRegistry.blob file, when you run the process from the beginning of section 3, it will be like you never executed the commands before.

Updating the HLDS server engine.

To update the engine run the following command:

bash$ ./steam -update valve

This will update the HLDS engine. You will see it download all of the update files to the designated directories and sub directories. When it is done, all you have to do is start the game the way you have always started it.

Any questions and problems, feel free to contact me: Alexandar Tzanov


Popular posts from this blog

Format MAC Address [JavaScript]

I am currently working on a project which will allow users to register their Wi-Fi enabled, non-web browser enabled, devices on the network. These are devices like printers, Apple TV, and Xbox*. One of the data points that have to be collected from the user is the device MAC address. The project customer wants that address to be properly formatted when they see it in the support ticket.

We have several options. We can format the address either on the back-end after the form has been submitted. Or we can format it on the front end via a separate text field for each character pair, but that is too many fields to handle. A better solution is to use a single field and format the user input at the time of input or upon submit. In those cases, the former is better because the data will already be formatted when the overall form input is being validation after the user clicks the “Submit” button.

We are going to format the user input as it is being provided, thus having proper data when vali…

How to setup Coda 2 to push to GitHub?

Setting up a new site in Coda 2 and cloning a GitHub remote repository is not that big of a deal. Where you will most likely run into problems is when you try to push your changes to the GitHub remote repository. Below I will show you how to update the Git config file in your local repository so you do not run into one of the following errors:
git push failed remote: Remote anonymous access to repository deniedgit push origin master Username: fatal: Could not read passwordThe GitHub repository address I am going to use is that of Source Code DNA: I will assume that you have already setup your Coda 2 site profile and cloned your repository, you have made some changes, and now you are ready to push those changes to your projects GitHub repo.

SNOOZ: Sound. Sleep.

I was on the Snooz Kickstarter page today, revisiting the project’s details and timeline progress. The device, which is a white-noise generating machine, recently became available for pre-order. Snooz is meant to be an alternative to having a TV or a stationary fan running at bed time. In my case, I bought it for my wife so we can get the TV out of the bedroom.

Whilst on the comments page I read the following comment, posted recently by Ken Tran:

I'm not a fan of the new fabric design. ...
I must disagree. If you take a look at the original design, which is all plastic and no style, I must say it is fugly. It is all utilitarian - not something I rally want to look at or see when I walk into the room. The final design, seen on the right, is something that beacons to be explored, looked at, utilized.

I am a big fan of Bang & Olufsen. They use fabric from Kvadrat in their line of products. Incorporating soft materials like fabric or leather in something which is meant to be place…