Version 0.9 | By ænima | 12/21/97
The modem code of the original game was simply a variant on the games network code. Instead of a peer-networking protocol seen in Doom and Duke Nukem 3D, the game shared the Client/Server approach of the IPX/TCP components. This resulted in modem games where one player had the advantage of being the server and enjoyed lag-free play. The client often had to deal with choppy gameplay and lags between 150-200ms.
It was discovered that one could reduce the lag of modem-to-modem play using Windows 95's Dial-Up-Networking (DUN). Simulating an IPX network over a modem connection, it first allowed GLQuake players modem play. Because subsequent versions of Quake (WinQuake, GLQuake) lacked modem support altogether, this became the only solution for dual-player modem games.
Quake 2 hit the store shelves December 9th 1997, and Quake fans everywhere rejoiced. A much improved graphics engine and more balanced deathmatch experience were promised right out of the box. We knew id was going to leave out modem connections from Quake 2, but there was no cause for alarm because we had our DUN hack. Conspicuously absent: IPX network support.
Now we had to go back and rework our DUN connections to operate with TCP/IP connections instead. Unsure of how to do this at first, there was a thrust to get it done. Quake 2 included client-side prediction, and we were eager to play smoother modem games. Learning from the network boys, we got a hack working. Reports of sub-100 millisecond connections promise great, lag-free modem games.
This guide was setup with the average user in mind. My goal is to help all of those who have good friends with a copy of the game deathmatch without having to connect to the internet. It results in more reliable connections and smoother overall gameplay. I hope you can benefit from this experience.
This add-on can be obtained for free as a download from Microsoft. For our purposes of setting up a virtual network to play Quake, it is also very easy to configure.
Dial-Up-Networking v1.2 Upgrade can be dowloaded from:
Open up the Dial-Up-Server and click on "Server Types" and configure them as follows:
The Dial-Up-Server is now configured to host our virtual network.
As in the image shown, we must have the
"Client for Microsoft Networks", the "Dial-Up Adapter" and "TCP/IP" protocol
(the IPX protocol, for Quake 2, is optional). If you don't have one
or more of these installed, click "Add" and add them. To be reading
this on the internet, you should already have the Dial-Up Adapter intsalled
along with TCP/IP installed, so you would likely just have to add the "Client
for Microsoft Networks".
Open TCP/IP properties and select the "IP Address" tab. For the purposes of our network, we must make up an IP address and assign different ones to each computer. The Subnet Mask must be identical on both machines.
For the purposes of our connection, set the IP on one as 192.0.0.1 and the other to 192.0.0.2. The numbers don't have any real meaning, but they seem to be the most popular.
For the subnet mask, set EACH to 255.255.255.0 as shown above. These MUST be identical on both machines in order for the network to work.
Note: If your ISP has dynamic addressing, set these back to "Server Assigned" after your Quake session or you may be unable to connect to the internet. If you're unsure, set it back anyway.
Remember the IP addresses you chose. You'll need them later.
Open up Dial-Up-Network and click on "Make New Connection." Simply enter your friends name for the name and then his/her phone number. Done.
Right-click on the new connection and select "Properties." Set up as follows: Under the "Server Types" tab, the type should be PPP and all of the boxes should be unchecked. Click "TCP/IP Settings..." and keep IP and DNS as server assigned and the rest of the options unchecked.
Now both the server and client for Windows
DUN are setup.
To set up the server, simply open up DAS from the DUN menu, click "Allow Caller Access" and "Apply." A small icon should apper in the system tray indicating that it's waiting for a call.
For the caller, open up DUN, and double-click on the connection icon. You can specify a username if you want, but it's not necessary. Verify that the phone number is correct, and click "Connect." Note: A password is NOT necessary, so don't enter one.
Before dialing, make sure to decide who will host the Quake game. This is independent of who calls who in Windows.
If you don't connect successfully, go back and make sure everything is properly configured. You might have accidentally overlooked something.
First of all, you should try all combinations of who calls who in Windows and who hosts the game. You might not think that your connection could be affected by it, but it could spell the difference between a 100ms client ping or one of 250ms! Make sure to try them all, you could find one that'll play great.
Also, the client can enable client-side prediction (a Quakeworld enhancement) by simply typing "cl_predict 1" at the console before joining the server. It results, usually, in better gameplay.
This is the section of the guide that will
undergo the most updating. I encourage people to contact me with
their comments/suggestions for this part of the guide. I would love
to know what kind of connections most people are getting. I might
even set up an bulletin board for that purpose.