HomeDownloadsHelpForums HLstats

Latest Files





Quick Links


What is HLstats?

How does it work?


Download now!

Development site

CVS repository

CVS browser


Help index


Mailing List

Discussion forums


Report a bug

Real-time player and clan rankings and statistics for Half-Life.

    Latest release: HLstats 1.02

    Need help? Subscribe to the mailing list or see more help resources.


HLstats Moved to United Admins     27 May 2003 by

HLstats is now under continued development by United Admins, who are also the developers of HLGuard, Cheating Death, ClanMod and other popular projects. This is just a note to advise of this change. Note also that the HLstats forums have been moved to United Admins now - if you're interested in contributing to the development project, ask there.


Here's some of the most important features of HLstats:

It's free! HLstats is an open source project on SourceForge.
It's totally real-time - see a player's performance in-game immediately reflected in their statistics.
Track players from multiple servers and multiple games using one installation of HLstats - all servers log data to a single database (ideally located on a web server separate from the game servers).
Players can be tracked by WON ID (recommended), by IP Address or by Name. This makes HLstats suitable for use in all kinds of environments -- public Internet servers, LAN servers, gaming cafes, etc.
Clan rankings and statistics - groups players by their clan tag to give an overview of how a clan's members compare with other clans'.
No need for extended periods of lag while parsing a day's worth of log data, or for transferring large log files around -- transfer and parsing is done on the fly, giving truly real-time statistics.
Fully supports the Half-Life Standard Log Format [spec]. Any mods using this log format should be totally compatible with HLstats. The following games are known to work:

  • Counter-Strike
  • Team Fortress 1.5
  • Half-Life Deathmatch
(The Standard Log Format is implemented in Half-Life v1.1.0.6 and newer.)

Mod-specific information (weapon names, action codes, etc.) is configurable using the HLstats web-based administration interface.

A full history of Rcon commands (including incorrect passwords) and Admin Mod messages is available to the HLstats administrator.
Detailed Host Statistics lets the HLstats administrator see which ISPs players are using.
Customisable style -- fonts and colours can be changed through the web-based administration interface. Customisable header and footer.

HLstats requires: Perl5; the DBI and MySQL Perl modules (which are small and easily installed); PHP4; a MySQL 3.23 database.

HLstats is designed for use under Linux, although it should run on any platform which supports all of the required software above, including Windows and most Unixes.

What is HLstats?

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 and statistics for Half-Life servers.

HLstats collects log data using Half-Life's "logaddress" 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", 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" command.

How does it work?

Here's a diagram to illustrate:

Configuration diagram

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.

Demonstration: HLstats in action

Want to see some live examples of what HLstats can do? Try this Google search.

HLstats Community

There's a great (third party) site at www.hlstats-community.net with more HLstats news, files and community forums for HLstats users.


HLstats was designed and developed by Simon Garner (). HLstats is released as open source software under the GNU General Public License (GPL). HLstats is now under development by United Admins.

Copyright © 2000-2004 Simon Garner.