digitalirony 23 Posted Sunday at 02:36 AM Posted Sunday at 02:36 AM ROMote turns your Emby server into a retro game library you can play right in the browser — no external emulator, no client install. Point it at your game backups and Emby shows them with box art; click a game and it boots in a WebAssembly emulator in the same tab. Saves live on the server, per user, so you can stop on your PC and pick up on your phone. I'm looking for beta testers before the 1.0 release. It's free to test during the beta. ── Supported systems ── NES, SNES, N64, Game Boy / Color / Advance, DS, Virtual Boy, Sega Genesis/Mega Drive, Master System, Game Gear, PC Engine / TurboGrafx-16, WonderSwan, Neo Geo Pocket, Atari 2600 / 7800, Lynx, ColecoVision, and PlayStation. ── What it does ── • Play in the browser (desktop + mobile) via EmulatorJS — nothing to install on the client. • Per-user cloud saves AND save states, synced to the server so you can resume on any device. • Controls: on-screen touch pad with per-console button layouts, keyboard, and USB/Bluetooth gamepads. On phones it launches fullscreen with a landscape mode (controls split left/right, game in the middle). • PlayStation multi-disc support with in-game disc switching. • Metadata + box art from ScreenScraper (with libretro thumbnails as a fallback). • Library tools in the plugin settings: – Organize: sorts loose ROMs into per-system folders; disc games get their own folder with a generated .m3u for multi-disc sets. Preview first; nothing is deleted. – Remove duplicates: keeps one copy per game (prefers USA/English, then Japan), drops beta/proto/demo and bad dumps, keeps sequels separate (Zelda vs Zelda II), and handles PlayStation too. Preview first; removed files go to a quarantine folder, not deleted. ── Requirements ── • A reasonably recent Emby Server (built against 4.9.1.90 — if it won't load on your version, reply with your Server version). • An Emby library with the content type set to "Games". • A modern browser with WebAssembly; the client needs internet access (EmulatorJS loads from its CDN). • Optional: a free ScreenScraper.fr account (added in ROMote settings) raises the metadata scrape rate limit for large libraries. • Optional: a PlayStation BIOS if you want it — without one, PS1 uses the core's built-in HLE BIOS. ── Install (manual, beta) ── 1. Stop Emby Server. 2. Unzip the attached file and copy ROMote.dll into your Emby "plugins" folder: Windows: C:\Users\<you>\AppData\Roaming\Emby-Server\programdata\plugins Linux: /var/lib/emby/plugins Synology: /volume1/@appdata/EmbyServer/plugins (DSM 7) Docker: the /config (programdata) mount → /plugins (Updating from an earlier beta? Rename the old ROMote.dll to ROMote.dll.old first. On Linux/NAS, match the file's owner/permissions to the other plugin DLLs.) 3. Start Emby Server. ROMote appears under Plugins, with a "ROMote Settings" page. 4. Add a library (or edit one) with content type "Games" pointing at your ROMs, then scan. Tip: name your system folders clearly (e.g. "SNES", "PlayStation") and use the Organize tool to tidy everything into place. ── Please test / feedback welcome ── • Do your systems get detected and show box art? • How do the controls feel — touch, keyboard, and gamepad? • Do saves and save states carry across devices? • Any system/game that won't boot, and on what browser + device? If something breaks, the most useful things to include are: your Emby Server version, the system + game, and any errors from the browser console (F12 → Console). ── Notes ── • This is a time-limited beta build — it stops running after August 29, 2026. I'll post fresh builds as testing continues. • The finished plugin will be a paid plugin in the Emby catalog; the beta is free to try. • Bring your own games: ROMote does not include any ROMs or BIOS files. Only use game backups you are legally entitled to. Thanks for testing — I'll be watching this thread. ── How to launch a game (there is no built-in Play button) ── Emby's Games library is built for cataloging, not playback. The native Emby apps don't know how to run a ROM, and a plugin can't add a real Play button to the standard game screen. So ROMote puts the launcher on each game's page as a link. Here's exactly where to find it: 1. Click a game to open its detail page. 2. Look for the link labeled "Play Game" (it has a small game-controller icon next to it Look at the screenshots included for a red circle of where to click). It sits with the game's external links, the same spot where Emby shows database links like IMDb: Emby web app: a button/pill below the game's overview and genres. Emby mobile and TV apps: in the "Links" section of the detail page. 3. Click Play Game. The emulator opens and the game boots. Each game's description also opens with a one-line reminder to use the Play Game link, in case you scroll past it. Two extra conveniences: - On the Emby web app, ROMote also adds a Play button to the game page when it can, which opens the player right inside the app. If your server runs in Docker or the web-client files are read-only it can't add that button. That's expected, and the Play Game link always works. - There's also a "Play Games" page in the Emby menu that lists your games and opens them straight in the player. If the link works on your home network but not from outside it, set your External Domain under Emby's Network settings (ROMote builds the link from that, so it follows your reverse proxy or HTTPS domain), or set a base-URL override in ROMote Settings. ROMote.dll
tdn27 0 Posted Sunday at 07:14 AM Posted Sunday at 07:14 AM I would like to test beta. what are server system requerimients?
GrimEvil 86 Posted Sunday at 04:40 PM Posted Sunday at 04:40 PM (edited) I would also like to test this, thanks How do you store the roms in zip format or do they need to be extracted to a folder per game? Edited Sunday at 04:52 PM by GrimEvil
digitalirony 23 Posted Sunday at 05:28 PM Author Posted Sunday at 05:28 PM 10 hours ago, tdn27 said: I would like to test beta. what are server system requerimients? Thanks for wanting to test it. Good news: the server requirements are light, because ROMote doesn't emulate anything on the server. The games run in the browser on whatever device you're playing on (WebAssembly), so the server's only job is to store your ROMs and serve the files. No special CPU, GPU, or RAM needed beyond what Emby itself uses. Server side: - Emby Server 4.9.x. That's what it's built and tested against (4.9.1.90). If you're on 4.8 stable, let me know your exact version and we can check whether it loads. - Runs anywhere Emby runs: Windows, Linux, Docker, Synology/other NAS, Mac. - A library set to the "Games" content type, pointed at your ROMs. - Disk space for your ROMs. That's about it. Client side (the device you actually play on): - A modern browser with WebAssembly (any current Chrome/Edge/Firefox/Safari, desktop or mobile). - Internet access, since the emulator core loads from the EmulatorJS CDN. Optional: - A free ScreenScraper.fr account added in ROMote settings raises the metadata scrape rate limit if you have a large library. - A PlayStation BIOS if you want it. Without one, PS1 uses the core's built-in HLE BIOS. Install is a manual DLL drop for the beta (steps are in the first post). Happy to help if you hit anything.
digitalirony 23 Posted Sunday at 05:33 PM Author Posted Sunday at 05:33 PM 50 minutes ago, GrimEvil said: I would also like to test this, thanks How do you store the roms in zip format or do they need to be extracted to a folder per game? Thanks for testing. Extracted, not zipped. ROMote reads the raw ROM files directly (.nes, .sfc, .gba, .md, .gb, .chd, and so on), so .zip/.7z archives won't be picked up right now. Unzip them first. You do NOT need a folder per game: Cartridge systems (NES, SNES, N64, Game Boy/Color/Advance, Genesis, etc.): just drop the extracted ROM files in. The file extension tells ROMote which system it is, so they can sit loose. Folders per system (SNES, Game Boy Advance, ...) keep things tidy but aren't required for detection. PlayStation: a disc image extension (.chd/.cue/.iso) doesn't say which console it's for, so PS1 games do need to live under a folder named for the system (PlayStation, PS1, etc.). From there: - Single-disc game: a loose .chd in that folder is fine. - Multi-disc game: put its discs in their own subfolder with an .m3u playlist. The Organize button in ROMote settings will set that folder + .m3u structure up for you, so you can just dump the files in and let it sort them. Zip support isn't in this build. If there's demand for it I'll look at adding it.
Fch11 3 Posted 17 hours ago Posted 17 hours ago It doesn’t work on local network if ISP goes down? Also is there a continue for games you’re currently playing?
digitalirony 23 Posted 17 hours ago Author Posted 17 hours ago 11 minutes ago, Fch11 said: It doesn’t work on local network if ISP goes down? Also is there a continue for games you’re currently playing? It should work fine inside your network. It only needs network for downloading artwork and metadata etc. But it should work as long as emby works, you may need to set your remote IP/lan address inside of the network settings, just depends on your setup. Yes, it has saves and save states to the server.
GrimEvil 86 Posted 16 hours ago Posted 16 hours ago So far works fine, just really needs support from other clients, android, android tv etc and not just the web. If possible you should have a proper button with in emby to play the game instead of just a link, maybe a way to use the emby button/control for this from the api?
digitalirony 23 Posted 16 hours ago Author Posted 16 hours ago 35 minutes ago, GrimEvil said: So far works fine, just really needs support from other clients, android, android tv etc and not just the web. If possible you should have a proper button with in emby to play the game instead of just a link, maybe a way to use the emby button/control for this from the api? It works fine on the emby app for android via the same link. But it cannot play directly inside of the emby app unless the developers work with me to add buttons for a game type, and if the emby app can fully support webasm. I will see if i can figure out a work around, but I haven't yet. I was hoping if enough people like it and can drum up support, maybe the emby devs will work with me to give me some ways to do what you ask, as that was my original intent. Let me know any thoughts or improvements you have, I will gladly do whatever I can.
GrimEvil 86 Posted 11 hours ago Posted 11 hours ago So on the android App on my phone/TV I click the link but the the popup says something went wrong and closes the app. on the browser works fine, not sure of the issue other than it is blocked for me on anything other than the browser.
digitalirony 23 Posted 3 hours ago Author Posted 3 hours ago 7 hours ago, GrimEvil said: So on the android App on my phone/TV I click the link but the the popup says something went wrong and closes the app. on the browser works fine, not sure of the issue other than it is blocked for me on anything other than the browser. It works for me on my android phone via the app. But it doesn't work on my fireTV, which currently is to be expected. But it does need an external browser, so maybe you don't have chrome installed? Can you provide screenshots and logs to help me debug?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now