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

    hascheevos.sh - a tool for RetroPie/RetroAchievements users

    Scheduled Pinned Locked Moved Ideas and Development
    cheevosretroachievemenscriptcollections
    63 Posts 11 Posters 15.0k 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.
    • PokeEngineerP
      PokeEngineer
      last edited by

      @meleu

      I know this is off-topic, but I'm sorry I accidentally downvoted some of your posts...
      Normally, I use a mobile device to browse the forums, and sometimes I hit the downvote button when trying to scroll down without me noticing. I've un-downvoted (Is this even a word?) the respective posts.

      Don't sweat it.
      When in doubt, take a BYTE out of life.

      😎

      1 Reply Last reply Reply Quote 0
      • hansolo77H
        hansolo77
        last edited by

        @meleu - Hey good buddy.. any plans to update the script to incorporate the new Atari2600 and NGPC systems? I just noticed there are now achievements for games like Pitfall! and a game on NGPC. Doesn't look like the script will scrape those systems yet.

        Ps, still love the scripts/utility!

        Who's Scruffy Looking?

        meleuM 1 Reply Last reply Reply Quote 0
        • meleuM
          meleu @hansolo77
          last edited by

          @hansolo77 yeah! I need to update the tool... I'll let you know when I do. ;)

          • Useful topics
          • joystick-selection tool
          • rpie-art tool
          • achievements I made
          1 Reply Last reply Reply Quote 1
          • hansolo77H
            hansolo77
            last edited by

            Cool! No hurries. I know you got a lot on your plate. Not to mention you had plans of maybe writing another script to scan for games that have Leaderboards. But that's probably going to be a while out. I don't know how you can do that, because not all games that are on RA have Leaderboards, and not all Leaderboards have cheevos. Unless they keep a separate database. Just ecisted to see what you come up with! :)

            Who's Scruffy Looking?

            1 Reply Last reply Reply Quote 0
            • hansolo77H
              hansolo77
              last edited by

              I've been occasionally running the tool against my sets (about once a month) and have started to notice that my rom count (for all in one list) has been steadily decreasing rather than increasing. I backed up the most recent list, then updated the list and ran a diff against the two. There are a bunch of roms no longer in the list. I checked my games and they don't pop with a list anymore, and the RA site no longer lists them. Is this a typical behavior, that games will suddenly disappear? Or is there some pruning going on? It's just alarming to see my list dwindling.

              Here's the output of my latest diff.
              https://pastebin.com/K6GtSqUv

              Who's Scruffy Looking?

              meleuM 1 Reply Last reply Reply Quote 0
              • meleuM
                meleu @hansolo77
                last edited by

                @hansolo77 said in hascheevos.sh - a tool for RetroPie/RetroAchievements users:

                is there some pruning going on? I

                this.

                We had so many wrong ROMs linked to games on our database and in the past few weeks we did a big cleanup.

                Also, I think I need to update some stuff on my hascheevos tool. It currently isn't able to check if Arcade ROMs have cheevos, for example...

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                hansolo77H 1 Reply Last reply Reply Quote 0
                • hansolo77H
                  hansolo77 @meleu
                  last edited by

                  @meleu I know. Just keeping you on your toes. :) I'm liking all the advancements though.

                  Who's Scruffy Looking?

                  meleuM 1 Reply Last reply Reply Quote 0
                  • meleuM
                    meleu @hansolo77
                    last edited by

                    @hansolo77 I've updated some stuff on the hascheevos code. Now I think it's able to check ROMs for all supported systems. BUT... be aware that to check arcade ROMs you MUST use the script with the --arcade option.

                    • Useful topics
                    • joystick-selection tool
                    • rpie-art tool
                    • achievements I made
                    1 Reply Last reply Reply Quote 1
                    • hansolo77H
                      hansolo77
                      last edited by

                      Awesome. I'll give it a whirl! :)

                      Who's Scruffy Looking?

                      1 Reply Last reply Reply Quote 0
                      • hansolo77H
                        hansolo77
                        last edited by

                        I don't think the arcade system is working. I tried a bunch of different things, and got nothing:

                        pi@retropie:~ $ ./hascheevos/bin/hascheevos.sh --arcade
                        Checking JSON hash libraries...
                        Done!
                        pi@retropie:~ $ ./hascheevos/bin/hascheevos.sh --single-collection --arcade
                        Checking JSON hash libraries...
                        Done!
                        pi@retropie:~ $ ./hascheevos/bin/hascheevos.sh --system arcade
                        Checking JSON hash libraries...
                        Done!
                        

                        Am I missing something? I also ran the --update prior to do things.

                        Who's Scruffy Looking?

                        meleuM 1 Reply Last reply Reply Quote 0
                        • meleuM
                          meleu @hansolo77
                          last edited by

                          @hansolo77

                          Am I missing something?

                          yeah, you're missing something. But it was my fault, I didn't give enough instructions.

                          TL;DR: you most likely want this command:

                          ./hascheevos.sh --arcade --system fba
                          

                          Explaining:

                          1. The --arcade option says to hascheevos that we are going to process the zip files by themselves (in other words, there's no need to unzip and check the actual rom file as the script does for another systems), that's the way we deal with Arcade files at RetroAchievements.org.

                          2. The libretro core used to have achievements for arcade games is fbalpha, then --system fba makes hascheevos "scrape" data for the ROMs in ~/RetroPie/roms/fba. Of course if you put all your arcade ROMs in the arcade folder, you should use --system arcade, but keep in mind that only those you run with fbalpha are able to support cheevos.

                          • Useful topics
                          • joystick-selection tool
                          • rpie-art tool
                          • achievements I made
                          1 Reply Last reply Reply Quote 0
                          • hansolo77H
                            hansolo77
                            last edited by

                            Sounds good. Trying it again now..


                            Doesn't seem to be working. Went by pretty quickly (a lot less time than any other system).. It didn't find any cheevo games, just ran a lot of :

                            Checking JSON hash libraries...
                            Done!
                            Checking "/home/pi/RetroPie/roms/fba/1941.zip"...
                            --- 7af6266cc52234b5aa339b16695f7fc4
                            --- unable to get game ID.
                            
                            "/home/pi/RetroPie/roms/fba/1941.zip" has no cheevos. :(
                            
                            Checking "/home/pi/RetroPie/roms/fba/1942.zip"...
                            --- 519c84155964659375821f7ca576f095
                            --- unable to get game ID.
                            
                            "/home/pi/RetroPie/roms/fba/1942.zip" has no cheevos. :(
                            
                            Checking "/home/pi/RetroPie/roms/fba/1943.zip"...
                            --- c3395dd46c34fa7fd8d729d8cf88b7a8
                            --- unable to get game ID.
                            
                            "/home/pi/RetroPie/roms/fba/1943.zip" has no cheevos. :(
                            
                            Checking "/home/pi/RetroPie/roms/fba/1943kai.zip"...
                            --- 46bc905cd32b5819e62b966f6b677ada
                            --- unable to get game ID.
                            
                            "/home/pi/RetroPie/roms/fba/1943kai.zip" has no cheevos. :(
                            

                            etc.

                            Who's Scruffy Looking?

                            meleuM 1 Reply Last reply Reply Quote 0
                            • meleuM
                              meleu @hansolo77
                              last edited by

                              @hansolo77 keep in mind that we currently (23/May/2018) only have cheevos for the 13 Arcade games listed here.

                              • Useful topics
                              • joystick-selection tool
                              • rpie-art tool
                              • achievements I made
                              lilbudL 1 Reply Last reply Reply Quote 0
                              • lilbudL
                                lilbud @meleu
                                last edited by

                                @meleu said in hascheevos.sh - a tool for RetroPie/RetroAchievements users:

                                only have cheevos for the 13 Arcade games

                                14 if I'm not burnt out by the end of the week

                                Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                                Backlog: http://backloggery.com/lilbud

                                1 Reply Last reply Reply Quote 0
                                • hansolo77H
                                  hansolo77
                                  last edited by

                                  @meleu said in hascheevos.sh - a tool for RetroPie/RetroAchievements users:

                                  @hansolo77 keep in mind that we currently (23/May/2018) only have cheevos for the 13 Arcade games listed here.

                                  Yeah I know, but still. It didn't generate a new xml for the Arcade system. It's like it didn't detect the hash on ANY games. I re-did my set though, as the original one I had been using was in a split format. I did a merge to reduce all the extra copies of roms on my list. The games still work (Cadillacs and Dinosaurs for instance), they just didn't get added to the list. I don't think it should matter, as I also have a merged set for my other systems too, and they detect fine. RetroArch like the roms fine too. I only mentioned it as a report that it didn't like anything I had, or didn't appear to actually scrape against a hash (like it didn't download an Arcade has library or something).

                                  Who's Scruffy Looking?

                                  meleuM 1 Reply Last reply Reply Quote 1
                                  • meleuM
                                    meleu @hansolo77
                                    last edited by

                                    @hansolo77 Whoops! My bad bro! I forgot to commit some changes I had only locally.

                                    Could you update and then try it again?

                                    • Useful topics
                                    • joystick-selection tool
                                    • rpie-art tool
                                    • achievements I made
                                    hansolo77H 1 Reply Last reply Reply Quote 0
                                    • hansolo77H
                                      hansolo77 @meleu
                                      last edited by hansolo77

                                      @meleu said in hascheevos.sh - a tool for RetroPie/RetroAchievements users:

                                      @hansolo77 Whoops! My bad bro! I forgot to commit some changes I had only locally.

                                      Could you update and then try it again?

                                      No worries! We're all on the same team. ^_^ I'll give it a go here shortly. I might not be able to report back until tomorrow though. I just got off work today at 2:00pm, and have to be back at work tomorrow at 3:00am. They're having a special "presidential" corporate visit to make sure our store is set and ready for Memorial Day. SMH, they already did that last week, and they're expected to just visit and say "Thanks" tomorrow, but still, Management is all up our butts wanting things to be perfect. The holiday ain't even until Monday lol.


                                      Quick mention... When I run it now, I'm getting a lot of errors of this variety:

                                      Checking "/home/pi/RetroPie/roms/fba/aliensyn.zip"...
                                      --- 0103136b3bf5ad61e4f5187168797bcb
                                      --- game ID: 11972
                                      WARNING: undefined RetroAchievements.org user (see "--user" option).
                                      "/home/pi/RetroPie/roms/fba/aliensyn.zip" has no cheevos. :(
                                      

                                      But it does look like it's identifying a game id now.

                                      Who's Scruffy Looking?

                                      1 Reply Last reply Reply Quote 0
                                      • hansolo77H
                                        hansolo77
                                        last edited by

                                        Lookie what I made. My first ever RetroPie script! Granted, it's not usable for everybody. I use the hascheevos tool in a method most likely different from everybody else. I generate 1 list of all games together (that way I can use the random function to pick a game).

                                        This script I wrote backs up the current list in case something goes wrong. It then updates the tool, then scans the basic console roms. Now with the arcade addition being different, it renames the created list, then scans the arcade roms, then combines the arcade list to the console list. All done. It then prompts if you want to reboot or not (since you need to reload EmulationStation to see the updated cheevo list).

                                        Feel free to use it, hack it up, improve it, whatever. I just wanted to share what I accomplished all on my own, with ample Google searching. :)

                                        https://pastebin.com/7uge2spX

                                        To use: Place in your /home/pi/ path. Execute chmod +x updatecheevos.sh from the terminal. Then as needed, exit EmulationStation via F4 and run ./updatecheevos.sh.

                                        Who's Scruffy Looking?

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

                                          well should've known achievement capable game collections/playlists was an active concern among achievement hunters, google-fu failed to pick this up couple days ago when I was interested so instead hacked this together over lunch
                                          https://gist.github.com/stt/a328ba4c5413a1d9e4dd3db3cc4bf85d
                                          Requires py3+lxml (pip3 install lxml)

                                          Given a retroarch .lpl playlist file it fetches achievement supporting games from ra.org and produces a new playlist of that subset by string matching game names.
                                          The result is obviously just a rough approximation as the names differ in punctuation etc, but it was good enough for me for the moment, so maybe somebody else finds some use for it as well.

                                          meleuM 1 Reply Last reply Reply Quote 1
                                          • meleuM
                                            meleu @stt
                                            last edited by meleu

                                            @stt cool.
                                            Now that I have access "to the other side" (I mean, not just a RetroAchievements consumer), I plan to make some improvements on the API so we can get more valuable info from those http requests. :)

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            1 Reply Last reply Reply Quote 2
                                            • 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.