Netplay
RetroArch network play in archr-launcher, over the internet or directly between handhelds without a router
RetroArch can run a libretro core over the network, and archr-launcher has the settings for it, a room browser for joining games, and a local mode where one handheld becomes the access point for the others.

It only works with libretro cores. Standalone emulators (DraStic, PPSSPP, Yabasanshiro, DuckStation, ScummVM) have no netplay here.
Turning it on
Open Settings › Games and, under Other, Netplay. The same switch is also on Settings › Network › Network services (Netplay).
- Enable Netplay (
global.netplay) and Nickname (the name other players see). - Connection: Host and Port (default
55435), Relay server (Off, New York, Madrid, Montreal, São Paulo or Custom) and Custom server for an address of your own. A relay routes the session through a public server, so it works behind NAT without opening a port. - Lobbies: Relay games only filters the room list to rooms hosted through a relay; Show unavailable games also lists rooms for games you do not have.
- Game index: Index games now is still marked Coming soon.
Joining a room
With Netplay enabled, the Y menu on the Systems screen gains Netplay, which opens Connect to Netplay:
- Rooms are grouped under On the local network, Online and Unavailable, each marked Same ROM, Different ROM, Unknown ROM, No ROM or No core. Only Same ROM is a safe join.
- Each room shows the host, the core, the relay and the latency.
- A on a room offers Join (play) or Watch (spectate); Y refreshes the list; B closes.
Hosting a room from the launcher is not available yet.
Local Play (no router)
One handheld can be the access point for the others, which is what you want on a train or in a park. The settings are in Settings › Network › Network services, under Local Play (no router).

First, on every handheld
Turn Wi-Fi on. The Local Play setting depends on it.
On the host
Turn Local Play on and set Player to 1. The handheld brings up an access point called NETPLAY_AP on the Channel chosen (6 by default) and takes the address 192.168.80.1.
On the other handhelds
Turn Local Play on, set Player to 2, 3 or 4 and use the same Channel. They join NETPLAY_AP on their own, so there is no SSID to type.
About the game session
Local Play configures the network, not a Netplay session, so opening the same ROM and core on every handheld is not enough. Hosting a Netplay session from the launcher is not available yet.
Local Play takes over the wireless adapter, so while it is on there is no internet: no scraping, no updates, no online rooms.
Local Play needs a wireless adapter with access point support (wifictl has_ap_mode).
What Netplay Changes While Enabled
Before launching any game, setsettings.sh updates retroarch.cfg. While Enable Netplay is turned on, three settings are applied globally:
- Auto save/load state is turned off so both players start from a synchronized state.
- RetroAchievements Hardcore mode is turned off.
- On client handhelds,
netplay_client_swap_inputis set so the second console controls Player 2.
Because the first two rules follow the global Enable Netplay switch, remember to turn Enable Netplay off when you return to single-player games if you rely on auto-savestates or Hardcore achievements.
Several cores also receive automatic link-cable or multitap setup:
| Core | Automatic Setup |
|---|---|
gambatte | Game Boy link cable over network (server on host, client on others, using port + 1) |
tgbdual | Dual-screen Game Boy link cable assigned by Local Play Player ID |
genesis_plus_gx | 4-Way Play adapter on port 2 |
snes9x | Super Multitap on port 2 |
Supported Libretro Cores
Netplay-capable libretro cores shipped on ArchR include:
- SNES:
snes9x,snes9x2010,snes9x2005_plus,snes9x2002 - NES:
fceumm,nestopia,quicknes,mesen - GB / GBC:
gambatte,sameboy,gearboy,tgbdual,DoubleCherryGB - GBA:
mgba,vba_next,vbam,beetle_gba,gpsp - Mega Drive / Master System:
genesis_plus_gx,picodrive - Arcade / Neo Geo:
fbneo,fbalpha2012,mame2003_plus,mame2010,neocd - PlayStation:
pcsx_rearmed,pcsx_rearmed32 - PC Engine:
beetle_pce_fast,beetle_supergrafx
Troubleshooting
The lobby reports a ROM mismatch. Both players must use the exact same ROM file (identical CRC). Use verified No-Intro or Redump dumps on both handhelds.
Nobody can join your internet room. Most home routers block incoming connections on port 55435 unless port forwarding is configured. Select a Relay server (New York, Madrid, São Paulo, or Montreal) in Settings › Games › Netplay.
Lag spikes in Local Play mode. Nearby Wi-Fi networks may be congested on the same frequency. Change Channel between 1, 6, and 11 on all handhelds in Settings › Network › Network services.