GameSpy LAN Master 1.0 (7/31/99)
http://www.lanparty.com/lanmaster
---------------------------------
by David Wright (wrightd@gamespy.com)
Please read the Software License Agreement in license.txt

What is the LAN Master?
-----------------------
The GameSpy LAN Master server is a master designed to be used at LAN parties
or other events to provide server lists to the local users. 

It operates in two modes:

1. It scans for servers on the default server port for each game
it supports (similar to how the browse-for-lan game feature works
in most games). All local servers running on the default port will
automatically be added to the list.

2. It accepts heartbeats from game servers that are configured with
it as their master server. These servers are also automatically added
to the list.

Local users with GameSpy 2.08 or higher can then add a SmartSpy Master
for each game, configured with the IP and ports of your LAN Master.
See the section below for details.


What games does the LAN Master support?
---------------------------------------
The LAN Master current supports:
QuakeWorld (port 27000)
Quake 2 (port 27900)
Quake 3 Test (port 27950)
Half-Life (port 27010)
Kingpin (port 27990)
Tribes (port 28000)

Other new games may be added in the future, but older games
(like Sin, Unreal, and Shogo) will most likely not.

How do I use the LAN Master?
----------------------------
Start the lanmaster.exe on the machine you will be using as the
master server. The LAN Master does not require any significant memory
or CPU, and can easily be run on the same machine as some of your game
servers.

Each server you run on your LAN needs to be configured to report
to the LAN master. Each game has a different way to set the master,
skip to the end of the file for instructions for each game.

After the servers have been set to report to the master, you need
to have each user configure their GameSpy client to add the LAN Master
according to the instructions below (pass them out to attendees).

If the LAN Master goes down while the event is in progress, just restart
it. Servers should all show back up on the lists within a few minutes.


How do I set up GameSpy 2.x to get lists from the LAN Master?
-------------------------------------------------------------
For each game supported by the LAN Master, you need to add
a SmartSpy List for that game. Right-click the game name on
the left panel and select "Add SmartSpy List".

The SmartSpy Server Properties window will ask you for:
Name: <Your event name, e.g. Beatdown Master>
Address: <LAN Master IP Address> 
Port: <Master port for this game, see the list above>

You can find the IP Address in the title bar of the LAN Master window.
Registered GameSpy users will be asked for additional options, 
do not set any of these.

For example, to add the LAN Master for Quake 2, right-click Quake 2
and select "Add SmartSpy List...". Fill in the Name as "my event",
the Address as the address of your master server (e.g. 192.168.0.1) and
the port as 27900 (from the list above). Hit OK, then Update the list
and you're ready to go.


Will the LAN Master work on the Internet?
-----------------------------------------
No, the LAN Master does not have do any flood or validation
checking and would not be useful as a general Internet master.
Also, the master has been configured to only return servers in
the class A subnet of the requesting client.


Configuring QuakeWorld to report to the LAN Master
--------------------------------------------------
Add +setmaster x.x.x.x to the server command line
or
setmaster x.x.x.x to the server config file
(where x.x.x.x is your LAN Master IP Address)

e.g. qwsv.exe -port 2001 +hostname "QuakeWorld_DM" +deathmatch 3 +setmaster 10.0.0.1 +map dm2


Configuring Quake2 to report to the LAN Master
----------------------------------------------
Same as QuakeWorld (see above).
Note however that Quake 2 will not send the first heartbeat to the master
for several minutes unless you type "heartbeat" at the server console after
it starts.


Configuring Quake 3 Test to report to the LAN Master
----------------------------------------------------
Add +set sv_master1 x.x.x.x to the server command line
or
set sv_master1 x.x.x.x to the server config file
(where x.x.x.x is your LAN Master IP Address)

Also, be sure to start the server with +set dedicated 2 to enable heartbeats.

e.g. quake3.exe +set dedicated 2 +set net_port 2002 +sv_hostname "Q3Test1" +set sv_master1 10.0.0.1 +map q3test1


Configuring KingPin to report to the LAN Master
-----------------------------------------------
Add +setmaster x.x.x.x:27990 to the server command line
or
setmaster x.x.x.x:27990 to the server config file
(where x.x.x.x is your LAN Master IP Address)
Note that you must specify the master port (since the default is the same
as Quake 2).
Also, if you don't have DNS available at your site, KingPin may not initialize
the master code correctly (which means you are SOL).


Configuring Tribes to report to the LAN Master
----------------------------------------------
Change or add the following lines in your server config file:
$Server::XLMaster1 = "IP:x.x.x.x:28000";
$Server::XLMasterN0 = "IP:x.x.x.x:28000";
(where x.x.x.x is your LAN Master IP Address)

Tribes servers seem to sometimes take a few minutes to report
to the master.

Configuring Half-Life to report to the LAN Master
-------------------------------------------------
Add +setmaster add x.x.x.x to the command line
or
setmaster add x.x.x.x to the server config file

Half-Life does not seem to send heartbeats to the master
until the map is changed once (which has to be done by
hand normally). Also, the following work-around
config file seems to work:
--------CUT HERE---------
// DO NOT name this file server.cfg, name it something else
sv_lan 0
setmaster add 10.0.0.1
map crossfire
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
wait
map crossfire
--------CUT HERE---------
.. then run the dedicated server with:

hlds.exe -port 2001 +hostname "CrossDM" +deathmatch 1 +exec myconfig.cfg
