Duke Nukem Modem Faq .94 5/23/96 by Joe Maiorana jjmaior@panix.com Any suggestions/corrections can be sent to the above address. This faq was written as quickly as possible to help as many people as possible enjoy this wonderful game. Sorry for any errors, I am not an expert writer or gamer, I just read the help files and docs. :) ============================================================================= This FAQ deals with the modem play of Duke Nukem 3d, and it's associated problems. It seems that everyone has had a reasonable level of success with the shareware version of Duke Nukem 3d v1.1, but somewhere along the road to the registered version 1.3d, things got a little messy. People have been experiencing problems connecting and playing the game, so here is a little info on modems and I will try to address some of the problems that have been cropping up. ============================================================================= Part I Modem Info 1)Modem strings For best performance in a modem game, it is sometimes recommended that you shut off error-correction, flow control, and compression.(the game's manual will tell you what you need to do) It seems that the overhead and delay imposed by not disabling these features will throw off synchronization of the programs, and what follows is a choppy game. (ever been on Kali?) Here's an analysis of my modem's string. ***Not all modems use the same string Infotel 28.8 AT &F &K0 %C0 &Q6 (Note on rare occasions, the ORDER of the string affects the modem. I would suggest that '&F' or 'Z' be put first since they are reset commands) The 'AT' means attention and it's common to all Hayes compatible modems. The '&F' means reset modem to factory defaults, and it's common to almost all modems also. This ensures a clean slate. (AT Z is a reset to current defaults,it can be used also, I prefer '&F') '&K0' is disable flow-control, it is pretty common to most modems also. More specifically, it disables DTE/DCE flow control or hardware flow-control. So look for that in your manual. '%C0' means disable compression or some modem manuals say, more cryptically, disable MNP5, or disable v.42bis, so look for that in your manual when setting up your string. This is fairly common in modems but don't bet on it. '&Q6' This disables error correction. Your manual might say something like 'asynchronous speed buffering normal mode', 'asynchronous direct mode' or 'disable ARQ mode'. Speed buffering and direct mode are two different things. Some say direct mode works better. I use speed buffering. (&Q0 is direct mode on this modem). Experiment. I also have the redundant commands '\N0' and '\N6' on this modem. This command varies alot among modems. Scour your manuals! If you don't know your string, but your partner does, try this string 'AT &F &K0' or just 'AT &F' , and you'll have a good chance of connecting since your modem will disable error-correction and compression automatically by trying to find a compatible set of protocols with your partner's modem. This has worked for me in the past. My US Robotics string AT &F &K0 &H0 &M0 &K0 - disables compression &H0 - disables flow control &M0 - disables ARQ (error correction) ***some modems have a command to lock the modem at a specific speed, if you know yours, try locking your modem at 9600. See if this helps your connections. (on my Infotel it is "F8" for 9600, and "F10" for 14400, the redundant command is 'N0 37=9' for 9600 and 'N0 S37=11' for 14400, the 'N0' diables automatic speed detection and the S37 selects desired connection speed) This varies alot for different modems. ----------------------------------------------------------------------------- 2)Port speed Set port speed to connection speed. Port speed is the speed at which the modem talks to your computer. If you connect at 14,400 w/compression your modems talk at 14,400, but your actual throughput is slightly more due to the compression/decompression , that's why you see CONNECT 38400 and 57600, this is your MAX port speed. NOT your modem to modem connection (I get 1,600 cps avg throughput at 14.4 and aboutt 2,950 at 28.8) If you are connecting without compression, set port speed to your connection speed. For Doom, and Heretic, I connect and play at 14400. Duke 3d WILL play at 14400, thought it is recommended you set your port speed to 9600. I see no difference either way, except maybe some ornery modems connect better, on poor phone lines at 9600. (the modem will connect at a speed equal to it's port speed, as long as port speed is less than the modems maximum speed) ***Some modems/modem drivers on some games will not respond at 14400 port speed, try 9600,19200 or 38400. ***When connecting in a modem game it's recommended that you and your partner both have the same port speed ============================================================================= Part 2 Duke Modem problems and some possible fixes. ***First of all: Use MSDOS! or exit to MSDOS from win95. Read the help file Don't load EMM386.EXE, it slows down the game. Make sure your comm port is set correctly!!! Set yours and your partners port speed to 9600. According to Apogee, there is no advantage to setting it faster. Experiment and try it out. ***You both must use the same EXACT .con files (user.con,game.con and defs.con) here's some tips organized by problem and suggested fixes... 1)Is your modem responding? Does it answer or dial? or does it just sit there on 'Modem Response:' Is it initializing your modem? If it answers/dials skip to next section. You can test your string by going into setup, choosing modem game, and "Wait for call", then Launch Duke Nukem 3d, the screen that follows will show you your version of COMMIT.EXE, your modem driver.(1.2 is the old one, 1.3 is the new one) It will attempt to initialize your modem. If it went through you will get an 'OK' in your 'Modem Response:' line. ***If modem response says ERROR, your string may have a wrong command in it. try "ATZ" or "AT Z", if you get an 'OK', it works, and your previous string was wrong. If you still do not get an 'OK' read on. a)READ DUKE HELP FILE, if you're too lazy... read on some more b)If it's not responding try adding a ^M and the end of your string (shift-6,8) this forces a carriage return to the modem. Also try putting a space or a tilde (~) or another "AT" before the string. If you get an 'OK' when the init string is set, the modem should dial and answer now. ----------------------------------------------------------------------------- 2)My modem dials and answers but it won't connect to the other modem and/or it hangs up before playing. a)Double check your string. b)If you were initiating the call, try answering. Sometimes you can only connect one way (Why????!!!!???) c)Try using COMMIT.EXE (v.1.2, file size 25782 date 1/29-96) from shareware duke (not version 1.3) rename your old one, copy the new one into your duke3d directory d)Try connecting through a terminal program like telix,qmodem etc. exit WITHOUT hanging up, and try in duke setup, the option 'Already connected' (you can manually enter your respective strings in your term programs before connecting by just typing the 'AT' commands and hitting enter. IMPORTANT TIP ***if your terminal program doesn't let you exit without hanging up, before connecting, add '&D0' to your string, this will tell modem to ignore DTR and will allow you to ungracefully jump out of your term program by enabling you to hit Alt-Ctrl-Delete or RESET on your computer without your modem hanging up. Very handy. You can then boot to DOS and run Duke setup from there. e)same as d, but load setup using command line options. see section 3 f)try "ATZ" "AT Z" or "AT &F" as your string (I believe you'll get better performance from a string which disables error correction etc., but lets just connect for now. You can experiment later! :) ) ----------------------------------------------------------------------------- 3)I connect and get alot of '++++++......+++++++' and 'searching for other players' and nothing happens. a)Use command line options b)Try 'ATZ' or 'AT Z' as your string c)Try COMMIT.EXE 1.2 from shareware duke d)Try again! ----------------------------------------------------------------------------- 4)I connect but I get 'invalid packet' or 'x bytes too long' a)same as above ----------------------------------------------------------------------------- 5)I connect, play for a little while and get 'Fatal sync error' please restart. a)try "AT Z" as your string b)turn computer off then try again c)???????????????????????? ----------------------------------------------------------------------------- 6)I connect, play for a little while and get 'Out of sync, please restart game' a)try "AT Z" as your string b)make sure you are both using the EXACT same .con files c)???????????????? ----------------------------------------------------------------------------- 7)I connect but get stuck on the 'waiting for master' screen. I choose a level and when I start I am playing with a mirror image of myself! a)Use command line options b)???????????????????????? ============================================================================= Part 3 Command line options Using the command line options means, you load SETUP from a dos command prompt (C:\) This means you select your episode and level before startup of the game instead of selecting it when you are online. This eliminates some of the problems that happen during the "waiting for master" screen. ***You and your partner have to enter the exact same commands in order for this to work. Incidently, these commands work in single-player mode also, just substitute 'duke3d' instead of 'setup' ***example 1: setup /L1 this will start setup, when you Launch Duke Nukem 3d, you will be on level 1. ***example 2: setup /V2 /L1 /S2 /T2 this starts a game on volume 2 (/V2=episode 2), level 1 (/L1), skill level 2 (/S2), and respawn inventory items (/T2) read the help for more options. When these commands are executed, by BOTH players, and Duke is launched, you will start on the episode and level you selected, and HOPEFULLY your problems should be gone. Good Luck! ============================================================================= Notes: ***Try everything a couple of times before changing anything, as your phone line quality could be randomly affecting your results. In order to achieve the best possible performance, you should have the correct string to turn off compression,error correction and hardware flow control on both modems. I use a 14400 or 19200 port speed but everyone insists 9600 is better. If this still doesn't work you should BOTH change of your strings to "AT Z" which resets the modems at their default settings. (flow control on,error control on,compression on). =============================================================================