I updated the code to make my bot use two opening books. But it's not using any one of them. From the start it plays using engine and thus wastes time in the opening. Here is the config.yml code:
`
token: "REMOVED" # lichess OAuth2 Token
url: "https://lichess.org/" # lichess base URL
engine: # engine settings
dir: "./engines/" # dir containing engines, relative to this project
name: "Stockfish.exe" # binary name of the engine to use
protocol: "uci" # "uci" or "xboard"
uci_ponder: true # think on opponent time; only works if "protocol" is "uci"
polyglot:
enabled: false # activate polyglot book
book:
standard: # list of book file paths for variant standard
engines/bigbook.bin
engines/book.bin
atomic: # list of book file paths for variant atomic
- engines/atomicbook1.bin
- engines/atomicbook2.bin
etc.
use the same pattern for giveaway, crazyhouse, horde, kingofthehill, racingkings, 3check as well
min_weight: 1 # selects move with highest weight but not below this value
selection: "weighted_random" # move slection is one of "weighted_random", "uniform_random" or "best_move" (but not below the min_weight in 2. and 3. case)
max_depth: 8 # half move max depth
engine_options: # any custom command line params to pass to the engine
cpuct: 3.1
uci_options: # arbitrary UCI options passed to the engine
Move Overhead: 100 # increase if your bot flags games too often
Ponder: true
Threads: 3 # max CPU threads the engine can use
Hash: 256 # max memory (in megabytes) the engine can allocate
go_commands: # additional options to pass to the UCI go command
xboard_options: # arbitrary xboard options passed to the engine
cores: "4"
memory: "4096"
egtpath: # dir containing egtb, relative to this project
gaviota: "Gaviota path"
nalimov: "Nalimov Path"
scorpio: "Scorpio Path"
syzygy: "./syzygy/"
silence_stderr: false # some engines (yes you, leela) are very noisy
abort_time: 20 # time to abort a game in seconds when there is no activity
fake_think_time: false # artificially slow down the bot to pretend like it's thinking
move_overhead: 100 # increase if your bot flags games too often
challenge: # incoming challenges
concurrency: 1 # number of games to play simultaneously
sort_by: "first" # possible values: "best", "first"
accept_bot: true # accepts challenges coming from other bots
only_bot: false # accept challenges by bots only
max_increment: 180 # maximum amount of increment to accaept a challenge. the max is 180. set to 0 for no increment
min_increment: 0 # minimum amount of increment to accept a challenge
variants: # chess variants to accept (http://lichess.org/variant)
standard
- fromPosition
- antichess
- atomic
- chess960
- crazyhouse
- horde
- kingOfTheHill
- racingKings
- threeCheck
time_controls: # time controls to accept
bullet
blitz
rapid
- classical
- correspondence
modes: # game modes to accept
casual # unrated games
rated # rated games - must comment if the engine doesn't try to win
`
The token is removed. My bot's name is ChessBot13920
The code is not working here. I am sharing the file.
FILE.docx
I updated the code to make my bot use two opening books. But it's not using any one of them. From the start it plays using engine and thus wastes time in the opening. Here is the config.yml code: ` token: "REMOVED" # lichess OAuth2 Token url: "https://lichess.org/" # lichess base URL
engine: # engine settings dir: "./engines/" # dir containing engines, relative to this project name: "Stockfish.exe" # binary name of the engine to use protocol: "uci" # "uci" or "xboard" uci_ponder: true # think on opponent time; only works if "protocol" is "uci" polyglot: enabled: false # activate polyglot book book: standard: # list of book file paths for variant standard
atomic: # list of book file paths for variant atomic
- engines/atomicbook1.bin
- engines/atomicbook2.bin
etc.
use the same pattern for giveaway, crazyhouse, horde, kingofthehill, racingkings, 3check as well
min_weight: 1 # selects move with highest weight but not below this value selection: "weighted_random" # move slection is one of "weighted_random", "uniform_random" or "best_move" (but not below the min_weight in 2. and 3. case) max_depth: 8 # half move max depth
engine_options: # any custom command line params to pass to the engine
cpuct: 3.1
uci_options: # arbitrary UCI options passed to the engine Move Overhead: 100 # increase if your bot flags games too often Ponder: true Threads: 3 # max CPU threads the engine can use Hash: 256 # max memory (in megabytes) the engine can allocate
go_commands: # additional options to pass to the UCI go command
nodes: 1 # Search so many nodes only.
depth: 5 # Search depth ply only.
movetime: 1000 # Integer. Search exactly movetime milliseconds.
xboard_options: # arbitrary xboard options passed to the engine
cores: "4"
memory: "4096"
egtpath: # dir containing egtb, relative to this project
gaviota: "Gaviota path"
nalimov: "Nalimov Path"
scorpio: "Scorpio Path"
syzygy: "./syzygy/" silence_stderr: false # some engines (yes you, leela) are very noisy
abort_time: 20 # time to abort a game in seconds when there is no activity fake_think_time: false # artificially slow down the bot to pretend like it's thinking move_overhead: 100 # increase if your bot flags games too often
challenge: # incoming challenges concurrency: 1 # number of games to play simultaneously sort_by: "first" # possible values: "best", "first" accept_bot: true # accepts challenges coming from other bots only_bot: false # accept challenges by bots only max_increment: 180 # maximum amount of increment to accaept a challenge. the max is 180. set to 0 for no increment min_increment: 0 # minimum amount of increment to accept a challenge variants: # chess variants to accept (http://lichess.org/variant)
- fromPosition
- antichess
- atomic
- chess960
- crazyhouse
- horde
- kingOfTheHill
- racingKings
- threeCheck
time_controls: # time controls to accept
- classical
- correspondence
modes: # game modes to accept
The token is removed. My bot's name is ChessBot13920
The code is not working here. I am sharing the file. FILE.docx
the actual file name is config.yml