# AEstats - Short Intro ####################### 07.05.2000 18:04 VER: 4.42 by Christoph 'AEon' Loewe (C) 1998-2001 Commercial use prohibited ! AEon@planetquake.com The Log Analyser for 3D shooters :)... visit http://www.planetquake.com/aeons/aestats for details... News, FAQ, Help, Install, Output, Files... This is for you really desperate admins who would like to see some stats under Unreal Quake II engine games (QuakeII/LithiumII and Rocket Arena II support), Half-Life 1.0.0.9+, Half-Life Team Fortress Classic and Half-Life Counter Strike and lots more games and mods... # Disclaimer/Copyright ###################### Ęstats package is provided as is, use at your own risk. There is no warranty whatsoever. Copyright by Christoph 'AEon' Loewe (C) 1998-2001 All Rights Reserved. Commercial use prohibited! # Installation ############## Visit http://www.planetquake.com/aeons/aestats Under "Installation" for details... # Supporting AEstats #################### If you like the AEstats package but would like to see your favorite game or mod supported then collect some log files for that game/mod and send them in. Zipped please. I will look into those logs and see what I can do. # Unsupported ############# The AEstats archive will now also feature some scripts that will help admins to control AEstats. Note these scripts are provided as is. Copyright is with the respective owners. If you have trouble with the scripts email *those* folks, do not email AEon, thanx. - unsupported\andy-slackware\bigstats (.txt) Control HL stats under Linux via cron. ((c) 1999 Andy root@slack.slackmaster) # Quick and Dirty Test ###################### 0. w95 DOS Box Test: cd into the AEstats/ directory 1. preAEs.exe -ut logs/ut*.log Preparser generates a Meta Log file that will be used by the parser. Yields: logs/ut.mlg preParser options: -aq2 Action Quake II. -cs Counter Strike (Half-Life! Beta 5.2+). -hl Native Half-Life v1.009+ log. -hr2 Heretic II log. -hx2 Hexen II. -kp Kingping. -opf Opposing Force (Half-Life Mission Pack). -oz OZ (Half-Life Mod). -q2 QuakeII log with LithiumII mod. -q3a Quake III Arena (Retail). -q3t Quake3 Test 1.08+ Logs (Client-side!). -ra2 Rocket Arena II mod log. -sin SIN log. -tf Team Fortress (for Quake). -tfc Team Fortress Classic (Half-Life!). -u Unreal's log using AEonsDMmod. -ut Unreal Tournament (ngStats) logs. -wie War In Europe (Half-Life!). 2. AEstats.exe logs/ut.mlg 3. Generates Ranking in HTML form. Browse: stats/index.html Another example by Andy Dunn (Thanx!): preAEs.exe -hl ../SIERRA/Half-Life/valve/logs/*.log AEstats.exe ../SIERRA/Half-Life/valve/logs/hl.mlg Example Batch file: cd \AEstats preaes.exe -hl ../SIERRA/Half-Life/valve/logs/*.log AEstats.exe ../SIERRA/Half-Life/valve/logs/hl.mlg exit NOTE: Under DOSbox AEstats uses a "Linux/Unix" *Emulation* mode where all paths/directories use the "/" as a delimiter not "\" like under normal Win32. For example "F:\ace\" needes to be "//f/ace/". # How to generate log files ########################### Visit http://www.planetquake.com/aeons/aestats Under "preParser" for details... (In most cases a "set logfile 1" will work on the Quake 2 Engine based games.) In the case of Quake III Arena: --------------- - Under Win32 by default a games.log will be generated in baseq3/ ... This can be parsed by preAEs using the "-q3a" option. - Under Linux a games.log will NOT be generated on a dedicated server for some reason. But you can redirect the standard error messages into a log file and parse that. I use this alias to run a dedicated server: alias q3dt 'cd /home/q3demoTEST/; ./linuxquake3 +set dedicated 2 +exec aeserver.cfg >>& /home/q3demoTEST/q3dt-err.log &' Simply type q3dt in the shell to run the server. Note that ">>&" will append-redirect the frag info into a log file. Let's see some Q3A servers out there with AEstats support :). Half-Life and Mods (Counter Strike, Opposing Force, OZ, --------- Team Fortress Classic, War In Europe) - Use "set logfile 2" and "log ON" to turn on logging. Unreal Tournament (4.05+) ----------------- - AEstats supports the ngStats log files built into UT. - Activate logging: In menu Options/Preferences/Game turn on "ngStats Local Logging" - The UnrealTournament\Logs\ directory will then contain .log files to parse. - Note: The .tmp files are incomplete log files. These might not fully work with AEstats. - preParse with: "preAEs -ut *.log" # preAEs: Command Line Parameters ################################# Just run preAEs.exe without an option to get a short help: ->>preAEs.exe<<- : [-notes] - file1.log file2.log ... v4.42 07.05.2000 14:55 generates Meta Log files out of misc log files. -notes : Optional... will dump extra Weapon, Player and Map lists & the metalog shows Weapon,Item, Damagetypes as text!. DON'T use this option if you plan to use AEstats.exe. Mode : Set by one of the following switches. -aq2 Action Quake II. -cs Counter Strike (Half-Life! Beta 5.2+). -hl Native Half-Life v1.009+ log. -hr2 Heretic II log. -hx2 Hexen II. -kp Kingping. -opf Opposing Force (Half-Life Mission Pack). -oz OZ (Half-Life Mod). -q2 QuakeII log with LithiumII mod. -q3a Quake III Arena (Retail). -q3t Quake3 Test 1.08+ Logs (Client-side!). -ra2 Rocket Arena II mod log. -sin SIN log. -tf Team Fortress (for Quake). -tfc Team Fortress Classic (Half-Life!). -u Unreal's log using AEonsDMmod. -ut Unreal Tournament (ngStats logs!). -wie War In Europe (Half-Life!). Log file: Log file(s) from the above list. The log files HAVE to be for the SAME game! e.g. u.log -> Meta Log Naming: u.mlg E.g.: preAEs.exe -hl hl.log //Half-Life Log File preAEs.exe -u u/*.log //All Unreal log files in u/ # AEstats: Command Line Parameters ################################# Just run AEstats.exe without an option to get a short help: AEstats.exe [file.mlg] v4.42 07.05.2000 14:52 generates HTML stats out of Meta Log files. file.mlg : A META LOG file generated with preAEs. Supported Games : Unreal Half-Life Quake II/Lithium II Rocket Arena II SIN Heretic II Half-Life Team Fortress Classic Quake 3 Test Half-Life Counter Strike Half-Life OZ Quake Team Fortress Kingpin Action Quake II Hexen II Unreal Tournament Half-Life War In Europe Quake III Arena Opposing Force e.g.: AEstats.exe uu.mlg //Unreal Meta Log file AEstats.exe hl.mlg //Half-Life Meta Log file # preAEs: use of Jokers ####################### You can parse more than once log file, and let preAEs combine all the data into one meta log file. e.g.: preAEs -u mylogs/*.log will go through all files that end on ".log" in your "mylogs/" directory. # Using the Player name Banlist ############################### Simply enter the player names you don't want to see in Ranking into the file: banlist.txt One name per line. These will be filtered out, and will not appear in the meta log file (.mlg). v4.16+ now use double quotes (") as special characters in name banning... e.g.: "abc <- must end on abc abc" <- must begin with abc "abc" <- must be abc (exact match) abc <- must contain abc (default, substring matching) player" <- Will kick all names that *begin* with "player". Note: Name banning is *not* case sensitive (AbC = abc) ! # Buddy List ############ Works just like the BanList and uses all the BanList parameters (jokers etc.). A Buddy List will only Rank those players that are actually IN the banlist.txt. Simply use the "!" as the first character in any line of banlist.txt. You there by "reverse" then banning making it a buddy list: !"abc <- buddy must end on abc !abc" <- buddy must begin with abc !"abc" <- buddy must be abc (exact match) !abc <- buddy must contain abc (default, substring matching) !player" <- Only Rank names that *begin* with "player". # Using the Player name Alias List ################################## If you have players on your server that played under several names by accident, then you can now assign those aliases to one "proper" name. This can be done in the file: alias.txt The format of the alias.txt: For each "proper" name you can have as many alias names as you like. These alias names are then replaced by the "proper" name. E.g. for two Name/Alias Blocks: Axe <- 1. proper name The evil one <- 1. alias The bad <- 2. alias The naughty <- 3. alias <- Blank line to mark end of 1. names alias list Blade <- 2. proper name Nuke 'em all! <- 1. of 2. name alias Also see the alias-example.txt file. Note: - Alias compare is *not* case sensitive (AEon = aeOn) ! - Alias compare is done on the filtered names, as they appear on the HTML stats pages. *Not* as in the original log files. This should make it simpler to type colored name and the like. # Configuring AEstats ##################### Note: AEstats was developed under W98 and uses the Cygnus GCC compiler package. This originated from the Unix/Linux world, therefore the paths to files are Unix conform and us "/" instead of "\" as path/directory separator: set path ./stats/ instead of "set path .\stats\". There are tons of other things in .cfg file. Control the N° of ranked players (90 by default) with : // // The Maximum number of players that will be shown/ranked. // If less players where seen, then *all* those will be ranked. // 90 set MaxPlayersRanked 90 # The Alternate Ranking - The Elo Ladder ######################################## If you want to test another way of Ranking, then you might like to test the Elo Ranking. Frag by Frag is evaluated. Thereby the players previous "rank" is used to predict the outcome of the current Frag. E.g. player has probability of 60% to win and player 2 of 55% and player 1 wins. Then he will not gain many points since his % where higher. If player 2 wins then he will get more points. This means you get better in ranking quicker by fragging the strong players not the weak ones. To turn on Ladder Ranking use "set LadderRanking 1" in the AEstats.cfg file. // 0 : Matrix Ranking (slower, more complex, probably better results) // 1 : Ladder Ranking (faster, like in Chess, uses all frag infos) // set LadderRanking 1 // // K - Factor that determines how dynamic the "Ladder Ranking" is. // default is 8, might like to try 4 or 16. (Long value) // set Ladder-K-Factor 8 You might also like to set "set Ladder-K-Factor 8", the Dynamic Factor. It determines how many points you might gain in the best possible case. E.g. you have 0% and he has 100% probability of winning and you win. NOTE: A value of 8 will lead to comparable ranks with the "Matrix Ranking". Setting this value very high will badly mess up things. But you can do your own testing of this if you will :). ALSO: The Elo Ranking is open... e.g. 100 is NOT a maximum... # Incident Barrier ################## You can set the so called "IncidentBarrier" in the AEstats.cfg file. This lets you control how many players will be ranked. Its a filter if you will. To be exact only players with enough incidents (frags+deaths+suicides) will be ranked. This might come in handy to avoid those one frag players that then would mathematically get a perfect score. The default value is 20. On a heavily frequented Server I would recommend 100 or more. Details: "A barrier at 30 means that only the frags (+deaths+suicides) you scored against folks in the ranking (matrix) will be counted... so if you frag weak players a lot and these get filtered out by the other mechanisms implemented, and these weak players are no longer in the matrix then you won't have many frags at hand to start with. "Next... the matrix (with the players that made it into it) is checked for the player with the least incidents (frags+deaths+suicides)... lets say the sum is less than 20... then this player will be kicked from the matrix. Now notice you might have fragged this guy... but your frags no longer matter since the player is gone... so you see you have even less frags... now this will go on, it might happen that your barrier is so high that everyone gets filtered out. "In the latter case I simply say... heck with it and rank all players... this might be causing confusion." # Bug Reports - Comments and the like ############# This version I am releasing very probably has some bugs, that's what software is all about ;). If you find any send me an email: AEon@planetquake.com with the following info: - Provide the *log file* that caused the crash. Please do some testing, try to narrow it down to the lines that cause the crash :). But do send the .log files (zipped please)! - Don't forget to mention the version number of the AEstats package you are using. (Make sure you are using the latest version!) - And don't forget to mention the platform you are running AEstats under. E.g. Linux or Win32 or Alpha... The important thing here is, that I can reproduce the bug. Core dumps are of *no* use to me, so don't send those in. Send in the bug reports via email to: AEon@planetquake.com # History ######### v4.42 - New Elo Ladder Ranking System... an alternate ranking. Will take into account the players previous frag history. The ranking "knows" how good the 2 players where that did that frag. Fragging stronger players will move you quicker to the top of this open ranking. Suicides are ignored for now. Use "set LadderRanking 1" in AEstats.cfg to activate this new ranking. - Times/Date in Q3A Logs is now fully supported. Since no absolute times are in the log files, I use the log file's creation date. - Weird "un-printable" characters are now filtered out of Q3A player names. The color escape character "^" is properly parsed. - Updated Unreal Tournament (4.05+) Support. 5 further suicides: RocketDeath, Shredded, Eradicated, Decapitated, Pulsed - Buddy List == Inverted ban list option in .cfg file... Use a "!" in the banlist.txt to activate this mode. - Player names are no longer case sensitive. - Tested Counter Strike 6.1 logs. Work fine. - Fixed bug in HTML output tables where you would have 2 closing tags. v4.38 - Updated Unreal Tournament (4.05+) Support. 3 new weapons are recognized: Chainsaw, Double Enforcers, Enhanced Shock Rifle 6 further suicides: Asphyxia, Crushed, Destroyed, RedeemerDeath, Suicided, shot - Updated support for Counter Strike 6 New weapons Steyr Aug and MAC-10 recognized. v4.36 - Unreal Tournament (4.05+) Support. Now supports built in ngStats log files. In menu Options/Preferences/Game turn on "ngStats Local Logging", the UnrealTournament\Logs\ will then contain .log files to parse. - The AEstats Mutator for UT is no longer supported. - Long Q3A Loglines would not be properly read, this way map names where ignored at times. Fixed. v4.33 - Fixed y2k problem in dates... - Counter Strike 5.2 support updated, recognises: "Benelli XM1014", "Concussion Grenade", "killed self with grenade". - Support for Opposoning Force... in there. 11 news weapons and 7 new suicides. - Header Files now have "Commercial use prohibited!" text in there. - Fixed Kingpin bug will cut off names... H.G.M. frags only as it seems... - and will now be configurable. using global info struct to remember them. Works fine... for IE5 :)... AEstats.cfg under "set FontSize1 -1" and "set FontSize2 -2" v4.30 - Quake III Arena Support. Already supports the "Gold" Version of Q3A. BFG and Grenade Launcher, along with all possible suicide forms are present. Colored names are filtered out. Will parse games.log files and also Linux dedicated server logs. Logs from q3test v1.08 onward should work too. - banlist.txt will now also ban players called "UnnamedPlayer", since this is Q3Demo Test's default no-name player name. v4.29 - Counter Strike Beta 4 Support. New weapons: Steyr Scout, Sig P228, HE Grenade, and one new suicide "killed by world with debris". - War In Europe Support, a Half-Life mod. v4.27 - v4.26 did not include cygwin1.dll, sorry - Heretic II Support - SIN Support - Unreal Tournament 3.38 Update - U4E Support (Mutator for Unreal Tournament) - Hexen II updated v4.22 - Unreal Tournament Demo Support. AEstatsMutator.u provided. Read System\UnrealTournament-322\AEstatsMutator.txt for details. - Counter Strike Beta 3 Support. New weapons: Knife and P90. - Hexen II update... 3 extra frag lines recognized. - AEstats.exe optimized. Up to a factor of 4 faster now. - Linux bug in time/date calculations fixed. v4.19 - Unreal 2.25f Support - Hexen II Support - Players can have several aliases, can be ranked with one "proper" name. Controlled via alias.txt file. (See AEstats.txt file). - The "IncidentBarrier" parameter in the AEstats.cfg file had some bad bugs in 4.16. Now it really works :). Filter out players with low frag counts! - In preparation: Tribes, OSP (a HL Mod), Daikatana (Client-side) support. v4.16 - Action Quake II Support - Name banning via banlist.txt now uses double quotes (") as jokers. (See AEstats.txt file). - The "IncidentBarrier" parameter in the AEstats.cfg file, now properly calculates the player incidents in ranking. - Half-Life now recognizes "killed by world with tripmine"... - Linux Alpha binaries included. - In preparation: OSP (a HL Mod), Daikatana (Client-side) and Hexen II support. v4.13 - Preparser would not properly differ between -tf and -tfc. Fixed. v4.12 - Kingpin Support - Quake Team Fortress Support - Counter Strike 2.01 Update Supported, 3 new weapons added. - Colored names of TF are converted to legible characters. - AEstats.cfg has a "MoreWeapsShowUsedOnly" variable, this lets admins make the HTML weapon table nicer. If a game has more than e.g. 16 weapons (like TF & TFC) then only those that where used by a player are shown. v4.08 - New Ranking used. Folks that play less will have their frags "scaled down", so they won't have such high Ranks. Suicides are symmetrically distributed among your contacts. - OZ Support (a Half-Life MOD, Thanx CompDept) - AEstats.cfg has a "IncidentBarrier" variable, this lets admins kick players that did not play much out of Ranking. Also prohibits 5-minute players from getting too high rankings. - Half-Life now recognizes "killed self with snark" and "killed by world with rpg_rocket" properly (Thanx Craig & CompDept). - Counter Strike now has nice "long" weapon names on the stats pages (Thanx CompDept). - "killed self with world" in CS is used to denote the changing of a team... kicking this line, to show proper suicide stats. - If preAEs finds no frag information, the .mlg only contains 2 lines, the games name and the "bits" that determine what data columns exits. This "frag empty" .mlg file would then crash AEstats (e.g. happened with q3test logs a lot)... fixed! - In preparation Quake Team Fortress. v4.04 - Counter Strike Support (a Half-Life Mod) - q3test 1.08 Support (set logfile 1), e.g. "Lightning Gun" and "Killed Self" recognized. - Slightly improved Ranking. - The Linux binaries will now be available for glibc5 and glibc6. - HL's 'ran into own tripmine' & 'satchel trigger happy' where sorta swapped. v4.02 - TFC/HL support also for Linux dedicated servers. - q3test 1.05 client side (set logfile 1) support. v3.99r3 - Fixed AEonsDMmod.u bug where Player names where not properly logged. - Unreal uses the item "Invisibility" now not "Invisibilty" - Unreal knows the environment info "None" now. - Global Stats Misc Info... had problems with netscape. Fixed. - Same build as 3.99 but now with x86 Linux executables. - Half-Life Team Fortress Classic (TFC), full support. - Preparse TFC log files with the -tfc command line parameter. - AEonsDMmod.u AEonsDMmod.uc (source), AEonsDMmod.ini and Unreal.ini updated and should now work with Unreal 224. - New preAEs and AEstats executable files. - Fixes a really bad memory leak that was causing lots of trouble with log files out there. v3.98b - Half-Life 1.0.0.9 support - "Best Of..." page with Connect counts, Time spent playing in server, Maps most played, Frags (Deaths, Suicides, Incidents) per Hour, Players that use weapons most efficiently, Top absolute counts in Frags (D,S,I), List of Top suiciders and how they did it. - Unreal - "AEonsDMmod.u" will now filter out "/" in player/map names. - "AEonsDM.uc" source included - new items: forcefield, invisibilty, enviros: hacked, stomped - Extended .cfg file control, most notably - Ranking can be turned off. - Control the number of players shown on the "Best Of..." page. - preParser: - Player *name banning* available via text file: banlist.txt - Log file lists via use of jokers are possible: e.g. preAEs -u ulogs/*.log Will read all .log files in the ulogs/ directory and join them into *one* metalog file with the name ulogs/u.mlg - Linux binaries included v3.93p - Unreal specific: new AEstats items: "Flashlight", "SCUBAGear", & DT "Destroyed"... - The parser "AEstats.exe" was not compiled with -O2 (optimized)... fixed... - Includes Linux x86 binaries... v3.92p - Unreal specific: AEstats now understands the items: "Translator" & "Flare", and the damage types "Gibbed" and "Suicided"... - If for some reason the weapon was "None" a crash could happen...fixed. - If there was only one fragline for a new map in the log file, then another crash occured... fixed... v3.91p - pre Parser will now also understand old log files generated with the Unreal script module AEonsDMmod.u (pre 3.90b)... - Item "SearchLight" now recognized... - Bug that made Parser crash with "u.mlg" fixed (I hope!) v3.90b - Re-Coded "AEonsDMmod", will now work with Unreal 2.20... - preAEs adapted to work with the above... - The Menu & Logo graphics are by [M7] (m7@bigfoot.de) see his Web at: http://members.xoom.com/M7Arts/ v3.85b - First public release of AEstats AEon (07.05.2000 18:50)