28 January 1995 (Original modification) 09 February 1995 (First update) IPXSETUP (Master/Slave) 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. 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 was used. 3. Added shorthand notation for command line paramters. These paramters are case sensative. Paramters marked with an '*' which require a second paramter can have an optional space (' ') between the shorthand and the required second paramter (e.g., "-nodes 3" can now be passed as "-n 3" or "-n3"). -m = -master -b = -msg * -h = -dehack * -n = -nodes * -p = -port * -v = -vector * -f = -file * -c = -config * -l = -loadgame -d = -deathmatch -a = -altdeath -r = -respawn -x = -nomonsters * -t = -timer * -s = -skill * -w = -warp * -T = -turbo -F = -fast * -R = -record * -P = -playdemo * -X = -maxdemo -J = -nojoy -M = -nomouse -S = -nosound -U = -nomusic -Y = -nosfx Whats old: 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 verified this. 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).