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:
-
123.45.67.89
-
123.45.67.89:27910
-
dns.name.com
-
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:
-
%i : Server address
-
%s : Server name
-
%b : Buddy name (name as you've configured)
-
%p : Player name (buddy's full player name on the server)
-
%m : Current map
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
-
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.
Q. Do I have to pay for TraySpy?
A. No, it is free. Source code is available for download
also.
Q. Who wrote it?
A. Mike Gleason of NcFTP Software.
Q. Is their official support for it?
A. No.
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.
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.
Q.What platforms does it run on?
A.Windows NT 4.0, Windows 95, and Windows 98.
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.
Please do not send mail to
hunnypot@ncftpd.com .
You will be permanently black-listed if you send mail to that address.