Game Library for Friends and Family
from WR5@lemmy.dbzer0.com to selfhosted@lemmy.world on 10 May 16:15
https://lemmy.dbzer0.com/post/68594255

Hello all! I have never selfhosted before, but I have a pretty extensive digital library of videogames (ROMs from a couple dozen retro systems among other executables) that my friends have expressed interested in having access. What’s the ideal software for giving them access to the library hosted on my drives? I’m picturing something like a selfhosted Steam where they see all of the games and can search via retro system, game tags, by name, etc. and each of could keep track of separate user accounts by playtime, favorites, recently played, etc. I use RetroArch and a few standalone emulators myself connected to RetroAchievements, so I figured they would need to download any emulators on their ends and then just pick and play the games as they see fit without having to have their own copies of the games.

#selfhosted

threaded - newest

brewery@feddit.uk on 10 May 16:22 next collapse

Check out Romm. Not every romm can be streamed but think it meets your needs.

ryokimball@infosec.pub on 10 May 16:26 next collapse

Looks much better than my response lol. Thanks

brewery@feddit.uk on 10 May 16:30 collapse

It’s great to have options! Never heard of this one so will check it out too. That’s part of the fun isn’t it haha

perturbed_panda@fedinsfw.app on 10 May 16:32 next collapse

I can second romm. it has EmulatorJS built in which will run most games in the web interface. there’s also an android app (maybe iOS too can’t remember) and they have apps for a few different handheld emulators. I have their app installed on MuOS on my RG35XXH and I can view my “cloud based” ROM library and download them straight to the anbernic’s local library.

brewery@feddit.uk on 10 May 16:40 collapse

Good point, Romm can integrate well with MuOS, Playnite and other client side software you and others can install onto their actual devices. I’ve used Playnite on my devices to manage the emulator side and download the ROMs from the ROMs server.

In theory, you could also try a sunshine server and moonshine client to steam the games from you’re server but guessing it would only work well over a local network, not over the internet to friends

WR5@lemmy.dbzer0.com on 10 May 17:19 next collapse

This looks cool. So they never get a local copy of the game file, it always stays on my server side I think? It also seems to say that the system saves are not available yet but coming soon, which means if they were to play one day and pick it up a week later their progress would be reset; is that correct?

loric@piefed.social on 10 May 18:36 collapse

I haven’t set either up yet, but my leaning is more towards gaseous-project due to not having to sign up for an IGDB account.

ryokimball@infosec.pub on 10 May 16:26 next collapse

Y’know, I haven’t really thought about it, but genesis games are at most 4MB, usually much smaller. Most websites are bigger tbh (AI says the Google landing page is 2MB).

I was looking a while back at the Sega Channel and thinking about how to reproduce that kind of experience… … My mind is racing faster than I can type and I keep googling things, and I found this. github.com/gameyfin/gameyfin Maybe it’s something you could use? Otherwise I feel like the easiest answer is traditional emulators and a public, read only file share. Of course, a friendly user interface would need some work.

WR5@lemmy.dbzer0.com on 11 May 00:34 collapse

Someone else suggested gameyfin, and it does look like a nice user interface for native games rather than emulated, so I’ve added it to the list to research!

njordomir@lemmy.world on 10 May 18:20 next collapse

I would check out Recallbox. It’s quite polished feeling and looking. It can run on a raspberry pi, or something more powerful. You mention accessing the files and I liked the SMB access because I could just cut and paste my new ROMs over from the PC or phone. I imagine you could set up a script to do this automatically or just expose a read only SMB server for your friends to access. If your games are older, like Atari or Sega Genesis this would work great. If you have big ROMs like Gamecube or Xbox, then you’ll probably need a different solution since copying entire romsets to the device itself may not be practical.

I have seen a DIY Steam-ish software floating around, hopefully someone pitches in to get you that link as well.

I hope your project goes well!

WR5@lemmy.dbzer0.com on 10 May 21:47 collapse

Thanks! I’m trying to limit their need to download the entire library again. I mean I could just buy some large SD cards and make copies of the library and give them, but that doesn’t feel like an ideal solution. Someone mentioned Romm which looks good, though I’m curious how to handle larger files too (up to like PS2 and even modern games).

mrnngglry@sh.itjust.works on 10 May 18:47 next collapse

What about Sunshine and Moonlight? This is something I’ve been mildly interested in for a while but never took a deep dive.

WR5@lemmy.dbzer0.com on 10 May 22:52 collapse

I’ve never used it. Would multiple people be able to play at the same time? From what I understand of this, the server is what is actually running the game and the client is just basically remote viewing that game. So if more than one person wanted to play at the same time from the server it would not be able to provide both? Or is that just incorrect information.

mrnngglry@sh.itjust.works on 10 May 23:17 collapse

I’m not sure. I’ve always wanted something like Plex but for games.

youkak@lemmy.world on 10 May 21:54 next collapse

It sounds like you’re looking to create a self-hosted game library that your friends can access and play from, with features similar to Steam. That’s a great idea. To achieve this, you’ll need a combination of software and some technical know-how.

One option you could consider is using a web-based interface like Universal Media Server or Plex, which can stream media content, including games, to various devices. However, these solutions might not offer the exact features you’re looking for, such as user accounts, playtime tracking, and favorites.

A more tailored solution could be using a self-hosted platform like Isle, which is designed specifically for hosting and streaming retro games. It allows you to create a library of games, assign metadata like tags and descriptions, and even supports user accounts and playtime tracking.

Another option is to use a combination of tools like Nextcloud or Resilio Sync to create a cloud-based file sharing system, where you can store your game library and share access with your friends. You could then use a web-based frontend like FileRun or Pydio to create a user-friendly interface for browsing and searching the game library.

In terms of tracking user activity, such as playtime and favorites, you might need to implement a separate solution, like a custom web application or a plugin for one of the above-mentioned platforms.

To ensure a smooth user experience, you’ll also need to consider factors like bandwidth, storage, and latency. You may need to optimize your network

WR5@lemmy.dbzer0.com on 10 May 22:50 collapse

Fuck off my post, bot.

ArchEngel@lemmy.ca on 10 May 22:04 next collapse

Gameyfin might be close to what you are looking for, my friends and I use it for our DRM free games.

WR5@lemmy.dbzer0.com on 10 May 22:54 collapse

Does this work with both retro games (ROMs) in addition to modern games?

ArchEngel@lemmy.ca on 10 May 23:40 collapse

Its much closer to a Dropbox/google cloud folder with game installers in it than it is to some of the other suggestions.

Like Steam or Epic or GOG, you click download, and it downloads the game files and installer, which you can then use to play the game.

So in the case of ROMs you would be better off with the other options, as this would just download the ROM file, and you would then have to figure out your own emulation situation from there.

WR5@lemmy.dbzer0.com on 11 May 00:32 next collapse

Ah okay gotcha. It’s still a pretty nice user interface for them to browse and download so it may be a good option for native games rather than emulated. Thank you for the suggestion!

AbidanYre@lemmy.world on 11 May 01:36 collapse

That sounds like exactly what I’ve been looking for for a while. Thank you!

youkak@lemmy.world on 10 May 22:24 next collapse

Hello! It sounds like you’re looking to create a self-hosted game library that your friends can access remotely. I think you’ll find that a combination of tools can help you achieve this.

First, you’ll want to consider a file sharing or hosting solution that can handle large files like game ROMs. Some popular options include Nextcloud, Seafile, and OpenMediaVault. These solutions allow you to create a shared library that your friends can access remotely.

Next, you’ll need a way to organize and categorize your game library in a user-friendly manner. I recommend using a metadata management tool like Metadator or EmulationStation. These tools can help you add tags, descriptions, and other metadata to your games, making it easy for your friends to search and discover new titles.

For user account management and tracking, you might consider using a self-hosted instance of Nextcloud’s user management features or a dedicated user management tool like OpenEMU. These solutions can help you track playtime, favorites, and other user-specific data.

Finally, since you’re already familiar with RetroArch and standalone emulators, you can use these tools to create a seamless gaming experience for your friends. They can download the emulators and ROMs from your shared library, and then play the games directly from the emulators.

Some other features you might want to consider include:

  • Automated ROM scanning and metadata extraction
  • Customizable game lists and filters
  • Support for multiple emulators and platforms
WR5@lemmy.dbzer0.com on 10 May 22:50 collapse

Fuck off my post, bot.

GreenKnight23@lemmy.world on 11 May 00:13 collapse

what you’re looking for is a multi-tenant game server. only two ways to get that, virtualization or containerization.

you’ll need a really really beefy server for it either way if you want more than 2 people playing simultaneously.

since steam works on Linux you might have some luck with steamos on docker.

you can run multiple instances people connect to and stream all from the same “library”. this means you could technically be able to have halo running across two instances from the same executables. though YMMV since steam may be signing those exes per account.

alternative is to use something like unraid which has recipes for this exact problem. they use a combination of virtual boxes that use GPU passthrus. probably a larger overhead since it’s a full windows VM running, but you can run pretty much everything on steam in it.