========================================================================
CONSOLE APPLICATION : ParseIt verion 1.3
========================================================================

PLATFORM: Win3.x, Win9x, WinNT, Linux, Solaris

WEB PAGE: http://www.planetquake.com/parseit/

  AUTHOR: Jared "CoolBad2" Armstrong
   EMAIL: Jared@infinet.com

  PORTER: Scott Adkins (aka Zucan)
   EMAIL: sadkins@cns.ohiou.edu

    DATE: 11-10-1998


==============
DESCRIPTION
==============

ParseIT is an application for gaming servers, such as Quake, Quake2, Sin
Unreal, etc.  It originally popped into my head one day that I wanted a 
stat program to run at my friend's lan parties. I wanted one that would 
not require a different DLL, and I also didn't want to run a different
stat program for each different game or different MOD. So ParseIt started
to take shape on paper.  It eventually became code (with the help of my 
mother, who is a programmer at Lexis-Nexis, "The Data Firm") and began 
to take shape.  The plans for ParseIt are great, and more is to come.

*NOTE* you can use AT commands in NT to run it as a service, otherwise you
must use some sort of .bat file.  The next version will be much smaller.


==============
INSTALLATION
==============

    -Unzip ParseIt to any folder you wish, for example: "C:\Games\ParseIT".
    -Edit the config.ini file and taylor it to your environment.
    -If you need support for a game or mod that ParseIt doesn't currently
       understand, then create a new msg.txt file describing the kill/death
       messages for the log file of that game or mod.  Make sure the config
       file uses this new msg.txt file.
    -Now, run it!  Everthing should work!

Also included, is a sample qconsole.log so you can see how it works.


==============
!!!WARNING!!!
==============

This program is still pretty new.  Not all of the bugs have been found and
fixed.  I strongly suggest that you monitor the program the first few times
you run it.  If you find any bugs, email Jared@infinet.com.


==============
CONFIG FILE
==============

Contains multiple sections describing each game or mod that needs to have
statistics generated for them.  Each section begins with a comment surrounded
by square brackets (such as [Quake2] or [Sin]).  Several lines follow that,
describing a variable and a value to be set.  Currently, all the variables 
listed in the default config.ini file are required variables.  Variable names
are not case sensitive.  Values must not contain any white space in them.
Comments begin with a '#' or ';' and are ignored.  The following variables
are allowed in the configuration file:

    List      - where to store the main database of player stats
    Daily     - where to store the daily statistics
    Log       - where the main log is located (EX: "C:\sin\base\qconsole.log")
    Msg       - the file containing all kill/death messages
    ListTmpl  - the main list html template file
    DailyTmpl - the html template for the daily statistics
    HtmList   - filename and location to output the html for main list
    HtmDaily  - filename and location to output the html for daily stats
    Status    - filename needed to keep track of stuff between program runs
    Expire    - after how many days to delete the players from the list 
                (must play again before limit is up to remain on list)


==============
KILL MESSAGES:
==============

Well, I only have the kill messages for Quake2 and Sin so far. This is due
to the fact that I could not take the time to make them for every game.  In
order to allow a new game or mod to work with ParseIt, you need to create
a kill message file describing the log file generated by it.  

First, I suggest that you ask the company who made the game for the list of
kill messages, or the mod author (if he changed them), or just look in the
DLL (unless you want to search through a log file, like I did with Sin...).

---NOTE---

    All player killed self msgs and player killed by map objects must be last!

    For example: If you have "[name2] melted" before the line saying
    "[name2] was melted by [name1]`s hyperblater", it will create grave
    ERRORS!!!  Hopefully, a work around this will be made in the future.

---NOTE---

    [name2] - adds a death to the persons name -1 for them
    [name1] - adds a kill to the name +1

    For example: [name2] drowns in a rain of [name1]'s hot lead

Expect in a future release the ability to handle flag captures for people of
any color team.


==============
HTML TEMPLATES
==============

This is how you tell the program what the HTML will look like in the 
template files:

    <Loop>    - begins the loop of the player stat output
    </Loop>   - tells it where to end the looping
    <Rank>    - rank # acording to percentage of kills
    <Name>    - player's name
    <Kill>    - player's kills
    <Death>   - player's deaths
    <Percent> - player's percentage (NOTE: Ranges from 100 to -100)

The tags are not case sensitve.


==============
COMMAND LINE
==============

There are only two command line options at this time.  They are as follows:

    -c FILE, --config FILE     Use another config file other than config.ini
    -s NUM, --sleep NUM        Sleep for NUM seconds after reading config file

If you specify a sleep interval, the program will process the config file, 
sleep NUM seconds and then start all over again.  This allows you to re-read
the log files for any changes and keep the web pages up to date.  If you do
not specify a sleep interval (no -s or --sleep option on command line), the
program will process the config file one time and exit.

For UNIX users, the sleep option is not necessary, since a cron job can be
scheduled to do the same thing, and would be easier on system resources.

