29 December 1995
18 April 1995
09 February 1995
28 January 1995 (Original modification)
In order to make network play of DOOM easier to start, I have modified the
IPXSETUP source code. One of the problems often times encountered whilst
initiating network play is that one (or more) of the nodes has not been
passed the proper command line arguments; and, therefor, one (or more) of the
nodes is knocked out of the game immediately and then, of course, everyone
needs to rerun IPXSETUP. Basically what I have done is allowed for a "master"
and "slave" relationship between the network nodes. One player declares
themself the "master" and the other players are "slaves" at startup. The
"master's" command line arguments are passed along to all the slaves; in this
way, all the nodes invoke DOOM with the same command line arguments.
What's new (1.5):
1. Added -Class (-C) and -randclass (-?) parameter for use with Hexen.
2. Added -Launch (-L) parameter to allow the user to specify what game to
launch (e.g., "-Lauch heretic" will run heretic).
3. Made -nojoy, -nomouse, -nosound, -nomusic, -nosfx local node only parameters.
These parameters are not passed by the master and are not ignored by the
4. Also made -turbo a local node only parameter; there is now a new switch
-noturbo (-N) that the master may throw in order to disable anyone from using
the -turbo switch.
5. The game launched now is passed a response file (NETWORK.RSP); in this way
is many parameters as wanted can be passed.
What's old (1.30):
1. Previously, if the Master node loaded a configuration file (.cfg) with the
-config switch, then this parameter was sent to all the slaves. This "bug"
has been fixed and now each node will load configuration files properly. That
is, if a Master is passed a -config switch it does not pass this parameter
along to the slaves; and each Slave may use -config switch to load their own
Whats old (1.20):
1. Removed the "-slave" parameter. Now if IPXSETUP is run without "-master"
then the node will wait for a "master" node. Note that it is required that
one of the nodes be "master" or the game will never start.
2. Fixed a bug which lost the last command line parameter when a response file
3. Added shorthand notation for command line parameters. These parameters are
CASE SENSATIVE. Paramters marked with an '*' which require a second parameter
can have an optional space (' ') between the shorthand and the required second
parameter (e.g., "-nodes 3" can now be passed as "-n 3" or "-n3"). Paramters
marked with an "L" are local node only parameters (not passed by the master).
Paramters marked with an "M" are master node only parameters.
*L -C = -class
L -? = -randclass
* M -L = -launch
M -N = -noturbo
M -m = -master
M -b = -msg
* M -h = -dehack
* M -n = -nodes
* -p = -port
* -v = -vector
* M -f = -file
*L -c = -config
* M -l = -loadgame
M -d = -deathmatch
M -a = -altdeath
M -r = -respawn
M -x = -nomonsters
* M -t = -timer
* M -s = -skill
* M -w = -warp
*L -T = -turbo
M -F = -fast
* M -R = -record
* M -P = -playdemo
* M -X = -maxdemo
L -J = -nojoy
L -M = -nomouse
L -S = -nosound
L -U = -nomusic
L -Y = -nosfx
Three switches have been added: -master, -msg, and -dehack.
-master sets a node up as the "master." The "master's" command line arguments
are passed to ALL other nodes the nodes. Only one node may be "master."
-msg displays the parameter following -msg on all the node's consoles prior to
launching DOOM. Use quotes ("") to encompass more than one word as a single
argument(e.g., `IPXSETUP -master -msg "Prepare to die!" -deathmatch'). If -msg
appears in a response file then the entire line following the -msg keyword is
treated as the message and therefor quotes are not needed.
-dehack will launch the DEHACKED program to patch DOOM prior to launching DOOM.
In this way, everyone plays with the same version of the DOOM executable. The
parameter following -dehack is the patch file for DEHACKED to load (i.e.,
`IPXSETUP -dehack fire.deh' will spawn the command `DEHACKED -load fire.deh'
Another change to the code I made was to close the opened socket if the program
is abnormally terminated (i.e., ctr-c).
The original IPXSETUP source was written for Borland C; I have translated it
for MS C. I think it should still be compilable under Borland C but have not
Note that when using response files, all arguments prior to the response file
are ignored by IPXSETUP. This is how it was written and I didn't change it.
I hope these modification make your network experiences a little easier. If
you have any suggestions for other enhancements please let me know.
Micah Nutt (74642,363 at Compuserve).