A modern multiplayer lobby and launcher for any game that does peer-to-peer netplay through a source port over UDP. Ships with built-in relay support so guests never need to port-forward.

Download Netplayseeker

🪟
Windows
Windows 10 / 11 · 64-bit
↓
🐧
Linux
Debian 12+ · Ubuntu 22.04+ · modern distros
↓
🍎
macOS
Coming soon
📦
Linux AppImage
Coming soon

Linux users may need to install libgtk-3-0 and libwebkit2gtk-4.1-0 (or the distro equivalent) and run chmod +x Netplayseeker before launching — see the Running on Linux section below. macOS is planned but not yet available.

Running on Linux

Install dependencies (if needed)

Only required if the app refuses to start with a missing-library error. On Debian / Ubuntu:

sudo apt update && sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0

Extract the archive

Unzip the release somewhere convenient, for example ~/Netplayseeker:

unzip Netplayseeker-linux-x64.zip -d ~/Netplayseeker

Mark it executable

The executable bit is usually preserved by zip, but if double-clicking does nothing, set it manually:

chmod +x ~/Netplayseeker/Netplayseeker

Launch

Run it from a terminal or your file manager:

~/Netplayseeker/Netplayseeker

Linux troubleshooting

"error while loading shared libraries"
A required library is missing. Install the dependencies above, then check which one is missing:

ldd ./Netplayseeker | grep "not found"

"cannot open display"
You are running on a headless server or over plain SSH. A graphical session (X11 or Wayland) is required. On a server, use X11 forwarding (ssh -X) or run under a virtual display such as xvfb-run.

Nothing happens when double-clicking
The executable bit may not be set. Run chmod +x Netplayseeker from a terminal first.

WebKit rendering issues
Update your graphics stack:

sudo apt update && sudo apt upgrade

Before You Download the Source Ports

Source Port Downloads

SDLDuke Provided by Replica
This is the final build of xDuke — the classic SDL-based Duke Nukem 3D source port known for its stable network play. It was renamed to SDLDuke by Turrican as a planned successor, but the release was never officially published. The build linked here was preserved and provided by Replica. If you are looking for the widest compatibility with older multiplayer session tools and netlists, this is it.

Requires DUKE3D.GRP and DUKE.RTS from your original Duke Nukem 3D: Atomic Edition copy.
Get SDLDuke ↗
NetDuke32
A modern Duke Nukem 3D source port with updated netcode, provided as an alternative for players who want the newer network protocol.

Requires DUKE3D.GRP and DUKE.RTS from your original Duke Nukem 3D: Atomic Edition copy.
Get NetDuke32 ↗

What It Is

Netplayseeker is a lobby client and server system for games that support peer-to-peer netplay through a source port over UDP. It finds your friends, syncs maps, generates the right command line for each player, and launches the game — so you just pick a room and play.

Currently ships with source-port support for SDLDuke and NetDuke32 (Duke Nukem 3D), with more source ports and games on the way. If your favourite game has a source port that does peer-to-peer UDP netplay, it can be added.

Feature Overview

🎮 Multi-Source-Port Support

Launch games through SDLDuke or NetDuke32 today. Each source port receives the correct command-line arguments automatically.

🌐 Direct & Relay Modes

Direct mode uses your own port-forward if you have one. Relay mode routes UDP through a public relay server so guests never need to port-forward.

📦 Automatic Usermap Sync

Host picks a .map file, and every other client downloads it automatically — no more "missing map" desyncs.

🔒 Passworded Rooms

Host a private room with a password. Guests get an in-app prompt; passwords are bcrypt-hashed server-side.

💬 Lobby & Room Chat

Live lobby chat for everyone, plus a room-scoped chat so you can coordinate while the game is loading.

🔊 Sound Notifications

Subtle tones for chat messages, player joins, room creation, and game launch. Mute with one click.

⚙️ UPnP Port Forwarding

On routers that support it, Netplayseeker opens the game port automatically. Falls back to relay mode if UPnP fails.

⬆️ Auto-Update

Checks for updates on every launch. New versions download in the background and apply on restart — no manual reinstall needed.

How It Works

Connect

Enter a nickname and click Connect. The client registers or logs in with the lobby server, then opens a WebSocket for live updates.

Create or Join a Room

The host picks a source port, connection mode (Direct or Relay), and — optionally — a usermap. Guests see the room appear in the list, click it, and are in.

Get Ready

Guests click Ready. The host's Launch Game button becomes clickable once everyone is ready.

Play

Host clicks Launch. The correct command line is generated per player, the game opens, and everyone joins the same match. When the game closes, the client returns to the lobby.

Command Lines (Reference)

Source Port Host Guest
SDLDuke /v1 /l1 /m /c1 /tx -net netlist.txt /v1 /l1 /m /c1 /tx -net netlist.txt
NetDuke32 -v1 -l1 -m -c1 -tx -net /n0:N -net /n0 <host-or-relay-ip>

N = actual connected player count. Usermap selection adds -map <local-path> to both host and guest command lines, and each side uses its own local path — the file content is identical because the lobby server syncs it before launch.

Networking Modes

Works out of the box

Relay Mode

Guests need zero configuration. The relay server accepts traffic from any NAT and forwards UDP packets between host and guests. Good for the majority of home networks.

Requires port-forward

Direct Mode

Lowest latency — traffic flows host-to-guest directly. Requires the host to have UDP 23513 open on their router, either manually or via UPnP.

Limited compatibility

VPN Notes

Commercial VPNs with symmetric NAT can break the relay for the VPN'd player. Real-internet play is unaffected. Workaround: only one side behind a VPN at a time.

Known Bugs & Limitations

Requirements

Quick Start

1

Download & extract

Windows: unzip and run Netplayseeker.exe. If SmartScreen appears, click More info → Run anyway. Linux: unzip, install the GTK 3 / WebKitGTK 4.1 dependencies (see Running on Linux), then chmod +x Netplayseeker and run it.

2

Copy your Duke3D game files & open Settings

Copy DUKE3D.GRP and DUKE.RTS from your original Duke Nukem 3D: Atomic Edition install into the source port's folder. Then point Netplayseeker at your source-port executables (duke3d_w32.exe, netduke32.exe) and — if you use them — your usermap folders.

3

Connect and Play

Enter a nickname, click Connect, then create or join a room. Everyone clicks Ready, the host clicks Launch, and the game starts on every machine.