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.

        • loric@piefed.social
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 days ago

          Glad to see this has been addressed! It was early last year when I was looking into this, and they only had IGDB support at the time. Thanks for the update!

          • cantankerous_cashew@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            4 days ago

            Yeah the romm project maintainers are awesome; they’re very responsive to feedback/bugs and they’re constantly adding new features/publishing releases

    • perturbed_panda@fedinsfw.app
      link
      fedilink
      English
      arrow-up
      5
      ·
      7 days ago

      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
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 days ago

        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.comOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      7 days ago

      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?

      • brewery@feddit.uk
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 days ago

        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

    • WR5@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 days ago

      Thank you for the suggestion! Unfortunately it seems to be Windows application only, and I’ve recently made the switch to Linux.

      • ArchEngel@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        6 days ago

        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.comOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 days ago

          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!

  • ryokimball@infosec.pub
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    7 days ago

    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. https://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.comOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      6 days ago

      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
    link
    fedilink
    English
    arrow-up
    3
    ·
    7 days ago

    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.comOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      7 days ago

      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
    link
    fedilink
    English
    arrow-up
    2
    ·
    7 days ago

    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.comOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 days ago

      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.

  • GreenKnight23@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    6 days ago

    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.

  • youkak@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    9
    ·
    6 days ago

    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
  • youkak@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    13
    ·
    7 days ago

    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