hascheevos.sh - a tool for RetroPie/RetroAchievements users
-
@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 -
@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?
-
@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.
-
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.
-
@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 ;-) -
@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! -
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?
-
@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 -
Nothing really standing out except for the MD5 check error. scratches head
-
@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. -
@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 :) -
@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
-
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. -
@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!
-
@hansolo77 yeah! I need to update the tool... I'll let you know when I do. ;)
-
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! :)
-
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 -
@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...
-
@meleu I know. Just keeping you on your toes. :) I'm liking all the advancements though.
-
@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.
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.