Build. Test. Improve.
LanParty

TOOL · WINDOWS · OPEN SOURCE

LanParty

A virtual LAN for old-school multiplayer, over the internet. One friend hosts, everyone else joins, and every machine appears on a shared network — LAN lobby discovery, broadcasts, even IPX-era protocols all work, because the tunnel carries raw Ethernet frames.

WHAT IT IS

Think tiny self-hosted Hamachi: one small app, no accounts, no third-party servers. Every player's copy of LanParty opens a TAP-Windows virtual network adapter — a raw Ethernet device — and the host acts as a virtual switch, forwarding frames to whoever they're addressed to and flooding broadcasts to everyone. That flooding is what makes an old game's "LAN lobby" discovery work over the open internet as if everyone were plugged into the same switch.

Built because the old multiplayer — the kind bound to a physical LAN cable — deserved to keep working. No re-releases, no matchmaking service, no publisher permission required.

GETTING A PARTY RUNNING

STEP 01

INSTALL

Run LanParty-Setup.exe. It installs the app plus the TAP-Windows virtual network driver if you don't already have it — Windows may ask you to trust “OpenVPN Inc”, say yes.

STEP 02

LAUNCH

Open LanParty from the Start Menu. It asks for admin — it needs that to manage the virtual network adapter.

STEP 03

HOST OR JOIN

Hosting: click Start hosting, forward UDP 7777 on your router, then Copy join address and send it. Joining: paste the address you were sent and click Join.

STEP 04

PLAY

When the log says “connected! you are 10.67.0.x”, open your game and host or join a LAN lobby like it's 1999.

SECURITY

v0.3

PARTY CODE → KEY

The code is stretched with Argon2id (64 MB, ~0.5 s) into a 32-byte key. Guessing a code means paying that cost per guess; the host also rate-limits attempts, so online guessing is hopeless.

FRESH KEYS EVERY SESSION

Joining is one round trip, authenticated with the key and mixed with fresh X25519 keys — a recording of one session can't be replayed into another.

EVERY PACKET ENCRYPTED

XChaCha20-Poly1305, authenticated, with a per-direction counter and a 64-packet replay window — the same scheme WireGuard uses.

SILENT TO STRANGERS

The host never replies to anything that doesn't authenticate. To a port scanner, the party looks like a closed port.

What it does not do: hide that you're running LanParty from someone watching your traffic, or protect you from a friend's PC that's already compromised — you're on a real LAN with them, same as a physical LAN party.

COMMAND LINE

The exe also works from an admin terminal:

lanparty host [-port 7777] [-code XXXX-XXXX]
lanparty join <host-ip:port#CODE> [-name You]

-no-ipconfig skips the automatic 10.67.0.x address if you'd rather set it yourself.

GOOD TO KNOW

BUILT WITH

Go, a TAP-Windows virtual adapter, and Inno Setup for the installer. MIT licensed — the source, the build script, and the installer script are all on GitHub.

← ALL PROJECTS
>
        Type h, b, p, s, l, a — or "/help" for everything else.