http://olympuschess.com/EGTBChecker/EGTBChecker.zip
The basic usage is:
java -jar EGTBChecker.jar /path/to/EGTBfiles
or
java -jar EGTBChecker.jar d:\EGTB
It recursively checks all files and sub-directories so if you have all your files in C:\EGTB no need to list each subdirectory.
Verified it works in Linux and Windows. Sorry it's command-line only for now, planning to add a GUI but wanted to get the core parts done first.
It supports the following EGTB tablebases:
Syzygy 3,4,5, 6 DTZ and 6 WDL
Gaviota 3,4,5
Nalimov 3,4,5, 6
Robbo Total Bases 3,4,5,z
Robbo Triple Bases 2,3,4,5,5-1, z
As always open to suggestions and comments!
It's a little raw. This has been in my head for years and finally sat down tonight and pushed it out in about 5 hours. Most of the work though was creating the database.
-Josh
Release: EGTB verification tool
Moderators: hgm, Rebel, chrisw
-
- Posts: 1342
- Joined: Wed Mar 08, 2006 9:41 pm
- Location: Morgantown, WV, USA
-
- Posts: 938
- Joined: Fri Mar 10, 2006 4:29 pm
- Location: Germany
Re: Release: EGTB verification tool
Hi, trying to check my syzygy 5men files, I get the following:
Am I doing something wrong?
Code: Select all
java -jar EGTBChecker.jar /home/joster/syzygy5men/syzygy
EGTB Checker:
/home/joster/syzygy5men/syzygy
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
at java.util.Arrays.asList(Arrays.java:3800)
at com.olympuschess.EGTBChecker.EGTBChecker.processFiles(EGTBChecker.java:35)
at com.olympuschess.EGTBChecker.EGTBChecker.main(EGTBChecker.java:22)
... 5 more
Jörg Oster
-
- Posts: 2872
- Joined: Wed Mar 08, 2006 10:09 pm
- Location: Germany
- Full name: Werner Schüle
Re: Release: EGTB verification tool
Thanks Joshua,
works here fine on Windows 10 PC, Intel CPU
regards
works here fine on Windows 10 PC, Intel CPU
regards
Werner
-
- Posts: 550
- Joined: Thu Apr 24, 2008 9:31 am
- Location: Belgium
Re: Release: EGTB verification tool
C:\Program Files\Chess\EGTBChecker>java -jar EGTBChecker.jar C:\RTB
EGTB Checker:
C:\RTB
checksum.md5: is not a EGTB file
KBBBvK.rtbw: Syzygy set OK
KBBBvK.rtbz: Syzygy set OK
...
KRvKP.rtbz: Syzygy set OK
KRvKR.rtbw: Syzygy set OK
KRvKR.rtbz: Syzygy set OK
C:\Program Files\Chess\EGTBChecker>
Thanks Joshua..works great here..maybe it would be interesting to see a total ,to know we have them all !
Kind regards,
JP.
EGTB Checker:
C:\RTB
checksum.md5: is not a EGTB file
KBBBvK.rtbw: Syzygy set OK
KBBBvK.rtbz: Syzygy set OK
...
KRvKP.rtbz: Syzygy set OK
KRvKR.rtbw: Syzygy set OK
KRvKR.rtbz: Syzygy set OK
C:\Program Files\Chess\EGTBChecker>
Thanks Joshua..works great here..maybe it would be interesting to see a total ,to know we have them all !
Kind regards,
JP.
-
- Posts: 938
- Joined: Fri Mar 10, 2006 4:29 pm
- Location: Germany
Re: Release: EGTB verification tool
Obviously, yes.Joerg Oster wrote:Hi, trying to check my syzygy 5men files, I get the following:
Am I doing something wrong?Code: Select all
java -jar EGTBChecker.jar /home/joster/syzygy5men/syzygy EGTB Checker: /home/joster/syzygy5men/syzygy Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) Caused by: java.lang.NullPointerException at java.util.Objects.requireNonNull(Objects.java:203) at java.util.Arrays$ArrayList.<init>(Arrays.java:3813) at java.util.Arrays.asList(Arrays.java:3800) at com.olympuschess.EGTBChecker.EGTBChecker.processFiles(EGTBChecker.java:35) at com.olympuschess.EGTBChecker.EGTBChecker.main(EGTBChecker.java:22) ... 5 more
The path did change in the meantime.
Works perfectly fine now. Thanks.
Jörg Oster
-
- Posts: 1342
- Joined: Wed Mar 08, 2006 9:41 pm
- Location: Morgantown, WV, USA
Re: Release: EGTB verification tool
That's something I have planned for the next release . I'm also planning on having it generate a report afterwards to make the output a bit cleaner and more specific.jpqy wrote:
Thanks Joshua..works great here..maybe it would be interesting to see a total ,to know we have them all !
Kind regards,
JP.
In case there is a little confusion the output is in this format:
filename description OK
If the hash is incorrect it'll let you know the file is corrupt based on the filename and what it should be. If the hash exist but the filename is different it'll also tell you that.
The description is something along "Nalimov 6 men 3-3 set" "Nalimov 3-4-5 men set" "Syzygy set", etc.
Realized once I saw the previous post the "Syzygy set OK" might be confusing. Just means it's part of that set, and that specific file is OK. I'll try and clean that up a bit to make it more obvious.
Again up for any recommendations and ideas.
-Josh
-
- Posts: 326
- Joined: Mon May 24, 2010 4:32 pm
Re: Release: EGTB verification tool
Thank you very much Joshua for releasing such a nice tool