Page 3 of 3

Re: Bin book adapter?

Posted: Sat Jul 20, 2019 1:11 pm
by Ovyron
hgm wrote:
Sat Jul 20, 2019 8:01 am
So the most likely explanation seems that the GUI sets the current folder to some weird place.
Yes. So apparently the problem is Polyglot/InBetween can't find their INI file at all. I wonder if I make copies of Polyglot.ini all over the place I could hit by chance this weird place (set as current folder) and it'd work.
Cumnor wrote:
Sat Jul 20, 2019 12:48 pm
The Aquarium Book Adapter is already built in to Infinitychess GUI
The problem is using it turns off the bix book, so I can't pile up my bix book and once out of book use the CTG, like I could if I could install the Adapter in the GUI (which also has a nice "think while in book" option, so I'd like to do it the other way around, CTG->Bix - I could even use an empty CTG so I have my setup but engine has hash full of contents and high depth for very first move out of book if my engine guesses the ponder move.)

The reason one can't install AquariumBookAdapter (other than needing to bypass the built-in blocking) is because it doesn't find its ini file either...

Re: Bin book adapter?

Posted: Sat Jul 20, 2019 3:12 pm
by hgm
You could try to load a UCI engine that supports 'persistent hash', and have it save its hash table on a file in the current directory. Then you could have Windows search for the file.

Re: Bin book adapter?

Posted: Sat Jul 20, 2019 5:55 pm
by Ovyron
hgm wrote:
Sat Jul 20, 2019 3:12 pm
You could try to load a UCI engine that supports 'persistent hash', and have it save its hash table on a file in the current directory. Then you could have Windows search for the file.
Great idea! So the Persistent Hash is created and used from somewhere that is set as the engine's path, and that weird and mysterious place is...

C:\Program Files (x86)\InnovativeSolutions\InfinityChess

(or wherever you install it)

So one has to move the engine that one wants to use, the bin book, polyglot.exe and polyglot.ini there. And the Polyglot.ini has to point to EngineDir=C:\Program Files (x86)\InnovativeSolutions\InfinityChess & BookFile=C:\Program Files (x86)\InnovativeSolutions\InfinityChess\cfish.bin (or the name of your bin book), otherwise it will not work :shock: . And you may not be able to install a second polyglot for another engine.

But if everything is set up like that, then polyglot does install on IC, and UCI engines without bin book support can use them (I guess AquariumBookAdapter could be installed there in a similar manner.)


((...except, this discovery coincided with me quitting InfinityChess because of abuse of power by their tournament director, handing free points to established players while others have to sit in the dust and actually play games to earn them, so all this info is now useless to me. But hopefully it can help someone else wanting to pile up to 5 books Bix->Ctg->Bin1->Bin2->Bin3 on IC, or something, just because it's now possible))

Re: Bin book adapter?

Posted: Sun Jul 21, 2019 8:58 pm
by komodoslash001
Great the issue was fixed. Idk if the issue was with your particular cfish binary though as cfish uses bin books for me with infinitychess GUI if I supply the full path. For example: C:\Chess\book.bin

No need for me to move it to any place special as cfish is in the directory: C:\Chess

I use my own compile, but it should work for any I would think unless some bug is happening somewhere. :)


Re: Bin book adapter?

Posted: Tue Jan 14, 2020 3:13 am
by Ovyron
Ovyron wrote:
Sat Jul 20, 2019 5:55 pm
(I guess AquariumBookAdapter could be installed there in a similar manner.)
Yup, managed to set up some BIX book -> CTG Book -> BIN Book configuration with it. Presumably you can go insane and pile up BIX -> CTG -> CTG2 -> CTG3 -> CTG4 -> BIN -> BIN2 -> BIN3 -> BIN4 if your engine allows you to setup natively. I don't see why anyone would want to do that, but we now have the technology of piling up to 9 different opening books of different formats!

So why I'm here? Well, because it's a bit tricky. First, remember the engine you want to install and the bin books you want to use have to be on C:\Program Files (x86)\InnovativeSolutions\InfinityChess, or where you installed it. You had installed the AquariumBookAdapter somewhere, right? So supposedly it'd work if you just copied it (which means the exes and dlls of it, plus the Data folder) to the \InnovativeSolutions\InfinityChess folder and set it up, right? Nope, IC will fail to load it... And for some reason the Adapter wants to WRITE your configuration on this folder but READ it from wherever you installed the adapter! (ignoring the path you told it for the Data folder) :shock:

What I recommend you to do (and the only reason is you want to pile up your BIX book and when it runs out of moves it goes to your CTG) is installing your CTG Book normally in InfinityChess with the built-in adapter. Then you have to copy the tree_configurations.xml on \InnovativeSolutions\InfinityChess\Plugin\Data\Config to \InnovativeSolutions\InfinityChess\Data\Config (which is what you copied previously for the adapter), the NameOfYourBook.xml file from \InnovativeSolutions\InfinityChess\Plugin\Data\Config\TreeConfig into \InnovativeSolutions\InfinityChess\Data\Config\TreeConfig, and then copy those files from those folders to where you installed the adapter.

Now run \InnovativeSolutions\InfinityChess\ABAGui.exe to set up the engine with its CTG Book, and copy the contents of \InnovativeSolutions\InfinityChess\Data\AquariumBookAdapter.ini into \InnovativeSolutions\InfinityChess\Data\ABAdapter.ini. Finally, copy both those INI files into the place where you installed the Adapter (and replace the ini files on there.)

Then, and only then will the Adapter (at \InnovativeSolutions\InfinityChess\ABAdapter.exe) be able to be installed in the InfinityChess GUI! And you will be able to pile up BIX -> CTG, and pile up Polyglot inside the Adapter if you want, and have an endless stream of books that take over if other books run out of moves...

I apologize to IC developers for accusing them of implementing a block for the adapter (I assumed they wanted people to use the built-in one), it's just really poor decisions by the programmers of IC (it would have been simple to allow users to use the CTG book only after BIX has run out of moves, instead of shutting down BIX if you use its built-in CTG adapter) and of the Aquarium Book Adapter (the only reason people still use BIX is that the guys at Aquarium never implemented CTG book learning, so IC BIX's book learning is the way to go), which shouldn't be using files from where you installed it, specially if you tell it the path to its data folder...

This is to get ready for this Sunday for the Engine Masters Tournament which would give $500 to the first place or something (but you need 60 tournament games accumulated, so you have to start playing tournaments already), in case you didn't know :)

Too bad I can't test my set up, as apparently InfinityChess's Engine Hall is dead now, Localhero is the only person there and they don't want to play me :( I wonder what happened...

Re: Bin book adapter?

Posted: Tue Jan 14, 2020 3:54 am
by jdart
I can't even get the InfinityChess app to properly install on WIndows 10. And I assume if you are not on Windows, you are out of luck.


Re: Bin book adapter?

Posted: Tue Jan 14, 2020 10:46 pm
by Ovyron
What error do you get when trying to install InfinityChess?

Anyway, the method I used on my previous post doesn't work. It's a great mystery because everything seems to work correctly, and yet, it only works if a new position on the board is played that is not in the BIX book, and it's not in the CTG, then the engine will play its book moves and play correctly. BUT if the move is not on the BIX book but it's on the CTG, then the CTG takes over, but when it's done the engine never plays a move. Dovahkiin will know why is it that I played and lost so many games agaisnt them when testing (because... it'd work on InfinityChess, but not when playing online :shock: ) The logs reveal that everything works correctly, the engine is loaded and gets sent go wtime 658000 btime 657000 or whatever and it starts searching and finishes its search and all, and yet it never moves...

So my next idea was to install the built-in Adapter of InfinityChess as an UCI engine! If it works when the GUI calls it, it should work when installed, right? No, one can't install it.

Luckily at some point in time I installed rybka.exe with the adapter, so I could see what was its error when running C:\Program Files (x86)\InnovativeSolutions\InfinityChess\Plugin\adapter.exe - that it couldn't find rybka.exe

But at this point in time I don't have any ini file anywhere pointing to rybka.exe, so from where the heck it's coming from?? What I did was using UltraSearch to search on the entire computer an INI file with the text "rybka.exe" (without quotes) and it was found in the most unlikely place...

C:\Users\Administrator\AppData\Local\VirtualStore\Program Files (x86)\InnovativeSolutions\InfinityChess\Plugin\Data\adapter.ini

How is one supposed to find that place any other way??

So I modified that adapter.ini file to have the contents from the NameOfYourEngine_CTG.ini file residing at C:\Program Files (x86)\InnovativeSolutions\InfinityChess\Plugin\Data .

Try installing the adapter now. It won't work but it'll create a new adapter.ini file at the same place. It still was calling rybka.exe so I don't understand from where's it coming from, but if you copy the adapter.ini from VirtualStore\Program Files (x86)\InnovativeSolutions\InfinityChess\Plugin\Data\ and overwrite this one, finally, then, and only then, will you be able to install adapter.exe in InfinityChess!

And it'll finally work, allowing you to pile some BIX -> CTG -> BIN configuration! Only for some guy to play 4.g4 in the QGD and get you out of book anyway :mrgreen: