Title: QWBrowse
Version: 0.3
Author: SuRgEoN
Requires: Qstat v2.2+, getinput, 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: 31-MAY-00
QWBrowse is a powerful script-based server browser and game launcher for Quake, QuakeWorld, HereticII, Shogo & Sin. QWBrowse 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)

QWbrowse 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). This is accomplished with just a few key presses!
QWBrowse v0.3 introduces ping-limited server-filters and configurable server-filters for 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.

NOTE:
Qstat is a gameserver-query tool by Steve Jankowski. The qstat executable included with QWBrowse 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 QWBrowse dir where you wold prefer.
You should copy qstat, pop and getinput 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 qwbrowse.config to be set correctly, for fully compatible output.

If you use amcheapo (QuakeWorld proxy), QWBrowse can connect through this proxy, provided that it is running alongside QWBrowse. You should have a proxy.cfg in your id1 dir. Have a look at the example ( in scripts/id1/configs dir). Also set the amcheapo env variable to 1 in qwbrowse.config. If you have amcheapo running elsewhere than localhost, port 27500, you should change scripts/amcheapo/connect.rc 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 QWBrowse/qwbrowse.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.
A note about the "qstatold" variable: Qstat v2.2 options and parameters are not compatible with version 2.3+. YOU MUST SET "qstatold" to "0" IF YOU ARE USING QSTAT v2.3a OR LATER VERSIONS!


Usage:

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

QWBrowse 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 or single keys followed by enter, except server address input for single server query. It is here PowerSnap is very usefull for copying addresses from the generated serverstats. It is from the single server query that you refresh the stats on a server and eventually join or spectate games when it seems interesting (spectator mode is only supported with QuakeWorld).


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 QWBrowse 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.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 Qstatv 2.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).

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:

- More server filters
- Maybe better GUI