Duke Nukem 3D

This is a step by step guide to get Duke Nukem 3D online working with both ports fully functional. The "Duke Online Structure" later on will explain more about what I mean by ports. The guide is 8 steps long but extremely detailed in places. Please read all the information of each step as to not do something you may regret.

 

Duke Nukem 3D can be bought at this website.

 

At the bottom of the page there is a troubleshooting section that I have gathered. Please use for technical problems once you know Duke is setup!

 

I would like to thank |if3|355 for his great router guide and excellent configurator, Spantor for his amazing guide and all the players who have helped me understand this software. I would also like to thank 3DRealms for developing and creating the game.

Duke Online Structure

There are three main programs within this tutorial (excluding Duke Nukem Atomic itself). Here is an explanation for each:

 

DukesterX

DukesterX is the program that joins to online sessions. This program uses two ports known as Rancidmeat (aka xduke) and JFDuke. Both ports have to be setup in DukesterX options to their correct executables and correct other parameters.

 

xDuke

xDuke is one of the executables. It is the less intense graphical version but is usually more stable online than JFDuke is. The trouble with this port is it can only use peer 2 peer (P2P) networking whilst online so lag could become a common issue (especially over long distance). Xduke can work with Vista.

 

JFDuke

JFDuke is the other executable. This version can have 32 bit graphics which is better. This port can also use client-server networking where one host is hosting for many clients (how most online games work now). This could potentially produce less lag for others. However as previously mentioned JFDuke is slightly less stable than xDuke. JFDuke I've heard can work with Vista.

 

Both these programs (xDuke, JFDuke) use network ports to run the application on. If you are behind a router you will need to forward your ports. That comes later on in the step-by-step setup though.

 

Other

The other programs that are mentioned are visual basic and dxcontrols. Both these programs insure Duke can be run correctly. They are a one time setup and both free. It is best to run them even though you may already have them installed (they will not ruin your pc if installed twice).

 
Step-by-Step Setup

Step 1) Install Duke Nukem 1.5 Atomic / Extract Duke Nukem 1.5 Atomic.

(Please remember the file location you install/extract to!)

Step 2) Get DukesterX here.

Step 3) Install DukesterX to the Duke folder and into a new folder called 1.6.

Step 4) Get visual basic and dxcontrols here.

 

Run visual basic and press yes.

 

Extract all files for dxcontrols into the duke folder then run dxcontrols and hit install.

Step 5) Get xDuke here. Get JFDuke here.

Installing xDuke

Run the self extracting file you just downloaded. Install into the duke folder.

Installing JFDuke

Run the jfduke3d-setup. Follow the setup instructions (editor being optional but personally I ticked it off) and install to ...Duke\JFDuke (see screenshot below for an example).

After installation run the data install program (the top tick box should be ticked on the last page of installation).

 

If you missed the tick box, browse to the Duke folder, then JFDuke and double click "datainst".

Running the data install program select "Search this location:", press the "..." browse to and select the Duke folder. Then hit "Begin".

 

Step 6) Setting up in-game xDuke and JFDuke.

Setting up in-game xDuke

Go to the Duke folder. Run duke_w32. Go to options (may have to press escape) and setup everything there (keys, mouse video etc). Then exit game.

Setting up in-game JFDuke

Go to the Duke folder and then the JFDuke folder. Run the setup.exe file. Select Sound & Music, switch preferences on or off and then hit close. Then hit input devices where you can sort your keys (but I prefer to do it in-game via escape menu). Hit close again and hit "save configuration", press "ok" and press "exit".

 

What was the point of looking at the input devices? I think it needs to register you actually pressed the button to save it.

Setup.exe:

Setup.exe main screen:

Music, Sound and Video:

Input devices:

Saving:

 

Step 7) Setting up DukesterX

Go to the Duke folder, then 1.6, and then run DukesterX.exe. Enter your name in the "Your Name:" box. Hit the first >> box to set an icon for yourself (optional, not important).

Important: Router or not router... That is the question!

The second >> relies upon whether or not you have a router. Please see my router guide here and |if3|355's router guide here for help.

Behind Router (Router users only section)

After checking the guides if you are behind a router press the second >>, go to "Behind Router/Firewall", tick "Yes" and tick "Save Router Options".

Press the second >> again, go to "Use External IP" and tick "Find on each use".

You can test your ports under options>test firewall. I have heard though someone saying the test failed but it still worked so if you believe you have forwarded the port correctly then try host/join a game. Make sure you have an asterisk (*) next to your external (must be external) IP. If you do then DukesterX is setup correctly.

Not Behind Router (Non-Router users only section)

Press the second >> and go to behind Router/Firewall and hit "No". Then go to Whatismyip and insert the external IP into the "Your IP" box. Next time simply select it from the drop down menu.

DukesterX options (All user sections begin here again)

Now go to options.

Select Rancidmeat's port and press the "...". Browse to the Duke folder and select the Duke_w32.exe. Then press "OK" (unless you want to set a map directory like I have (see screenshot)).

After pressing ok press options again, select JFDuke, press "...", then browse to the JFDuke folder and select Duke3d.exe. Press "OK" again.

Step 8) Hosting or joining.

 

Hosting

Select the port you want.

 

Press the "Host" button on the main screen of DukesterX. This may do a checksum which you press "ok" to. Then hit "Host" again (only does the checksum once). Now type /servername=(insert name) and press the "Make Public" button.

 

To change max players right click in the player list box and set max no. of players. All in-game options can be changed with the "Game Options" button.

Joining

Select the port of your host.

 

Press the "Join" button on the main screen of DukesterX. This may do a checksum which you press "ok" to. Then hit "Join" again (only does the checksum once).

 

Blue servers = JFDuke port. Yellow servers = xDuke port.

 

Hit refresh server list until you can see the server you want or join manually. If you wish to add a server to favourites simply press "Add" whilst joining it. Next time press join manually and hit the server in the favourite list and hit ok.

Have fun playing duke!!!

 

Extras:

JFDuke in-game name

To change this go to the JFDuke folder and find the Duke3D cfg file. Open it with notepad, scroll right to the bottom and change your name.

 

JFDuke old startup / alternate startup

If the startup begins with showing the introductory duke nukem symbol with the flare going towards it simply wait (or skip with space or enter NOT ESCAPE, escape = quit) past it, wait for players to watch/skip their introductory credits, hit new game and set your settings up accordingly using left/right/enter. If you wish to play a usermap press enter on the usermap rather than start game.

 

Important Links

DukesterX

JFDuke

xDuke

 

Need More help?

If you need more help try this guide on DukesterX forums.

 

Problems/Errors and Fixes:

 

Starting Server, Resending Greeting - Problem caused by blocking incoming traffic. Fix: Forward ports or check for Anti-Virus / Firewall software blocking Duke.

 

Uninstall Duke and everything but still settings remain - Problem caused by registries on computer. Fix: http://forums.DukesterX.net/download.php?id=206 (thanks to |if3|355).

 

Run-time error '5': Invalid procedure call or argument - Problem caused by old version of duke. Fix: Get Duke Nukem Atomic 1.5.

 

No sound in game - Problem caused by the setup not been set up correctly. Fix: Run setup.exe in your duke folder and go to sound setup, set it up as sound blaster if your card is not there and then try running duke again (singleplayer sound option in-game may work if the setup does not).

 

Two players on one router - Problem caused by same port usage on both computers. Fix: Change the Duke port on one computer to 23500 and forward the port on that computer (see below for guide), leave the other computer 23513. If you wish to host, open port 8501 on the HOSTING computer.

 

BUILDSDL: SDL_GetError() says "No available video device" - Problem caused by video drivers not been installed and/or old directx versions. Fix: Install video drivers and/or update to the latest directx (9.0c) then run duke again.

 

You can not see the servers list box - Problem caused by the 'join a server' box been to small. Fix: Hold your primary mouse click at the edge of the small box and drag it until you can see the servers.

 

Unexpected packets – Problem caused by router ports not been opened and internet related programs been open. Fix: Close all programs internet related, open router ports. Nat free mode may help for this. Or you may need to port forward. Download |if3|355's Configurator to test to see if you've port forwarded properly.

 

Network transport initialization failed – Problem caused by external IP been the same as internal IP. Fix: Forward ports.

 

Unknown Multivoc error – Problem caused by sound card. Fix: Try disabling sound with setup.exe or buying a new sound card. Driver updates may help also or reinstalling sound drivers.

 

Out of Sync – Problem caused by con files and lag. Fix: Close all internet related programs, update duke3d binary if that does not work then reinstall duke.

 

Runtime Error (9) and people cant join server - Problem caused by registry errors (more specific: saving command line arguments as default in DukesterX). Fix: Download |if3|355's Configurator and hit the "RESET" button, this will delete all of your DukesterX information, Don't save anything in the "Command Line Arguments" textbox when you're hosting a game of Duke Nukem in DukesterX.

 

When Hosting Game No One Can Join - Problem caused by ports not been forwarded. Fix: Forward ports using |if3|355 Port Forward 101 guide.

Belkin Routers need to be configured in Internet Explorer.

Internet Explorer musn't be turned offline. Open Up Internet Explorer, Click FILE, then make sure "Work Offline" isn't checked. This can cause a problem with DukesterX trying to do what it needs to do.

 

Missing user.con, game.con, Duke3d.grp... etc:

Fix: Re-install Duke Nukem Atomic Edition to get these files.

Made with Namu6