Q3LA - Quake 3 Log Analyzer

CONTENTS OF THIS README

Purpose of Q3LA
Installation
Quick manual
Command line options
CFG
Q3LA's results
Source code
About Q3LA

WHAT'S THE PURPOSE OF Q3LA?

It generates html statistics from Q3's games.log file. Just that. Q3 uses the games.log only for multiplayer games and when you start a server, that is: for local multiplayer games against bots (no games.log if you start a single player game against bots!) and for LAN/Internet games, if you're the server. It is possible to create console logs if you are a client, but those logs are very simple and Q3LA currently doesn't support them.

INSTALLATION

Windows

Just unzip this archive to your Quake3/baseq3 folder.

Linux

Unzip this archive to your Quake3/baseq3 folder. After this, you need to compile the executable first:

- enter the source directory ("build xxx")
- simply type "make"

It should compile without errors then. If not, tell me. After it is compiled, copy the executable to your baseq3 directory:

- type "cp q3la .."

That's all!

QUICK MANUAL

Windows

Run Q3LA with "q3la games.log /a" in a command window / DOS window. It will then analyze the file games.log (won't work with the console.log at the moment!) and write two result files, players.htm and games.htm, plus a html file for each single game in the folder q3la_games (you can access those via games.htm). With the use of the option "/a", the file players.htm is opened automatically after the analysis (should work with Windows 98 and NT/2k).

Linux

Run Q3LA with "./q3la games.log" in a shell. It will generate the same players.htm and games.htm as the Windows version. You have to open the generated html files yourself (start with players.htm and click youself through all the stats.

COMMAND LINE OPTIONS

The format to run Q3LA is: "q3la.exe <logfile> [options]". <logfile> can be any logfile of Q3's games.log style.
Here is a list of the possible command line options:

/a Open results after analysis (currently works with Windows 98/NT/2k, but not Linux
/b Don't include bots in results (all kills with bots are also ignored)
/d  Write data file (q3ladata.txt) - may be useful for importing it to a database
/o<x> Sortorder, <x> can be N,R,E,S,F,K,P - with: N-ame, R-atio, E-ff, S-kill, F-rags, K-ills, P-laytime
/cfg:<filespec> Specify a different CFG file (default: q3la.cfg)
Useful if you want to use multiple CFGs for multiple Q3 servers on one PC
No spaces in <filespec> allowed!
/min_kills:<x> Exclude players with less than <x> kills from player stats
/min_games:<x> Exclude players with less than <x> games from player stats
/min_playtime:<x> Exclude players with less than <x> seconds playtime
/max_players:<x> No more than <x> players in player stats

Options can be specified in upper or lower case with the prefix '/' or '-'.

CONFIG FILE (Q3LA.CFG)

You can see examples of all possible options in the example config file that's included in this archive.
Here is a list of the possible options:

homepage_address The link to your homepage if you want to put the results online
May be absolute ("http://www.planetquake.com/idda") or relative ("index.shtml").
May contain HTML tags ("<font color="blue">index.shtml</font>").
It is displayed at the top of each HTML page generated.
homepage_string The text that is displayed for the link ("Back to my homepage")
output_directory Directory to where Q3LA writes all HTML files. Created if it doesn't exist.

Empty lines and lines with colons as the first character are ignored.
All options have to be embedded in quotation marks.

The CFG has to reside in the directory from where you run Q3LA.

CFG options can be overriden with equivalent command line options, if those exist (see list of options).

Q3LA's RESULTS

Maybe some things in Q3LA's results need to be explained. Here's a description of the items in the player list (players.htm):

Bot '-' means that a player isn't a bot, (1) - (4) means that the player is a bit, the value is his skill level 
Ratio Ranking calculation method: (FPM / DPM)
Eff Ranking calculation method: (100 * kills / (kills + total deaths)) - this is a percentage value [0-100]
Skill Ranking calculation method: (kills / (total deaths + 1))
Frags Kills - suicides, exactly the way Quake itself calculates it
Kills Deaths of other players inflicted by the player
Killed Deaths of the player inflicted by other players
Suicides All deaths that aren't caused by other players (i. e. suicides with your own weapons or deaths by cratering, lava etc.)
FPM Frags Per Minute
DPM total Deaths Per Minute (i. e. (killed + suicides) per minute)
Games Number of games the player participated in
Ping Average ping of all games a player played
The ping can be extracted only once per game or even not at all, so don't take this as very accurate.
'-' means that no ping data for the player could be found.
Total deaths Sum of the values 'killed' and 'suicides'

The rest should be pretty self-explanatory, I hope. If not, tell me.

SOURCE CODE

The source code of Q3LA is included in this archive (both for Windows and Linux). You may use it for your own purposes and/or improve it - I'd just like you to tell me about it! 

If you want to compile it yourself: unzip the "build xxx" folder, and from within that folder, simply run "make". Move or copy the resulting "q3la" executable to your \baseq3 directory.

ABOUT Q3LA

Q3LA was programmed by:

Fabian Huester Main programming, design

Additional programming:

Maxim Koshelev Linux port, helping me to make better code :)

People who helped with bug reports, suggestions etc.:

Jonathan Ritchie Author of Q3Log, a great log parser which includes Q3LA's per game stats
Rubens Farias Author of the Zero parser - great HTML output!
Shawn Holmes Testing and using Q3LA :)
Todd Lawson Good ideas!
Thomas Vanparys Motivated me to implement the database textfile output
Oreh Testing, many suggestions & bug reports

If there's someone I forgot to mention, tell me.

For further information, visit my homepage:

http://www.planetquake.com/idda/

Fabian Huester
ICQ: 2181442