First post, by h-a-l-9000
This should be an example guide of how to use DOSBox's nullmodem feature. It allows you to play two-player games on a LAN or across the internet. The serial data that used to travel through the nullmodem cable on the DOS PCs is tunnelled through a TCP/IP connection.
Connection is established on a client-server basis. First the server is set up, then the client connects.
What you will need:
- The game installed and running properly in DOSBox
- Internet game: the IP address of the server (see http://whatismyip.com/ or similar)
- Internet game: If the server is behind a NAT router then port 23 TCP (default) or a user-chosen TCP port has to be forwarded to the computer running the server. Further help on this topic may be found here: http://www.portforward.com/
- LAN game: host name or IP of the server
- Firewalls have to be opened for the TCP port in use.
Choosing the TCP port
If the server is ran on Windows operating systems, the default (port 23) can be used which means no additional port needs to be passed to DOSBox. However, if the server runs on other OSes, especially the Unix based ones, the ports 0-1023(?) are reserved for the system. So you need to choose a port above that.
Getting to it: First start the server
In DOSBox command line, type:
The DOSBox Status Window should show this line:
Serial1: Nullmodem server waiting for connection on port 23...
If you need to use a different TCP port (5000 in this example), write:
serial1 nullmodem port:5000
Connect the client:
serial1 nullmodem server:<IP or hostname of server>
The status window will show this line on success:
Serial1: Connected to <IP or hostname of server>
For the custom TCP port, write:
serial1 nullmodem server:<IP or hostname of server> port:5000
Note: Instead of typing these in the command line, you can also set them in the [serialport] section of dosbox.conf. However this method here seems more convinient due to the dynamic nature of IP addresses. You don't have to edit dosbox.conf every time.
Now start the game.
This part differs for every game. The option needed is something like 'nullmodem game', 'direct connection', 'already connected', and some games claim to support nullmodem when choosing modem even. Some games have a special setup executable that has to be started instead of the normal one for multiplayer games.
Then choose COM1 (from serial1) as port and choose wether you start or join the game (this is independent of wether you set your DOSBox to server or client).
- There are a few older games that work better with nullmodem when using normal core.
- If you get serial overrun messages in the DOSBox Status Window and have difficulties running the game try adding rxdelay:50 to the server and client setup string. The default for this is 20, you can try other values too but much higher values are probably pointless.
- Some games are picky about their synchronization, don't run applications that produce background load when playing those.
A few of the games this can be used with:
http://liberatedgames.com/gamelisting.php?letter=O - One must fall
Thunder Zone by Kurt Kennett (Nowhere to be found on the net? only on my harddisk?)
This list is nowhere complete. You can also try the later games like Warcraft I/II, Terminal Velocity, Armada, ...
If you run into problems with those the IPXNET probably is the better choice for now.
Suggestions for improvement of this guide are always welcome.