Advanced Servers
External Server Registration
Why Advanced Servers?
Races with more racers in them are more fun. To host lots
of racers, we need hosts with fast connections, especially ultra-fast
connections such as cable, xDSL, and T1.
To help make more high-quality hosts available, GPL 1.1 introduced
the concepts of Remotely Controlled and
Dedicated servers. JavaVROC 2 and WinVROC
2 support these server types and introduced two additional advanced
hosting concepts, the External server
and External Server Registration. The
current versions of GPL (v1.2),
JavaVROC 2, and WinVROC 2 support the operation of any number
of any of these types of servers behind a gateway
or firewall.
All of these advanced hosting capabilities facilitate running
GPL hosts on high speed connections which might not otherwise
be readily usable for hosting. Also, older and slower computers
can host many players quite well when no player is actually racing
on that machine. This significantly expands the population of
potential high-quality servers.
For example, let's say you've got a machine at your office
that's connected to the Internet through a T1 line. Even if it's
a relatively slow machine (e.g. a P-166) you can set it up to
run GPL before you leave for the evening or the weekend, and
either control it from home or have it loop through a script
of races all night or all weekend. You can even allow other people
to control it if you wish.
Now people from all over the world can race on your server
all night or all weekend. Imagine what will happen if a dozen
or two kindly people do this. A whole slew of excellent servers
will available almost any time!
We encourage anyone with access to a fast connection to consider
setting up a Dedicated or Remotely
Controlled server whenever possible. If you've got a really
fast connection, consider setting up two or
more!
Dedicated Server vs. Remote Control
GPL allows the host to set up a GPL server which cycles (optionally
endlessly) through a script of races. This is known as a dedicated sever.
GPL allows the host to enable remote control
of any normal (i.e. non-dedicated server) through the use of
new fields in the password entered by the host on GPL's multiplayer
screen.
These two modes are mutually exclusive; GPL does not allow
remote control of a dedicated server.
Reduced Host CPU Requirements
Dedicated servers have a feature which allows using older
computers for hosting. A GPL dedicated server does not display
any race graphics (the replay window remains filled with snow)
and it does not generate any sound. Also, no host player physics
are initiated. This permits slow computers to host large races;
given a high speed connection to the Internet, we have found
that a P-200 can host a full field of 19 players with excellent
results. Machines as slow as P-133 can also serve adequately
If you operate a remotely controlled server, you can reduce
its CPU requirements to minimum by turning off all graphics options
and selecting the minimum number of sounds. As long as the host
player doesn't enter the track, no host player physics will be
initiated. We have found a P-233 to be quite sufficient for hosting
full fields on a remotely controlled server, and it's possible
a slower machine will also serve adequately.
Remotely Controlled Servers
GPL allows the host to enable remote control of any normal
(i.e. non-dedicated server) through the use of a new field in
the password entered by the host on GPL's multiplayer screen.
Two modes are available: remote control by use of a Boss password,
and remote control by anyone with a specified name. These modes
are not mutually exclusive.
For example, to allow anyone who knows the boss password "hogg"
to remotely control a server, enter this in the password field:
/hogg
To allow anyone who is named "Mary Racerhead" to
remotely control a server, enter this in the password field:
=m.racerhead
To allow Mary and anyone who knows the boss password
"hogg" to remotely control a server, enter this in
the password field:
/hogg=m.racerhead
Although remote control is restricted, anyone can enter any
of the races above. To also restrict this race to people who
know the password "snookums", enter this in the password
field:
snookums/hogg=m.racerhead
See GPL 1.1's readme for more information about remote control
of GPL servers.
Setting Up a Dedicated Server
Note: WinVROC
offers a GUI interface that eliminates the need to create the
server.ini file described here.
When running as a dedicated server, GPL loops through a set
of races as defined in server.ini. This file would be
placed in the main GPL folder, typically C:\SIERRA\gpl.
In the following example, GPL would cycle through short races
at Monza, Zandvoort, Spa, and Watkins Glen.
[ ip0 ]
addr = 209.198.95.20 ; Informational only!
auto_launch = 0 ; Bypasses the multiplayer screen when
; launching; useful for Dedicated
; servers.
max_players = 19 ; Max players allowed
[ race0 ]
ai = 5 ; Number of AI
practice = 5 ; Number of minutes of practice
race_type = 0 ; 0=Nov,1/2=int s/l,3/4=pro s/l,5=GP
track = monza
[ race1 ]
practice = 5 ; Number of minutes of practice
race_type = 0 ; 0=Nov,1/2=int s/l,3/4=pro s/l,5=GP
track = zandvort
[ race2 ]
practice = 10
race_type = 3
track = spa
[ race3 ]
practice = 5
race_type = 1
track = watglen
Once you have created a server.ini, check the Dedicated checkbox
on the VROC applet. When you host, the sim will go into Dedicated
Server mode. It will cycle endlessly through the series of races
declared in server.ini. Now you can have dinner, go to work,
go to bed, or whatever, and racers all over the word will race
on your computer!
When you want to reclaim your computer, hold down the Left
Shift key while clicking on GPL's red button and again when clicking
on OK on the popup.
Please try to wait to do this when there's no one in the middle
of a torrid battle! If you can, give the people racing on your
server a warning a few minutes in advance of shutting it down.
Type into the chat something to the effect of "I'm reclaiming
my computer at the end of this race".
See GPL 1.1's readme and sample ini files for more information
about dedicated servers.
External Servers
VROC 1.0 polled all GPL servers at intervals to request race
status. GPL 1.0 responded with a string of data which VROC then
placed in its database.
VROC 2.0, on the other hand, does no polling. Instead, it
expects GPL 1.2 to spontaneously send it race status messages
at regular intervals without any intervention from VROC. In other
words, VROC 1.0 used a "Pull" architecture, while VROC
2.0 uses a "Push" architecture.
This gives rise to an interesting possibility. You can make
races you host in GPL 1.2 appear in the VROC 2.0 race list even
if you don't launch GPL through VROC or WinVROC.
When you host a race through JavaVROC or WinVROC, WinVROC
or the JavaVROC applet issues command line parameters to GPL
that force it to send its race status to the VROC server at regular
intervals, so you don't need to worry about this.
However, if you wish to host outside of VROC, but would like
JavaVROC and WinVROC to display your race, you can insert a few
lines in your core.ini which will force GPL to broadcast its
race status information to the VROC server. Simply insert the
following lines in your core.ini (typically C:\SIERRA\GPL\core.ini):
[ Communications ]
bcast_listserv = 207.55.131.190 ; IP address of race list server
bcast_send_freq = 30 ; race data send frequency
Whenever you run GPL in multiplayer mode, these lines will
cause GPL 1.2 to broadcast its race status every 30 seconds to
the default port of 6970 on the machine at 207.55.131.190 (at
the time of this writing, this is the address of VROC's database
server).
The first time it receives a report from your GPL server,
the VROC server will create a new record in its race list database
for your race and will place the information in this new record.
Subsequent status messages will update this record.
A server which becomes known to VROC in this manner is known
as an "External" or "Backdoor" server.
The External server has a drawback. Because you didn't launch
GPL through VROC, VROC does not know all of the information that
you could have entered about your server, such as your connection
type, upload, location, and comment. By default, it will display
some innocuous information instead.
However, you can pre-enter this information through the VROC
External Server Registration mechanism.
If you register your server with VROC, all of the information
about your server that you would normally enter through WinVROC
or JavaVROC will appear in the JavaVROC/WinVROC race list whenever
your External server is sending race status messages to VROC.
See GPL 1.1's readme for more information about GPL race status
broadcast and core.ini.
Registering an External Server
If you wish to operate any type of GPL server as an External
server, and you would like to have the VROC/GSB race list display
the same server information which is displayed for races hosted
through WinVROC and VROC (such as connection type, upload baud,
location, and comment), you may register your server with VROC.
When you register your server, a record containing your name,
connection type, upload baud, and other information is inserted
into the VROC datbase. This information will be displayed in
the VROC/WinVROC race list along with your GPL server's race
information whenever your GPL server is reporting race status
to VROC.
Normally a GPL server's record is purged from the database
if VROC has not received any race status reports after three
hours. This is to prevent the database from becoming cluttered
with records from "dead" servers (e.g., servers which
have inadvertantly disconnected from the Internet due to a telephone
modem disconnect or a system crash, and therefore have not reported
the end of their race to VROC).
However, if a server is registered with VROC, it is flagged
in the VROC database as a Registered server; its record becomes
"persistent". VROC will not purge Registered servers
from the database even if it does not report for a period of
several days. This allows for regular operation of Remotely
Controlled or Dedicated External
servers at reasonably frequent intervals, such as on evenings
and weekends.
Note that for a server registration to be effective, your
machine must have a static IP or an IP which changes very rarely.
If you wish to register one or more External servers, please
go here.
Hosting Behind a Gateway or Firewall
If you would like to host GPL 1.2 races from behind a gateway
or firewall, see the Internet Plus LAN section of Eagle Woman's
GPL
Online FAQ. This section discusses setting up Linux and Sygate gateways to allow hosting GPL from
machines behind the gateway.
Also review For Hosting Behind
a Gateway in the VROC Options Explanation
page.
Note: WinVROC
offers a GUI interface that supports remote launching of GPL
1.2 through WinVROC, a feature intended especially to facilitate
hosting behind a gateway or firewall.
Multiple Servers behind a Gateway
or Firewall
It is quite feasible to host multiple GPL 1.2 races on several
machines simultaneously from behind a single gateway, provided
the gateway's connection to the Internet has adequate bandwidth
to support all of the GPL servers.
To do this, simply allocate ports appropriately for each server
using the port options in the
JavaVROC applet or WinVROC (or in your core.ini files if you're
running External servers), and set up
your gateway's rules appropriately. See the Linux and Sygate gateway sections of the Internet Plus LAN section of Eagle Woman's
GPL
Online FAQ for details about gateway configuration. |