One of the groundbreaking things about DOOM was its ability to ruin networks. It became so commonplace that companies such as Intel and Carnegie Mellon University explicitly banned the playing of DOOM on its networks. According to the DOOM FAQ put out by id Software, “In 1994, we fully expect to be the number one cause of decreased productivity in businesses around the world.” And it pretty much did, or at least made companies think about setting up a policy regarding networked games.
So with DOOM good to go on our CARG laptop, the next logical step is to get our friends playing. Because as that same DOOM FAQ says, “Who doesn’t enjoy shooting a rocket into a friend?”
Ad-Hoc DOOM Network Structure
DOOM allows up to four computers on a local network to play in the one game. One of the four is considered the “server”, the others are “clients”. The server needs to have the DOOM multiplayer program (DM.exe) running, then the others can connect to it. In the example in the video, I am setting up the CARG Laptop as the server, and my Apple MacBook Pro as a client. Both are on my local wireless network, and both have DOSBox and DOOM working.
DOSBox adds an extra complication to the architecture, as it does not connect to a network right away. In order to enable networking, the DOSBox configuration file on each machine needs to be modified. On the CARG Laptop, that file is ~/.dosbox/dosbox-0.74.conf and on the MacBook Pro it is ~/Library/Preferences/dosbox-0.74.conf. Near the end of the file, change the following line:
That’s the only thing that needs to change. This tells DOSBox to enable a network connection. Save and close the file.
Configure the server
On the server (the CARG Laptop), we need to know what the IP address is, so other computers can connect to it. Enter the following command:
ifconfig | grep netmask
and look through the information that is returned. The first series of numbers is your IP address, in the format of AAA.BBB.CCC.DDD. Remember this – we will need it later.
We also need to allow the other computers to connect through the firewall on the server. Head to Menu > Administration > Firewall and enter your administrator password. Then head to the Ports tab and enter in the following information:
Port / Port Range: 19900 Protocol: udp
You can choose any port number between 1024 and 65535, but you will need to use that consistently. I will be using 19900, so adjust your settings if you use a different port.
Once that is done, we can start the ipx server. On the CARG Laptop, enter the following command into DOSBox:
ipxnet startserver 19900
It will return that the IPX Tunneling Server started:
Now enter the command to start the DOOM Deathmatch server:
The following screen will appear:
You can see it has already selected the IPX Network. The setting we are most concerned with is the top right corner, where it has selected “Wait for call”. This is what we want – we are waiting for the other computers to connect in. Hit F10 and it will wait for others to join:
We can leave the server at this stage as it waits for others to connect.
Configure the client
Head over to a client machine (in my example, the MacBook Pro), and enter the following command into DOSBox:
ipxnet connect AAA.BBB.CCC.DDD 19900
Change AAA.BBB.CCC.DDD for the IP address we found out earlier, and replace 19900 with whatever port you chose before. This will tell us it has connected to the server:
Now type in the command to start the DeathMatch on the client:
The same window appears as on the server. Make sure all settings are the same as on the server except the top right corner – it should now have Already Connected selected.
Once everything is confirmed, hit F10 to proceed.
Things happen pretty fast after that. The two machines will connect, and DOOM will start pretty much right away. You are dropped straight into the DeathMatch – there is no menu or introduction screen.
Note that the insert box in the top right of the image above is only for demonstration of the network connection. You will not see that box, nor will you have any idea where the other player is. From there, it’s pretty simple – find the other player and shoot them!