forked from Torom/BotLi
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.yml
360 lines (346 loc) · 22.5 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
token: "XXXXXXXXXXXXXXXXXXXXXXXX" # Lichess OAuth2 Token.
engines:
standard: # Engine used for standard chess and when no suitable special engine is configured.
dir: "C:/chess/engines" # Directory containing the engine.
name: "stockfish.exe" # Binary name of the engine to use.
ponder: true # Think on opponent's time.
use_syzygy: true # Whether the engine should be configured to use syzygy.
silence_stderr: false # Suppresses stderr output.
uci_options: # Arbitrary UCI options passed to the engine. (Commenting allowed)
Threads: 30 # Max CPU threads the engine can use.
Hash: 12288 # Max memory (in megabytes) the engine can allocate.
Move Overhead: 500 # Increase if your bot flags games too often.
variants: # Engine used for variants when no suitable special engine is configured.
dir: "C:/chess/engines" # Directory containing the engine.
name: "fairy-stockfish.exe" # Binary name of the engine to use.
ponder: true # Think on opponent's time.
use_syzygy: false # Whether the engine should be configured to use syzygy.
silence_stderr: false # Suppresses stderr output.
uci_options: # Arbitrary UCI options passed to the engine. (Commenting allowed)
Threads: 30 # Max CPU threads the engine can use.
Hash: 16384 # Max memory (in megabytes) the engine can allocate.
Move Overhead: 500 # Increase if your bot flags games too often.
EvalFile: "3check.nnue;antichess.nnue;atomic.nnue;crazyhouse.nnue;horde.nnue;kingofthehill.nnue;racingkings.nnue" # NNUE for Fairy-SF
bullet: # Bullet Engine
dir: "C:/chess/engines" # Directory containing the engine.
name: "stockfish.exe" # Binary name of the engine to use.
ponder: true # Think on opponent's time.
use_syzygy: true # Whether the engine should be configured to use syzygy.
silence_stderr: false # Suppresses stderr output.
uci_options: # Arbitrary UCI options passed to the engine. (Commenting allowed)
Threads: 30 # Max CPU threads the engine can use.
Hash: 12288 # Max memory (in megabytes) the engine can allocate.
Move Overhead: 500 # Increase if your bot flags games too often.
blitz: # Blitz Engine
dir: "C:/chess/engines" # Directory containing the engine.
name: "Eman.exe" # Binary name of the engine to use.
ponder: true # Think on opponent's time.
use_syzygy: true # Whether the engine should be configured to use syzygy.
silence_stderr: false # Suppresses stderr output.
uci_options: # Arbitrary UCI options passed to the engine. (Commenting allowed)
Threads: 30 # Max CPU threads the engine can use.
Hash: 16384 # Max memory (in megabytes) the engine can allocate.
Move Overhead: 500 # Increase if your bot flags games too often.
Experience Book: true # Emptik/Eman UCI engine tourney mode.
Experience Book Min Depth: 39 # Otherwise bad moves have a chance to be played.
Experience Book Max Moves: 255 # Infinite moves from book
Experience MultiPV: false # Really want your exp to be trash?
Experience Book Eval Importance: 2 # Setting according to DeeDs :)
rapid: # Rapid Engine
dir: "C:/chess/engines" # Directory containing the engine.
name: "Eman.exe" # Binary name of the engine to use.
ponder: true # Think on opponent's time.
use_syzygy: true # Whether the engine should be configured to use syzygy.
silence_stderr: false # Suppresses stderr output.
uci_options: # Arbitrary UCI options passed to the engine. (Commenting allowed)
Threads: 30 # Max CPU threads the engine can use.
Hash: 16384 # Max memory (in megabytes) the engine can allocate.
Move Overhead: 500 # Increase if your bot flags games too often.
Experience Book: true # Emptik/Eman UCI engine tourney mode.
Experience Book Min Depth: 39 # Otherwise bad moves have a chance to be played.
Experience Book Max Moves: 255 # Infinite moves from book
Experience MultiPV: false # Really want your exp to be trash?
Experience Book Eval Importance: 2 # Setting according to DeeDs :)
classical: # Classical Engine
dir: "C:/chess/engines" # Directory containing the engine.
name: "Eman.exe" # Binary name of the engine to use.
ponder: true # Think on opponent's time.
use_syzygy: true # Whether the engine should be configured to use syzygy.
silence_stderr: false # Suppresses stderr output.
uci_options: # Arbitrary UCI options passed to the engine. (Commenting allowed)
Threads: 30 # Max CPU threads the engine can use.
Hash: 16384 # Max memory (in megabytes) the engine can allocate.
Move Overhead: 500 # Increase if your bot flags games too often.
Experience Book: true # Emptik/Eman UCI engine tourney mode.
Experience Book Min Depth: 39 # Otherwise bad moves have a chance to be played.
Experience Book Max Moves: 255 # Infinite moves from book
Experience MultiPV: false # Really want your exp to be trash?
Experience Book Eval Importance: 2 # Setting according to DeeDs :)
# Use the same pattern for 'bullet', 'blitz', 'rapid', 'classical',
# 'antichess', 'atomic', 'chess960', 'crazyhouse', 'horde', 'kingofthehill', 'racingkings' and '3check' as well.
# Append '_white' or '_black' to use the engine only as the specific color.
syzygy:
enabled: true # Activate local syzygy endgame tablebases.
paths: # Paths to local syzygy endgame tablebases.
- "C:/chess/Syzygy345" # Main Path
max_pieces: 5 # Count of max pieces in the local syzygy endgame tablebases.
instant_play: true # Whether the bot should play directly from syzygy without engine if possible.
gaviota:
enabled: false # Activate local gaviota endgame tablebases.
paths: # Paths to local gaviota endgame tablebases.
- "/path/to/gaviota"
max_pieces: 5 # Count of max pieces in the local gaviota endgame tablebases.
opening_books:
enabled: true # Activate opening books.
priority: 400 # Priority with which this move source is used. Higher priority is used first.
books:
# bullet:
# selection: weighted_random # Move selection is one of "weighted_random", "uniform_random" or "best_move".
# names: # List of names of books to use in bullet.
# - BulletBook
# - DefaultBook
standard_white:
selection: weighted_random # Move selection is one of "weighted_random", "uniform_random" or "best_move".
# max_depth: 16
names: # List of names of books to use as black.
- WhiteBook
standard_black:
selection: weighted_random # Move selection is one of "weighted_random", "uniform_random" or "best_move".
# max_depth: 16 # Half move max depth. (Comment this line for max depth)
names: # List of names of books to use if there is no specific book for the time control, white, black or chess960.
- BlackBook
# Use the same pattern for 'bullet', 'blitz', 'rapid', 'classical',
# 'antichess', 'atomic', 'chess960', 'crazyhouse', 'horde', 'kingofthehill', 'racingkings' and '3check' as well.
# Append '_white' or '_black' to use the books only as the specific color.
online_moves:
opening_explorer:
enabled: false # Activate online moves from Lichess opening explorer. The move that has performed best for this bot is played.
priority: 300 # Priority with which this move source is used. Higher priority is used first.
use_for_variants: false # Whether the Lichess opening explorer should be used for other variants than standard and chess960.
min_time: 20 # Time the bot must have at least to use the online move.
timeout: 5 # Time the server has to respond.
min_games: 5 # Minimum number of games in which the position must have occurred.
only_with_wins: false # Whether to play only moves that have won before.
selection: "performance" # Move selection is "performance" or "win_rate".
anti: false # Whether to play the moves in which the opponent performs the worst.
# max_depth: 16 # Half move max depth. (Comment this line for max depth)
# max_moves: 1 # Max number of moves played from Lichess opening explorer. (Comment this line for max moves)
lichess_cloud:
enabled: true # Activate online moves from Lichess cloud eval.
priority: 200 # Priority with which this move source is used. Higher priority is used first.
only_without_book: true # Whether the cloud should only be used if there is no matching book.
min_eval_depth: 50 # Minimum evaluation depth.
min_time: 30 # Time the bot must have at least to use the online move.
timeout: 1 # Time the server has to respond.
# max_depth: 16 # Half move max depth. (Comment this line for max depth)
# max_moves: 1 # Max number of moves played from Lichess cloud eval. (Comment this line for max moves)
chessdb:
enabled: true # Activate online moves from https://chessdb.cn/queryc_en/
priority: 300 # Priority with which this move source is used. Higher priority is used first.
min_eval_depth: 45 # Minimum evaluation depth.
min_time: 30 # Time the bot must have at least to use the online move.
timeout: 1 # Time the server has to respond.
# max_depth: 16 # Half move max depth. (Comment this line for max depth)
# max_moves: 1 # Max number of moves played from chessdb. (Comment this line for max moves)
online_egtb:
enabled: true # Activate online endgame tablebases from Lichess.
min_time: 20 # Time the bot must have at least to use the online move.
timeout: 1 # Time the server has to respond.
offer_draw:
enabled: false # Activate whether the bot should offer draw.
score: 10 # If the absolute value of the score is less than or equal to this value, the bot offers/accepts draw (in cp)
consecutive_moves: 10 # How many moves in a row the absolute value of the score has to be below the draw value
min_game_length: 35 # Earliest move in which draw is offered.
resign:
enabled: false # Activate whether the bot should resign games.
score: -1000 # If the score is less than or equal to this value, the bot resigns (in cp).
consecutive_moves: 5 # How many moves in a row the score has to be below the resign value.
move_overhead_multiplier: 1.0 # Increase if your bot flags games too often. Default move overhead is 1 second per 1 minute initital time.
challenge: # Incoming challenges. (Commenting allowed)
concurrency: 1 # Number of games to play simultaneously.
bullet_with_increment_only: false # Whether bullet games against BOTs should only be accepted with increment.
min_increment: 0 # Minimum amount of increment to accept a challenge.
max_increment: 0 # Maximum amount of increment to accept a challenge.
min_initial: 60 # Minimum amount of initial time to accept a challenge.
max_initial: 60 # Maximum amount of initial time to accept a challenge.
variants: # Chess variants to accept (https://lichess.org/variant).
- standard
- chess960
# - fromPosition
- antichess
- atomic
- crazyhouse
- horde
- kingOfTheHill
- racingKings
- threeCheck
time_controls: # Time controls to accept.
- bullet
- blitz
- rapid
- classical
bot_modes: # Game modes to accept against BOTs.
# - casual # Unrated games.
- rated # Rated games
human_modes: # Game modes to accept against humans.
# - casual # Unrated games.
# - rated # Rated games
matchmaking:
delay: 10 # Time in seconds the bot must be idle before a new challenge is started.
timeout: 30 # Time until a challenge is canceled.
types: # Matchmaking types of which one is randomly selected before each game.
bullet: # Arbitrary name of the matchmaking type. Names must be unique.
tc: 1+0 # Time control in initial_minutes+increment_seconds format.
rated: true # Whether matchmaking should play rated games.
variant: standard # Chess variant (https://lichess.org/variant) to challenge.
weight: 7 # Weight with which this type is selected. (Default: 100)
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
blitz: # Matchmaking types of which one is randomly selected before each game.
tc: 3+0
rated: true
variant: standard
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
rapid: # Matchmaking types of which one is randomly selected before each game.
tc: 8+0
rated: true
variant: standard
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
classical:
tc: 25+0
rated: true
variant: standard
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
chess960: # Arbitrary name of the matchmaking type. Names must be unique.
tc: 1+0 # Time control in initial_minutes+increment_seconds format.
rated: true # Whether matchmaking should play rated games.
variant: chess960 # Chess variant (https://lichess.org/variant) to challenge.
weight: 7 # Weight with which this type is selected. (Default: 100)
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
crazyhouse:
tc: 1+0
rated: true
variant: crazyhouse
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
kingOfTheHill:
tc: 1+0
rated: true
variant: kingOfTheHill
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
threeCheck:
tc: 1+0
rated: true
variant: threeCheck
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
antichess: # Arbitrary name of the matchmaking type. Names must be unique.
tc: 1+0 # Time control in initial_minutes+increment_seconds format.
rated: true # Whether matchmaking should play rated games.
variant: antichess # Chess variant (https://lichess.org/variant) to challenge.
weight: 7 # Weight with which this type is selected. (Default: 100)
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
atomic:
tc: 1+0
rated: true
variant: atomic
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
horde:
tc: 1+0
rated: true
variant: horde
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
racingKings:
tc: 1+0
rated: true
variant: racingKings
weight: 7
multiplier: 20 # Multiplier for calculating timeouts in matchmaking. Higher values lead to a wider range of opponents.
min_rating_diff: 0 # Minimum rating distance to opponent.
max_rating_diff: 300 # Maximum rating distance to opponent.
messages:
# Optional substitution keywords (include curly braces):
# {opponent} to insert the opponent's name
# {me} to insert our name
# {engine} to insert engine name
# {cpu} to insert CPU information
# {ram} to insert RAM size
# Any other words in curly braces will be removed.
greeting: "Hi, I'm {me}! I'm running {engine} on a AMD Ryzen 5950X! Good Luck, and type !help for a list of commands" # Message sent to the opponent at the beginning of a game.
goodbye: "Thanks for playing with me" # Message sent to the opponent after the end of a game.
greeting_spectators: "!printeval" # Message sent to the spectators at the beginning of a game.
goodbye_spectators: "Thanks for watching {me} vs {opponent}!" # Message sent to the spectators after the end of a game.
whitelist: # List of users whose challenges are always accepted.
- EmptikGod
blacklist: # List of users who are not challenged and whose challenges are declined.
- ElmiChess
- actual_magnus
- Annie_archy
- chessfyBOT
- ResoluteBot
- VariantsBot
- AshNostromo
- chat_bot
- Zagreus_engine
- caissa-test
- caissa-ai
- StreamerVSChat
- zulu_bot
- HistoryExplorer
- bekbot
- OldStockfish
- dark_angel_777
- EmptikBotLc0
- ProteusSF
- ProteusSF-Lite
- ProteusSF-Open
- ProteusSF-Turbo
- ProteusSF-Godot
- ProteusSF-Aureo
- ReinforcementTrial
- Mr_Chess_Berserk
- FireFishBOT
- FireFishBOT_v2
- TasmanRevenge
- ToromBot
- MQBot
- LazyBot
- admete_bot
- eubos
- baby_eubos
- BerserkRandomMover
- AKS-Mantissa
- RaspFish
- ChessChildren
- simpleEval
- simplerEval
- Nikitosik-ai
books: # Names of the opening books (to be used above in the opening_books section) and paths to the opening books.
DefaultBook: "/path/to/DefaultBook.bin"