VROC: Virtual Racers' Online Connection

GPL 1.1 Release Notes (from Papyrus)

Grand Prix Legends PATCH README
Version 1.1
3/1/99

TABLE OF CONTENTS

1. NOTES

2. GENERAL

3. MULTIPLAYER - GENERAL

4. MULTIPLAYER - MODEM-TO-MODEM

5. MULTIPLAYER - FIREWALLS

6. NEW .INI FILE OPTIONS

7. NEW .INI FILE

8. NEW DEFAULT CAR SETUPS

9. CONTACTING SIERRA


1. NOTES

Some of the multiplayer-specific changes included in this patch make GPL version 1.1.0.0 clients and servers incompatible with version 1.0.0.0 clients and servers


2. GENERAL


The order in which drivers are dropped when you choose less than a full field of AI has been changed so that you still get some slow AI drivers even with small fields.

Joystick axes may now be assigned to shift up/shift down.

There was a bug in our DirectInput joystick code that caused problems when a device reported more than 8 axes (the Gravis Xterminator (at least on Win95), and Thrustmaster Force GT, for example). This has been fixed.

The pit board at the Nurburgring has been moved to the other side of Sudkehre so that you now see your most recent lap time.

GPL would sometimes crash the system when saving a large replay. This has been fixed.

GPL would sometimes shut down improperly, causing some files to not be saved, and some system settings to not be restored. This seemed to happen more often on slower systems. This has been fixed. These changes also improved game performance by one or two percent.

Activating the Player Info screen would sometimes change the state of the automatic shifting, braking and traction driving aids. This has been fixed.

The Race Setup dropdown list on the car setup screen would extend off the bottom of the screen, instead of scrolling as the Practice Setup dropdown list does. This has been fixed.

GPL will now run on Windows NT with DirectX installed (I believe NT4 with service pack 3, and NT 5 Beta 2). The Generic joystick driver is not available on Windows NT. GPL will also run on dual-processor NT systems, and take advantage of both processors. Don't expect any miracles, though. GPL is quite memory intensive, and a dual-processor machine has two processors fighting for memory bandwidth instead of just one. Because of GPL's architecture, it is unlikely that a machine with more than two processors would provide any benefit.

You are no longer allowed to get into your car while the checkered flag is out during a qualifying session. Also, Race Control will reduce the amount of time the checkered flag is displayed in qualifying once scoring has been completed for all cars.

If all cars drop out of a race during the race session, Race Control will throw the checkered flag and end the race.

Exported race results now contain the race type (novice, intermediate-short, etc.), as well as the amount of time it took to run the race, and the number of laps in the race.

It was possible that driving controls (throttle, brake, shifting, etc.) would not be enabled when you got into your car, even though all controls were properly calibrated and assigned. The problem was most likely to occur while the chat pad was open, but could occur at any time This has been fixed.

You can now override any of GPL's .ini file options on the command line. The command line overrides are not saved to the .ini file, so there is no need to backup the .ini file. This facility will generally be used by programs that launch GPL (VROC, for example (see http://gpl.gamestats.com/vroc)). The format of a command line override is...

-ko"numeric_id:section_name:key_name:value"

...where...

numeric_id is the ID of the .ini file that contains the value to be overridden. The mapping is:

0 = core.ini,
10 = app.ini
20 = player.ini
40 = track.ini
50 = address.ini
65 = server.ini

section_name is the name of the section within the .ini file in which the key exists. [Communications], for example. The brackets ([, and ]) should not be specified.

key_name is the name of the key. net_mdm_client_send_every, for example.

For example, to use a value of 3 for net_mdm_client_send_every from the Communications section of core.ini, you would use...

gpl -ko"0:communications:net_mdm_client_send_every:3"


3. MULTIPLAYER - GENERAL


When the host of a multiplayer race started the race weekend, sometimes a client would not be given the green button that allowed them to get into their car. This has been fixed.

Sometimes a client in a multiplayer race would not see their own lap times, or would see incorrect information on their pit board during the race. For the most part, this has been fixed. If a client has an exceptionally poor connection to the server, it is still possible that Race Control will be unable to correctly score this client.

Race control would sometimes disqualify a client for driving the track in the wrong direction, even when they did not do so. This has been fixed.

Race control would sometimes register an impossibly short lap time for a client if the client "winked out" near the start/finish line. We believe this is fixed.

Sometimes the keyboard shortcuts for the replay and camera systems would be active while typing a message into the chat pad. These controls are supposed to be deactivated while chatting. This has been fixed.

There was no way to restrict access to a GPL server based on the communications latency to a client. When setting up a server, you may now specify a maximum allowable latency of up to 1 second (though latencies above 0.5 second are generally undesirable). A client's latency is only checked once as they connect to the server. If their latency increases while they are connected, the server will not automatically kick them off.

There was no way to limit the number of clients that could connect to a server on a particular network connection. If too many players connected, the device would become overloaded causing poor performance for everyone. There is now a "maximum number of players" selection for each network connection.

After many people had connected to and then disconnected from a race server, newly connecting drivers would see a long stream of "X.Y:Connected"..."X.Y:Disconnected" messages for drivers that were no longer connected to the server. This has been fixed.

After many people had connected to and then disconnected from a race server, a newly connecting driver would be assigned car number 0, and would drive around in a car with no car number painted on it. This has been fixed.

The rules shown to a client of a multiplayer Grand Prix race indicated that there were two practice sessions, when there is really only one. This has been fixed.

A GPL race server will now broadcast its status, and respond to ping requests, while a race session is in progress. Previously, it would only do this during qualifying sessions, and when it was on the race setup screen.

There was no way to control a GPL server remotely. Remote clients can now control a GPL server (we call anyone that can control the server a "boss"). This is accomplished by using a special form for the server password. Clients that connect with the "boss" password will be able to control the server. The password format is now "[access_pwd][/[boss_pwd]][=f.last_of_boss]" (neither the brackets, nor the quotes, should be used, and anything between a pair of brackets is optional). The password is not case sensitive. The meaning of several example server passwords is given below...

"" - No password specified. Anyone may connect to the server. Only the server itself is a boss.
"private" - All clients must enter the password (private) in order to connect to the server. Only the server itself is a boss.
"private/secret" - All clients must enter the password (private) in order to connect to the server. Any client that also knows the boss password (secret), and gives the password correctly (private/secret) will also be a boss of the server. Note that this allows there to be more than one boss for the server. Bosses must cooperate with each other!
"private/secret=f.smith" - Same as above, but any driver whose last name is "smith", and whose first initial is "f" will be given boss control over the server, even if they don't enter the boss password (secret).
"/quiet" - Anyone may connect to the server without specifying a password. Anyone that gives the boss password (/quiet) will also be a boss.
"/" - This would be interesting! Anyone can connect to the server without specifying a password. Everyone that connects will be a boss.

There was no way to eject a player from a server. Any boss may now remove a player using the "!eject" command. The command should be entered as a chat message. The format of the command is "!eject player", where player can either be the "#" symbol along with the player's car number, or the players name. For example,
"!eject #12"
"!eject smith"
"!eject f.smith"
"!eject fred.smith"

You can now launch GPL as either a client or a server by using command line options. GPL will automatically advance to the multiplayer setup screen, activate all the proper buttons, and launch/connect. When launched as a client, the remote server's IP address is not shown. When a launched client disconnects, it's given the option to reconnect, but will otherwise exit the game. When a launched server backs out of the track select screen, it exits the game. See the description of the CLIENT and SERVER additions to the core.ini file below. This capability is intended to be used by systems such as VROC (see http://gpl.gamestats.com/vroc).


4. MULTIPLAYER - MODEM-to-MODEM

Several people have reported problems connecting using a direct modem-to-modem connection. This is almost always because the two computers have different notions of how fast the two modems connected. We have changed the meaning of the connection speed selection for a modem on GPL's multiplayer setup screen. It used to mean: "Please try to connect at a speed no faster than this, but use whatever speed the system tells GPL it has connected at." Some systems seem to ignore the "please don't connect any faster than this" request. Other systems seem to report connect speeds that are higher than the actual speed at which the two modems connected. Either of these situations could lead to a failed connection.

This selection now means: "Please try to connect at a speed no faster than this. If the system tells GPL that it connected at a speed faster than this, assume it's lying and that the connection actually occurred at this speed. If the system tells GPL that it connected at a speed slower than this, use this slower speed." This reduces, but does not eliminate, the possibility of a failed connection. This also makes it essential that the host and the client choose the same speed. We've also added a new selection to the connect speed list, "Reported by modem". If you did not previously have any problems connecting modem-to-modem, use this selection (it has almost the same meaning as before).

If you still can't connect even when both the dialer and answerer use the lowest speed in the dropdown list, there's one more thing that you can try (you can also try this with GPL 1.0.0.0). In the same folder as the GPL program (gpl.exe) create a text file named core.ini using Notepad (or another plain text editor). In this file, place the following two lines...

[ Communications ]
assumedModemConnectSpeed = baud_rate

Replace "baud_rate" with a baud rate that is no greater than the actual speed at which the modems connect. For example, if you know the modems are actually connecting at 24000bps, use 24000. If you're unsure of the baud rate at which the modems connect, it's probably best to guess low (normal speeds would include 19200, 21600, 24000, 26400, 28800, etc.) If you guess too high, the connection will probably be dropped before long (if it's established at all). It is important that both the dialer and answerer (client and server) use the same number.


5. MULTIPLAYER - FIREWALLS

With GPL 1.0.0.0 it was difficult, if not impossible, to configure a firewall that would allow a GPL client or server to run behind it. This should now be fixed. GPL now uses a range of 21 consecutive ports ([32766..32786], by default) for client/server communications, and ports 6970 for status broadcast and 6971 for ping responses.

To run from a machine with a private IP address behind a Linux firewall, you need to use a combination of IP masquerading and IP autoforwarding. According to "LINUX, The Complete Reference", ipautofw can be obtained from ftp://ftp.netis.com/pub/members/rlynch/ipautofw.tar.gz. The following three rules can be used.

ipfwadm -F -a accept -m -S a.a.a.a/m.m.m.m -D 0.0.0.0/0
ipautofw -A -r udp 6970 6971 -h a.a.a.a -v -u
ipautofw -A -r udp 32766 32786 -h a.a.a.a -v -u

where a.a.a.a is the address of the machine behind the firewall, and m.m.m.m is the netmask. If you run a server behind the firewall, clients should connect to the IP address of the firewall. If you want to run more than one server behind a firewall, you'll need to give each of the servers its own port ranges. In core.ini on each of the additional server machines, add the following:

[ Communications ]
bcast_ping_port = A
bcast_port = B
net_server_port = C

For example, you might use A=6972, B=6973, C=32787 for the second server, A=6974, B=6975, C=32808 for the third server, etc.


6. NEW .INI FILE OPTIONS


The following options and/or sections have been added to core.ini. Default values are shown.

[ Communications ]
bcast_ping_disable = 0 ; Disable response to pings
bcast_send_disable = 0 ; Disable server status broadcast
disable_modem = 0 ; Do not look for modems at startup

If you don't want your GPL server to respond to ping requests, set bcast_ping_disable to 1 (note that even though the name includes the word bcast, ping responses are not sent via broadcast). If you don't want your GPL server to broadcast its status, set bcast_send_disable to 1 (this option already existed in version 1.0.0.0). If you don't intend to use GPL's modem-to-modem multiplayer ability, you can set disable_modem to 1 to tell GPL not to look for modems. This can make starting the program faster.

[ CLIENT ]
to_ip = ; numeric IP address to connect to
via_ip = ; numeric IP address to connect via

These two options are intended to be used by VROC, or similar software, to launch GPL as a multiplayer client. Both must be numeric IP addresses (#.#.#.# format). to_ip should be the IP address of the GPL server. via_ip should be the numeric IP address of the interface through which the GPL client will connect (if a firewall is involved, this would be the actual IP address of the client itself, not the IP address of the firewall behind which the client sits). When both are set, GPL will automatically advance to the multiplayer "join" setup screen and attempt to connect to the GPL server. If the race is password protected, you'll also need to specify the password on the command line. The server's IP address is not shown to the user.

Example: gpl -ko"0:client:to_ip:5.4.3.2" -ko"0:client:via_ip:1.2.3.4" -ko"0:server:password:wow!"

[ SERVER ]
dedicated = 0 ; Unattended - run server.ini races
launch = 0 ; Launch GPL as a mp server
max_latency = 0.0 ; Seconds. Set to 0.0 to disable
max_car_class = 0 ; 0=GP, 1=AdvT, 2=NovT
min_car_class = 2 ; 0=GP, 1=AdvT, 2=NovT
password = ; [access][/[boss]][=f.last]

If either dedicated or launch is set to 1, GPL will automatically advance to the multiplayer "host" setup screen. Further, if auto_launch is set to 1 for any active network connection in server.ini (see below), GPL will automatically allow connections on those interfaces, and advance to the track select screen. If not, GPL will wait for the user to select the allowed connection types and hit the green button to advance to the track select screen. If dedicated is set to 1, GPL will then repeatedly cycle through the consecutive list of valid races from race0..raceN (up to and including race31) specified in server.ini. Sound and 3D graphics will be disabled, and the server itself will not be allowed to join the race (this reduces the load on the CPU). If dedicated is 0, then the set of races specified in server.ini is ignored, and one of the server's bosses must control the server.

If max_latency is greater than 0, then it specifies the maximum latency a client is allowed to have when they connect to the server. If their latency is higher than this value, they are not allowed to connect. Once connected, however, a client will not be disconnected if their latency increases. If max_latency is not greater than 0, then clients are allowed to connect regardless of their latency.

min_car_class and max_car_class can be used to force everyone that connects to the server to drive in a particular class of car (novice trainer, advanced trainer, or Grand Prix car). Generally, both of these should be set to the same value.


7. NEW .INI FILE - SERVER.INI

GPL 1.1.0.0 will create a new .ini file in its home directory named server.ini. There are two main purposes for this file. First, it keeps track of some information for each network address on your machine. Second, it can contain a list of races that an unattended GPL server will run in sequence repeatedly.

Server.ini will have a separate section with three values for each TCP/IP and IPX address that GPL recognizes on your machine. The sections are named ip0, ip1, ... ip5 for TCP/IP addresses, and ipx0 and ipx1 for IPX addresses. The order is the same as what is shown on the multiplayer-host setup screen. For example...

[ ip0 ]
addr = 129.9.6.19 ; Informational only!
auto_launch = 1 ; Allow connects when launched?
max_players = 5 ; Max players allowed

[ ipx0 ]
addr = F1F50002:00105A02FD1E ; Informational only!
auto_launch = 1 ; Allow connects when launched?
max_players = 19 ; Max players allowed

addr - This value is put into the server.ini file solely for your information. When GPL reads the server.ini file, it ignores this field.
auto_launch - If this value is 1, and GPL is launched as a multiplayer server (either launch or dedicated is set to 1 in core.ini), GPL will automatically allow connections on this interface.
max_players - This value reflects the maximum number of players you select for a particular network interface on the multiplayer-host setup screen.

If dedicated is set to 1 in the [SERVER] section of core.ini, then GPL will run as a dedicated race server. It will automatically cycle through the list of races specified in this file (server.ini). List the races you want the server to run in sections named [race0], [race1], etc., up to [race31]. The GPL server will run all races in sequence starting at 0 until the track entry is empty or invalid. It will then cycle back to race0 and start again. For example...

[ race0 ]
ai = 5 ; Number of AI
practice = 5 ; Number of minutes of practice
race_type = 4 ; 0=Nov,1/2=int s/l,3/4=pro s/l,5=GP
track = monza ; Track

ai - Specifies the number of AI cars that are to participate in the race, from 0 to 19.
practice - Specifies the length of the practice session in minutes, from 1 to 120.
race_type - Specifies the type of race. 0 = Novice, 1 = Intermediate-short, 2 = Intermediate-long, 3 = Pro-short, 4 = Pro-long, 5 = Grand Prix.
track - Specifies the name of the directory that contains the track (kyalami, mexico, monaco, monza, mosport, nurburg, rouen, silver, spa, watglen, zandvort).

The server will leave the track and advance to the next race three minutes after Race Control has completed scoring. It will warn all the clients when there is one minute remaining before it leaves the track. To prevent the server from automatically starting the next race in the sequence, hold the left shift key down on the server while the server leaves the track. While at the race setup screen you can then hit the red button to exit the program. Or, you can alter the race parameters and hit the green button to continue.


8. NEW DEFAULT CAR SETUPS

New default car setups for all of the Grand Prix cars are included. The original default setups are, generally, faster when driven by an experienced driver than these new setups. The new setups are, generally, more forgiving for inexperienced drivers and, within a given chassis type, have a more consistent "feel" from track to track.


9. CONTACTING SIERRA

A) Customer Service, Support, and Sales
B) Technical Support
C) Legal Information

A) Customer Service, Support, and Sales
----------------------------------
United States

U.S.A. Sales Phone: (800) 757-7707
International Sales: (425) 746-5771
Hours: Monday-Saturday 7AM to 11 PM CST,
Sundays 8 AM to 9PM CST
FAX: (402) 393-3224

Sierra Direct
7100 W. Center Rd
STE 301
Omaha, NE 68106

United Kingdom

Havas Interactive
Main: (0118) 920-9111
Monday-Friday, 9:00 a.m. - 5:00 p.m.
Fax: (0118) 987-5603
Disk/CD replacements in the U.K. are £6.00,
or £7.00 outside the UK. Add "ATTN.: Returns."

2 Beacontree Plaza,
Gillette Way,
Reading, Berkshire
RG2 0BS United Kingdom

France
Havas Interactive
Téléphone: 01-46-01-46-50
Lundi au Jeudi de 10h à 19h
Vendredi de 10h à 18h
Fax: 01-46-30-00-65

Parc Tertiaire de Meudon
Immeuble "Le Newton"
25 rue Jeanne Braconnier
92366 Meudon La Forêt Cedex
France

Germany

Havas Interactive
Tel: (0) 6103-99-40-40
Montag bis Freitag von 9h - 19Uhr
Fax: (0) 6103-99-40-35

Robert-Bosh-Str. 32
D-63303 Dreieich
Germany

On-Line Sales
CompuServe United Kingdom:GO UKSIERRA
CompuServe France: GO FRSIERRA
CompuServe Germany: GO DESIERRA
Internet USA: http://www.sierra.com
Internet United Kingdom: http://www.sierra-online.co.uk
Internet France: http://www.sierra.fr
Internet Germany: http://www.sierra.de

Disk and or Manual Replacement:

Product Returns:
Sierra On-Line Returns
4100 West 190th Street
Torrance, CA 90504

Sierra On-Line Fulfillment
4100 West 190th Street
Torrance, CA 90504

NOTE: To replace your disk(s) please send only Disk #1 (or the CD) and copy of your dated Receipt, if less then 90 days. After 90 days please include a $10 handling fee along with Disk / CD #1. For Documentation, please include a $ 5.00 handling fee and a photocopy ONLY of disk #1. Payment should be made at the time of your request. Sorry, no credit cards.

* Returns to this address valid in North America only.

 

B) TECHNICAL SUPPORT
-------------------------
North America

Sierra On-Line offers a 24-hour automated technical support line with recorded answers to the most frequently asked technical questions. To access this service, call (425) 644-4343, and follow the recorded instructions to find your specific topic and resolve the issue. If this fails to solve your problem, you may still write, or fax us with your questions, or contact us via our Web site.

Sierra On-Line
Technical Support
P.O. Box 85006
Bellevue, WA 98015-8506

Main: (425) 644-4343
Monday-Friday, 8:00 a.m.- 4:45 p.m. PST
Fax: (425) 644-7697

http://www.sierra.com
support@sierra.com

United Kingdom

Havas Interactive offers a 24-hour Automated Technical Support line with recorded answers to the most frequently asked technical questions. To access this service, call (0118) 920-9111, and follow the recorded instructions to find your specific topic and resolve the issue. If this fails to solve your problem, you may still write, or fax us with your questions, or contact us via our Internet or CompuServe sites.

Havas Interactive
2 Beacontree Plaza,
Gillette Way,
Reading, Berkshire
RG2 0BS United Kingdom

Main: (0118) 920-9111
Monday-Friday, 9:00 a.m. - 5:00 p.m.
Fax: (0118) 987-5603

http://www.sierra-online.co.uk

France

Havas Interactive
Parc Tertiaire de Meudon
Immeuble "Le Newton"
25 rue Jeanne Braconnier
92366 Meudon La Forêt Cedex
France

Téléphone: 01-46-01-46-50
Lundi au Jeudi de 10h à 19h
Vendredi de 10h à 18h
Fax: 01-46-30-00-65

http://www.sierra.fr

Germany

Havas Interactive
Robert-Bosh-Str. 32
D-63303 Dreieich
Deutschland

Tel: (0) 6103-99-40-40
Montag bis Freitag von 9 - 19Uhr
Fax: (0) 6103-99-40-35
Mailbox: (0) 6103-99-40-35

http://www.sierra.de

Spain

Havas Interactive
Avenida de Burgos 9
1º-OF2
28036 Madrid
Spain

Teléfono: (01) 383-2623
Lunes a Viernes de 9h30 a 14h y de 15h a 18h30
Fax: (01) 381-2437

Italy

Contattare il vostro distribotore.

C) Sierra Warranty & Legal Information
-----------------------------------
You are entitled to use this product for your own use, but may not copy, reproduce, translate, publicly perform, display, or reduce to any electronic medium or machine- readable form, reproductions of the software or manual to other parties in any way, nor sell, rent or lease the product to others without prior written permission of Sierra. You may use one copy of the product on a single computer. YOU MAY NOT NETWORK THE PRODUCT OR OTHERWISE INSTALL IT OR USE IT ON MORE THAN ONE COMPUTER AT THE SAME TIME.
UNAUTHORIZED REPRESENTATIONS: SIERRA WARRANTS ONLY THAT THE PROGRAM WILL PERFORM AS DESCRIBED IN THE USER DOCUMENTATION. NO OTHER ADVERTISING, DESCRIPTION, OR REPRESENTATION, WHETHER MADE BY A SIERRA DEALER, DISTRIBUTOR, AGENT, OR EMPLOYEE, SHALL BE BINDING UPON SIERRA OR SHALL CHANGE THE TERMS OF THIS WARRANTY.
IMPLIED WARRANTIES LIMITED: EXCEPT AS STATED ABOVE, SIERRA MAKES NO WARRANTY, EXPRESS OR IMPLIED, REGARDING THIS PRODUCT. SIERRA DISCLAIMS ANY WARRANTY THAT THE SOFTWARE IS FIT FOR A PARTICULAR PURPOSE, AND ANY IMPLIED WARRANTY OF MERCHANTABILITY SHALL BE LIMITED TO THE NINETY (90) DAY DURATION OF THIS LIMITED EXPRESS WARRANTY AND IS OTHERWISE EXPRESSLY AND SPECIFICALLY DISCLAIMED. SOME STATES DO NOT ALLOW LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
NO CONSEQUENTIAL DAMAGES: SIERRA SHALL NOT BE LIABLE FOR SPECIAL, INCIDENTAL, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF SIERRA IS ADVISED OF OR AWARE OF THE POSSIBILITY OF SUCH DAMAGES. THIS MEANS THAT SIERRA SHALL NOT BE RESPONSIBLE OR LIABLE FOR LOST PROFITS OR REVENUES, OR FOR DAMAGES OR COSTS INCURRED AS A RESULT OF LOSS OF TIME, DATA OR USE OF THE SOFTWARE, OR FROM ANY OTHER CAUSE EXCEPT THE ACTUAL COST OF THE PRODUCT. IN NO EVENT SHALL SIERRA'S LIABILITY EXCEED THE PURCHASE PRICE OF THIS PRODUCT. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU.
Copyright (1999 Sierra On-Line, Inc.)