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 18.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.
    • meleuM
      meleu @hansolo77
      last edited by

      @hansolo77 please, execute the command below:

      bash -x ./hascheevos.sh --collection "~/RetroPie/roms/nes/CONTRA ROM FILE NAME.nes" 2> debug.txt
      

      It'll generate a file named debug.txt. Please post its content in codepad.org.

      • 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 Ok, might be an hour or so. I went ahead and erased my collection from the folder and started a re-scrape. I'll post a link to it when it finishes. Or can I do a simultaneous run if I open another ssh window?

        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:

          Or can I do a simultaneous run if I open another ssh window?

          yep, you can do simutaneously. Remember, the command I suggested above is "scraping cheevos" only for one ROM (and I suggested the Contra game from NES).

          I'm not sure if I'm going to be able to debug it right now, though.

          • 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 Not sure if this helps. Did you want me to put it exactly like you had it, or did you want me to fill in a rom name that has Contra in it?
            http://codepad.org/bkUDYtEU


            EDIT - debug with Contra (USA).nes filename just incase:
            http://codepad.org/D0NLnjD3

            Who's Scruffy Looking?

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

              @hansolo77 hehe. I meant your actual contra rom file. But my command is wrong any way. Please, repeat that command but replacing ~with /home/pi.

              • 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 Ok, so

                bash -x ./hascheevos.sh --collection "/home/pi/RetroPie/roms/nes/Contra (USA).nes" 2> debug.txt
                

                results in:
                http://codepad.org/nazUHpn0

                Who's Scruffy Looking?

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

                  @hansolo77 looks like everything ran fine

                  This game has been added to "/home/pi/.emulationstation/collections/custom-achievements nes.cfg".
                  

                  Do you have that 👆 file on your system?

                  • 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 I do now, but I didn't before.
                    Incidentally, I noticed some interesting results while scraping in the log:

                    Checking "/home/pi/RetroPie/roms/mastersystem/Super Tennis (USA, Europe).sms"...
                    --- Genesis: ce4b4ca78c681bccb77c2d383c6a1243
                    --- plain MD5: 2db9404fe79593fd2379921ca822103a
                    --- unable to get game ID.
                    "/home/pi/RetroPie/roms/mastersystem/Super Tennis (USA, Europe).sms" has no cheevos. :(
                    

                    Why would it say "Genesis:" if it's Mastery System file? And this game was also unable to detect a "game ID". My scroll-back log only goes as far back to still be SMS, yet it looks like it's doing that "Genesis" bit on all of the games. Here's a working result:

                    Checking "/home/pi/RetroPie/roms/mastersystem/Strider (USA, Europe).sms"...
                    --- Genesis: 2bc1f448529ee58162da600d966d9a14
                    --- plain MD5: 48af5ae2cad7c48c81d7c2553a8ed426
                    --- game ID: 250
                    --- Game Title: "Strider"
                    --- This game has been added to "/home/pi/.emulationstation/collections/custom-achievements.cfg".
                    --- "/home/pi/RetroPie/roms/mastersystem/Strider (USA, Europe).sms" HAS CHEEVOS!
                    

                    I also noticed some indications of needing a username/password for some SNES games, but it went by too quickly to be able to copy/paste it. The script never prompted for a login, just went on to the next one.

                    Who's Scruffy Looking?

                    1 Reply Last reply Reply Quote 0
                    • C
                      cubed3d
                      last edited by

                      Just a quick question -
                      Why would hascheevos report this:

                      pi@RetroPie:~ $ sudo ~/hascheevos/bin/hascheevos.sh --collection --system all
                      Checking JSON hash libraries...
                      Done!
                      ERROR: not a RetroPie system.
                      The "--collection" option is available only for RetroPie systems.
                      

                      Obviously running RetroPie on a RPi3 - Roms located on a mounted network share. Everything else working perfectly, except for hascheevos :/

                      Edit Just tried running it on a single rom as a test and got the following:

                      pi@RetroPie:~ $ sudo ~/hascheevos/bin/hascheevos.sh "/home/pi/RetroPie/roms/snes/Super Mario World (USA).sfc"
                      Checking JSON hash libraries...
                      Done!
                      Checking "/home/pi/RetroPie/roms/snes/Super Mario World (USA).sfc"...
                      cheevos_eval_md5(): Value too large for defined data type
                      "/home/pi/RetroPie/roms/snes/Super Mario World (USA).sfc" has no cheevos. :(
                      

                      Could this be to do with the ROMs being on a network share? Thanks in advance.

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

                        @cubed3d that problem happened because of the sudo. There's no need to use the script this way. Calling the script with sudo is confusing it about the homedir. I'll try to make the script smart enough to deal with it ;-)

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

                          @meleu Thanks for the quick reply!

                          Had a try without the sudo as suggested, a bit better progress:

                          pi@RetroPie:~ $ ~/hascheevos/bin/hascheevos.sh --collection --system all        Checking JSON hash libraries...
                          Done!
                          WARNING: ignoring "pcengine": not found.
                          WARNING: ignoring "segacd": not found.
                          WARNING: ignoring "xbox360": not found.
                          WARNING: ignoring "atari": not found.
                          Checking "/home/pi/RetroPie/roms/megadrive/3 Ninjas Kick Back (USA).md"...
                          cheevos_eval_md5(): Value too large for defined data type
                          "/home/pi/RetroPie/roms/megadrive/3 Ninjas Kick Back (USA).md" has no cheevos. :(
                          
                          Checking "/home/pi/RetroPie/roms/megadrive/6-Pak (USA).md"...
                          cheevos_eval_md5(): Value too large for defined data type
                          "/home/pi/RetroPie/roms/megadrive/6-Pak (USA).md" has no cheevos. :(
                          

                          For each and every ROM, cancelled it shortly after.
                          Seems its having trouble determining the MD5 hash of each ROM file now, I will try with locally stored ROMs and report back!

                          1 Reply Last reply Reply Quote 0
                          • C
                            cubed3d
                            last edited by

                            Unmounted network share and tried locally:

                            pi@RetroPie:~/RetroPie/roms/snes $ ~/hascheevos/bin/hascheevos.sh "/home/pi/RetroPie/roms/snes/Super Mario Kart (Europe).zip"
                            Checking JSON hash libraries...
                            Done!
                            Checking "/home/pi/RetroPie/roms/snes/Super Mario Kart (Europe).zip"...
                            --- SNES: d504d075130c4a544814eb21e691f904
                            --- game ID: 232
                            --- Game Title: "Super Mario Kart"
                            --- "/home/pi/RetroPie/roms/snes/Super Mario Kart (Europe).zip" HAS CHEEVOS!
                            

                            Local ROMs working. Now I'm thinking it may have something to do with write permissions? Is there a more verbose output to debug this?

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

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

                              Is there a more verbose output to debug this?

                              Yes. Do what @hansolo77 did here and post the debug.txt file on codepad.org

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

                                @meleu
                                Ouput to debug.txt

                                Nothing really standing out except for the MD5 check error. scratches head

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

                                  @cubed3d Looks like something similar to https://bbs.archlinux.org/viewtopic.php?id=85999, due to the 32bit OS. Try re-mounting the file share with the additional options ,nounix,noserverino and see if you get the same errors.

                                  C 1 Reply Last reply Reply Quote 1
                                  • C
                                    cubed3d @mitu
                                    last edited by

                                    @mitu Huzzah!
                                    That solved it, and also the issue of playing zipped ROMs from the network share, previously only unzipped ROMs would load.
                                    Thanks for your help, everything is how it should be - what a great community :)

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

                                      @cubed3d Glad you got it sorted out. Note that these options are documented in the Wiki at https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-Network-Share

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