Closed timmyFrederiksen closed 1 month ago
I'm attaching text files with the code for both my config.yml (config.txt) and my engine (bot.txt) [coded in python]
In bot.txt
can you try changing UCI_OK_COMMAND = 'uciok'
to UCI_OK_COMMAND = 'option name UCI_Variant type combo default atomic var atomic\nuciok'
?
Yes, that worked! Why did that work, haha?
In order to play chess variants, your bot needs to announce that it can play those variants. Otherwise, chess interfaces (like lichess-bot) will assume the bot only plays standard chess. That's the purpose of the option name UCI_Variant
command. If your bot ever plays more variants, add more var
parameters to the same line.
Appreciate the help!
I'm making a bot that I want to only play atomic, and when I hooked up my logic for move finding with only normal chess enabled it runs fine (until it tries to play an illegal move because of differences with atomic), but when I switch the config.yml to only accept atomic, it won't even play the first move, even though the executable is the same in the engines folder.
When I run "python .\lichess-bot.py", it goes great until I challenge the bot to an atomic game, which is when I receive this error repeatedly:
I'm sure, I'm misunderstanding something, the error message seems to imply that it's my engine, but I'm not exactly sure where it is going wrong, here is my engine's code and this exact engine runs on classic chess perfectly (again, until an illegal move is played, but the bot won't even play 1. Nf3 on atomic)
Here is the stack trace on the error in
old.log
:and in
new.log
:If there's anything else needed, please let me know. I'm pretty sure this is not a bug, but I can't find anything in documentation or online that would explain the issue.
Thanks