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.
threaded - newest
Check out Romm. Not every romm can be streamed but think it meets your needs.
Looks much better than my response lol. Thanks
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
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.
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
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?
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.
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.
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!
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!
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).
What about Sunshine and Moonlight? This is something I’ve been mildly interested in for a while but never took a deep dive.
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.
I’m not sure. I’ve always wanted something like Plex but for games.
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
Fuck off my post, bot.
Gameyfin might be close to what you are looking for, my friends and I use it for our DRM free games.
Does this work with both retro games (ROMs) in addition to modern games?
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.
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!
That sounds like exactly what I’ve been looking for for a while. Thank you!
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:
Fuck off my post, bot.
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.