                         UNIX Quake Spy 1.1, (c) 1997
                      ==================================
                                 Feb-22-1997


UNIX QSPY SITE
--------------
    I've put up public site where I release new versions directly to at:
    http://www.midplains.net/~pmiller/quake


INTRODUCTION
------------

    UNIX QSPY is a port of the very popular Quake server finding tool for
    Windows 95/NT, written by Joe Powell, Tim Cook, and Jack Mathews.

    UNIX QSPY is a complete rewrite, using X11/Motif and Viewkit, and custom
    network classes, so some of the features may not work exactly like the
    Windows version. However, all of the most important functionality will
    be available.

    UNIX QSPY uses the protocol code found in Steve Jankowski's 
    (steve@activesw.com) qstat 1.6 alpha distribution. Thanks Steve!


RELEASE 1.1 NOTES
-----------------
	Added  Busy Redial feature. The server list now doesn't always reset to
	the top every time server info updates.


RELEASE 1.0 NOTES
-----------------
    
    When  you  first  start  QSPY, it does not automatically get the server
    list  or update the servers. You'll have to click on the "Update server
    list"  icon to grab the list of servers from the default server source:
    http://www.stomped.com/servers.html.   After   the  servers  have  been
    retrieved, press "Refresh All Servers" and the servers will be queried.
    Once  that  is  done, if you want to query players or server variables,
    select  one  or  more servers from the list and press "Refresh Selected
    Servers".  This  will  update  all  the server information (takes a lot
    longer)  for  those  servers.  Use the view menu to make the player and
    server info lists available.

    When you exit, the server list and your current settings will be saved.


UNIMPLEMENTED FEATURES
----------------------

    I  decided  to  release  1.0  without completely finishing it. Features
    which are not implemented are:

    * Find
    * Find Player
    * Busy Server Redial

    Opinion  is  that  these  are  rarely  used and would not be missed. If
    anyone *strongly* objects to leaving this features out, let me know.

LAUNCHING QUAKE
---------------

    You  can now launch Quake by selecting a single server and clicking the
    Launch icon or selecting Launch from the menus.

    IMPORTANT!

    You  need  to  specify  the  FULL  path  to your Quake directory in the
    Options  dialog  (Quake  Tab), as well as the FULL path to a command to
    run  to  launch  quake. Inside your quake directory should be the "id1"
    directory, where QSPY will store its cfg file needed when Quake runs.

    The   command  you  use  to  run Quake will probably be a script. When 
    QSPY  launches your quake executable, it passes extra parameters on the
    command-line  (such  as  port number and extra parameters provided). If
    your  quake  launch  command  is a script, add "$*" to the xf86quake or
    xquake command-line: Here is my script:

        #!/bin/sh
        X :1 -bpp 8 &
        sleep 5
        export DISPLAY=:1.0
        cd /usr/local/quake
        ./xf86quake $*

    The script is called "runquake" and it is in "/usr/local/quake".
    My  Quake  path (in Options dialog) is therefore "/usr/local/quake" and
    the Quake launch command is "/usr/local/quake/runquake".

OPTIONS
    The  Options  Dialog  is  now  implemented  and it lets you fiddle with
    filtering  and  querying options - plus specifying where Quake is so it
    can  launch  it for you. You can also specify extra parameters (such as
    "-game FOO" to pass to quake).
    
CLIPBOARD
    The  copy  command doesn't work yet. I have no idea how to copy a block
    of  text to the X clipboard - if someone wants to send me the code I'll
    be happy to put it in.

PRINTING
    When  you  select  "print"  it takes the contents of the current filter
    setting  (the  filtering  tabs)  and  prints  it to a file in your home
    directory  called  ".qspy.print". The print subsystems on Linux and SGI
    are different and I dont want to waste time figuring them both out.


OFFICIAL HOME PAGE:
-------------------

    Quake Spy now has an official home page.  You can get up to date
    information about Quake Spy now by visiting:

    http://www.panix.com/~sheaslip/qspy/

    BIG thanks go out to Stephen Heaslip of blue's Quake Rag
    (http://www.panix.com/~sheaslip/quake/ - your best source for
    up to date Quake news) for the space and administration of this site.

    Thanks for the QSpy logo go to Devicer (devicer@earthlink.net).

BIRTH:
------

    This program was born out of a desire to quickly find a playable
    Quake server.  I must have spent a week looking at the finger output
    from Servers@ns.stomped.com and then manually pinging those IP
    addresses looking for a server with a decent response time.  While
    this accomplished my initial goal, it was hardly an acceptable
    solution.  Hence, the birth of Quake Spy!


MISC INFO:
----------

    This release has been tested on RedHat Linux 4.0 (COLGATE) using 
    X-Inside Motif (shared and static ELF).

    An SGI version will be coming as soon as the Linux version is finished.


DISTRIBUTION STATUS:
--------------------

    Quake Spy is freeware...with the following provisions:

    If you use Quake Spy, send us an email.  Do you like Quake Spy?  Do
    you have any suggestions on how to improve it?  We want to get a feel
    for what you guys think/want.

    If you feel compelled to show us how much you appreciate Quake Spy,
    we will kindly accept monetary donations of any amount ;-)


AUTHORS:
--------
    
    * Windows version coding plus QSPY design:

    Joe Powell (Team Leader), jep@sclsis.navy.mil (preferred)
                or powelljo@jaxmail.navy.mil
       (10 years of C, 2 months of MFC C++ programming experience)
           
       The initial idea for QSpy came from me.  Tim got me started with
       the network code.  Then, I took it from there and developed it
       into the app we all know and love!

    Tim Cook (Network Guru), cookti@jaxmail.navy.mil.
       (9 years of C, 3 years of C++ programming experience)
       
       Tim wrote most of the networking code in QSpy.  His latest
       contribution has been the multithreaded queries!  Yea Tim!
       
       Tim is the C++ guru of the team. In the earlier versions of QSpy,
           I'd wander over to Tim's cube every now and then and ask, "Hey
           Tim, how do you do this in C++?"

    Jack Mathews (MFC, UI Guru), jack@opportunist.com
       (5 years of C, 1.5 years of MFC C++ programming experience)
       
       Jack is the newest member of the QSpy team.  His initial
       contributions have been some resizing enhancements, splitter
       bars between the list controls, player list (colored icons and
       sorting) enhancements, and rules list implementation.
       
       Since neither Tim or I had ever done anything with MFC before
       QSpy, we were both learning as we went along.  When Jack offered
       to help us out, we jumped at the chance!


    * UNIX (Linux/SGI) version:

    Paul Miller (Motif, Viewkit, UNIX Networking) - pmiller@mail.midplains.net
        (10 years of C, 3 years of C++ programming experience).

        Paul rewrote QSPY completely from scratch for Motif and Viewkit,
        because of the Windows version's heavy reliance on MFC.

        Paul writes special effects software for the motion picture
        industry. His most well-known product is "Elastic Reality" for
        Silicon Graphics Workstations, which was nominated for an
        Academy Award.


BETA TESTERS
------------

Thanks to:

Michael Stoia <stoia@cae.wisc.edu>
Adam Spiers <adam@thelonious.new.ox.ac.uk>

        
REVISION HISTORY
----------------

Sat Feb 22 11:53:47 1997  paul

	* Release 1.1
	* list doesn't reset to top position every time a server is updated
	* Added Busy-Server-Redial option

Tue Feb 18 20:44:03 1997  paul

	*  Resolved  long-standing problem with some users unable to connect to
	server  source http sites - apparently some Linux distributions did not
	have  the http service defined in /etc/services! (Thanks to Adam Spiers
	for helping me track this one down).
	* Allow "file:xxx" syntax in server source list
	*  Known  BUG:  For  some  reason, some resources are getting confused,
	especially  for the "Add Server Source" dialog - I have no idea why the
	resources  aren't  showing  up  -  they work for all the other dialogs.
	Maybe a ViewKit bug.
	* Enough beta testing - Release 1.0!

Mon Feb 10 18:57:51 1997  paul

    * When updating server list, if error occurs avoid changing status bar
        so error message can be seen (this should help resolve some users
        problems with updating the server list)
    * no longer clear existing server list when updating list
    * remove some assertions (wish I didnt have to, but Quake sends packets
        after it stops sending packets, for some reason)

Sat Feb  8 12:34:00 1997  paul

    * added Load/Save options
    * changed way quake command-line params are passed
    * Added extra quake command-line options
    * started Changes log


v0.95b    28-Jan-1997
    Rewrote server querying to use a state machine to avoid excessive 
        requeries.
    Added Delete, Launch, and Refresh options to popup menu
    Added "Launch Quake Command" to options dialog
    Can now launch Quake for you

v0.92b    19-Jan-1997
    Put new icons in to match Windows QSPY 4.1
    Added About Dialog
    Added popup menu to Server list
    Added Source List to Options
    Added Player colors to player list
    Added Select All option
    Add/Remove to/from Favorites/NeverPing works

v0.09b    12-Jan-1997
    Options dialog with qspy control and filtering options
    Delete option implemented
    Settings saving on exit is faster - tried to do a DNS lookup for each
        server before
    Added 'Add Server' dialog
    Added Print Command - DOES NOT use printer! Saves results to file ~/.qspy.print

v0.08a    05-Jan-1997
    First limited alpha release of basic functionality.


TODO
----

*  As  servers are queried, sorting and updating of the server list is done
each  time.  Rewrite  server  updating  to  keep  the server list sorted by
current filter settings, and update server list grid in sorted order.

* Add filtering by server rules.


LEGAL DISCLAIMER
----------------

    We're not responsible for anything that happens to your system while
    Quake Spy is running.  Period!  Hey, what do you expect for free?


