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)

Searching Database…

727 ·GitHub
这是什么?Emufii 是一款 Android 应用,能把你的模拟器与朋友的模拟器通过互联网连接起来,让你用一个六位字符代码在线玩本地多人游戏,而不必共享 IP 或开放端口。
Emufii 是模拟器还是前端?都不是:它是一个基于 VPN 的连接器,会搭建一个私有网络,让你现有的模拟器以为彼此在同一个 Wi-Fi 上;每个游戏仍然在你已经在用的模拟器中运行。
怎么让它跑起来?安装你想使用的模拟器,从 releases 页面下载最新的 APK 并安装,然后打开 Emufii,按照设置流程用六位字符代码主持或加入一个会话。
我需要哪些模拟器版本?每种主机都需要特定的模拟器,有时还需要特定的构建版本,例如 3DS 需要 Azahar pre-release 2126.0-rc 或更新版本,Wii/GameCube 需要 Dolphin Android build 2606a;DS 本地无线联机则需要 WatermelonDS Emufii Edition 分支,而不是官方应用。
安装上有什么需要知道的坑吗?该应用处于 beta 阶段,只在 Android 13、14 和 15 上测试过;自动填充选项默认是灰色的,因为 Android 会限制从商店外安装的应用,你需要启用受限设置并授予无障碍权限。
它也能在 iOS 上用吗?不能,Emufii 是专门为 Android 掌上设备构建的,没有提到 iOS 版本。
Emufii 会看到或保留哪些数据?服务器只在会话期间保留你的会话代码、昵称和当前游戏,会话结束即删除;你的头像会一直保留,直到你自行删除;VPN 隧道中只传输游戏流量。
整个项目都是以 AGPL 开源的吗?Android 应用的代码采用 AGPL-3.0 许可并保存在这个仓库中,但实际转发玩家流量的会话服务器和中继是闭源的,由开发者私有运营。
用 Emufii 可以在线玩哪些游戏主机?它目前支持 Switch(Eden)、3DS(Azahar)、Wii/GameCube(Dolphin)、PSP(PPSSPP)、PS2(ARMSX2)和 DS(WatermelonDS/melonDS),涵盖曾经有本地多人模式或使用过 Nintendo Wi-Fi Connection 的游戏。
Kaeru WFC 是什么?它是 Nintendo Wi-Fi Connection 的复活服务器,让 DS 游戏可以通过任何 melonDS 或 WatermelonDS 构建进行联机,这也是 Emufii 绝不接触任天堂或索尼官方服务器的唯一例外。
Emufii 的代码有多少是 AI 写的?大约 90% 的代码是用 Claude Code 编写的,不过项目由开发者负责设计,每次改动都经过其审查,每个功能在发布前都会在真实硬件上测试。
和陌生人一起加入公开会话安全吗?要谨慎:在公开会话中,其他玩家的设备可以像处于同一个共享 Wi-Fi 那样访问你的设备,因此开发者建议和朋友游玩时保持会话私密。
Size
7.1 MB
Stars
727
Age
1mo
Commits · 90 Days