iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
The dependable way to play Duke Nukem 3D online in 2026 is to use the NetDuke32 multiplayer fork with EDuke32’s source-port technology, your own legally obtained game data, and UDP port 23513 forwarded to the host. Mainline EDuke32 multiplayer is currently documented as non-functional, so installing ordinary EDuke32 alone is unlikely to produce a working Internet match.
What you need before anyone connects
Every participant needs three things: a compatible NetDuke32 build, matching Duke Nukem 3D data, and a network path to the host. The engine is free and open-source, but the commercial artwork, sounds, maps and other game content are still proprietary. You must supply that content from a legitimate copy rather than downloading an unlicensed data archive.
- NetDuke32: the multiplayer-focused fork recommended by the current EDukeWiki multiplayer documentation.
- Game data: normally
DUKE3D.GRPandDUKE.RTS. - A supported source of the data: the installation guide lists Steam, GOG, ZOOM Platform, original CD releases and the shareware version.
- A host: one player runs the server command and normally forwards UDP port 23513 from the router to that computer.
- Matching installations: use the same NetDuke32 version and compatible data files for everyone. Differences in executable or game data are a common cause of failed joins and desynchronization.
The official EDuke32 project describes its software as “an awesome, free homebrew game engine and source port of the classic PC first person shooter Duke Nukem 3D.” That description applies to the engine; it does not make the original commercial game content free.
Free tools Windows power users keep installed
One-click scans. No signup required.
Why NetDuke32 is the right multiplayer choice
EDuke32 remains the engine and source-port foundation, but EDukeWiki’s current multiplayer page states that multiplayer in the mainline build is broken and recommends the NetDuke32 fork instead. NetDuke32 is intended to address the networking problems that make old Duke3D Internet matches difficult to maintain.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Its project documentation advertises improved networking, smoother prediction, clearer scoreboards and support for up to 16 players. The original Duke3D multiplayer implementation supported eight players. “Up to 16” is a documented capacity, not a promise that every map, connection or host will feel equally good with 16 people.
| Option | Current multiplayer position | Player capacity documented by the project | Networking characteristics | What you should use it for |
|---|---|---|---|---|
| Mainline EDuke32 | EDukeWiki currently documents multiplayer as broken | Not a dependable online option | Do not expect a functional Internet session from the regular build alone | Single-player, source-port features and other non-multiplayer uses |
| NetDuke32 | Recommended multiplayer fork | Up to 16 players | Improved networking, smoother prediction and clearer scoreboards are advertised by its documentation | LAN or Internet matches using the documented host and client commands |
| Original Duke3D multiplayer | Legacy implementation | Eight players | Older networking and prediction behavior | Historical compatibility, not the preferred modern online route |
Install NetDuke32 and add the game data
1. Obtain a legal data source
Install or extract Duke Nukem 3D from one of the sources named by the installation guide: Steam, GOG, ZOOM Platform, an original CD release or the supported shareware release. The commercial editions contain proprietary files; owning the engine source or downloading a source port does not transfer ownership of those files.
The shareware data is a supported way to test the engine, but it is not the same content as a full commercial release. If you want the complete campaign and commercial episode content, use data from a legitimately purchased full release.
2. Extract the engine
- Download the NetDuke32 package appropriate for your operating system.
- Extract it into a folder you can write to, rather than leaving files inside a compressed archive.
- Locate the executable supplied by the package. The command examples below use
netduke32; on a platform that requires an executable suffix, use the corresponding filename. - Copy
DUKE3D.GRPandDUKE.RTSfrom your legitimate game installation into the NetDuke32 folder, unless the package instructions specify another data location. - Start the program once in single-player mode. A successful launch confirms that the engine can find the data before you involve a second computer.
Do not rename one player’s data files to disguise a different edition. All players should use compatible content, and everyone should agree on the same NetDuke32 build before creating a match.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Host an Internet game
1. Run the documented host command
Open a terminal or command prompt in the NetDuke32 folder and run:
netduke32 -net -n0:3
This is the host command documented for NetDuke32 multiplayer. Keep the host process running while others connect. Do not substitute the client command on the hosting computer.
2. Allow the program through the computer firewall
When the operating system asks whether NetDuke32 may communicate, allow it on the network you are actually using. If the firewall was previously set to block the executable, create an inbound rule for NetDuke32 and permit UDP traffic on port 23513. A firewall exception for the executable and a router rule are separate: approving one does not automatically configure the other.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
3. Forward UDP 23513 on the router
The default listening port is UDP 23513. In the router’s administration interface, open the section usually labelled Port Forwarding, Virtual Server or NAT, then create a rule with these values:
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
| Setting | Value |
|---|---|
| Protocol | UDP |
| External/public port | 23513 |
| Internal/private port | 23513 |
| Destination device | The host computer’s LAN address |
The exact labels vary by router, but the protocol and port must not be changed accidentally to TCP. Forward the rule to the computer running the host command, not to another device on the network. Give your friends the host’s public IP address or a hostname that resolves to it; the private address shown by the computer is normally usable only by players on the same LAN.
4. Share the right address
- Same home network: provide the host computer’s local/LAN IP address.
- Different homes: provide the host’s public IP address or a hostname pointing to it.
- Changing public address: if the public address changes, players must use the new address or an updated hostname.
Do not send players the router’s management address as a substitute for the game host address unless that address is also the correct externally reachable address. The relevant destination is the address that routes to the computer receiving UDP 23513.
Join the game
Each joining player opens a command prompt in their own NetDuke32 folder and runs the documented client form:
Recommended Free Tools
netduke32 -net -n0 host1
Replace host1 with the host’s IP address or hostname. For a LAN match, use the host’s local address. For an Internet match, use the host’s public address or reachable hostname.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
- Confirm that your own
DUKE3D.GRPandDUKE.RTSare present before launching. - Use the same NetDuke32 release as the host.
- Run the client command with the host address in place of
host1. - Wait for the host’s game session to appear or connect according to the build’s normal multiplayer screen.
- If the connection fails, stop changing several settings at once. Test the address, firewall and port in that order so you know which change solved the problem.
LAN first, Internet second
A short LAN test isolates installation problems from router problems. Put two computers on the same local network, start the host command, and have the second player use the host’s LAN IP. If that works, the NetDuke32 executable and game data are at least capable of communicating locally. An Internet failure after a successful LAN test usually points to the router forward, the host firewall or the address being shared rather than to the game files.
If the LAN test fails, forwarding a port will not fix it. Recheck that both players launched NetDuke32 rather than ordinary EDuke32, that both have the required data files, and that the host and client commands were entered exactly as documented.
What “up to 16 players” means in practice
NetDuke32 documentation advertises support for as many as 16 players, double the original Duke3D limit of eight. The larger ceiling is useful for organized matches, but it does not remove the practical limits imposed by the host computer, the map, packet loss or each participant’s connection.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Prediction and input responsiveness matter because the game must display movement before every network update has arrived. NetDuke32 specifically advertises smoother prediction, while its networking changes are intended to reduce the roughness associated with the original implementation. A match can still feel poor if the host is overloaded or if packets are being blocked or lost. Treat the advertised player count as a supported maximum, then add players gradually instead of assuming that a 16-player session will behave like a two-player test.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Desynchronization and connection troubleshooting
| Symptom | Likely check | Action |
|---|---|---|
| The game starts but players quickly disagree about positions or events | Executable or data mismatch | Have everyone use the same NetDuke32 build and compatible copies of DUKE3D.GRP and DUKE.RTS; restart the session after replacing files. |
| No one outside the host’s home can connect | Router forwarding or host firewall | Verify that UDP, not TCP, is forwarded on port 23513 to the actual host computer, and allow NetDuke32 through the host firewall. |
| LAN players cannot connect | Wrong address or wrong executable | Use the host’s LAN IP, confirm that the host ran netduke32 -net -n0:3, and confirm that the client ran the command with the host address. |
| The host can play but the client receives an immediate failure | Missing data or incompatible installation | Check for both required files in the client’s NetDuke32 data location and make the installations consistent before testing again. |
| Some players connect while another cannot | That player’s local firewall, address or data | Compare the failing player’s command and files with a player who connected, then test from the same network type as the successful player. |
| Connections stopped after the router or computer changed | Forwarding points to an old LAN address | Update the port-forward destination to the host computer’s current LAN address and verify the firewall rule again. |
Check the command before changing the network
The most common avoidable mistake is using a plausible-looking command with the wrong role. The host must use netduke32 -net -n0:3. A joining player must use netduke32 -net -n0 host1 with the real host address substituted. Ordinary EDuke32 is not a replacement for the recommended NetDuke32 multiplayer build.
Check data files separately from networking
A missing DUKE3D.GRP or DUKE.RTS can prevent a launch or produce a session that does not behave consistently. Check the filename, location and edition on each computer. The shareware release is supported, but a shareware installation should not be assumed to contain the same commercial content as a full release.
Check the port in both places
Port forwarding changes the router’s NAT behavior; a host firewall controls the computer itself. Both layers must permit UDP 23513. If a LAN test works but an Internet test does not, concentrate on those two layers and on whether the correct public address was shared.
Safety and cleanup after a match
- Forward only UDP 23513, the documented default port, rather than opening an unrestricted range.
- Forward it to the intended host computer only.
- Do not publish the host’s public address beyond the people you invited.
- When you are finished hosting, remove or disable the forwarding rule if you do not need a persistent server.
- Keep the NetDuke32 executable and data in a dedicated folder so you can replace a mismatched build without disturbing other game installations.
Legal data ownership and what the source port provides
NetDuke32 and EDuke32 provide the engine technology, networking code and source-port features. They do not grant permission to redistribute the original game’s commercial art, sounds, maps or other content. The supported workflow is therefore: obtain Duke Nukem 3D through a legitimate source, copy the required data files into the source-port installation, and share only the connection information with your friends. Do not send your game archive to other players; each person should obtain their own lawful data.
The shortest reliable setup checklist
- Install or extract NetDuke32.
- Place legally obtained
DUKE3D.GRPandDUKE.RTSwhere NetDuke32 can find them. - Use the same NetDuke32 build and compatible data on every computer.
- On the host, run
netduke32 -net -n0:3. - Allow NetDuke32 through the host firewall.
- Forward UDP port 23513 to the host computer’s LAN address.
- Give LAN players the host’s local IP; give Internet players the public IP or hostname.
- Have each client run
netduke32 -net -n0 host1, replacinghost1with the host address. - If it fails, test on the LAN first, then recheck the firewall, UDP forwarding, address and matching files.
That combination—NetDuke32 instead of broken mainline EDuke32 multiplayer, legitimate matching data, the documented commands and UDP 23513 forwarded to the host—is the current practical route to a Duke Nukem 3D online match.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

