TraySpy

TraySpy is a free Quake2 server monitoring and administration program.  It was originally designed for use by server administrators to provide an unobtrusive way to keep track of how many users are currently using the server, but it is also suitable for use by players to watch their favorite server and trigger events, if needed.  In addition, TraySpy has some cool server administration features that let an admin control the server from a remote location with a friendly interface.

Introduction

TraySpy is intended to complement, but not replace, a program like GameSpy.  (Note:  TraySpy and GameSpy are not by the same people!)  GameSpy is incredibly useful for getting a snapshot of many servers for a particular time, while TraySpy polls a single server continuously.  TraySpy probably would not have been written if GameSpy had a way to periodically refresh your favorites and let you know when your buddies had just signed on.

TraySpy lives in the system tray and uses as its tray icon the current number of players.  For example, if the server had 7 active players, you might see something like this in your system tray:

Even better is when TraySpy detects that someone from your Buddy List is playing, in which case the tray icon changes the number to red so it stands out: Even better still, TraySpy can be configured to react when a buddy joins the server, so you can have TraySpy play a sound file or run a program specific to that player.

Although TraySpy automatically minimizes itself to the system tray, the main TraySpy window can be activated to provide detailed information by double-clicking the tray icon, or selecting Show from the tray icon's context menu.  Here's what you see when you right-click the tray icon and bring up the context menu:
 

Then if you selected the Show menu item, the game status window would pop up:

Installation

Run the Setup.exe that you downloaded.  Technically, all that you need is the trayspy.exe installed, but I have included an InstallShield so there is an easy and reliable way to completely uninstall the program and it's registry keys from your system.  Unfortunately the InstallShield setup makes the archive huge in comparison to the relatively small trayspy.exe file it installs.
 

Configuration

After launching TraySpy, right click the tray icon's context menu and select the "Configure..." menu item.  Here's an example of what you might enter in the configuration dialog box: The first field, and most important, is the address Quake2 of the server you want to monitor.  The value for this field can be one of the following formats:
  1. 123.45.67.89
  2. 123.45.67.89:27910
  3. dns.name.com
  4. dns.name.com:27910
The first two are raw IP addresses, while the last two are the Domain Name Service names.  The :27910 syntax denotes that you can specify a different port number by putting a colon and then the port number following the server name.  The number "27910" is the default Quake2 port.  Some sites run more than one server at a time, and often the next server's port number is 27911, etc.

The Refresh Interval field lets you fine-tune how often TraySpy polls the server, in seconds.  You can set this as low as 5 seconds, but to keep your CPU utilization (and the remote server's) to a minimum, consider leaving it at the default of 30 seconds.

The Remote Console Password field can be used to activate TraySpy's remote server administration tools.  To use this, you will of course need to be the administrator of the server in question, in which case you'll know the password.  This topic is discussed more below.

The Buddy List lets you tell TraySpy who a few of your buddies are.  For each buddy, fill in the name or a portion of the name (TraySpy will consider it a match if the string you enter for the name is a substring of a player name).

If you like, you can have TraySpy play a sound when a buddy first joins the game; to do that, enter in the pathname of the sound file, or you can browse for the filename by clicking the "Play Sound..." button.

TraySpy can also run a program in a similar fashion for the buddy.  In addition, you can use some %cookies in the command line string.  For example, the snapshot above shows that TraySpy was configured to run "C:\quake2\quake2.exe +connect %i" for a buddy.  TraySpy would expand the %i to the address of the server before running the command line.  This particular example tries to launch Quake2 the instant that buddy is detected, which in reality is not that useful, but illustrates the purpose.  The cookie list is:

Note that you are not required to play a sound or run a program.  If you leave those fields blank, TraySpy will still change the tray icon to red when a buddy is playing, and the game status window will print the player's name in red.
 

Remote Administration

If (and only if) you specify a Remote Console Password at the configuration dialog, TraySpy will try to send "rcon" commands to the quake server.  The easiest way to use this feature is to simply use TraySpy's built-in support for a few often-used rcon commands it knows about.  You can do this by right clicking in the game status window to bring up context menus.  Depending on what item you click, you'll see something like the following.  This first screen shows an example menu when you right-click the Map:
This screen shows when right-clicking the server:
This screen shows the per-player options:
If you need to do something that the built-in commands don't cover, you can bring up the Rconsole window and type the commands you want just like you would at the Quake2 console.  (A Quake2 console command reference may be helpful to see what you can and cannot do.)  To active the Rconsole, select the "Rconsole..." menu item from the tray icon context menu.  Here's an example session:
Unfortunately, the Rconsole is unable to get the log messages that get sent to the regular console.  So you won't see chat between players, or lines like "Playercurepain almost dodged Skyin's rocket.".

Change Log

August 1, 1998 - Initial release.
 

Download

Where I come from, a piece of code that didn't take longer than a month to do should be freeware, and not milk-the-public-ware.  In addition, you should get source code so you can see how it works if you're so inclined.  Therefore, in that grand UNIX tradition, since TraySpy is really a weekend hack, you can download and use TraySpy for free and download the source code if you want to.

Most people will not want to download the source code, but for those that do, please be aware that the source code is still protected by copyright, so don't steal the code and pretend you wrote it. You are allowed to modify it for personal use, but you can't post modified versions or include portions of the source code in other programs without my consent.

Frequently Asked Questions

  1. Q. How do I get TraySpy to poll more than one server?

    A. TraySpy was designed to allow multiple instances to run at the same time, so just run the trayspy.exe again (and again...) to get additional configuration sets.  Each instance has its own server and buddy configuration.

  2. Q. Do I have to pay for TraySpy?

    A. No, it is free.  Source code is available for download also.

  3. Q. Who wrote it?

    A. Mike Gleason of NcFTP Software.

  4. Q. Is their official support for it?

    A. No.

  5. Q. I'm running multiple TraySpys, but how can I tell which one is which on the system tray?

    A. Linger your mouse pointer over the tray icon, which brings up the tooltip that tells you the server status.

  6. Q. How can I get more than four buddies per server?

    A. Really the limitation here is of the configuration dialog and I didn't want to put a lot of time into a complicated dialog.  So while the configuration dialog limits you to 4, technically TraySpy supports up to 20 buddies.  To do this, you'd have to add registry values to HKEY_CURRENT_USER\Software\TraySpy\TraySpy00 if you're so inclined.  Of course, whenever you mess around with the registry you risk hopelessly corrupting your system (I've done it, so yes, that really can happen!), so don't do that unless you're hellbent on putting all your pals in there and you know the possible consequences.  However, if you're in a clan, you can just use your clan designation as the buddy name and that would match all the clan members.

  7. Q.What platforms does it run on?

    A.Windows NT 4.0, Windows 95, and Windows 98.

  8. Q.Why aren't I seeing the context menus in the game status window?

    A.They don't activate unless you have specified a Remote Console Password in the configuration dialog.



Back to NcFTP Software's WinStuff

Please do not send mail to hunnypot@ncftpd.com . You will be permanently black-listed if you send mail to that address.