Since I was stuck in limbo between the DataCenter and home this weekend I took the opportunity to squash some bugs and add features from the Improvement Cloud.
The subversion repository (Revision 27) currently has the following improvements:
Bugs Fixed:
- Player Death Stats on the front page now display correctly
- Staticly Linked resources in Templates are fixed
- PHP Short tags
- Blood Harvest VS Map Names
- PHP Processor doesn’t move files to ./old/
- PHP Processor doesn’t count headshots
- Mono always complains about trailing slash [Removed, see below for details]
- Flash graphs hang if no data in DB
Improvements Added:
- Dateranoth’s graph improvements [Labelling, Headshots - see Subversion notes for full changes]
- Ability to disable AI stats displaying
- Front page player names clickable to players page
- Friendly names for the weapons in graphs etc
- All Weapon Stats Page shows headshot counts
- Top 50 Players shows total headshots instead of the broken % thing
- Players Page has been improved and now features; best fellow Surivor, worst enemies, best maps and some more graphs
- Each ‘Movie’ now has its own section to see which has the most kills
- Top Games now Paginated
Checkout http://dev.l4dstats.co.uk to see what these changes will look like.
Native C++ Log Parser for Linux
There have been a lot of issues and complaints regarding the decision to compile the .NET app with Mono to save time on porting it.
Well I’m glad to say that as part of this weekends Bug fixing session I bit the bullet and ported the .NET parser to plain ol’ C++.
The Linux binary now weighs in at a miniscule 57k, its only non standard pre-requiste is libcurl and the performance improvement over the Mono compile is amazing:
530 logs weighing in at 70Mb were parsed, POST’d and processed in 43 seconds on a budget dedicated server (I looked for the lowest spec machine I could find) that was also hosting an instance of the Source Dedicated Server and the LAMP Stack.
Peak memory usage was only 3.9Mb and peak CPU utilisation was only 2%.



