Copyright: Copyright © 1996 TeamQSpy
Citation: Help File by Kev "Zob the Slayer" Brown


Contents

Quake Spy 4.0, (c) 1996

Contents

Introduction

What's New

User Interface

QuakeWorld

Options

Quake Server Lists

Installation

Troubleshooting

Distribution Status

Credits

To Do

FAQ

Revision History

Legal Disclaimer


Introduction

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@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!


User Interface

Click on any item to get an explanation

Commonly used menu items have been placed on the toolbar for easy access.

Right Mouse Button

Clicking this button on a server will pop up a context-sensitive menu.Items on this menu are:

Launch Quake, Busy-Redial, Add to Favorites, Add to Never Ping, Delete Server(s), Refresh Selected, Refresh All, Find Player.

In-Quake Commands

Don't forget you can switch servers inside Quake if you've set the Options/Quake bits correctly.

Just type QLIST for a list of servers and 'S1' upwards to auto-disconnect and reconnect to a new server.


Quake Server Lists

Quake Spy is able to parse any finger or web page for IP addresses. Just fill in the user defined

areas and roll your own list!

Some good fingers/URLs you can use in the custom URL listbox:

1. Finger quake@bart.nl

2. http://www.naz.com/quake/quake.html

3. http://trendy.net/sites/quake/index.html

4. http://ironman.planetquake.com/servers.html

5. http://www.wizweb.com/arena/quake/servers/

A Server list dedicated to "Capture the Flag " style games

http://quake.threewave.com/capture.shtml

Europe Only

1. http://www.dcs.napier.ac.uk/~st5029/


Options

There are five (six in QWFE)  tabs on the options screen. Click the one you are looking for help on.

Quake Spy

Server Source

Filtering

Quake

Query/Ping

QW (Only in QWFE mode)


Distribution Status

QSpy is copyright (c) 1996 TeamQSpy

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 ;-)


Credits

Authors:

Joe "QuakeSpy" Powell (Team Leader)

email: jep@sclsis.navy.mil (preferred) or powelljo@jaxmail.navy.mil

10 years of C, 3 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)

email: 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 "morbid|teamqspy" Mathews (MFC, UI Guru)

email: jack@hiscomputer.com, IRC: morbid

(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!

Quality assurance (a.k.a. Guinea Pigs):

Craig "DaBooger" Kirby

Monty "FRAGaLOT" Gonzales

Jay "Jafar" Farr

Matt "HarPax" D'Elia

Andy "Highlander" Welch

Jeremy "\Z\e\U\s\" Herrig

Eric "Funny" Brandel

John Wehr

Rob Page

Stephen "blue" Heaslip (of blue's Quake Rag)

Sean "Redwood" Martin (of Redwood's Quake Page)

Tom "Woofer" Grandgent (of Shake N Quake)

Steve "sCary" Gibson (of sCary's Quakeholio)

John "Choryoth" Guthrie (of Quake Command)

Rick "^DragOn^" Brewer

Toolbar graphics:

Jack "morbid|teamqspy" Mathews

Ryan "Jester" Findley

James "NecroBoi" Ariz

Help File:

Kev "Zob the Slayer" Brown

-------------------------------------------------------------------------------

BIG thanks go out to Stephen Heaslip of blue's Quake Rag for the space and administration of the QSpy web site:

Blues News  http://bluesnews.com

 Your best source for up to date Quake news

Thanks for the QSpy logo go to Devicer

devicer@earthlink.net


TODO
To Do List

Make a way to turn off querying for player/rule info (suggested).

Filter on multiple map names ("e1", "start", "end", etc) (suggested).

Add an FLIST alias to list server favorites (suggested).

Add more info (map, players) to the QLIST alias (suggested).

Implement Jack's finger query proposal once it's finalized!

Search for multiple players at once (suggested).

Add ability to search/filter rule values (suggested).

Add option to resolve IP address on the context menu. (suggested).

Add two more fields to server list (number of accesses, last accessed).

Ability to specify a specific CFG file for a server (suggested).

Add comments field to server list and store for later retrieval (suggested).

Insert more message pump calls.

Add option to query all the addresses on local subnet.

Add full level names to the server lists.

Periodic refreshing of player listing for selected server.

Add option to delete saved server list.

Add Player settings (colors & name) to QSpy

Stop QSpy ping etc. dissapearing when changing to QW & back

Add options to specify -game parameters for each server.

Add ability to address servers by name rather than IP Address.

Add ability to [Alt-Tab] back to QSpy/QWFE and select a different server.

Add select all servers in current view - bound to Ctrl-A key.

Modify Edit on QWFE User Settingsto allow edit of player key names.

PLAY more Quake (We're getting rusty)!


What's New

 QSpy v4.0 12/15/96

Now Calculates & displays server stats

If minimized, caption shows the progress in %  (JP).

New custom server type (file) added.  Example: "file://c:\tmp\stomped.txt"

Changed location of Deicide's server source to the new DNS entry (JP).

Converted player edit box to a combo box (suggested) (JP).

Added ability to resolve IP addresses when entered using add server (suggested).

Updated Help File (KB)

QWFE  Specific

Added QuakeWorld front end (doesn't sound much if you say it quickly!)

Added specific cmd line for QuakeWorld on the QW tab

Made the skin painting routine an option.

The three new player list columns can be sorted by clicking the column headers

See also Revision History & ToDo List


Revision History

v4.0 	see What's New

v3.21	10/31/96.

Now handles ports properly when launching Quake (JP).

Now handles extended character names properly (JP).

Only play sounds in player search if it takes longer than 5 seconds (JP).

Fixed: If QSpy was closed during a server-redial, a crash resulted (JP).

Added a search again command for server searches (F3) (suggested) (JP).

Converted QW.DOC to a REAL help file! (KB)

v3.2	09/30/96

Added a refresh all servers command (JM).

Added a save confirmation box on exit (option to prompt) (JM).

Combined refresh and player/rule query functions into refresh (JP).

Added sounds for update complete and process aborted (JP).

Now saves the entire list sorted by ping times (suggested) (JP).

Forced auto-load/auto-save of server list (JP).

Removed auto-save/auto-load options (JP).

Save favorites/never ping info to the QSpy.dat file (JM).

Modified copy to clipboard to only copy selected servers or all if none selected (suggested) (JP).

Set focus to player name entry window after search is completed (suggested) (JP).

Added All Servers, Passed Filters, Filtered Out, Favorites and Never Ping tabs to the view types (JM).

Added tabbed view of the server list (JM).

Added a context-sensitive RMB popup server menu (suggested) (JM).

Added a listctrl to the server sources property page to allow any number of custom URLs to be used (JM).

Added a progress bar to the player query screen (JP).

Added search function on edit menu to find servers (suggested) (JP).

Added option to not ping/query on initial load (suggested) (JP).

Save/Load more information to the QSpy.dat file (ping and server name) (JP).

Added Quake property page button to select Quake directory (JP).

Added property page setting to allow user to select sound clip (JP).

Added a launch server menu item (ENTER hotkey) (suggested) (JP).

Added option to save filtered server list instead of entire list (suggested) (JP).

Added column sorting on the server listctrl (JP).

Added option to specify number of servers listed in QLIST alias (suggested) (JP).

Added filter option to exclude servers with more than specified players (suggested) (JP).

Fixed: Ping timeouts were not being counted correctly (TC).

Fixed: If QSpy was minimized and then closed, when it was restored, the window was still minimized (JM).

Fixed: If QSpy was closed during a refresh, a crash resulted (JP).

Fixed: If QSpy was closed while getting a server update, a crash resulted (JP).

Fixed: If QSpy was closed while reapplying filters (after a configure), a crash resulted (JP).

Fixed: If QSpy was closed while a multithreaded query was ongoing, a crash resulted (TC).

Fixed: If performing auto-start, don't query servers until after all server data has been retrieved (JP).

v3.1	09/13/96

Left click on server list will populate player/rule listctrls (with data in memory -- most likely out of date) (JP).

Cleared the player list whenever a new query is performed (JP).

Added options on whether to apply filters after a refresh or player/rule update (JP) (suggested).

Added an option on whether to play the sound clip (JP) (suggested).

Added server list printing code (TC) (suggested).

Query for specified player (JM) (suggested)

v3.02	09/09/96

Refined busy redial server (no ping, no player/rule query) (JP).

Refined player/rule update (no ping) (JP).

More informative messages displayed for failure of load/save (JM).

Fixed: QSpy crashed on LARGE (> 64K) lists (JP).

Fixed: First user defined http slot not saving properly (JP).

Fixed: Multithreading was not stopping properly (TC).

v3.01	09/07/96

Fixed the qlist alias corruption problem (JP).

Fixed the first user defined http slot (it was still trying to connect to IronMan's list) (JP).

Fixed killing threads before their time (JM).

Fixed case where refresh was attempted with no anchor (JM).

Fixed problem where QSpy was referring to wrong sound clip (JP).

v3.0	09/06/96

Removed IronMan's listing from the sources property page :-( (JP).

Converted the server listbox to a listctrl (JM).

Save/restore QSpy window size/position (JM).

Added menu item to launch the Quake Spy home page! (JP).

Added menu items to launch my favorite Quake pages (JP).

Filtered out highlight characters in player names (JP).

Added the code to fill in the rules listctrl (JP).

Revamped the menu system and property sheets (JM).

Implemented the rules listctrl (JM).

Implemented multithreaded queries (TC).

Implemented sorting on different columns in the player listctrl (JM).

Added a splitter bar to dynamically resize the server and player list controls (JM).

Now plays a sound clip while Quake is being launched (TC).

Actually PLAYED Quake instead of programmed for it!  (Hi Cain!)

Finally found the bug that was corrupting the server list (this was causing multiple problems) (JP).

Save/Restore the column sizes in the player list ctrl (JP).

Added an option to either launch Quake or just let the user know when a spot opens up during a queue cycle (JP).

Added a Busy Server-Redial command (suggested) (JP).

Added filter option to exclude specified map names (suggested) (JP).

Added filter option to exclude servers with less than a specified number of players (JP).

Implemented new queries to get player information! (TC).

HEY!  We FINALLY got the Quake protocol information we wanted!

Modified IP parsing routine to look for port numbers and other portions of the program to use this information (JP).

Rewrote the user interface: (JP)

Added a menu.

Added a toolbar menu.

Added a real status bar.

Added a button to copy server list to clipboard. (JP)

In 'qlist' alias, indicate (with an "(L)") which server was launched (suggested). (JP)

Modified code to allow for unlimited length server sources (it was limited to 64K before). (TC)

v2.6	08/06/96 (JP)

Added filter option for map name.

Added option to auto-load server list upon program start.

Added option to auto-start update upon program start.

Added 3 user defined http spots and 1 user defined finger spot to the sources property page.

Added vfuks@monmouth.com finger to Sources property page.

Added Pipo's web page to Sources property page.

Wrote a generic routine to parse out IP addresses from any page (suggested by Jack Mathews who eventually became our third team member).

v2.5	08/02/96 (JP)

Return focus to last selected item after a refresh (suggested).

Added Quake Spy option to autosave server list upon leaving QSpy.

Added Quake Spy option to ping/not ping servers after loading data.

Implemented non-blocking socket reads throughout the program.

Improved display speed on delete and refresh functions.

Allowed the Quake Spy window to be resized and maximized.

v2.4	07/25/96 (JP)

Added a Quake Spy property page with an option to terminate QSpy after launching Quake.

Rewrote the Refresh button list traversal code.

The filter options are reapplied to the list upon exiting the property page.

Added buttons and code to save/load list of servers.

Added buttons and code to allow manual addition/deletion of servers.

Rewrote portions of code to allow easy addition/deletion of servers.

Added connection scripts option when launching Quake.

Added Quake property page options to:

Include connection scripts aliases (TC)

Allow an automatic disconnect and display a top 10 list of servers. (TC)

Specify which character to bind the above to.

v2.3	07/20/96 (JP)

Added button to refresh (re-ping/re-query) selected servers.

Added the ability to stop the server information retrieval process.

Added the ability to stop the server refresh process.

v2.2	07/17/96 (JP)

Added some more status messages to indicate QSpy is doing something.

Added a proper icon to the application :-)

Fixed: If the close button was pressed during the pinging process, the application window closed, but the process continued to run. (TC)

Fixed: The property page settings were never initialized unless the property page was activated.

v2.1	07/15/96 (JP)

Fixed pointer bug (for real) this time (hey, it was late).

Added a property page accessed through the Configure button.

Added ][ronMan's server web page to the Sources property page.

Added Filtering options to the property page and implemented them.

Added Quake property page to allow definition of command line and working directory.

Added ability to launch Quake by double clicking a list item.

Added a Ping property page to allow number of pings and timeout values to be adjusted.

v2.01	07/13/96 (JP)

Fixed stupid pointer bug that happened when the process was restarted.

v2.0	07/12/96 (JP)

Converted application to a 32-bit Win95/NT application.

Filter out duplicates in the Stomped output.

Display results sorted by ping time.

v1.0	07/11/96 (JP & TC)

Initial Public Release as a Console Application.


splitter bars
Dynamically resize the different list controls by

dragging splitter bars to suit your preference.

This information is saved when QSpy exits

and restored when Quake Spy starts.


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?


Load Server List
Open List

Loads the current server list from the QSPY.DAT file in your QSpy directory

This replaces the current list in memory.

Menu:	File - Open List

Hotkey:	Ctrl+O


Save Server List

QSpy will save information in a file named QSpy.dat in your Quake directory.

Menu:	File - Save List

Hotkey:	Ctrl+S


Print List

You can select any number of servers to print their information

(or the entire list if no servers are selected)

Menu:	File - Print

Hotkey:	Ctrl+P


Copy to Clipboard

Copies selected server details to clipboard (copies all if none selected).

Menu:	Edit - Copy

Hotkey:	Ctrl+C


Delete Server

Highlight the servers you no longer wish Quake Spy to use

and click this button. They're now history.

Menu:	Edit - Delete

Hotkey:	Del Key


Add Server

You can add your own server to the list that Quake Spy will track.

Just enter the IP address and port of the server you want to add.

Menu:	Edit - Add

Hotkey:	Insert Key


Launch Quake

Quake Spy will launch Quake for you if you double click on a server in

the listbox or click the Launch Quake button/menu item.

Menu:	Server - Launch Quake!

Hotkey:	Enter


Update Server List

Gets a list of active Quake servers from the server sites

you select on the View/Options/Server Source page.

Menu:	Server - Update Server List

Hotkey:	Ctrl+U


Server Refresh
Refresh selected servers

Will refresh the server information of selected servers.

This command will reping and requery player/rule data for the

selected servers and display the updated results.

This is single threaded (multithreaded in the future).

Menu:	Server - Refresh Selected

Hotkey:	Ctrl+R


Refresh All Servers

This will refresh the server information of every server Quake Spy

knows about (with the exception of the servers on the Never Ping list).

This is multithreaded.

Menu:	Server - Refresh All

Hotkey:	Ctrl+L


Find A Player

After Quake Spy has completed it's initial server update, all the players are stored in memory.

You can now search this player list using the Player Query command on the server menu.


Busy Server Redial

If all of your favorite servers are full, you can highlight them and then kick off the

Busy-Redial. Quake Spy will continuously poll these servers until it finds one that

is no longer full of players.It will then either notify you of this fact or will go ahead

and launch Quake!

Note:	In the Config - Quake Spy tab, there are a pair of radio buttons to let the

user determine whether quake will automatically launch or just alert the user

when a spot becomes open on one of the selected server(s).

Menu:	Server - Busy Server Redial

Hotkey:	Ctrl+B


Stop

Halts the current action (refresh, update server list etc.)

Menu:	Server - Stop

Hotkey:	Esc


Display All Servers

Displays all servers in the current server list regardless of status


Display servers which pass filters

This tab displays a list of the servers which have passed the

filter parameters set in View - Options - Filtering.


Display Filtered Out Servers

This tab displays a list of the servers which have not passed the

filter parameters set in View - Options - Filtering.


Display Favorite Servers

This tab displays a list of the servers you have added to your favorites

To add or remove a server from this list right-click on the server &

select Add/Remove from favorites


Display 'Never Ping' Servers

This tab displays a list of the servers you have decided never to ping.

To add or remove a server from this list right-click on the server &

select Add/Remove server from Never Ping list


Server Names

The server name as returned by the server.


Server Status Icons

These Icons display the current server status as follows:

Active Server	Has available player slots

Active Server	Server is full - No new players allowed

Active Server	Server is empty - No players

Server did not pass filters

Could not get all server query information

Server is on your "never ping" list

Any of the above icons with the blue flash indicates the server is on your favorites list


Ping Time

Average of the pings as defined in View - Options - Ping/Query

Note: Pings over 300ms do not generally result in a smooth game.

(your mileage may vary!)


Time Outs

This shows the number of times a ping timed-out

If you get a lot of these try increasing the ping time out time in

Server - Options - Query/Ping


Server IP Address

The servers internet IP Address.


Current Map

This shows the level which is currently running on the server


Players on Server

Displays the current number of players on the server

and the maximum allowed e.g. 6/10 means six players

out of a maximum of ten are currently using the server.


Player Colors

The color of the players uniform. Top first then pants

The numbers help distinguish between Gold & Yellow etc.


Player Names

This is a list of the players on the selected server

Note: If the name is "unconnected" it means the player

has used spaces in their name (This has been fixed in Quake v1.06)

In QuakeWorld Front End mode double clicking the player name

opens the player query window & displays all player information.


Frag Count

The number of frags the player has scored on the current level


Player Connect Time

How long the player has been connected to the server.


Server Rules

Displays the current environment settings running on the selected server.

For more information on what the rules actually mean see Server Rules Info


Quake Spy Tab
Options:Quake Spy Tab

Just click on an item to get an explanation

Click the tabs for help on other options.


Server Source Tab
Options:Server Source Tab

A server list is a site which lists Quake servers. Some of these scan the internet for known servers and may be updated as often as every 5 minutes so you get only active servers listed.

Where to get active Quake server list information.  Choose from the hard-coded options or enter your own sites to get servers from.  See the Miscellaneous Features section for some good sites to start with.

Just click on an item to get an explanation

Click the tabs for help on other options.


Filtering Tab
Options:Filtering Tab

Filter settings are used to limit the output of the server information gathering process. They can save you wading through masses of servers you cannot play a game on successfully.

Just click on an item to get an explanation

Click the tabs for help on other options.


Query/Ping Tab
Options:Query/Ping Tab

Just click on an item to get an explanation

Click the tabs for help on other options.


Quake Tab
Options:Quake Tab

Just click on an item to get an explanation

Click the tabs for help on other options.

When using the QLIST alias ...

qlist:	displays a list of the top ## servers Quake Spy found.

s<#>	connect to the specified server in the qlist alias (e.g., "s0", "s1").


Status Bar

Displays QSpy's current status or if a refresh

or update is underway a progress bar is shown


Play .wav File

Plays the .wav file! Try it, you'll love it!


Browse for .wav file
Displays a standard Windows browse dialogue which you can use to locate your .wav files.


BSR_Action
Busy Server Redial Action

When a spot opens up during a busy server-redial cycle,

specifies whether you want to be alerted or go ahead and launch Quake.


Play Sounds
Play QSpy Sounds

If checked will play appropriate sounds as specified.


QSpy Sound Clips

Either type the name of the wave file or click the Browse

button to specify sound clips to play on the events listed.


Ping/query on load

Automatically start ping/queries when server list is loaded or updated.


Auto Update on start
Auto Update on program start

Specifies whether to start server update every time QSpy starts.


Terminate QS on launch
Checking this will close QSpy when Quake is launched.

Otherwise QSpy will stop current operations (refreshes/Updates) on Quake launch


Save on exit
Prompt to save server list on exit

If checked QSpy will prompt you to save settings when you exit QSpy.


OK_CANCEL
Ok/Cancel buttons

Click OK to accept the current changes

or Cancel to revert to previous settings.


Installation Tips

If you have any difficulties running QSpy then read this section before contacting the authors! You have been warned!

1) Make a QSpy directory on any drive on your system

2) Unzip the QSpy zip file into this directory

3) QW.EXE is the program run this or create a shortcut

Command Line Options

QSpy/QWFE normally starts up in whichever mode you were in when you closed it. You can start QSpy/QWFE with command line options of /QSPY or /QWFE this will start the program in the required mode overriding the default. You can create two shortcuts one with each switch if you wish.

This release has been tested and (to the best of our knowledge) will only work with Windows  95.

Quake Spy makes use of MFC42.DLL and MSVCRT.DLL.  If you downloaded the stand alone version of Quake Spy and you do not have these files in your Windows System folder, then you should get MFCINST.ZIP from the same place you got this file.

If it's not included, check these sources:

http://www.quakehole.com

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

If you still can't get it, then you're SOL!  Just kidding...you can request a copy from us, and we'll be glad to mail it to you (only do this as a last resort though).

Troubleshooting

SIGSEGV errors

Try the Quake SIGSEGV web page at http://www.geocities.com/SiliconValley/Park/3738/qsegv.html

Problem: When Quake starts I can turn but I cannot fire or move.

Solution: You are suffering from LAG this is nothing to do with Quake or QSpy but is the fault of a poor internet connection between your machine and the Quake server. There is no simple solution (except maybe get a T1!) Try again later, get a new service provider, stop transferring those 2Mb files while playing! All Quake players suffer from lag (except LPBs). For more info on LAG it's causes and cures see  http://www.atw.fullfeed.com/~jkrutke/lagcity.htm

Problem: Some users experience a problem on the find player dialog. QSpy tells them that it's found players, but the list doesn't appear to be populated. If you don't have the most recent COMCTL32.DLL file, then the player search won't work. This is only required if you have this problem.

Solution: Download this file, and unzip it into your \windows\system\ directory.  http://www.panix.com/~sheaslip/quake/files/comctl32.zip

Problem: It seems that whenever I try to do anything related to the server list, it crashes with a nasty error, saying it couldn't open icmp.dll, although it's in \windows\system.I'm not using Microsofts' TCP/IP stack.

Solution: Not all winsocks support the ICMP.DLL that we depend on to do our pings. You'll have to configure QSpy to use the UDP query method (on the Query/Ping property page) to do your timings or use the winsock built into Windows 95.

Problem: Every time I select a server and Qspy attempts to run QUAKE there is an error "ERROR 267 Failed to start QUAKE"

Solution: Your setting in View/Options/Quake are set incorrectly

1.Quake command line	should contain only the batch file name   e.g. q95.bat (no drive/path specifier).

2.Quake working directory,	should start with a drive/path specifier (e.g., "e:\games\quake").

Problem: When QSpy is about to connect me, I see the message "exiting qspy.cfg..." Then I get dumped back into Windows with a z'malloc error.

Solution: Quake only has a limited amount of space for storing aliases, and key bindings. You have apparently pushed it over the edge. Try removing some of them and see what happens.

Only for experts - If you have an autoexec.cfg that sets ALL the bindings, aliases and settings you use in the game you may be able to delete/rename your config.cfg as the first line in your q95.bat (Quake recreates this file when you exit the game) This will save a few precious bytes. Removing remarks from your .cfg files can sometimes help.

Problem: My ISP uses a proxy server. I cannot use the normal ports for finger etc.

Solution: There isn't one - Except get a connection from an ISP that dosen't use a proxy server - sorry.


Add/Del Server list
Add/Delete Server list

To add a new server click the Add button and enter the web or finger

address: e.g.

Web site	http://servername/page

Finger  	user@host.domain.stuff

File	file://drive:\directory\filename.ext

To delete a server highlight the server and click the Delete button.


Custom Server Lists

In addition to the preset server lists you may specify server lists of your own.

Only those server lists which are checked will be used to update the current server list.


Preset Server Lists

QSpy has pointers to two finger server lists and a web server list built in to get you started.

Check the boxes next to the names to gather lists from these servers.


Servers rtng query
Only display servers that return the Quake query

request (i.e., they are up and answering queries).


Ping Less Than
Display servers whose average response time is less than the specified time. (in ms)


Timeouts less than
Display only servers whose query requests timed out less than the specified amount.


map names
Display only servers whose map name starts with the specified

characters (e.g., 'dm' for servers only playing deathmatch levels).


excl full servers
Display only servers that are not full of players.


players less than
Display only servers who have more than the specified number of players connected to them


players more than
Display servers who have less than the specified number of players connected to them.


excl_map names
Display servers who map name does not start with the

specified characters

(e.g., 'e1' to filter out servers running the shareware levels).


filter after refresh
Apply filters after a refresh or only on server list update.


working folder
The directory where Quake is located on your system.

You must use a full drive/path specifier here

(e.g., "H:\GAMES\QUAKE").

Don't do this under NT unless you have a

native NT port of Quake.  Quake won't like it.)


command line
What command line options to pass to Quake when you launch it.  You must not include a drive/path specifier here.  That is, don't do this "E:\GAMES\QUAKE\Q95.BAT".  Just use "Q95.BAT" instead.


connect on Qstart
Automatically connect to the selected server on

Quake startup. If this is unchecked you will have

to use the QLIST alias to connect to a server.


include qlist
Allow an automatic disconnect and display

a top ## list of servers while in Quake


bind key
Which character to bind the auto-disconnect to (be sure this character is lower case).

Something to be aware of:  If you do this and later decide you don't want this binding, you'll have to go and remove the bind command from the config.cfg file in the id1 directory.  Quake v1.06 supposedly fixes this.


Qty qlist servers
Specify how many servers will be displayed when using the qlist alias.


query_multi
Specify whether you want to use multithreaded queries for the Quake Spy server update process.

Quake Spy used to do pings/queries one server at a time.  This routine has been revised to use multiple threads if you so desire.  That is, Quake Spy will simultaneously query multiple servers thereby speeding up the query process immensely!

KNOWN PROBLEM:  When using multithreading, the ping times reported are somewhat inflated.


multi query qty
If you choose multi threading, how many threads you want this process to use.  We've tested this process with up to 40 threads.  Max threads has been set to 64.  If you want to try more, speak up.


query timeout
How long to wait for a response from the query for info before the request times out.  If you are getting a lot of servers that don't return any info, try increasing this parameter.


ping method
The method that QSpy uses to time its responses from the various servers. There are two options here:

Network ping 	 this will give you a good indication of how well connected you are to a particular server. If using this option, you can select how many times you want to ping the server and how long to wait before giving up and timing out.

UDP query	this will give you a good indication of how playable the game will be.

UDP response times will always be higher than network ping times because with UDP queries, the server actually has to respond to the request whereas with a network ping, the server's TCP/IP stack is what actually responds.


ping qty
Number of times to ping each server.The time displayed

in the main window is an average of these ping times.


ping timeout
Time (in ms) to wait for a ping before timing out


ping on refresh
Whether or not you want to ping the server again during a refresh.


auto neverping
Whether to use the "automatic never ping" features.  If a server fails filters a definable amount of times in a row and after a definable amount of days, that server will automatically be thrown to the Never Ping list.

Say you set it for 3 times and 3 days.  First, Quake Spy will wait until the server has not passed  filters in three days.  Then it looks at how many times in a row it has failed those filters.  If it has failed 3 or more times in a row, it is put into the Never Ping list.  Otherwise, it is left alone until the next refresh.


query on filter fail
Whether to query a server for player information even if the server fails the filter check.


FP_Search String
Enter the name you want to search for.


FP re-receive
If checked QSpy will requery servers when

attempting to locate a player.


FP search method
Specify the search method you want to use.

Substring Search	- 	Finds any occurrence of the search sting within the players name.

Whole Sting Only	-	Exact matching - no exceptions.

Beginning of Names	-	Matches starting from the beginning of the players name.


FP server selection
Specifies if you want to search servers you

have selected or the entire visible list


FP requery no response
If checked will re-query servers marked no response


FP located players
This area displays player names matching the search

criteria - see User Interface for layout details.


FP find now
Once you have specified the search criteria click here to begin the search process.


QuakeWorld
QuakeWorld Front End

To use QuakeSpy as the QuakeWorld Front End select the QuakeWorld option on the View menu (You must have QuakeWorld installed in your Quake directory to use this!)

If this is the first time you have run the QuakeWorld Front End you will need to create a new account. Click here to find out how.

When in QuakeWorld mode the program functions in much the same way as usual. With the following differences:

Login Dialogue

When you start QuakeWorld you will be presented with this login window.

Click on the fields for explanations

QuakeWorld Menu

There are three additional options under the QuakeWorld menu tab:

1)	Login Brings up the above window - allows you to login as a different player.

2) 	User Information This window allows you to change your QuakeWorld player settings.

As usual click on an item for more information

3)	Player Query Allows you to view the information stored on the master server about another player This works exactly the same way as the player settings screen. You can't change anything except the User Number though!

There's also an additional QW options tab under View/Options and three extra columns on the player list - skin, ping and User ID


FAQ
Frequently Asked Questions

For installation tips & troubleshooting click here

Q) 	Will there be a DOS/Win 3.1/Win32s version of QSpy?

A)	 No.

Q) 	Will there be a Mac version of QSpy?

A) 	Maybe.

Q) 	What is a ping?

A) 	Ping issues an ICMP packet to the destination node. The destination node's IP stack (daemon) will respond to you. The ping measures whether the path is reliable (i.e. timeouts) and how far away the node is from you. A very high average ping (700 ms) is probably not playable with Quake. You should look for 400ms or less. Ping does NOT measure server load.

Q) 	What's the difference between Ping and UDP query? And why are my UDP times always worse than my pings times?

A) 	The UDP queries in QSpy will give you an indication of server load because the UDP packets sent to the server are responded to by the Quake server. The packet transmissions are timed and lost packets are counted. Therefore, the UDP query times will always be higher than the pings.

Q) 	Should I not use my computer, especially other 'net apps while QSpy is pinging the servers?

A) 	It may influence your ping times because QSpy will not get the CPU as often. The pings may not be as influenced as much as the other queries will take longer. The times of the UDP queries will definitely be affected. You definitely should not issue a ping from the command line while QSpy is pinging.

Q) 	Why doesn't QSpy tell me which Quake C Mods are running on a server?

A) 	This is not possible with the current version of Quake. But we are working on implementing a system that will allow future versions of QSpy and other programs to get this information, as long as the server operators list it.

Q)	Why dosen't QSpy report player ping times or IP addresses?

A)	Ping times arn't reported by the Quake protocol so we can't display them (QuakeWorld does!). IP addresses are not displayed because they may be open to abuse by flood pinging thus denying Quake access to a player. Which leads us to ...

Q)	What is 'Flood Pinging'?

A)	When someone pings your machine and your PC responds this takes bandwidth if your machine is constantly pinged the amount of bandwidth left for playing Quake is diminished, sometimes to the point where you can't play because all the machines time is taken up responding to pings. (Don't do this at home guys&gals!)


Edit Menu

Description:	Copy To Clipboard

Location:	Edit - Copy

Hotkey:	Ctrl+C

Use:	You can copy the selected items (or the entire list if no servers are selected) from the server list to the clipboard for further user processing.

Description:	Add Server

Location:	Edit - Add

Hotkey:	Insert Key

Use:	You can add your own server to the list that Quake Spy will track.  Just enter the IP address and port of the server you want to add.

Description:	Delete Server

Location:	Edit - Delete

Hotkey:	Del Key

Use:	Highlight the servers you no longer wish Quake Spy to use and click this button.  They're now history.

Description:	Find Server

Location:	Edit - Find Server

Hotkey:	Ctrl+F

Use:	Searches the current list of servers for the server you specify.  You are able to search on server name, IP address or map name.

Description:	Find Again

Location:	Edit - Find Again

Hotkey:	F3

Use:	Finds the next server that matches the last specified search criteria.

File - Server - View - Help


File Menu

Description:	Open List

Location:	File - Open List

Hotkey:	Ctrl+O

Use:	QSpy will load information in a file named QSpy.dat in your Quake directory.

Description:	Save List

Location:	File - Save List

Hotkey:	Ctrl+S

Use:	QSpy will save information in a file named QSpy.dat in your Quake directory.

Description:	Print

Location:	File - Print

Hotkey:	Ctrl+P

Use:	You can select any number of servers to print their information (or the entire list if no servers are selected)  server list to your printer.

Edit - Server - View - Help


Server Menu

Description:	Add to Favorites

Location:	Server - Add to Favorites

Hotkey:	Ctrl-I

Use:	Adds the highlighted server(s) to the Favorites list.

Description:	Add to Never Ping

Location:	Server - Add to Never Ping

Hotkey:	Ctrl-N

Use:	Adds the highlighted server(s) to the Never Ping list.

Description:	Launch Quake!

Location:	Server - Launch Quake!

Hotkey:	Enter

Use:	Quake Spy will launch Quake for you if you double click on a server in the listbox or click the Launch Quake button/menu item.

Description:	Update Server List

Location:	Server - Update Server List

Hotkey:	Ctrl+U

Use:	Gets a list of active Quake servers from the server sites you select on the View/Options/Server Source page:

Description:	Busy Server Redial

Location:	Server - Busy Server Redial

Hotkey:	Ctrl+B

Use:	If all of your favorite servers are full, you can highlight them and then kick off the Busy-Redial. Quake Spy will continuously poll these servers until it finds one that is no longer full of players.  It will then either notify you of this fact or will go ahead and launch Quake!

Dependencies:	In the View - Options - Quake Spy tab, there are a pair of radio buttons to let the user determine whether quake will automatically launch or just alert the user when a spot becomes open on one of the selected server(s).

Description:	Find Player

Location:	Server - Find Player

Hotkey:	Ctrl+Q

Use:	After Quake Spy has completed it's initial server update, all the players are stored in memory.  You can now search this player list using the Player Query command on the server menu.

Description:	Refresh Selected

Location:	Server - Refresh Selected

Hotkey:	Ctrl+R

Use:	Will refresh the server information of selected servers.  This command will reping and requery player/rule data for the selected servers and display the updated results.  This is single threaded (multithreaded in the future).

Description:	Refresh All

Location:	Server - Refresh All

Hotkey:	Ctrl+L

Use:	Refreshes the server information of every server Quake Spy knows about (with the exception of the servers on the Never Ping list).  This is multithreaded.

Description:	Statistics

Location:	Server - Statistics

Hotkey:	F5

Use:	Displays Total servers, Servers with no players, Total Players, Players per server

Description:	Stop

Location:	Server - Stop

Hotkey:	Esc

Use:	Stops the current action.

File - Edit - View - Help


View Menu

Descriptions:	All Servers, Passed Filters, Filtered Out, Favorites, Never Ping

Location:	First five items on View menu

Shortcut:	Tabs above the server list

Use:	These function the same as the tabs of the same name above the server list.  Respectively, they will show you every server in your list, every server that has passed filter criteria, every server that didn't pass filters, your "Favorite" servers, and the servers you have told it to never ping.

Description:	Sort servers by

Location:	View-Sort servers by

Shortcut:	Column headers in the server list

Use:	Sorts the server list by one of six criteria: Name, Ping, Time-outs, IP Address, Map, and the amount of players.  The currently selected one is marked by a dot.

Description:	Sort players by

Location:	View-Sort players by

Shortcut:	Column headers in the player list

Use:	Sorts the player list by one of four criteria: Team (pants color), Name, Frags, and Connect Time. The currently selected one is marked by a dot.

Description:	Show/Hide bottom panes

Location:	View-Show/Hide bottom panes

Hotkey:	None

Use:	Either shows or hides the player and rules list.  The menu item name will change to reflect the status of the panes (if the panes are hidden, it will say "Show bottom panes".  Also, if the bottom panes are hidden, the "Hide rules" menu item is disabled.

Description:	Show/Hide rules

Location:	View-Show/Hide rules

Hotkey:	None

Use:	Either shows or hides the rules list.  The menu item name will change to reflect the status of the list (if the list is hidden, it will say "Show rules").  Also, if the bottom panes are hidden, the "Hide rules" menu item is disabled.

Description:	Options

Location:	View-Options...

Hotkey:	None

Use:	Allows you to configure Quake Spy (see Options below).

File - Edit - Server - Help


Help Menu

Search for help on ... takes you to this help files index - comments suggestions welcomed!

The Quake Spy About Box is where we give credit where credit is due!

The Quake Spy Home Page item will launch your WWW browser and connect you to the Quake Spy Home Page.

We also give a few links to some other sites of interest to the Quake community.

File - Edit - Server - View


User ID
To create a new QuakeWorld account enter your

player name here. If you already have an account

enter your ID number.


Password
Enter your password here.If you are creating a new

account this will be your new accounts password.


Master Server
This is the IP address and port of the master server.

If you don't know what this is don't change it!


Create a new QuakeWorld account
Creating a New QuakeWorld Account

Five simple steps are required to create and use a QuakeWorld account

1)	 Unlike QSpy the QW front end requires you to be connected to the'net to start. (if you are not connected Win95 will attempt to start your default Winsock TCP/IP connection).

2) 	When you start QuakeWorld front end you will be presented with a login window. Enter your chosen user name.

3)	Enter a password into the password field in login window. WRITE YOUR PASSWORD DOWN!

4)	Click the login Button - you will then be connected to the master server and your account will be created.

5)	If your account is created successfully you'll see the following window (with a different number!).

 	WRITE YOUR USER ID DOWN! You will need both your user number and password to gain access to the master server in future. (QWFE remembers your ID after you've entered it once and will auto login if you set the options in QW options).

6)	There is no number six! you're done! You can now use QW front end in the same way you've used QSpy. You might want to set the QW options that QSpy uses when in Quakeworld mode.

When you next log in use your User ID and password - NOT your user name!

If you've not used QSpy before see User Interface for more information.


QW Frags
Cumulative frag count stored on the master server you are connected to.

Kills against you subtract from your frag count (Take note SuicideBoy!)


QW UI User Name
Your user name can be changed at any time -

it is your user number which identifies you to the server.


QW UI Password
This is the password you specified when you created your account.

You may change your password by typing the new password here.


QW UI Skin
The name of your 'skin' file. You may select from any

of the skins in your Quake  QW/SKINS directory


QW UI Shirt
You can change your Shirt color with the up/down arrows

Note: only some skins reflect these changes.


QW UI Pants
Allows you to change the color of your pants

Note: Only some skins reflect these changes but the

teamplay option is still honored if set.


QW UI Set Info Button
Clicking this button accepts any changes you have made

to your player settings and sends them to the master server.


QW UI Cancel
Cancels any changes you have made

& closes the player info window.

NOTE: If you've sent your settings to the

master server with the Set Info button

cancel WILL NOT cancel the changes!


QW UI Skin Display
This graphic shows how you will appear

to other players while playing.

Colors of shirt & pants are not displayed.


QW UI User Number
Your user number uniquely identifies you to the master server you

must know this number in order to log into a QW master server.


QW PQ User Number
Enter the players user number and click the Player Query button.

You will then see the players current settings and frags etc.


QW Options
Options: QuakeWorld

Just click on an item to get an explanation

Click the tabs for help on other options.


Sort Orders
Change Sort Order

To change the sort order of the list

just click on a column header.

This works with player lists too!


QW Remember Pass
If you want QWFE to remember your QuakeWorld

password next time you login check this box.


QW Auto login
Check this box if you want QWFE to automatically

login to the master server when you start QWFE

NOTE: you must have remember password

           checked for this to work.


QW Paint Skin
QWFE can paint shirt & pants colors on the

active skin to activate this check this box


QW command line
Enter the Quakeword startup command here

NOTE:	Only enter the filename - the folder is selected

from the folder specified in the Options/Quake/Quake

working folder field.


QW Master servers list
Allows you to specify different master servers

which are selectable from the master server

drop-down in the login window.


Server Rules Info

These are the most common ( but by no means all!) the server

environment settings seen in the rules window along with a brief description.

Rule	Description	Default Value
fraglimit	level automatically ends when a players' frags reach this value 0=off	0
timelimit	level automatically ends when the level has been running for the number of minutes specified. 0=off	0
teamplay	If set to 1 players with the same color pants cannot injure each other with 'friendly fire' although armour is still affected	0
noexit	Prevents anyone exiting the level in the usual way when set to 1 - must have time or fraglimit set to make this usable.	0
sv_friction	Controls 'slipperyness' of floor/slopes. Lower values are more slippery..	4
sv_maxspeed	Sets maximum speed a player may move (not turn)	320
sv_gravity	Adjusts gravity lower values = less gravity (Ziggurat Vertigo is an example of a low gravity level)	800

For a description of other settings and lots more see Tony Goldstones'

Unofficial Quake FAQ avilable at http://easyweb.easynet.co.uk/~inferno/index.htm


QW UI Player Keys
Player keys can be anything you want.

The data is stored on the master server

with your other settings.


QW UI Last Seen
This displays the server & level where you last played