emufii README

The project's README from github.com/jojodogm-ctrl/emufii. As one markdown file: README.md.

Emufii

Emufii

Play your emulators online with friends, using a six-character code.
No ports to open, no IP address to share. Built for Android handhelds.

Download Version Android Games License Discord Ko-fi

What it is · How it works · Consoles · Install · Privacy


[!IMPORTANT] DS local wireless needs WatermelonDS Emufii Edition. Starting with Emufii 2.0, DS local wireless games can be played online. This only works with WatermelonDS Emufii Edition, a fork of WatermelonDS that adds the netplay this needs.

It installs next to the official WatermelonDS, so you keep your saves and settings. Once the official WatermelonDS includes the netplay, the fork won't be needed anymore. Online play through Kaeru WFC still works with any melonDS or WatermelonDS.


What Emufii is (and isn't)

Emufii is an Android app that connects your emulators to your friends' emulators over the internet. The emulators think everyone is on the same Wi-Fi, so their own local multiplayer just works.

What it does What it isn't

Connects the players. A private network between the players for the length of a session, through Android's VPN feature. Only game traffic goes through it.

Sets up the emulator. Opens it on its multiplayer screen and fills in the connection details for you.

Shows your games. The games from your own ROM folder, with covers and a compatibility badge, to start a session from.

Brings your friends. Add them with a code, see who's online and what they're playing, and join their sessions.

Not an emulator. Every game runs in the emulator you already use. Emufii doesn't run any game itself.

Not a frontend. The game library is there to start multiplayer sessions. It doesn't replace your usual launcher.

Not a downloader. Emufii doesn't include, download or install games, BIOS files, keys or emulators. You install the emulators and use your own dumps.

Not streaming. Each player runs their own copy of the game on their own device.

Not a way back to official servers. Emufii never connects to Nintendo's or Sony's servers, so games that needed them don't work online. DS games through the Kaeru WFC revival server are the exception.


How it works

1. Host

Pick a game and share the six-character code.

2. Join

Friends enter the code or pick a public session.

3. Connect

Emufii opens the emulator and fills in the address.

4. Play

Everyone plays as if on the same Wi-Fi.

Consoles

Console Emulator Multiplayer mode Version needed
Switch Eden Local wireless Any recent version
3DS Azahar Local wireless Pre-release 2126.0-rc or newer
Wii / GameCube Dolphin Netplay Android build 2606a
PSP PPSSPP Ad hoc Any recent version
PS2 ARMSX2 System Link / LAN Any recent version
DS WatermelonDS Emufii Edition Local wireless 0.8.0.rc2-emufii
DS melonDS or WatermelonDS Online via Kaeru WFC Any recent version

[!NOTE] Which games work? Games that had local multiplayer on the original console, and for the DS online mode, games that used Nintendo Wi-Fi Connection. See the full list of compatible games.

Every player needs the same emulator version and the same copy of the game.


Install

[!WARNING] Beta. Works on Android 13, 14 and 15. Expect bugs, and please report them on Discord.

  1. Install the emulators you want to use.
  2. Download the latest APK and install it.
  3. Open Emufii and follow the setup.
The autofill option is greyed out

Android blocks it for apps installed outside a store. Go to App info → ⋮ → Allow restricted settings, then turn Emufii on in Settings → Accessibility.

Updating

Download the new APK from the releases page and install it over the old one. Your settings are kept.

Checking the APK signature
21:EF:2D:D6:11:E0:96:5A:70:8F:61:F6:00:77:DE:97:D4:0D:59:FD:56:2F:1D:C5:F6:EF:6C:87:77:5E:81:D5
apksigner verify --print-certs Emufii-2.0.apk

Privacy

What Where it goes
Session code, nickname, game On the server for the length of the session, deleted when it ends
Profile picture On the server, seen by your friends and the players in your sessions. Removing it in the app deletes it
Online status, last game Seen by anyone who has your friend code
Friend code Never shown to the other players of a session
Network traffic Only game traffic goes through Emufii's network
Games, BIOS, keys Never included. Use your own dumps

[!CAUTION] In a public session, other players' devices can reach yours, like on shared Wi-Fi. If you're playing with friends, keep the session private.


License

AGPL-3.0 (details in NOTICE.md). The app's source code is in this repository, but the session server and relay are private.

If you find a security issue, please report it privately on Discord.


How it was built

Emufii is built with Claude Code, and I'd rather tell you upfront. About 90% of the code was written with the AI, along with much of the research into how each emulator handles multiplayer.

That doesn't mean nobody is in charge. I decide the design and how the project is built and tested, I review the code that goes in, and I test every feature on real hardware before it ships.

Since then, a big part of the code has been rewritten.

If you're not comfortable with software made this way, that's completely fair. Just know that the app and the servers have had security reviews, with every issue found fixed, and that experienced developers have started contributing to the project.

If that sounds good to you, grab the latest version and come say hi on Discord!


Credits

Emulators
Eden · Azahar · Dolphin · PPSSPP · ARMSX2 · melonDS


Contributors
@sofianeelhor for the PPSSPP and ARMSX2 network automation
@BrianJr03 for the manual session setup and uncropped covers


Built with
WireGuard · Coil · Rounded M+


Also built on
WatermelonDS by SapphireRhodonite
melonDS Android by rafaelvcaetano
Kaeru WFC, the Nintendo Wi-Fi Connection revival


And everyone on the Discord who tests, reports bugs and plays.

emufii (jojodogm-ctrl/emufii)

emulation
Searching Database…

687 ·GitHub
What is this?Emufii is an Android app that connects your emulators to your friends' emulators over the internet, letting you play local multiplayer games online using a six-character code instead of sharing IPs or opening ports.
Is Emufii an emulator or a frontend?Neither: it's a VPN-based connector that sets up a private network so your existing emulators think they're on the same Wi-Fi; every game still runs in the emulator you already use.
How do I get it running?Install the emulators you want to use, download the latest APK from the releases page, install it, then open Emufii and follow the setup to host or join a session with a six-character code.
Which emulator versions do I need?Each console needs a specific emulator and sometimes a specific build, like Azahar pre-release 2126.0-rc or newer for 3DS and Dolphin Android build 2606a for Wii/GameCube; for DS local wireless you need the WatermelonDS Emufii Edition fork instead of the official app.
Any install pitfalls I should know about?The app is in beta and only tested on Android 13, 14 and 15, and the autofill option is greyed out by default because Android restricts apps installed outside a store, requiring you to enable restricted settings and an accessibility permission.
Does it work on iOS too?No, Emufii is built specifically for Android handhelds, with no mention of an iOS version.
What data does Emufii see or keep?The server only keeps your session code, nickname and current game for the length of the session and deletes them when it ends, your profile picture stays until you remove it, and only game traffic passes through the VPN tunnel.
Is the whole project open source under AGPL?The Android app's code is AGPL-3.0 licensed and lives in this repository, but the session server and relay that actually route player traffic are closed-source and run privately by the developer.
What game consoles can I play online with Emufii?It currently supports Switch (Eden), 3DS (Azahar), Wii/GameCube (Dolphin), PSP (PPSSPP), PS2 (ARMSX2) and DS (WatermelonDS/melonDS), covering games that had local multiplayer or used Nintendo Wi-Fi Connection.
What is Kaeru WFC?It's a revival server for Nintendo Wi-Fi Connection that lets DS games play online through any melonDS or WatermelonDS build, the one exception to Emufii never touching official Nintendo or Sony servers.
How much of Emufii's code was written by AI?About 90% of the code was written with Claude Code, though the developer designs the project, reviews every change, and tests each feature on real hardware before it ships.
Is it safe to join public sessions with strangers?Be cautious: in a public session other players' devices can reach yours much like being on shared Wi-Fi, so the developer recommends keeping sessions private when playing with friends.
Size
7.1 MB
Stars
687
Age
1mo
Commits · 90 Days