RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Detecting if retropie is installed on a remote machine

    Scheduled Pinned Locked Moved Help and Support
    scrapersshdetection
    13 Posts 2 Posters 1.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • kiroK
      kiro
      last edited by kiro

      Hi,

      I'm working on extending my scraper (RetroScraper) with the functionality to remotely scan systems (so from your main pc, scrap a remote system in your network). Anyone has any idea on how would it be the best OS-independent approach to validate that retropie (or emulationstation for that matter) is installed in that system via SSH? I can check for certain files, but this would fail if the setup is a non-standard one. I was thinking of executing 'emulationstation --help' remotely, but will this work under windows/mac os ??

      Any suggestions? Thanks!

      [Edit]: Now that I think about it, I'm not sure there will be SSH access under windows/MacOS, right? So eventually just catering for a 'standalone' retropie setup should be more than enough...hmm

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @kiro
        last edited by mitu

        @kiro said in Detecting if retropie is installed on a remote machine:

        Any suggestions? Thanks!

        I think just pointing the scraper to the ROMS folder should be enough. Depending on where you want to save the scraped artwork/videos, you may need access to the config folder, but if you decide to save the data under a media sub-folder for each system, then it's not needed.

        [Edit]: Now that I think about it, I'm not sure there will be SSH access under windows/MacOS, right? So eventually just catering for a 'standalone' retropie setup should be more than enough...hmm

        macOS has SSH built in. Windows has it as an optional install from Win 10 (1809, see https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse).
        EDIT: for the ROMs folder you don't need SSH, since it's shared via CIFS/SMB, so it can be easily mapped from either Windows Explorer or macOS Finder.

        kiroK 1 Reply Last reply Reply Quote 0
        • kiroK
          kiro @mitu
          last edited by

          Hi @mitu ! Thanks for the prompt answer.

          I think I've not explained the situation properly as per your answer :-)

          What I am trying to do is to add a functionality that will scan your local network for machines running retropie. I have the scanning running, but what I'm trying to see if there's some kind of 'signature' that will effectively mean that retropie is installed on that machine. For standard setups I'm remotely executing 'emulationstation --help' and if some output is returned I can more or less 'guess' if retropie is installed. This will work of course with standard retropie installs (as in the retropie image and an raspberry pi) , but I was wondering if there was a way to detect under other setups, just like windows and mac (or even Android) without having the user of retroscraper need to install anything that's already in their machines. Makes sense? Thanks!

          1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator
            last edited by

            @kiro said in Detecting if retropie is installed on a remote machine:

            What I am trying to do is to add a functionality that will scan your local network for machines running retropie. I have the scanning running, but what I'm trying to see if there's some kind of 'signature' that will effectively mean that retropie is installed on that machine.

            Yes, you're right - I was thinking about the scraping itself.

            The easiest way to check for a RetroPie installation is by checking if the /opt/retropie folder exists. EmulationStation is installed in /opt/retropie/supplementary/emulationtation.

            To be honest, I'd use the same approach used by Skraper/ARRM - check for the roms share, since this doesn't need any SSH connection. This way you can support other ES installation (i.e. Windows) without requiring a RetroPie installation.

            kiroK 1 Reply Last reply Reply Quote 0
            • kiroK
              kiro @mitu
              last edited by

              @mitu Hi, Thanks, that makes sense...I'll investigate into that direction, as a matter of fact, SSH is very easy for rpie images but difficult for other platforms. Although, when you install retropie under windows (or other platforms), will it automatically expose the roms directory as shares?

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @kiro
                last edited by

                @kiro said in Detecting if retropie is installed on a remote machine:

                Although, when you install retropie under windows (or other platforms), will it automatically expose the roms directory as shares?

                RetroPie only works on Linux systems, Windows is not supported. EmulationStation though (even the RetroPie fork) can be compiled and run on Windows.

                kiroK 1 Reply Last reply Reply Quote 0
                • kiroK
                  kiro @mitu
                  last edited by

                  @mitu ok, got it... so eventually I can 'safely' assume that any 'remote' installation from retropie will be running under Linux (raspbian) and ssh will be available (unless disabled by the user). Right?

                  Thanks again!

                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @kiro
                    last edited by

                    @kiro said in Detecting if retropie is installed on a remote machine:

                    @mitu ok, got it... so eventually I can 'safely' assume that any 'remote' installation from retropie will be running under Linux (raspbian)

                    As far as RetroPie is concerned, yes - it's Linux only, though Raspbian (now Raspberry Pi OS) is not a strict requirement unless you're running it on a Pi. On a PC/other SBCs it can run over Ubuntu/Debian.

                    ...and ssh will be available (unless disabled by the user). Right?

                    For Raspberry PI OS, SSH is not enabled by default - see SSH. Other distros may have it enabled by default if ssh is chosen during install, but it's not enabled by default on RetroPie's Pi images.

                    kiroK 1 Reply Last reply Reply Quote 0
                    • kiroK
                      kiro @mitu
                      last edited by

                      @mitu Ah! Good call, thanks for that! I thought it was enabled...my bad. Saved me a lot of headaches there :-)

                      1 Reply Last reply Reply Quote 0
                      • kiroK
                        kiro
                        last edited by

                        Hi @mitu, sorry to bother you...from the samba shares exposed by retropie, there's no way to access the es_systems.cfg, even if read-only, correct? Asking because in order to be sure of which systems the particular retropie setup is running, which extensions are accepted, and which is the path, this file is the only 100% reliable source, as reading the folders in the roms share may not necessarily be correct (folder = system name).

                        1 Reply Last reply Reply Quote 0
                        • kiroK
                          kiro
                          last edited by

                          @mitu Sorry, should've had a better look at the docs:

                          //RETROPIE/configs/all/emulationstation

                          Thanks!

                          mituM 1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator @kiro
                            last edited by

                            The es_systems.cfg used by default in EmulationStation is located in /etc/emulationstation. The one in \\retropie\configs\all\emulationstation is user-created (overriding the one in /etc/emulationstation) and it's not generally not present in a RetroPie installation. Unless the user creates the override config, it's not there.

                            You can find the list of default extensions by system in https://github.com/RetroPie/RetroPie-Setup/blob/master/platforms.cfg. This rarely changes and you can use it as a fallback in case the user doesn't have a custom/local es_systems.cfg in the config folder.

                            kiroK 1 Reply Last reply Reply Quote 0
                            • kiroK
                              kiro @mitu
                              last edited by

                              @mitu nice one... My concern is about heavily customized setups (for example mine) where I have one directory per Arcade manufacturer (although they use the same emulator, they have a different theme setup for example), and directories do not necessarily match the system name, but I guess I can consider that as an edge case.

                              Thanks Again!

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                              Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.