# AEstats - Short Intro ######### 9/23/2002 7:35PM VER: 5.39 by Christoph 'AEon' Loewe (C) 1998-2002 Commercial use prohibited! AEon@planetquake.com # Intro ####### Welcome to AEstats... a log analyser for 3D shooters... with stats and ranking in html format. Visit http://www.planetquake.com/aeons/aestats for details... News, FAQ, Help, Install, Examples, Files... This document is for admins who would like to see some stats under Unreal and Quake II engine games (QuakeII/LithiumII and Rocket Arena II support), Half-Life 1.1+, Half-Life Team Fortress Classic and Half-Life Counter Strike and lots of other games and mods... Also check out my AEstats++ site at http://www.planetquake.com/aeons/aestats++ for the next generation in ranking. Currently under development. # Topics - covered in this documentation ######## - Legal - Disclaimer/Copyright - Supporting AEstats - Installation - AEonsDMmod Installation - Unsupported - Quick and Dirty Test - How to generate log files - preAEs: Command Line Parameters - preAEs: use of Jokers (parse multiple log files) - AEstats: Command Line Parameters - Using the Player name Banlist - Buddy List - Using the Player name Alias List - Configuring AEstats - Skinning AEstats - The Alternate Ranking - The Elo Ladder - Incident Barrier - Joining Meta Log Files - Running several servers through AEstats - Bug Reports - Comments and the like - History Todo: - AEsscore.cfg -> assigning points to events (read the comments in that file for now) - Picking your own buddies for the Buddy Stats Page (read the comments in the AEstats.cfg for now) # Legal - Disclaimer/Copyright ############################## The AEstats package was developed for the community and is provided for free. Please support development with a donation: http://www.planetquake.com/aeons/aestats/donations.html This means you may use the AEstats package for hobby non-profit purposes. Commercial use is strictly prohibited (see below). Copyright --------- the AEstats package comprised of the modules preaes, aestats, and accompanying support files is copyright (c) 1998-2002 by christoph 'æon' loewe. Disclaimer ---------- i (aeon) am providing the AEstats package as is, there is no warranty whatsoever. install and use it at your own risk. Commercial use -------------- Commercial use is prohibited! Any profit orientated site that wants to use the AEstats package is required to contact me by email: AEon@planetquake.com Special agreements will have to be reached prior to being allowed to use the AEstats package. # 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. Also think about supporting AEstats by making a small donation (http://www.planetquake.com/aeons/aestats/donations.html). this will ensure further development of your favorite stats tool. # Installation ############## Read the comments below (see 'Quick and Dirty Test') or visit http://www.planetquake.com/aeons/aestats under "installation" for details... # AEonsDMmod Installation ######################### To install AEonsDMmod for Unreal/Unreal Gold support: Copy the files AEonsDMmod.int and AEonsDMmod.u to your Unreal/System directory and add the following line under the [Engine.GameEngine] section of your Unreal.ini file: ServerPackages=AEonsDMmod Run Unreal/Unreal Gold and select "AEons DM" for the multiplayer or botmatch game type. Advanced options for AEonsDMmod can be found in Unreal/Unreal Gold's "Advanced Options\Game Types\AEons DM". # 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) - unsupported\autoq3stats\ Autoq3stats v1.2 Control Q3A stats under win32, shut down q3a server, get logs, parse logs, upload output page to web server... read the commented scripts for details... "Autoq3stats.bat uses several other programs and batch files to copy, process, rename and ftp the stats for Quake III Arena. It also restarts Quake based upon the config files that are setup and stored in the baseq3 or MOD folder or where ever you point it to." ((c) 2001 Don Hatcher dfm_metalplane@dafonemen.com) # Quick and Dirty Test ###################### 0. 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. -aqs Action Quake II ($illy edition). -ci Cold Ice (Half-Life Mod). -cs Counter-Strike (Half-Life Mod 1.3+). -cse Counter-Strike (Event Enhanced, v1.3+). -cut Chaos UT (Unreal Tournament Mod). -dk Daikatana -dmc Deathmatch Classic (Half-Life Mod). -ea Eternal Arena (Q3A Mod). -fa Firearms (Half-Life Mod v2.5, 1.106 logs). -flf FrontLine Force (Half-Life Mod v1.2a+). -gw Global Warfare (Half-Life Mod). -hh3 HeadHunters III (Q3A Mod). -hl Half-Life v1.106 logs. -hr2 Heretic II log. -hx2 Hexen II. -inf Infiltration (ngStats logs, UT Mod). -jk2 Jedi Knight II. -kp Kingpin. -moh Medal of Honor: Allied Assault ("+set developer 1" qconsole.log). -opf Opposing Force (Half-Life Mission Pack). -oz OZ (Half-Life Mod). -pka PainKeep Arena (Q3A Mod). -q2 QuakeII log with LithiumII mod. -q3a Quake III Arena (Retail, Rocket Arena III, Q3: Team Arena). -q3r Rail Arena (Q3A Mod). -qw QuakeWorld (frag logs, not the console dumps!). -ra2 Rocket Arena II mod log. -rcw Return to Castle Wolfenstein. -rq3 Reaction Quake III (Q3A Mod). -run Rune (Q3A Mod). -sf Strike Force (ngStats logs, UT Mod). -sf2 Soldier of Fortune II. -si Science and Industry (Half-Life Mod). -sin SIN log. -sup Superheroes (Q3A Mod). -t Tribes. -t2 Tribes 2. -tc True Combat (Q3A Mod). -tf Team Fortress (for Quake). -tfa Team Fortress Classic (Azothoth ed., Event Enhanced, HL 1.106+ logs). -tfc Team Fortress Classic (Half-Life 1.106 logs). -to Tactical Ops (ngStats logs, UT Mod, Retail). -u Unreal's log using AEonsDMmod. -urb Urban Terror (Q3A Mod). -ut Unreal Tournament (ngStats logs) -utf Unreal Tournament (French edition, ngStats logs) -v Star Trek Voyager: Elite Force -wfa Weapons Factory Arena (Q3A Mod, v1.1+). -wl Wasteland (Half-Life Mod). -wod Weapons of Destruction (Quake II Mod). -wq2 Weapons Factory Quake II. 2. AEstats.exe logs/ut.mlg (the '/' is unix-style, use it even under DOS!) 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/ ... or in the mod directory, if you are running a mod. Note: AEstats has no use for the qconsole.log file! This can be parsed by preAEs using the "-q3a" option. logfile "3" - enables logging of games g_log "games.log" - sets the target file g_logsync "0" - forces Q3A to write in chunks of data, instead of writing permanently my test server.cfg looks like this: logfile 3 g_log "q3a-aes.log" g_logsync 1 //forcing immediate writes map q3dm17 and start it via: QUAKE3.EXE +set dedicated 2 +exec server.cfg Notes: - by default "logfile 1" produces the file "qconsole.log" - logfile 0 //no logfile (duh:) - logfile 1 //buffered - logfile 2 //continuous - logfile 3 //append <- recommended - 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 q3a 'cd /home/q3a/; ./linuxquake3 +set dedicated 2 +exec aeserver.cfg >>& /home/q3a/q3a-err.log &' Simply type q3a 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 e.g.: "preAEs -ut *.log" Tribes 2 -------- if you are running a tribes 2 server and want to use aestats to calculate stats and ranking out of logs, then you will have to turn on the obituaries with: $logechoenabled=1; otherwise tribes 2 only generates logs that are useless to aestats. Medal of Honor: Allied Assault -------------- Alas the retail version of MOHAA does not support the games.log files that are so typical for q3a-engine based games. You will have to use the qconsole.log file. Obituaries will only show up in the qconsole.log file if you add +set developer 1 to the game's shortcut. E.g. mohaa.exe +set developer 1 # preAEs: Command Line Parameters ################################# Just run preAEs.exe without an option to get a short help: ->>./preAEs<<- : [-notes] - file1.log file2.log ... v5.39 9/23/2002 6:00PM 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. -aqs Action Quake II ($illy edition). -ci Cold Ice (Half-Life Mod). -cs Counter-Strike (Half-Life Mod 1.3+). -cse Counter-Strike (Event Enhanced, v1.3+). -cut Chaos UT (Unreal Tournament Mod). -dk Daikatana -dmc Deathmatch Classic (Half-Life Mod). -ea Eternal Arena (Q3A Mod). -fa Firearms (Half-Life Mod v2.5, 1.106 logs). -flf FrontLine Force (Half-Life Mod v1.2a+). -gw Global Warfare (Half-Life Mod). -hh3 HeadHunters III (Q3A Mod). -hl Half-Life v1.106 logs. -hr2 Heretic II log. -hx2 Hexen II. -inf Infiltration (ngStats logs, UT Mod). -jk2 Jedi Knight II. -kp Kingpin. -moh Medal of Honor: Allied Assault ("+set developer 1" qconsole.log). -opf Opposing Force (Half-Life Mission Pack). -oz OZ (Half-Life Mod). -pka PainKeep Arena (Q3A Mod). -q2 QuakeII log with LithiumII mod. -q3a Quake III Arena (Retail, Rocket Arena III, Q3: Team Arena). -q3r Rail Arena (Q3A Mod). -qw QuakeWorld (frag logs, not the console dumps!). -ra2 Rocket Arena II mod log. -rcw Return to Castle Wolfenstein. -rq3 Reaction Quake III (Q3A Mod). -run Rune (Q3A Mod). -sf Strike Force (ngStats logs, UT Mod). -sf2 Soldier of Fortune II. -si Science and Industry (Half-Life Mod). -sin SIN log. -sup Superheroes (Q3A Mod). -t Tribes. -t2 Tribes 2. -tc True Combat (Q3A Mod). -tf Team Fortress (for Quake). -tfa Team Fortress Classic (Azothoth ed., Event Enhanced, HL 1.106+ logs). -tfc Team Fortress Classic (Half-Life 1.106 logs). -to Tactical Ops (ngStats logs, UT Mod, Retail). -u Unreal's log using AEonsDMmod. -urb Urban Terror (Q3A Mod). -ut Unreal Tournament (ngStats logs) -utf Unreal Tournament (French edition, ngStats logs) -v Star Trek Voyager: Elite Force -wfa Weapons Factory Arena (Q3A Mod, v1.1+). -wl Wasteland (Half-Life Mod). -wod Weapons of Destruction (Quake II Mod). -wq2 Weapons Factory Quake II. 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 -hl hl.log //Half-Life Log File ./preAEs -u u/*.log //All Unreal log files in u/ ./preAEs -notes -u u/*.log //Extra info for Notes DB. */ # preAEs: use of Jokers ####################### You can parse more than one log file, and let preAEs combine all the data into one meta log file. e.g.: preAEs -ut mylogs/*.log will go through all files that end on ".log" in your "mylogs/" directory and generate one big meta log file named "mylogs/u.mlg" (*/) # AEstats: Command Line Parameters ################################## Just run AEstats.exe without an option to get a short help: /AEstats [-cfg ./AEstats.cfg] [file.mlg] v5.39 9/23/2002 6:38PM generates HTML stats out of Meta Log files. -cfg : This parameter lets you choose a config file other than the default './AEstats.cfg' in the current directory. 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 Daikatana Start Trek Voyager Elite Force Weapons Factory Arena Weapons Factory Quake II Half-Life Cold Ice QuakeWorld Tribes Half-Life Wasteland Half-Life Firearms Half-Life FrontLine Force Half-Life Deathmatch Classic Half-Life Science and Industry Urban Terror for Q3A Eternal Arena for Q3A Tactical Ops for UT Infiltration for UT Chaos UT Half-Life Global Warfare Tribes 2 Weapons of Destruction for Q2 Strike Force for UT Rail Arena for Q3A Superheroes for Q3A PainKeep Arena for Q3A HeadHunters III for Q3A True Combat for Q3A Action Quake II ($illy edition) Half-Life TFC (Azothoth edition) Unreal Tournament (French edition) Half-Life Counter-Strike (Enhanced) Jedi Knight II Return to Castle Wolfenstein Soldier of Fortune II Medal of Honor: Allied Assault Rune for Q3A Reaction Quake III e.g.: ./AEstats ut.mlg //UT meta log file. ./AEstats -cfg ./cfg/My_HL_AEstats.cfg hl.mlg //Use own HL cfg. # 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 <- Required blank line to mark end of 1. name alias list Blade <- 2. proper name Nuke 'em all! <- 1. alias of 2. 'proper' name 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 # Skinning AEstats ################## Since AEstats v5.21 you have far more control on the output HTML page coloring and skins. Just look into the AEstats.cfg for details on this and change styles and colors in the stats/aestats.css style sheet file. // // used on all pages... set HTML_BODY BACKGROUND=./headers/background.gif BGCOLOR=#000000 TEXT=#FFFFFF LINK=#D65C53 VLINK=#A9A4A4 alink=#FFFFFF Happy skinning :) # 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 will have less for ranking relevant frags! "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 end up having even fewer frags... this filtering is repeated, 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." # Joining Meta Log Files ######################## Saving parser time - using old log infos The idea behind the more than 2 year old concept of the AEstats package was to parse multiple log files and to then generate one big meta log file. If you only have a few MB of logs this will work just fine... if you collect months of logs, then this will become very tiresome, since preAEs will have to go through ALL logs every time you add one more log file to the list, to then generate a newer, bigger meta log file. Since v4.66 it is possible to simply join meta log files, on the shell (cat, join) or in a ASCII editor. The meta log has a two line header, naming the game/mod and a line of zeros (0) and ones (1), that tell AEstats, what infos will be available in this meta log. Appending a meta log for the SAME game/mod to an existing meta log would also insert these 2 header lines again. And that would mess up the output a bit. These redundant 2 lines for each appended meta log will now be ignored. Step by step example: You have tons of old logs for Counter-Strike, but due to the new log format the latest versions v4.64+ of AEstats no longer properly read them... but you want to use them?! - Use a pre-v4.64 version of the AEstats package and run preAEs.exe -cs *.log over the logs. - The resulting meta log is called cs.mlg, rename it to cs-archive.mlg. - Note the 1st header line of cs-archive.mlg contains the text "Half-Life Counter Strike" (the old naming), please edit the line to read "Half-Life Counter-Strike". - Grab the latest AEstats package and parse (preAEs.exe -cs *.log) all the new CS logs (v1.106+). - The resulting meta log will again be called cs.mlg. - Append cs.mlg to cs-archive.mlg and call the new bigger file cs-all.mlg. - Use AEstats.exe from the latest AEstats package and run it on cs-all.mlg, e.g.: "AEstats.exe cs-all.mlg" - This way you will be able to keep the old log infos. I have taken care that the weapon and suicide numbers have stayed the same between the pre-v4.64 versions of AEstats and the latest release. This will also be interesting for folks with tons of old Team Fortress Classic log files. # Running several servers through AEstats ######################################### The parser module AEstats now (v4.81+) understands the parameter '-cfg', that lets you define where and under what name you would like to place your version of the 'AEstats.cfg' file. linux e.g.: ./AEstats.exe -cfg //home/cfg/hl.cfg //home/logs/hl.mlg win32 e.g.: AEstats.exe -cfg //d/aestats/cfg/hl.cfg //d/aestats/logs/hl.mlg If you are running several game servers, this lets you change the setting for each server on the fly. # 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 ######### v5.39 - added reaction quake iii (a q3a mod) support with 14 weapon and 9 suicide obituaries. - added rune (a q3a mod) support with 64 weapon and 49 suicide obituaries. - updated medal of honor: allied assault support with 12 new weapon and 4 new suicide obituaries. weapons are now properly grouped. - updated soldier of fortune ii support with by 2 weapon obituaries, tracking mp5 and telefrags. - updated return to castle wolfenstein support with 3 new weapon and 7 new suicide obituaries. - updated true combat (a q3a mod) support with 2 new weapon obituaries, tracking 'sig 229' and 'h&k mp5/10'. - updated tactical ops (an ut mod) support with now 10 new weapon and 8 suicide obituaries. the -to parameter will support any version of to, including the retail version. v5.32 - added medal of honor: allied assault support with 15 weapon and 5 suicide obituaries. - added soldier of fortune ii support with 21 weapon and 18 suicide obituaries. v5.30 - updated support for strike force (ut mod) with 4 new weapon (widowmaker, steyr aug, m203, hkg36) and 1 new suicide obituary. - updated support for tactical ops (ut mod, retail) with 5 new weapon (9f2pistol, berg509, gl23, m4a1,uzi) obituaries. - added return to castle wolfenstein support with 20 weapon and 20 suicide obituaries. - added jedi knight ii support with 30 weapon and 12 suicide obituaries. - fixed a really bad crash bug, that would sometimes happen when aestats tried to generate html output pages. - fixed colored names for all q3a-engine games, specifically rtcw and jk2. the color escape characters are properly removed from the output pages. - aestats now supports 50 games/mods... wheee :). - started getting team stats in, new pages are calculated, but they are way from final! but i am keeping them in to do more testing etc. - future releases will not only include binaries for win32 and linux, but now also for mac os x. - new cygwin1.dll included, this should fix some problems with winxp and nt. v5.21 - complete re-design of æstats output. no longer using frames. introducing style sheets for total control of the output look. see the well commented stats/aestats.css file for details. check out the examples pages on this site for a quick design preview. - updated strike force (an ut mod) support with 2 new weapon and 4 new suicide obituaries. - re-design: all output page now are fully internet explorer 5+ and also netscape 4.7 to 6 compatible (output under netscape used to be pretty crummy). - re-design: all pages have been optimized for a fixed width of 800 pixels. - re-design: output page code is at least 25% smaller (quicker downloads), than the old frame version. - re-design: featuring a top navigation, that is present on every page. this lets me add new navigation links on the fly. - re-design: you can now control the colors used in the spectrum and intensity ranges via aestats.css file. - re-design: æstats output now is a lot less gfx intense (quicker page views). - re-design: updated all the information presented on the output pages, removed typos etc. also added extra infos previously not available. - re-design: all tables have been re-coded, to make them easier to read, produce less html output code and also to remove many small bugs. - re-design: new vars will let you paste æstats interternal info into the template pages via