โ† Back to Netplayseeker

A complete guide on how to set up, host, and join games using Netplayseeker.

1. Understanding Networking Modes (Crucial)

Recommended

Relay Mode (Zero Configuration)

In Relay Mode, Netplayseeker routes your game traffic through a custom UDP server (currently located in New York). No one needs to touch their router. Whether you are the host or a guest, the app punches out to the relay, keeping the NAT mappings alive. If you want a guaranteed connection, use Relay.

Trade-off: Because your traffic takes an extra hop through the relay server, it can introduce a small amount of extra latency (lag) compared to Direct Mode. This is usually unnoticeable for slower-paced games like Duke Nukem 3D, but may be felt more in fast-paced shooters. Direct Mode will always feel snappier โ€” if both you and the host can port-forward, use Direct.

Advanced

Direct Mode (Port Forwarding Required)

Direct Mode connects players directly for the lowest possible latency. The host must have UDP port 23513 open on their router. If UPnP fails to open it automatically, you must forward it manually.

2. Step-by-Step Usage

Connect to the Lobby

Enter a nickname and click Connect. Netplayseeker will register a local account, log you in, and grab your public IP so others can connect to you.

Hosting a Room

Click Create Room. Choose your Source Port (NetDuke32, SDLDuke, ProDuke, or NBlood), and select Relay or Direct.

  • If you selected Direct and left "Skip UPnP" unchecked, the app will try to automatically open the port on your router.
  • Give the room a name and click Create.

Joining a Room

As a guest, simply click a room in the list to preview it, then double-click (or click Join) to enter. If it's password-protected, a modal will pop up asking for the password.

Configure Settings & Ready Up

The host configures the map, game mode, and rules in the center panel. As a guest, you just need to click Ready when you are good to go.

Launching the Game

Once all guests are Ready, the host's Launch Game button lights up. Clicking it will generate the correct command-line arguments and netlist.txt for every player and boot the game automatically.

3. Troubleshooting

Host's Launch button is greyed out

Make sure everyone in the room (except the host) has clicked the "Ready" button. The host cannot launch until all joined guests are ready.

Guests can't join / connection times out (Direct Mode)

If you are using Direct Mode, ensure the host has actually port-forwarded UDP 23513. If the host is on a CGNAT (Carrier-Grade NAT) or a strict corporate network, Direct Mode will fail. Recreate the room using Relay Mode instead.

Relay Mode fails to connect

Sometimes the connection to the relay server can hiccup or timeout. If the game fails to launch or connect, the specific error is usually displayed in the Room Chat on the right side.

Wait a moment and try clicking Launch again. If it continues to fail, go back to the lobby and recreate the room. When creating it, make sure to check the "Skip UPnP — force relay mode" checkbox. This bypasses any local router quirks that might be interfering with the connection.

I'm missing custom map files

Netplayseeker auto-syncs maps. However, you must have your Duke and Blood usermap folders configured in Settings. When the host selects a custom map, Netplayseeker will download it directly into your specified folder before the game launches.

4. Future Roadmap & Improvements

Port Testing & Diagnostics

Right now, if a port forward fails, you find out when the game fails to connect. In a future update, I plan to add built-in port testing that checks your router and tells you immediately if port 23513 is actually open before you even try to launch. This will save a lot of troubleshooting time.

Automatic Fallbacks

If you attempt to host a Direct room and the launcher detects that your network blocks direct connections (like CGNAT or strict firewalls), it will eventually be able to auto-suggest or automatically switch you over to Relay Mode without you needing to recreate the room manually.

Expanded Source Port Support

Every source port behaves a little differently with its command-line arguments and network expectations (as we discovered with NBlood and ProDuke). As I continue to test and work with the community, I'll be adding more intelligent handling for these quirks behind the scenes.