Skip to content

Chess engine bridge reading file with moves in uci format

Notifications You must be signed in to change notification settings

Thibor/BookReaderUci

Repository files navigation

BookReaderUci

BoookReaderUci can be used as normal UCI chess engine in chess GUI like Arena.
The program has an additional function implemented to evaluate the chess engine.
To use this program you need install .NET Framework 4.8

Parameters

-bf opening Book File name
-ef chess Engine File name
-ea chess Engine Arguments
-w Write new moves to the book
-lr Limit maximum ply depth when Read from book (default 0) 0 means no limit
-lw Limit maximum ply depth when Write to book (default 0) 0 means no limit
-log Create LOG file
-info show additional INFOrmation
-tf Teacher File name - teacher is a program used to update the accuracy.fen file
-sf Student File name - student is a program used to be tested
-acd Analysis Count Depth

Console commands

book - operations on chess openings book in format uci
book load [filename].[uci|pgn] - clear and add moves from file
book save [filename].[uci|png] - save book to the file
book addfile [filename].[uci|pgn] - adds moves to the book from the file
book adduci [uci moves] - add moves in uci format to the book
book delete [number x] - delete x games from the book
book clear - remove all moves from the book
book getoption - show options
book setoption name [option name] value [option value] - set option
accuracy - evaluate accuracy and elo of chess engine
accuracy start - start test for the average centipawn loss, this command need file "accuracy.epd" and student file
accuracy update [depth] - update file "accuracy.epd" this command need teacher file
accuracy delete - delete positions from "accuracy.epd" where player cannot make blunder
mod - modify factors of chess engine, this command need file "mod.ini" and student file
evaluation - evaluation chess positions by chess engine, this command nedd file "evaluation.epd" and student file
test - test chess engine
test start - start test chess engine, this command need file "test.epd" and student file
ini - create configuration file

Examples of using parameters

-bf book.uci -lw 10
book -lw 10

Opens a chess library of openings called "book.uci", and if the player gets a checkmate, the first 10 half moves of the game will be added to the library

-bf book.uci -ef stockfish.exe
book -ef stockfish.exe

Opens a chess library of openings named book.uci, and if it doesn't find any move in it, it will run a chess engine called stockfish.exe

Examples of using console commands

accuracy start

This command requirest existence student file and "accuracy fen.txt". Student chess engine will be tested for the average centipawn loss, report will be generated in "accuracy report.log" file.

accuracy update 20

This command requirest existence teacher file and "accuracy fen.txt". File "accuracy fen.txt" will be udpated to depth 20.

test start

This command requirest existence student file and "test fen.txt". Student chess engine will be tested and report will be gnerated in "test report.log" file.

Examples of using "bookreaderuci.ini" file

You can create file "bookreaderuci.ini" and add text lines.

teacher>stockfish.exe

Use file "stockfish.exe" as teacher.

student>rapchesscs.exe

Use file "rapchesscs.exe" as student.