It is sad but necessary. This will halt any further development and ends at version 1.65.

A long way comes to its end. No party, nothing fancy. Just plain text and everything what is left. After a long period of inactivity Banana and the hlstats-community ended the development of HLStats. It is sad but necessary. This will halt any further development and ends at version 1.65. The complete releases and the complete sourcecode can be downloaded from here and will stay here as long as possible.


HLStats consists of a Perl script (the HLStats logging daemon) and a set of PHP scripts (which generate the statistics Web pages). HLStats provides player and clan rankings for Half-Life servers.

HLStats collects log data using Half-Life’s “logaddress_add” facility (which sends log data as UDP packets from the Half-Life server to an arbitrary remote address), and inserts that data directly into a MySQL database. This makes it easy to maintain the data by eliminating the costly process of scanning large numbers of log files to regenerate statistics, and allows virtually limitless potential for customisation on the front-end. It also has the benefit that the statistics are updated in “real-time” – if a player makes a kill, they can immediately view the statistics and see that kill reflected in their player details.

Additionally, because HLStats collects data using “logaddress_add”, it can receive data from multiple diverse Half-Life servers simultaneously, compiling the data into a single set of statistics. Adding another Half-Life server to the statistics is simply a matter of configuring HLstats to accept data from the server’s address, and then configuring the server to send log data to the HLstats logging daemon using the “logaddress_add” command.

How does it work?

Here is a diagram to illustrate:

HLStats overview

Logged events are sent as UDP data packets from the game servers to a web server. The HLStats logging daemon (hlstats.pl) running on the web server parses this data and saves relevant information to a MySQL database. The PHP pages (Apache) then access that database and dynamically generate HTML pages for delivery to web clients.

What are some of HLstats Features?



The first development of HLStats was started by Simon Garner in the year 2001. It was hosted at Sourceforge.net as project HLStats.

This was the home for HLStats for nearly 9 years.

In the year 2004 Simon Garner stopped the development of HLStats. The support cuntinued and UnitedAdmins came into play. They took over HLStats and developed it further until the year 2007. UnitedAdmins was falling apart in this time and the interrest for further development went down.

This was the time where Banana took over HLStats. He never stopped to continue the support and development of HLStats. The development went slowly since he was and currently is the only one who actively develops HLStats.

Somewhere in the time hlstats-community.net went down and with it a good place where users got support and addons. This was a key moment for Banana. He created hlstats-community.org, since the .net Domain was not afordable. He slowly rebuild the community and developed HLStats further. The project moved from sf.net to gihub. To a new and fresh place.

The story about the “other” HLStats

Since HLStats is licenced with the GPL licence everryone can contribute and modify HLStats in any way. This was the time HLStatsX came up. A former HLStats user and supporter took HLStats and made a fork called HLStatsX. Tobi created something different and based the support for Source Games only. He build a strong community around HLStatsX and made the move to make money of it. HLStatsX is not really opensource anymore. A sad move…

This is way HLStatsX:CE came up and is still alive. Former HLStatsX users where disappointed about the way HLStatsX went and are now happy to have a opensource HLStatsX fork again.

HLStats is the base for two successfull forks. HLStatsX and HLStatsX:CE and perhaps some other not so successfull software which I do not know.

The story about Banana

Well Banana is with HLStats from version .99 and up. He noticed HLStats at a LAN Part and “fell into love with it” ;-) He started as a supporter at the originial hlstats.net forums and soon bacame a respected person. Simon Garner was happy to have him. As Simon Garner stopped the development and support and UA showed interrest into taking over the project, he said Banana have to be in the new team. So Banana went with HLStats into UnitedAdmins. Developed the software with others further and stepped up the ladder within UA untill the final and last realy Admin of UA from the “old” UA Team. But this is really another story….

He was there as Tobi took HLStats and made HLStatsX and helped there to support the new community. He was there as psychonic and lart started to fork HLStatsX into HLStatsX:CE. (psychonic and lart are not working together, they started speratly to fork HLStatsX. psychonic was more successfull with its HLStatsX:CE)

So basically the true and genuine HLStats is the HLStats. Not X nor CE or whatever. Its home is here at hlstats-community.org. From here you can get all the things you need about HLStats.

After a long period of inactivity Banana decided to end this project and let it rest in peace. As of october 2013 Banana and hlstats-community stoped the development of HLStats. The latest version is 1.65