Published Sep 25, 2026, 3:00 PM EDT His love of PCs and their components was born out of trying to squeeze every ounce of performance out of the family computer. Tinkering with his own build at age 10 turned into building PCs for friends and family, fostering a passion that would ultimately take shape as a career path. Besides being the first call for tech support for those close to him, Ty is a computer science student, with his focus being cloud computing and networking. He also competed in semi-pro Counter-Strike for 8 years, making him intimately familiar with everything to do with peripherals. My N64, SNES, PlayStation, and other console games have lived on the same NAS share for years, and for most of that time, they've been about as useful as the box of cartridges and CDs that lives in my closet. I'm not often willing to pull out the entire console and set it up, so playing anything meant finding a machine with an emulator set up, pointing it at the share, and hoping the save I wanted was on that machine and not another one. Jellyfin solved this exact problem for my movies years ago, and as it turns out, with the right client and plugin, it can solve it for my games too. Jellyfin supports more than just movies and TV shows It handles most of the media you can download and own Most people think of Jellyfin as a self-hosted alternative to Plex for movies and TV, but it has always been a bit broader than that. Out of the box, it handles music, audiobooks, ebooks, photos, and live TV. You don't see games on that list, because stock Jellyfin has no way to handle ROMs or emulation, but Moonbase handles that. Moonbase is the server plugin behind Moonfin, a third-party client for Jellyfin and Emby. Among its features is retro game support, which allows you to read game folders straight off of a disk, and it treats each top-level folder as a game system. It can identify each ROM by its contents against libretro's game databases to fill in titles and box art, and in the Moonfin client, the result looks like any other library, except that selecting a title launches a game instead of a video. Setup is really easy, even from scratch Mine runs in Docker on a mini PC I ended up opting to host this on a MINISFORUM MS-03 mini PC rather than the same Jellyfin instance that houses my movies and TV shows. You don't have to do it this way, but I already had quite a bit of daily load on that system, so I figured setting up a separate one would keep everything running smoothly. The client can also connect to multiple servers and merge them into a single library, so my games and media all show up in the same place regardless. Starting with a fresh Jellyfin install, the container just needs one extra bind mount for the ROM folder. From there, Moonbase installs from its own plugin repository in Jellyfin's dashboard. Retro game support is a toggle in the settings, but it's off by default. After enabling, you're pretty much good to go. Access locally is as easy as a normal Jellyfin instance with the Moonfin client from iOS, Android, PC, Mac—you name it. For accessing remotely, I didn't expose anything directly to the internet. The MS-03 is a VPN peer in my self-hosted NetBird network, which allows everything to be accessed from anywhere I have an internet connection. If I wanted friends and family to access my games library, I'd either have to expose Jellyfin via a reverse proxy, or simply add them to the mesh. It's not game streaming in the literal sense The games still get emulated on your client device "Play it from anywhere" sounds like game streaming, but that's not actually what's happening. The server is never tasked with running the games, it just hands your clients a ROM, your save file, and the device you're using is the one doing the emulation. How that happens depends on the platform. On Windows, Moonfin runs games through native libretro cores that it downloads on demand. On iOS, Apple doesn't allow apps to download executable code, so Moonfin ships with a small set of bundled cores and falls back to a web-based emulator, served by Moonbase, for anything else. It's actually better than streaming via Moonlight Retro games can run on nearly anything these days Moonlight paired with Sunshine is excellent, and it can run things Moonbase can't, including GameCube and Xbox 360 titles through emulators on a gaming PC. But streaming has the inherent disadvantage of also needing to encode video and send it over the network on top of rendering the game itself. On a wired home network, that's really a non-factor, but on hotel Wi-Fi or a cellular connection, any jitter or packet loss can result in stuttering, compression artificating, and input delay. In a retro game that you could probably run on your phone anyway, streaming it seems a bit overkill. Not to mention these specific games are pretty sensitive to those kinds of drawbacks. Many were designed around the near-instant response of CRT televisions, and timing-heavy platformers and fighting games feel wrong with even modest added delay. Running the emulator on the device removes the network from the loop entirely. Moonbase with Jellyfin is my new favorite way to play the classics For anything newer than what Moonbase supports, streaming is still the answer, and my GameCube, Xbox 360, and PS3 games all remain emulation tasks for my main PC or on original hardware. For nearly everything else, though, adding Moonbase to a Jellyfin instance was a huge unlock. Nothing beats original hardware, but whenever I'm not home, this is the next best way to play. Moonfin OS Windows, Linux, macOS, Android, iOS, Android TV, webOS, Tizen
I moved my retro game library to Jellyfin, and now I can play them from anywhere
Full Article
Original Source
Read the full article at Xda-developers →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.