- Mirror of Google Sites
- Download and extract the latest Lanemu release by selecting your OS under Packages
- Launch Lanemu
- Windows
- Run Lanemu.exe
- Linux
- Run Lanemu.desktop or Lanemu-pkexec / Lanemu-run0
- Windows
- Do you want to join 'Default network'?
- Click No
- Click the Options icon and select Global tab
- Specify Your Name
- Specify any port in "Listen on Port" (e.g., 5521)
- At least one user should enable UPnP or forward the port(s) on the router
- All used TCP and UDP ports are displayed in the Protocol selection
- Legacy TCP port is unnecessary if all users are able to connect via RUDP
- If nobody can set up port forwarding (stuck behind NAT)
- Lanemu might be able to connect peers by using STUN and UDP hole-punching
- STUN only works if all peers set Protocol to RUDP + UDP or RUDP
- Created network must include BitTorrent Trackers / DHT Nodes
- Peers behind Symmetric NAT won't be able to connect to anyone
- In case of Symmetric NAT, all users can try hyper-nat (everyone must set Protocol to TCP + UDP)
- Windows
- Download the latest forwarder.zip under Assets
- Extract forwarder.zip to Lanemu folder
- Linux
- Install npm
- Download the latest Source code (tar.gz) under Assets
- Extract hyper-nat.tar.gz to Lanemu folder
- Windows
- If connection via hyper-nat is unsuccessful, all users can route Tailscale or other similar VPN through Lanemu
- Lanemu allows Layer 3 VPNs to work in games that require Broadcast / Multicast
- Replace all instances of PublicIP:Port with Tailscale or other VPN IP (e.g., 100.111.88.108:5521)
- Alternatively, one user (Host PC) can create a tunnel (e.g., playit.gg)
- Lanemu supports TCP+UDP or UDP-only / TCP-only tunnels
- Tunnel type requirements (TunnelIP:TunnelPort -> 127.0.0.1:LanemuPort)
- TCP+UDP
- Lanemu Protocol: RUDP + UDP (Legacy TCP) or TCP + UDP
- Example: tcp-udp-tunnel.gl.at.ply.gg:6411 -> 127.0.0.1:6411
- TunnelPort and LanemuPort must be identical
- RUDP + UDP needs 1 tunnel with 2 sequent ports (e.g., 6411 & 6412)
- STUN server field in the Network tab must be empty
- Lanemu Protocol: RUDP (Legacy TCP)
- Example: tcp-udp-tunnel.gl.at.ply.gg:6411 -> 127.0.0.1:5521
- TunnelPort and LanemuPort can be the same or different
- Lanemu Protocol: RUDP + UDP (Legacy TCP) or TCP + UDP
- UDP-only
- Lanemu Protocol: RUDP + UDP
- Example: udp-tunnel.gl.at.ply.gg:6411 -> 127.0.0.1:6411
- TunnelPort and LanemuPort must be identical
- RUDP + UDP needs 1 tunnel with 2 sequent ports (e.g., 6411 & 6412)
- STUN server field in the Network tab must be empty
- Lanemu Protocol: RUDP
- Example: udp-tunnel.gl.at.ply.gg:6411 -> 127.0.0.1:5521
- TunnelPort and LanemuPort can be the same or different
- Lanemu Protocol: RUDP + UDP
- TCP-only
- Lanemu Protocol: TCP
- Example: tcp-tunnel.gl.at.ply.gg:6411 -> 127.0.0.1:5521
- TunnelPort and LanemuPort can be the same or different
- Lanemu Protocol: TCP
- TCP+UDP
- Lanemu might be able to connect peers by using STUN and UDP hole-punching
- At least one user should enable UPnP or forward the port(s) on the router
- Click OK
- Steps for Host PC
- If you are using hyper-nat
- Modify hyper-nat options.json file
{ "schema": [ { "mode": "server", "proto": "tcp", "port": "5521", "host": "127.0.0.1", "secret": "SomeUniqueTextThatIsTheSameForAllPorts" }, { "mode": "server", "proto": "udp", "port": "5521", "host": "127.0.0.1", "secret": "SomeUniqueTextThatIsTheSameForAllPorts" } ] } - Launch hyper-nat
- Windows
- Run hyper-nat.exe
- Linux
- Open the Terminal in Lanemu -> hyper-nat folder
npm installnpm run start
- Open the Terminal in Lanemu -> hyper-nat folder
- Windows
- Windows : Allow hyper-nat through Windows Firewall
- Check both Private and Public networks
- Click Allow access
- Copy your public key from the Console / Terminal
- Windows
- Highlight it and press CTRL + C
- Linux
- Highlight it and press CTRL + SHIFT + C
- Windows
- Send your public key to every Client
- Modify hyper-nat options.json file
- Create a network
- Click the New Network icon
- Select Simple tab
- Specify Network Name
- Select Advanced tab
- If you are using UPnP / Port Forwarding or Tunneling Services
- Specify your PublicIP:Port or TunnelIP:Port in Known Hosts
- Example: 82.129.80.111:5521 or udp-tunnel.gl.at.ply.gg:6411
- Specify your PublicIP:Port or TunnelIP:Port in Known Hosts
- If you are using hyper-nat
- Specify these network settings
- Known Hosts: 127.0.0.1:5521
- BitTorrent Trackers: Empty
- BitTorrent DHT Nodes: Empty
- Specify these network settings
- If you are using UPnP / Port Forwarding or Tunneling Services
- Click OK
- Windows : Allow OpenJDK through Windows Firewall
- Check both Private and Public networks
- Click Allow access
- Create an invitation
- Click the Invite Someone icon
- Check Allow invitation of others
- Click Generate Invitation
- Click Save to a File
- Click Close
- Send the invitation file to every Client
- You may also send a pre-configured profile.ini file that automatically accepts your invitation on first launch
default.autoInvite=invitation_file.txt
- You may also send a pre-configured profile.ini file that automatically accepts your invitation on first launch
- If you are using hyper-nat
- Steps for Client PC
- If you are using hyper-nat
- Temporarily close Lanemu
- Right click Lanemu tray icon and select Quit
- Modify hyper-nat options.json file
{ "schema": [ { "mode": "client", "proto": "tcp", "port": "5521", "serverport": "5521", "publicKey": "CopyPasteTheServerPublicKeyHere" }, { "mode": "client", "proto": "udp", "port": "5521", "serverport": "5521", "publicKey": "CopyPasteTheServerPublicKeyHere" } ] } - Launch hyper-nat
- Windows
- Run hyper-nat.exe
- Linux
- Open the Terminal in Lanemu -> hyper-nat folder
npm installnpm run start
- Open the Terminal in Lanemu -> hyper-nat folder
- Windows
- Windows : Allow hyper-nat through Windows Firewall
- Check both Private and Public networks
- Click Allow access
- Wait until hyper-nat establishes connection to the server
- The window closes if connection fails, you might have to retry several times
- Relaunch Lanemu
- Temporarily close Lanemu
- Join a network
- Click the Accept Invitation icon
- Click Load from File
- Click OK
- Windows : Allow OpenJDK through Windows Firewall
- Check both Private and Public networks
- Click Allow access
- Wait for connection
- If connection did not occur automatically
- Option 1 : Click the Connect to Known IPs icon at the bottom
- Option 2 : Click the Information icon at the bottom and select Connections tab
- If you are using hyper-nat
- Enter 127.0.0.1:Port (e.g., 127.0.0.1:5521) next to the Connect To button and click it
- If you are using other connection method
- Enter a peer PublicIP:Port or TunnelIP:Port next to the Connect To button and click it
- If you are using hyper-nat
- If connection did not occur automatically
- If you are using hyper-nat
- Install libnotify and libayatana-appindicator to mitigate tray issues
- Enable DirectPlay via Winetricks or Protontricks / Lutris / Bottles
- Disable SSDP Discovery
- Open Control Panel
- Click System and Security
- Click Administrative Tools
- Open Services
- Right click SSDP Discovery and select Properties
- Click Stop
- Startup type: Disabled
- Click Apply and OK
- Enable DirectPlay and Media Features
- Open Control Panel
- Click Programs
- Click Turn Windows features on or off
- Expand Legacy Components
- Check DirectPlay
- Check Media Features
- Click OK
- Allow DirectPlay and game through Windows Firewall
- Open Control Panel
- Click System and Security
- Click Allow an app through Windows Firewall
- Click Change settings
- Click Allow another app
- Click Browse
- DirectPlay
- Go to C:\Windows\SysWOW64
- Select dplaysvr.exe and click Open
- DirectPlay 8 (x32)
- Go to C:\Windows\System32
- Select dpnsvr.exe and click Open
- DirectPlay 8 (x64)
- Go to C:\Windows\SysWOW64
- Select dpnsvr.exe and click Open
- Game
- Go to game directory
- Select game executable and click Open
- DirectPlay
- Click Network types
- Check Private and Public
- Click OK
- Click Add
- Click OK
- Visit PCGamingWiki for game patches / fixes
- Use DXVK or DXVK-Sarek for DirectX 8/9 games
- Use dgVoodoo or DxWrapper for older DirectX / DirectDraw games
- Use Special K for improved frame pacing and other advanced features


Make sure everyone has Dolphin allowed on Windows Firewall for both Private and Public networks.
If someone has any other VPNs installed (e.g., Radmin, Hamachi, ZeroTier, GameRanger), it would be better to disable their network adapters.
Not sure about Dolphin, but maybe it has a setting for choosing which network adapter to use?