RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Versatile C++ game scraper: Skyscraper

    Scheduled Pinned Locked Moved Ideas and Development
    skyscraperscrapergamelist.xmlscrapinggithub
    1.6k Posts 113 Posters 1.6m 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.
    • mituM
      mitu Global Moderator @A Former User
      last edited by mitu

      @LiveFastCyYoung Skyscraper is command line only. If you feel adventurous, install Cygwin and try to compile it on Windows.
      Have you tried Skraper ?

      ? 1 Reply Last reply Reply Quote 0
      • muldjordM
        muldjord @A Former User
        last edited by muldjord

        @LiveFastCyYoung said in Versatile C++ game scraper: Skyscraper:

        @muldjord I'd be fine with command line only. :D

        I've compiled a Windows version that seemingly works. Please follow the instructions in the INSTALL_README.txt after unzipping it. This is important, otherwise it won't run!

        Also note that this version is 100% unsupported, so you are on your own in using it. :) The only thing I am interested in is to know whether it runs with the dll's I've included. If not I need to include them. So please let me know if it complains about missing dll's when running it. Other than that, it should work just fine. I did a really quick test with it and it scraped nes roms just fine and also generated a gamelist without problems.

        Here ya go: http://www.muldjord.com/downloads/Skyscraper_3.1.2_unsupported_win_version.zip

        EDIT: Another quick note. Windows probably has the worst command prompt of any OS and so it does not support the color codings I use. So the output will look pretty weird.

        EDIT2: I just tried running it from the Powershell. This won't work. You apparently need to use the older Windows command prompt that you can run with "cmd".

        EDIT3: Updated it to 3.1.1

        EDIT4: Updated it to 3.1.2

        ByteThisB 1 Reply Last reply Reply Quote 1
        • ?
          A Former User @mitu
          last edited by A Former User

          @mitu I currently use Skraper. Since Skyscraper can use more sources than just ScreenScraper, I'd like to give this a shot.

          @muldjord Excellent! I will run it from cmd prompt when I get a chance tonight and let you know how it goes. Thanks! :)

          1 Reply Last reply Reply Quote 0
          • muldjordM
            muldjord
            last edited by muldjord

            Skyscraper 3.1.1 released: https://github.com/muldjord/skyscraper

            • Worked around a bug in the 'screenscraper' xml output improving stability
            • Added limiter to media getter functions for 'screenscraper' which should improve stability

            I've been working to improve the stability of the screenscrapermodule. The fixes included in this release seem to have made quite a difference, so please update.

            1 Reply Last reply Reply Quote 2
            • chubstaC
              chubsta
              last edited by

              Quick question guys - if I am trying to update a set of roms, do I have to delete the game list, rescrape the roms, and generate the new game list, or just rescrape and generate?

              Raspberry Pi 400 - overclocked to 2.3GHz
              Theme - Comic book
              Emulators: All of them...
              Roms: Pretty much all of them...
              Favourite games: Circus Charlie, Gorf, Gauntlet Legends
              Controllers: Mayflash F101

              muldjordM 1 Reply Last reply Reply Quote 0
              • muldjordM
                muldjord @chubsta
                last edited by muldjord

                @chubsta said in Versatile C++ game scraper: Skyscraper:

                Quick question guys - if I am trying to update a set of roms, do I have to delete the game list, rescrape the roms, and generate the new game list, or just rescrape and generate?

                Depends on what you mean by "update a set of roms". If you mean you want to update the data from the sources, then you need to regather the data first using the "--refresh" option and then regenerate the game list afterwards. But if you mean "update a set or roms" after you've just changed some artwork configuration or other local Skyscraper setting, then you just need to regenerate the game list. No need to regather the data as it is already cached and ready for use.

                EDIT: This page explains it: https://github.com/muldjord/skyscraper/blob/master/docs/USECASE.md

                chubstaC 1 Reply Last reply Reply Quote 0
                • chubstaC
                  chubsta @muldjord
                  last edited by

                  @muldjord thanks for the fast reply - I have removed a load of roms from one of my Mame sets, and added some more. I don't have any cached info as I clear the cache once I have scraped, my concern was that when writing a new game list it would add the new info to the old and I would end up with both duplicate games and also games in the list that are no longer in the folder.

                  I guess in this case it is simple enough to just delete the old one and rescrape to give myself a fresh game list.

                  Great scraper BTW, works so much better than anything else I have tried!

                  Raspberry Pi 400 - overclocked to 2.3GHz
                  Theme - Comic book
                  Emulators: All of them...
                  Roms: Pretty much all of them...
                  Favourite games: Circus Charlie, Gorf, Gauntlet Legends
                  Controllers: Mayflash F101

                  1 Reply Last reply Reply Quote 0
                  • ByteThisB
                    ByteThis @muldjord
                    last edited by

                    @muldjord said in Versatile C++ game scraper: Skyscraper:

                    Windows probably has the worst command prompt

                    And OS ever. I'll leave this here..lol.

                    1 Reply Last reply Reply Quote 1
                    • S
                      Silent
                      last edited by

                      Hey,

                      Moonlight scriptmodule has now been merged into RetroPie-Setup. Hence, this is the correct time for me to summarize a request to add support for streaming media, like I did in my PR a while ago.

                      What I propose is:

                      1. Make .ml a valid extension for all platforms, like .zip .7z is at the moment. Technically you can stream anything from your PC, so there is no reason not to allow it everywhere.
                      2. Add steam platform support. Should have same aliases as PC platforms, maybe with PC platform also getting a Steam alias.
                      3. Add ps2 platform support. Even though there is no PS2 emulator on Pi, you can obviously stream it and technically RetroPie supports it. Most EmulationStation themes already support this platform, too.

                      Those are the changes I made in my local copy, and I think they should be sufficient. Technically, you could argue that ps3 (because of RPCS3) and x360 (because of Xenia) platforms also make sense, but I don't know if there are themes supporting that.

                      Thanks in advance!

                      muldjordM 1 Reply Last reply Reply Quote 0
                      • quicksilverQ
                        quicksilver
                        last edited by

                        When scraping a game that won't be able to be found by it's checksum, Screenscraper will attempt to match by exact rom name from what I understand. However if there is more than one game with that exact title it will fail to scrape. I have a number of .sh and .conf files that cannot be found by checksum but fail based on ROM name because there are many versions of the game in screenscraper's database (quake II for example). Is there anyway to work around this?

                        muldjordM 1 Reply Last reply Reply Quote 0
                        • muldjordM
                          muldjord @quicksilver
                          last edited by

                          @quicksilver said in Versatile C++ game scraper: Skyscraper:

                          When scraping a game that won't be able to be found by it's checksum, Screenscraper will attempt to match by exact rom name from what I understand. However if there is more than one game with that exact title it will fail to scrape. I have a number of .sh and .conf files that cannot be found by checksum but fail based on ROM name because there are many versions of the game in screenscraper's database (quake II for example). Is there anyway to work around this?

                          Not that I know of. This is a small limitation in how their database handles things. I do believe it only searches on the platform in question though, so this shouldn't happen too often as the platform id is also send in the requests.

                          quicksilverQ 1 Reply Last reply Reply Quote 0
                          • muldjordM
                            muldjord @Silent
                            last edited by muldjord

                            @Silent Awesome, I'll look into it and include it in the next release. Thanks.

                            EDIT:

                            • Only igdb has a platform for Steam related platform called steamos. I have added that to pc and steam but it is only relevant when scraping with igdb
                            • steamplatform added with all relevant aliases including steamos
                            • ps2 platform added with all relevant aliases
                            • *.ml added for all platforms

                            I'll leave out ps3 and x360 for now. I don't want to spam platforms all over the place just for the sake of it.

                            1 Reply Last reply Reply Quote 1
                            • quicksilverQ
                              quicksilver @muldjord
                              last edited by

                              @muldjord strangely the built in scraper in emulation station will find the same titles using screenscraper as the source, unless of course it searches for ROM name differently. Either way, I was able to scrape those problematic games using different sources. Again, thank you for your help. I have been promoting skyscraper every chance I get!

                              muldjordM 1 Reply Last reply Reply Quote 0
                              • muldjordM
                                muldjord @quicksilver
                                last edited by

                                @quicksilver said in Versatile C++ game scraper: Skyscraper:

                                @muldjord strangely the built in scraper in emulation station will find the same titles using screenscraper as the source, unless of course it searches for ROM name differently. Either way, I was able to scrape those problematic games using different sources. Again, thank you for your help. I have been promoting skyscraper every chance I get!

                                Can you give me an exact file name and platform for a game it doesn't find that the built-in scraper does find when using screenscraper as source? I would like to test this.

                                quicksilverQ 1 Reply Last reply Reply Quote 0
                                • quicksilverQ
                                  quicksilver @muldjord
                                  last edited by quicksilver

                                  @muldjord "Oregon Trail II". It's a .conf file in my PC folder. Built in scraper will find it with screenscraper as the source but skyscraper will not. There were a couple others, but Im away from my pi and can't remember off the top of my head. But I'll check when next I'm home.

                                  Edit: "Myst" is another one.

                                  1 Reply Last reply Reply Quote 0
                                  • quicksilverQ
                                    quicksilver @muldjord
                                    last edited by

                                    @muldjord said in Versatile C++ game scraper: Skyscraper:

                                    pc and ports have the exact same aliases

                                    I wondering if the built in scraper doesn't have multiple aliases for PC and that's why it's able to find them.

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

                                      @quicksilver said in Versatile C++ game scraper: Skyscraper:

                                      I wondering if the built in scraper doesn't have multiple aliases for PC and that's why it's able to find them.

                                      Nope - the internal scraper (when using ScreenScraper) only knows about pc, for ports it ignores the platform and queries by name only.

                                      EDIT: either that or the Ports system is considered as pc by Emulationstation.

                                      quicksilverQ muldjordM 2 Replies Last reply Reply Quote 0
                                      • quicksilverQ
                                        quicksilver @mitu
                                        last edited by

                                        @mitu thanks for the confirmation. I would assume that's where the difference is then.

                                        1 Reply Last reply Reply Quote 0
                                        • muldjordM
                                          muldjord @mitu
                                          last edited by

                                          @mitu said in Versatile C++ game scraper: Skyscraper:

                                          Nope - the internal scraper (when using ScreenScraper) only knows about pc, for ports it ignores the platform and queries by name only.

                                          Oh, that's right. It uses the new search query instead of the jeuInfos, right? Then that's the difference. I might look into using the search query one at one point.

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

                                            @muldjord said in Versatile C++ game scraper: Skyscraper:

                                            Oh, that's right. It uses the new search query instead of the jeuInfos, right? Then that's the difference. I might look into using the search query one at one point.

                                            No, it's still using the game info endpoint (v2 WebApi). I've looked over using the search endpoint - see my post on their forum about the search returning to many unrelated results. However, the search is slower then the game info endpoint and I think it's not worth (at the moment) the effort to switch to it - considering their server(s) are already busy. Improving the search over the regular game info endpoint is a better investment at this point (checksum, search-by-name, search-by-id).

                                            1 Reply Last reply Reply Quote 1
                                            • 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.