Title: GameTracker
Version: 0.5
Author: SuRgEoN
Requires: Qstat v2.2+, requeststring, pop (included) and Play16 + jpeg datatype (Aminet..)
Recommended: Powersnap2.2a (included), KingCon and some text rendering speedup patch (Aminet..)
Homepage: SuRgEoN's Quake1 Goodies

Date: 19-JUL-00
GameTracker is a powerful script-based server browser and game launcher for Quake, QuakeWorld, HereticII, Shogo & Sin. GameTracker relies on Qstat for retrieving server information.
(Shogo support is available with Qstat2.3a and onwards. True HereticII support is available with Qstat2.3e and onwards. Earlier Qstat versions fetches HereticII info using Quake2 protocol)

GameTracker lets you browse and monitor servers easily and lets you join or spectate the action on the server of your choice (spectator mode is only supported with QuakeWorld). GameTracker has user configurable server-filters for ping, gamedir, mapname and capacity. Along with the filter that excludes empty servers, this lets you overlook a narrow selection of servers that interest you the most. There's also an option to play a sample when a certain event occurs on a monitored server (available with autorefresh option).

NOTE:
Qstat is a gameserver-query tool by Steve Jankowski. The qstat executable included with GameTracker is a straight compile of the source for version 2.2b, done by Elmar Hoffmann. If you want to use Qstat as stand alone program, or maybe in conjunction with your own frontend, remember to set stack to 200000. Otherwise bad things will happen.
Qstat source is available at: http://www.activesw.com/people/steve/qstat.html


Installation & Configuration:

Just place the GameTracker dir where you wold prefer.
You should copy qstat to C:
If you use Qstat v2.3+, you should delete the "cache" dir or rename it to "cache22", and then rename "cache23" dir to "cache". This is because Qstat cache-lists differ in the typestrings (example: "QW" for v2.2 - "QWS" for v2.3+). Therefore I have supplied 2 versions of the cachefiles. Ofcourse MasterCache and CustomCache generates lists that are compatible to the executables that generated them. CustomCache requires the "qstatold" variable in GameTracker.config to be set correctly, for fully compatible output.

If you use amcheapo (QuakeWorld proxy), GameTracker can launch this proxy automatically and connect through it. You should have a proxy.cfg in your id1/configs/ dir for setting up your default proxy commands, such as fps optimizations. Have a look at the example (in scripts/id1/configs dir). The path id1/configs/proxy.cfg can not be changed, unless you edit connect.rc in scripts/amcheapo. Also set the amcheapo env variable to 1 in GameTracker.config. If you have amcheapo running elsewhere than localhost, port 27500, you should change the proxycmdline in GameTracker.config to suit your setup.

I HIGHLY RECOMMEND to install and run PowerSnap (archive is included). PowerSnap makes it easy to copy and paste server addresses in the shell window or in quake console.

All settings are stored in GameTracker/GameTracker.config You should edit this file to suit your setup !! - It should be obvious how to do this. All settings are commented. Just don't change the names of the env vars :) The vars you have to costumize are prefs for the supported games: (quakedir, qwcmdline, qscmdline, h2dir, h2cmdline .... The rest can be left at default settings.

qstatold variable:
Qstat v2.2 options and parameters are not compatible with version 2.3+. If you are using qstat2.3a or later versions, you MUST set "qstatold" to "0"!

runram variable:
If you are short on RAM you should set "runram" to "0" - this will constrain GameTracker's memory usage to around 100K, but there will be considerable amount of hd-access.

GameTracker can be upgraded with mapshots for any of the supported games - just copy the images to /mapshots. They have to be in .jpg format and must comply with this name syntax: mapname.jpg (example: the quake custom-map aerowalk would be "aerowalk.jpg")


Usage:

Doubleclick GameTracker and select the options and actions you want. Everything should be pretty straightforward.

GameTracker lets you query masterservers, cachefiles and single servers for easy monitoring and launching of the QuakeWorld, Quake, HereticII, Shogo and Sin client executables. The interface consists of a series of questions. All functions are accessed using requesters. PowerSnap is very usefull for copying addresses from the generated serverstats to the single-server query, since the address has to be typed in a string requester. It is from the single server query that you view the complete server rules, refresh the stats on a server and monitor the development of matches and/or monitor the server for user-specified event to occur. Naturally you can also and join or spectate games when it seems interesting (spectator mode is only supported with QuakeWorld).

Note on pingfilter with QuakeWorld:
If you chose a pingfilter, and then queries a masterserver, you might not get any servers listed, although the servers that have registered with the master is within the range. This is because the masterserver itself sometimes gets excluded by the ping filter. Use up-to-date static master lists to avoid this probem. These lists can be generated with MasterCache.


Utils:

MasterCache is a tool for updating the QuakeWorld masterserver cachefiles (barrysworld, ocrana, planetquake, id_limbo, fortressfest ...) Run this when the cachefiles gets outdated. Remember that qstat v2.2 and v2.3+ input/output is incompatible, so you can't use the same files. If you change executable from 2.2 to 2.3+, you should regenerate lists with the new executable, before you use them with GameTracker or CustomCache.

CustomCache is a tool for generating filtered cache files. It can be used to split larger serverlists into fitting categories (arena servers, duel servers etc). It can generate lists for all supported games

.......enjoy!

-SuRgEoN


Brief history:

v0.5: (first aminet release)
* Namechange to GameTracker (used to be QWBrowse).
* Improved accuracy of ping filter (range 100 - 500 ms).
* Progress indicator enabled - allowed by redirected output of all queries (v0.4+).
* Can be run entirey from ram by setting appropriate config option (requires 1.2 MB).
* Requesters are more readable and informative.
* players alert: Optional SFX when server has a minimum # of active players.
* mapname alert: Optional SFX when a particular map is active on server.
* not full alert: Optional SFX when server (often full) becomes available for joining.
* playername alert: Optional SFX when a particular player is on server.
* Added a string requester to GameTracker, MasterCache and CustomCache.
* Memory flush before game-launch is now optional.
* Updated GameTracker.config
* Updated this document (as always)
* Improved stability with amcheapo (QuakeWorld proxy)
* Automatic launch of amcheapo if set in GameTracker.config

v0.4 (not released)
* Exdir filter added ( = exclude gamedir).
* CustomCache had wrong requester titles - fixed.

v0.3:
* Managed to get Qstat to run stable by increasing stack :)
* Much improved performance (up to 300%), due to better use of Qstat options.
* Support for Qstat v2.3+ (qstatold variable in QWBrowse.config).
* Support for HereticII, Sin and Shogo.
* Refresh option extended to master/file queries.
* Auto-refresh option has been added to single-server-query mode.
* Option for displaying all server-rules in single-query mode.
* Filters for gamedir, capacity, mapname, and gamedir-capacity combination.
* Filters for ping-limited server display.
* Auto-displays ID maps (incl q1edge,base32b & death32c), ztndmX, ctfX, ctf2mX, missionpack 1 & 2.
* Sound samples accompany actions.
* A new tool, CustomCache, for generating and saving filtered serverlists.
* Lots of new cache files (Quake, HereticII, Sin and Shogo).
* Removed amigaguide generation - better filtering made it obsolete.

v0.2:
* Added support for normal Quake.
* Heavily improved configurability.
* Improved readability of template output.
* Added option to filter out empty servers.
* Now QWBrowse doesn't quit when QuakeWorld or Quake is exited.

v0.1: (First public release)

Future:

- Include a more recent version of Qstat
- Maybe more server-filters
- Maybe better GUI