VROC: Virtual Racers' Online Connection


Please read the GPL 1.1 FAQ for more background and installation information.

What's in the GPL 1.2 patch?

GPL 1.2 contains a number of enhancements and several new features. As a result of improved collision detection, a more stable clock, and improved client/server synchronization, it's now possible to race much closer to other cars. Racing GPL online is even more fun than before!

Changes include:

  • A fix for the timing bug in GPL 1.1 which caused inaccurate lap times, frame rate problems, and assorted problems when racing online. GPL 1.2's clock is more stable and more accurate than GPL 1.0's. As a result, online play is greatly improved, and lap times are quite reliable.
  • Dramatic improvements in Synch Method 1. This method is now superior to Synch Method 0 under all conditions. Frame stuttering seems to be entirely eliminated, slomo/turbo mode are gone, and warping, winking out, and other online problems are much reduced.
  • Improved collision detection under high latency situations. As latency goes up, the cars in GPL become "softer". This greatly reduces (but does not totally eliminate) the chances of highly overstated reactions to collisions. Getting launched into the stratosphere is now fairly unlikely.
  • New "meters" which display bar graphs continuously depicting instantaneous Latency, Quality, and Skew (the amount of time your client's clock is out of step with the server's clock). These meters are very useful for determining the quality of your connection to the host, the quality of the host itself, and for helping to isolate problems. They also give you advance warning of disconnects.
  • Fixes for numerous bugs relating to lap timing and scoring, pit board and pit placard placement, and grid locations. Missing or inaccurate lap times are now fairly rare.
  • A Boss can now shut down a GPL server remotely by the use of the !shutdown command.
  • The GPL chat now supports "whispering" to an individual user by any other user.
  • Hosts and clients can now configure GPL to automatically save a replay at the end of a race.
  • Remote cars no longer bounce up and down in high latency situations.
  • IPX mode now supports the :port nomenclature in the address on the Multiplayer screen.
  • Assorted bug fixes address issues related to dropdown lists, error messages, Logitech FF wheels on Windows 2000, hangs, server shutdowns, and other problems.

How do I turn on these new meters?

You can toggle the meters off and on with Alt-M any time you're in the car.

You can make GPL default to having the meters on when you enter the car by adding these lines to your core.ini:

[ Communications ]
show_meters = 1  		; (0=off (default), 1=on)

What do the meters mean?

GPL 1.2 Meters
Latency and Quality. The L and Q meters measure Latency and Quality. These are the same values you can already display with Alt-L, but the meters' real-time graphical display is continuous and almost instantaneous. This can give you an excellent picture of what's happening on the link between you and the server.

Latency measures the amount of time that it is taking data to be transmitted between you and the GPL server. It's a round-trip time, and is similar to the "ping time" reported in other programs. High latency tends to cause warping - lateral and/or longitudinal displacement of a remote car from its actual path.

The top of the meter corresponds to a latency of 1 second, or 1000 ms; the bottom corresponds to 0 ms, or zero latency. Lower is obviously better, although you'll probably never see zero latency, even on a LAN.

Bandwidth and the Q Meter

If a GPL host does not use VROC's option to force a VROC bandwidth on the clients, your Q meter may indicate high data loss. This is merely an indication of a mismatch between your bandwidth settings and the server's. It's not critical, but it can increase the risk of disconnections.

Any VROC bandwidth setting, if selected by the host, will avoid bandwidth mismatches. The Typical bandwidth setting is the safest, and ensures that people with analog modems will not have their Internet connection overwhelmed with too much data.

We recommend that hosts use the VROC Typical bandwidth setting.

Quality is a measure of the data loss during transmission. Sometimes packets of information are lost or arrive late and are discarded by GPL. Like high latency, poor quality can trigger warping. Warping due to high data loss tends to be more erratic than warping due to high latency.

The bottom of the meter corresponds to 0% packet loss, or very high quality. The top of the meter corresponds to 100% packet loss, or very low quality. Again, lower is better.

Skew. The S meter measures Skew, which is the amount of time that your client's clock currently differs from the server's. Your clock will skew if the server is running slower than real time, if your client is running slower than real time, or if there is an increase or decrease in latency of a significant duration.

A small amount of flickering around the middle is normal, but if the Skew meter runs consistently high, chances are that the server is overloaded. Let the host know this if you can. If the Skew meter runs consistently low, your machine is probably overloaded, and you should cut back on graphic details or upgrade your hardware.

If the Skew meter gradually diverges until a clock smash occurs, either you or the host are badly over-driving your machine, or your connection to the host is very poor.

Optimal Values. In general, you want to see a minimal amount of red in the meters, although some latency is normal, and also a certain amount of data loss (measured by the Q meter) is common. With GPL 1.2, very good racing can often be experienced even at high and variable latency readings, provided you are careful to maintain adequate separation between your car and other cars to allow for warping.

Disconnections. If transmission of data between you and the GPL server has been interrupted, the Q meter will gradually rise. This means that the connection between you and the server has been severed, and GPL will eventually stop running the car and return to the Multiplayer screen. If practice isn't over, you can probably rejoin, but if you're in a race, you're out of luck.

If disconnects occur frequently on a given server, try other servers. Use WinVROC's Inspect feature to examine the route between you and servers you have problems with. If you repeatedly experience disconnects from many servers, check your connection software configuration, your connection hardware, and consider trying a new ISP.

See the Help page for more details about troubleshooting connection problems.

Does the 1.2 patch eliminate connection problems?

Unfortunately, no. This issue was thoroughly investigated during the development of GPL 1.2. GPL's communications code proved to be very robust. It was found that connection problems occur outside of GPL, either in Windows' TCP/IP stack or on the routers providing the route between client and server.

Certain events outside of GPL cause transmission of GPL's packets to be interrupted, although sometimes error packets continue to be delivered to GPL. Recovery from this condition would have required substantial revisions to GPL's multiplayer architecture, and is beyond the scope of what was possible to address in the GPL 1.2 patch.

Although connection problems can't be eliminated, you can take measures to reduce them by optimizing your hardware configuration, your communications software configuration, and your link to the Internet (including choosing the best ISP available to you) and by selecting high-quality GPL servers to which you have a high quality link.

See the Help page for more details about optimizing your system for racing GPL online. See the meters section above for information about how to use GPL 1.2's meters to help diagnose connection problems and identify high-quality servers.

What are the new chat features?

You can now issue private chat messages to any one of the players connected to the server. Begin your message with "/", followed by a unique fragment of the name of the player or the player's car number preceded by a #, followed by the message. For example:

/#16 Hey, John. What's up?
/smith What's up?
/j.smith What's up?
/jo.smi What's up?
/john.smith What's up?

If you are a Boss of a remote server, you can shut down the server with the following command:


To list all the chat commands available, type:


Remember that these commands are mostly useful only to Boss users.

What core.ini file do I use with the 1.2 patch?

VROC 2.0 and GPL 1.2 render the core.ini file largely irrelevant for most users. Although the core.ini file can contain many parameters, almost all of these parameters are set by VROC or WinVROC. Most users do not need to be concerned with core.ini at all.

If you race on VROC 2.0 or WinVROC 2, you don't need to use a core.ini file unless you want to do one of the following:

  • Enable Force Feedback.
  • Use certain Advanced hosting options.
  • Default to having the meters come on when you enter the car.
  • Automatically save a replay at the end of a race.
  • Make GPL save longer replays than it does by default.
  • Use the alternate method of IP address lookup. This is useful for AOL, some cable modem ISP's, and certain other ISP's who use an atypical dynamic IP address assignment technique.
  • Make GPL default to a different bandwidth (we recommend 3-84) in the event that the host has not forced a bandwidth on clients.

You can Download the core.ini file currently being used by Alison Hine for GPL 1.2, and also examples by Bart Westra with extensive documentation of the various parameters.

How do I turn on Force Feedback?

Simply insert these lines in your core.ini:

[ Joy ]
allow_force_feedback = 1

See Alison's new Force Feedback pages and the GPL 1.1 FAQ for more information about Force Feedback.

Alison presents an extensive discussion about Force Feedback and offers suggestions for the various core.ini and driver settings for the Logitech wheel, and explains how to use CH pedals with this wheel.

How do I automatically save a replay?

Simply add these lines to your core.ini:

auto_save_replay = 1		; Auto save replay if launched?

At the end of the race, the replay will be saved to the gpl\replay folder with the same file name as an automatically saved standings file, but with an extension of .rpy instead of .html.

Did Papyrus change the physics in GPL 1.2?

No. Except for the improved collision detection, the physics in GPL 1.2 are identical to the physics in GPL 1.1.