Duke Nukem 3D: Megaton Edition

Duke Nukem 3D: Megaton Edition

61 ratings
How to play DN3D online with ports
By Aza
This guide will show how to play online with stable third-party softwares. This includes mods support.
   
Award
Favorite
Favorited
Unfavorite
Introduction
While devs are working on beta MP mode, you can still enjoy Dukematches with stable tools like xDuke, EDuke32 and YANG.
In this guide, you will be presented two solutions to suit your tastes.

Note: the softwares presented in this guide are third-party softwares and won't unlock any Steam achievement.
Playing via DOS Duke
If you want to jump straight into the action, I suggest you adopt this solution.

Steam doesn't allow us to start anything else on DOS version but the setup screen and singleplayer mode from its interface so you will need to do some tweaking. DOS Duke requires DOSBox to run, which means it needs command lines each time you play. Don't worry, we are going to automate it all. Download my launcher {LINK REMOVED}.
In this archive is a launcher I have written with config files compatible with BMouse, a utility to smoothen mouse movements (DOS Duke doesn't normally allow X and Y mouse movements at the same time). You can even launch the level editor from there. Extract it in steam/steamapps/common/Duke Nukem 3D/gameroot/classic, make a shortcut of Duke Nukem 3D.bat on your desktop and there you go.
All the essential features of Duke Nukem 3D are now accessible via a simple interface. Simply make your selection with num pad. Everything has been made easy. Instructions are displayed on-screen for you to know how to host a game and join one. Even your external IP address is displayed on-screen for you to give them to your friends.
Please take note that to host, this solution requires you to open port 213 UDP in your firewall if you are behind a router.
Ports
The following option offers the possibility to use modern ports. I recommend these two:
  • hDuke (Windows only): It is a port based on xDuke which focuses on porting Duke Nukem 3D on Windows with few changes to the code so it is the closest to the original. Also, it has anti-cheat protection and some tweaking to DukeTag mode. I recommend using this one. You may encounter graphic glitches so you better run it from the included batch file (duke.bat).
    {LINK REMOVED}
  • xDuke: This port is useful if you want to play a coop mod that doesn't work on EDuke32 for some reason. I still strongly recommend hDuke for Dukematching. Run it with {LINK REMOVED} in a seperate folder.
    Link[vision.gel.ulaval.ca]
  • EDuke32 (supports all OSs): latest build is not stable for MP yet but it is updated really often (you can use a High Resolution Pack with it (3D models and high resolution textures) and it has polymer renderer (dynamic lighting and shadows)). In the meantime I suggest you use the one dedicated to MP (doesn't support HRP and polymer).
    Recommended build[forums.duke4.net]
    Latest build (not recommended)[dukeworld.duke4.net]
    Important: EDuke32-oldmp (the recommended build) tends to skip the difficulty setting. If you don't see any monster even though you put some, restart the level from the in-game menu (New Game and then select the level and its difficulty again).

If you use the latest EDuke32, you just need to run it. Otherwise, don't forget to place a copy of duke3d.grp in your other ports folders. It's located in Steam/SteamApps/common/Duke Nukem 3D/gameroot.

More info about ports here: http://steamcommunity.com/sharedfiles/filedetails/?id=133670461
Playing via YANG
This solution is for players who want a GUI interface with basic features like rooms list and a proper chat.

Download YANG here[yang-online.com].
Once installed and started up for the first time, you will encounter several windows.


YANG will ask you where your ports are located. Go to Duke Nukem 3D's tab, click on Icculus Duke3D's locate button and locate duke.bat if you want hDuke or xDuke (don't mix them in the same folder!).
You will then be asked for your screen name (self-explanatory) and finally your network settings where you shouldn't change anything unless you know what you're doing.


You're now on YANG main window. I suggest you tick the box on right (1) to get the list of hosted room on startup. The upper section is the rooms list (2). When you select one of them, players occupying it will be listed in the lower section (3). Left section (4) is where the filters search are. Double-click a room to join it.


Now you want to host a room, right? Select "Action" and then "Create a room".

On this window, name your server as you wish (1) and choose your port (2). "Spawn" setting determines what should respawn (3). If you want to play a mod, use args field: the first (4) is only for you in case you want to use HRP without bothering everyone with it for example and the second (5) is to determine what everyone will play on. Select Master/Slave connection type if you use hDuke or xDuke and Server/Client if you use EDuke32 (6). The purpose of the other parameters should be obvious to you.
Once the room created, I suggest you tick "Auto-accept downloads" so everyone who joins your room won't have to wait for your approval to download the map. When everyone is ready (left bottom button for them), click on "Launch game" to play.

Please take note this option requires you to open 23513 UDP and TCP ports to play and 8501 TCP port to host a game.
Conclusion
I hope you guys found this guide useful and exhaustive. Drop a comment to let me know what you think of it, notify me of anything wrong in it or make a suggestion.
52 Comments
Bry Feb 18, 2023 @ 8:43pm 
Steam Removed all your Links.
UraNuS Mar 15, 2021 @ 11:56pm 
dont with megaton...
JujuJustHerefr Mar 4, 2021 @ 8:56am 
Looks like its workin thanks
Aza  [author] Mar 3, 2021 @ 12:29am 
Having two different values implies you want to open a range of ports. Here, we are talking about a single port, so set them both to 8501 TCP. You might also need to create a rule for 23513 UDP and TCP.
JujuJustHerefr Mar 2, 2021 @ 7:44pm 
question so they want me to put a start port and a end port am i supposed to put 8501 for both?
JujuJustHerefr Mar 1, 2021 @ 5:00pm 
ah ok thanks bru
Aza  [author] Mar 1, 2021 @ 3:22pm 
Yes, you do need to forward your ports. Unfortunately, with so many brands and models, the best I can do to help you get through it, is suggest you to visit this website: https://portforward.com/
JujuJustHerefr Mar 1, 2021 @ 11:16am 
question do i have to forward my ports cuz eduke is saying "port number 8501 is not forwarded in your network.
* Trying master server 1, please wait..." whats the fix?
c7 .Tweety' Jun 3, 2020 @ 11:45am 
excelent guide
chris_clash Jan 20, 2016 @ 6:56am 
so are any of these populated or are they as dead as playing mp though steam?