Hectozar commited on
Commit
c327742
·
verified ·
1 Parent(s): 7319510

Update config.yml

Browse files
Files changed (1) hide show
  1. config.yml +213 -103
config.yml CHANGED
@@ -1,146 +1,256 @@
1
- token: "lip_Qsl2M6Ys7xtmPMVyyvAq" # Your Lichess OAuth2 Token.
2
  url: "https://lichess.org/" # Lichess base URL.
3
 
4
  engine: # Engine settings.
5
- dir: "./fairy" # Directory containing the engine.
6
- name: "stockfish" # Binary name of the engine.
7
- debug: false
8
- working_dir: ""
9
- protocol: "uci"
10
- ponder: false # Engine does not support pondering.
 
 
 
 
 
11
 
12
  polyglot:
13
- enabled: false
14
  book:
15
- standard:
16
  - engines/book1.bin
17
- min_weight: 1
18
- selection: "weighted_random"
19
- max_depth: 20
20
- normalization: "none"
 
 
 
 
 
 
21
 
22
  draw_or_resign:
23
- resign_enabled: false
24
- resign_score: -1000
25
- resign_for_egtb_minus_two: true
26
- resign_moves: 3
27
- offer_draw_enabled: true
28
- offer_draw_score: 0
29
- offer_draw_for_egtb_zero: true
30
- offer_draw_moves: 10
31
- offer_draw_pieces: 10
32
 
33
  online_moves:
34
- max_out_of_book_moves: 10
35
- max_retries: 2
 
36
  chessdb_book:
37
- enabled: false
38
- min_time: 20
39
- max_time: 10800
40
- move_quality: "good"
41
- min_depth: 20
42
  lichess_cloud_analysis:
43
- enabled: false
44
- min_time: 20
45
- max_time: 10800
46
- move_quality: "best"
47
- max_score_difference: 50
48
  min_depth: 20
49
  min_knodes: 0
50
  lichess_opening_explorer:
51
  enabled: false
52
  min_time: 20
53
- max_time: 10800
54
- source: "masters"
55
- player_name: ""
56
- sort: "winrate"
57
- min_games: 10
58
  online_egtb:
59
- enabled: false
60
- min_time: 20
61
- max_time: 10800
62
- max_pieces: 8
63
- source: "lichess"
64
- move_quality: "best"
65
 
66
- lichess_bot_tbs:
67
  syzygy:
68
- enabled: false
69
- paths:
70
  - "engines/syzygy"
71
- max_pieces: 7
72
- move_quality: "best"
73
  gaviota:
74
- enabled: false
75
  paths:
76
  - "engines/gaviota"
77
  max_pieces: 5
78
- min_dtm_to_consider_as_wdl_1: 120
79
- move_quality: "best"
 
 
 
80
 
81
- uci_options: # UCI options passed to the engine.
82
- Skill Level: 5 # 1=1000 Elo, 5=1500 Elo (default), 10=2000 Elo
83
 
84
- silence_stderr: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
 
86
- abort_time: 30
87
- fake_think_time: false
88
- rate_limiting_delay: 0
89
- move_overhead: 2000
90
- max_takebacks_accepted: 0
91
- quit_after_all_games_finish: false
 
 
92
 
93
  correspondence:
94
- move_time: 60
95
- checkin_period: 300
96
- disconnect_time: 150
97
- ponder: false
98
-
99
- challenge:
100
- concurrency: 10000
101
- sort_by: "best"
102
- preference: "none"
103
- accept_bot: true
104
- accept_human: true
105
- only_bot: false
106
- max_increment: 20
107
- min_increment: 0
108
- max_base: 1800
109
- min_base: 0
110
- max_days: 14
111
- min_days: 1
112
- variants:
 
113
  - standard
114
- time_controls:
 
 
 
 
 
 
 
 
 
115
  - bullet
116
  - blitz
117
  - rapid
118
  - classical
119
- modes:
120
- - casual
121
- - rated
122
- bullet_requires_increment: false
123
- max_simultaneous_games_per_user: 5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
 
125
  greeting:
126
- hello: "Hi! I'm {me}, I am a Chess Engine created using C++. Typer !help for commands ."
127
- goodbye: "Good game!"
128
- hello_spectators: "Hi! I'm {me}, I am a Chess Engine created using C++. If you want to play me, challenge me! Type !help for commands."
129
- goodbye_spectators: "Thanks for watching!"
 
 
 
 
 
 
 
 
 
 
130
 
131
  matchmaking:
132
- allow_matchmaking: false
133
- allow_during_games: false
134
- challenge_variant: "random"
135
- challenge_timeout: 30
136
- challenge_initial_time:
137
- - 60
138
  - 180
 
 
139
  challenge_increment:
140
- - 1
141
  - 2
142
- opponent_rating_difference: 300
143
- rating_preference: "none"
144
- challenge_mode: "random"
145
- challenge_filter: none
146
- include_challenge_block_list: false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ token: "lip_tGdAiSZGLjYE2c5d2Dpj" # Lichess OAuth2 Token.
2
  url: "https://lichess.org/" # Lichess base URL.
3
 
4
  engine: # Engine settings.
5
+ dir: "./fairy" # Tells the bot to look in the main folder instead of /engines/
6
+ name: "stockfish" # Binary name of the engine to use.
7
+ debug: true
8
+
9
+ # interpreter: "java"
10
+ # interpreter_options:
11
+ # - "-jar"
12
+ working_dir: "" # Directory where the chess engine will read and write files. If blank or missing, the current directory is used.
13
+ # NOTE: If working_dir is set, the engine will look for files and directories relative to this directory, not where lichess-bot was launched. Absolute paths are unaffected.
14
+ protocol: "uci" # "uci", "xboard" or "homemade"
15
+ ponder: false # Think on opponent's time.
16
 
17
  polyglot:
18
+ enabled: false # Activate polyglot book.
19
  book:
20
+ standard: # List of book file paths for variant standard.
21
  - engines/book1.bin
22
+ - engines/book2.bin
23
+ # atomic: # List of book file paths for variant atomic.
24
+ # - engines/atomicbook1.bin
25
+ # - engines/atomicbook2.bin
26
+ # etc.
27
+ # Use the same pattern for 'chess960', 'giveaway' (antichess), 'crazyhouse', 'horde', 'kingofthehill', 'racingkings' and '3check' as well.
28
+ min_weight: 1 # Does not select moves with weight below min_weight (min 0, max: 100 if normalization isn't "none" else 65535).
29
+ selection: "weighted_random" # Move selection is one of "weighted_random", "uniform_random" or "best_move" (but not below the min_weight in the 2nd and 3rd case).
30
+ max_depth: 20 # How many moves from the start to take from the book.
31
+ normalization: "none" # Normalization method for the book weights. One of "none", "sum", or "max".
32
 
33
  draw_or_resign:
34
+ resign_enabled: false # Whether or not the bot should resign.
35
+ resign_score: -1000 # If the score is less than or equal to this value, the bot resigns (in cp).
36
+ resign_for_egtb_minus_two: true # If true the bot will resign in positions where the online_egtb returns a wdl of -2.
37
+ resign_moves: 3 # How many moves in a row the score has to be below the resign value.
38
+ offer_draw_enabled: true # Whether or not the bot should offer/accept draw.
39
+ offer_draw_score: 0 # If the absolute value of the score is less than or equal to this value, the bot offers/accepts draw (in cp).
40
+ offer_draw_for_egtb_zero: true # If true the bot will offer/accept draw in positions where the online_egtb returns a wdl of 0.
41
+ offer_draw_moves: 10 # How many moves in a row the absolute value of the score has to be below the draw value.
42
+ offer_draw_pieces: 10 # Only if the pieces on board are less than or equal to this value, the bot offers/accepts draw.
43
 
44
  online_moves:
45
+ max_out_of_book_moves: 10 # Stop using online opening books after they don't have a move for 'max_out_of_book_moves' positions. Doesn't apply to the online endgame tablebases.
46
+ max_retries: 2 # The maximum amount of retries when getting an online move.
47
+ # max_depth: 10 # How many moves from the start to take from online books. Default is no limit.
48
  chessdb_book:
49
+ enabled: false # Whether or not to use chessdb book.
50
+ min_time: 20 # Minimum time (in seconds) to use chessdb book.
51
+ max_time: 10800 # Maximum starting game time (in seconds) to use chessdb book.
52
+ move_quality: "good" # One of "all", "good", "best".
53
+ min_depth: 20 # Only for move_quality: "best".
54
  lichess_cloud_analysis:
55
+ enabled: false # Whether or not to use lichess cloud analysis.
56
+ min_time: 20 # Minimum time (in seconds) the bot must have to use cloud analysis.
57
+ max_time: 10800 # Maximum starting game time (in seconds) the bot must have to use cloud analysis.
58
+ move_quality: "best" # One of "good", "best".
59
+ max_score_difference: 50 # Only for move_quality: "good". The maximum score difference (in cp) between the best move and the other moves.
60
  min_depth: 20
61
  min_knodes: 0
62
  lichess_opening_explorer:
63
  enabled: false
64
  min_time: 20
65
+ max_time: 10800 # Maximum starting game time (in seconds) the bot must have to use the lichess opening explorer.
66
+ source: "masters" # One of "lichess", "masters", "player"
67
+ player_name: "" # The lichess username. Leave empty for the bot's username to be used. Used only when source is "player".
68
+ sort: "winrate" # One of "winrate", "games_played"
69
+ min_games: 10 # Minimum number of times a move must have been played to be chosen.
70
  online_egtb:
71
+ enabled: false # Whether or not to enable online endgame tablebases.
72
+ min_time: 20 # Minimum time (in seconds) the bot must have to use online EGTBs.
73
+ max_time: 10800 # Maximum starting game time (in seconds) the bot must have to use online EGTBs.
74
+ max_pieces: 8 # Maximum number of pieces on the board to use endgame tablebases.
75
+ source: "lichess" # One of "lichess", "chessdb".
76
+ move_quality: "best" # One of "best" or "suggest" (it takes all the moves with the same WDL and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
77
 
78
+ lichess_bot_tbs: # The tablebases list here will be read by lichess-bot, not the engine.
79
  syzygy:
80
+ enabled: false # Whether or not to use local syzygy endgame tablebases.
81
+ paths: # Paths to Syzygy endgame tablebases.
82
  - "engines/syzygy"
83
+ max_pieces: 7 # Maximum number of pieces in the endgame tablebase.
84
+ move_quality: "best" # One of "best" or "suggest" (it takes all the moves with the same WDL and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
85
  gaviota:
86
+ enabled: false # Whether or not to use local gaviota endgame tablebases.
87
  paths:
88
  - "engines/gaviota"
89
  max_pieces: 5
90
+ min_dtm_to_consider_as_wdl_1: 120 # The minimum DTM to consider as syzygy WDL=1/-1. Set to 100 to disable.
91
+ move_quality: "best" # One of "best" or "suggest" (it takes all the moves with the same WDL and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
92
+
93
+ # engine_options: # Any custom command line params to pass to the engine.
94
+ # cpuct: 3.1
95
 
96
+ homemade_options:
97
+ # Hash: 256
98
 
99
+ uci_options: # Arbitrary UCI options passed to the engine.
100
+ Move Overhead: 100 # Increase if your bot flags games too often.
101
+ Threads: 2 # Max CPU threads the engine can use.
102
+ Hash: 256 # Max memory (in megabytes) the engine can allocate.
103
+ SyzygyPath: "./syzygy/" # Paths to Syzygy endgame tablebases that the engine reads.
104
+ UCI_ShowWDL: true # Show the chance of the engine winning.
105
+ go_commands: # Additional options to pass to the UCI go command.
106
+ # nodes: 1000 # Search so many nodes only.
107
+ # depth: 10 # Search depth ply only.
108
+ movetime: 1000 # Integer. Search exactly movetime milliseconds.
109
+ # d
110
+ # xboard_options: # Arbitrary XBoard options passed to the engine.
111
+ # cores: "4"
112
+ # memory: "4096"
113
+ # egtpath: # Directory containing egtb (endgame tablabases), relative to this project. For 'xboard' engines.
114
+ # gaviota: "Gaviota path"
115
+ # nalimov: "Nalimov Path"
116
+ # scorpio: "Scorpio Path"
117
+ # syzygy: "Syzygy Path"
118
+ # go_commands: # Additional options to pass to the XBoard go command.
119
+ # depth: 5 # Search depth ply only.
120
+ # Do note that the go commands 'movetime' and 'nodes' are invalid and may cause bad time management for XBoard engines.
121
 
122
+ silence_stderr: false # Some engines (yes you, Leela) are very noisy.
123
+
124
+ abort_time: 30 # Time to abort a game in seconds when there is no activity.
125
+ fake_think_time: false # Artificially slow down the bot to pretend like it's thinking.
126
+ rate_limiting_delay: 0 # Time (in ms) to delay after sending a move to prevent "Too Many Requests" errors.
127
+ move_overhead: 2000 # Increase if your bot flags games too often.
128
+ max_takebacks_accepted: 0 # The number of times to allow an opponent to take back a move in a game.
129
+ quit_after_all_games_finish: false # If set to true, then pressing Ctrl-C to quit will only stop lichess-bot after all current games have finished.
130
 
131
  correspondence:
132
+ move_time: 60 # Time in seconds to search in correspondence games.
133
+ checkin_period: 300 # How often to check for opponent moves in correspondence games after disconnecting.
134
+ disconnect_time: 150 # Time before disconnecting from a correspondence game.
135
+ ponder: false # Ponder in correspondence games the bot is connected to.
136
+
137
+ challenge: # Incoming challenges.
138
+ concurrency: 1 # Number of games to play simultaneously.
139
+ sort_by: "best" # Possible values: "best" and "first".
140
+ preference: "none" # Possible values: "none", "human", "bot".
141
+ accept_bot: true # Accepts challenges coming from other bots.
142
+ accept_human: true # Kept true so other people can challenge you.
143
+ only_bot: false # Kept false so humans can challenge you.
144
+ max_increment: 20 # Maximum amount of increment to accept a challenge in seconds. The max is 180. Set to 0 for no increment.
145
+ min_increment: 0 # Minimum amount of increment to accept a challenge in seconds.
146
+ max_base: 1800 # Maximum amount of base time to accept a challenge in seconds. The max is 10800 (3 hours).
147
+ min_base: 0 # Minimum amount of base time to accept a challenge in seconds.
148
+ max_days: 14 # Maximum number of days per move to accept a challenge for a correspondence game.
149
+ # Unlimited games can be accepted by removing this field or specifying .inf
150
+ min_days: 1 # Minimum number of days per move to accept a challenge for a correspondence game.
151
+ variants: # Chess variants to accept (https://lichess.org/variant).
152
  - standard
153
+ # - fromPosition
154
+ # - antichess
155
+ # - atomic
156
+ - chess960
157
+ # - crazyhouse
158
+ # - horde
159
+ # - kingOfTheHill
160
+ # - racingKings
161
+ # - threeCheck
162
+ time_controls: # Time controls to accept (bots are not allowed to play ultraBullet).
163
  - bullet
164
  - blitz
165
  - rapid
166
  - classical
167
+ - correspondence
168
+ modes: # Game modes to accept.
169
+ - casual # Unrated games.
170
+ - rated # Rated games - must comment if the engine doesn't try to win.
171
+ # block_list: # List of users from which the challenges are always declined.
172
+ # - user1
173
+ # - user2
174
+ # online_block_list: # The urls from which to retrieve a list of bot names that will not be challenged. The list should be a text file where each line contains the name of a blocked bot
175
+ # - example.com/blocklist
176
+ # allow_list: # List of users from which challenges are exclusively accepted, all others being declined. If empty, challenges from all users may be accepted.
177
+ # - user3
178
+ # - user4
179
+ # recent_bot_challenge_age: 60 # Maximum age of a bot challenge to be considered recent in seconds
180
+ # max_recent_bot_challenges: 2 # Maximum number of recent challenges that can be accepted from the same bot
181
+ # min_rating: 0 # Minimum rating of the challenger to accept a challenge.
182
+ # max_rating: 4000 # Maximum rating of the challenger to accept a challenge. The maximum rating in lichess is 4000.
183
+ # rating_difference: 300 # Maximum rating difference between the bot and the challenger. Overrides min_rating and max_rating if set.
184
+ bullet_requires_increment: false # Require that bullet game challenges from bots have a non-zero increment
185
+ max_simultaneous_games_per_user: 5 # Maximum number of simultaneous games with the same user
186
 
187
  greeting:
188
+ # Optional substitution keywords (include curly braces):
189
+ # {opponent} to insert opponent's name
190
+ # {me} to insert bot's name
191
+ # Any other words in curly braces will be removed.
192
+ hello: "Hi! I'm {me}. I am a good bot. I also like winning! type !help for more info" # Message to send to opponent chat at the start of a game
193
+ goodbye: "Good game! See you next time!" # Message to send to opponent chat at the end of a game
194
+ hello_spectators: "Hi! I'm {me}. Hi spectators! Type !help for a list of commands I can respond to." # Message to send to spectator chat at the start of a game
195
+ goodbye_spectators: "Thanks for watching!" # Message to send to spectator chat at the end of a game
196
+
197
+ # pgn_directory: "game_records" # A directory where PGN-format records of the bot's games are kept
198
+ # pgn_file_grouping: "game" # How to group games into files. Options are "game", "opponent", and "all"
199
+ # "game" (default) - every game is written to a different file named "{White name} vs. {Black name} - {lichess game ID}.pgn"
200
+ # "opponent" - every game with a given opponent is written to a file named "{Bot name} games vs. {Opponent name}.pgn"
201
+ # "all" - every game is written to a single file named "{Bot name} games.pgn"
202
 
203
  matchmaking:
204
+ allow_matchmaking: true # Set to true to allow your bot to send challenges
205
+ allow_during_games: false # Keeps the bot focused on its current game
206
+ challenge_variant: "standard" # Match Maia's supported variant
207
+ challenge_timeout: 1 # How many minutes to wait before challenging maia1 when idle
208
+ challenge_initial_time: # Pick a time control maia1 accepts (e.g., 3-minute blitz)
 
209
  - 180
210
+ - 300
211
+ - 600
212
  challenge_increment:
213
+ - 0
214
  - 2
215
+ challenge_filter: coarse
216
+ block_list: []
217
+ # challenge_days: # Days for correspondence challenge (to be chosen at random).
218
+ # - 1
219
+ # - 2
220
+ # opponent_min_rating: 600 # Opponents rating should be above this value (600 is the minimum rating in lichess).
221
+ # opponent_max_rating: 4000 # Opponents rating should be below this value (4000 is the maximum rating in lichess).
222
+ opponent_rating_difference: 300 # The maximum difference in rating between the bot's rating and opponent's rating.
223
+ rating_preference: "none" # One of "none", "high", "low".
224
+ challenge_mode: "rated" # Set it to the mode in which challenges are sent. Possible options are 'casual', 'rated' and 'random'.
225
+ # block_list: # The list of bots that will not be challenged
226
+ # - user1
227
+ # - user2
228
+ # online_block_list: # The urls from which to retrieve a list of bot names that will not be challenged. The list should be a text file where each line contains the name of a blocked bot
229
+ # - example.com/blocklist
230
+
231
+ # overrides: # List of overrides for the matchmaking specifications above. When a challenge is created, either the default specification above or one of the overrides will be randomly chosen.
232
+ # bullet_only_horde: # Name of the override. Can be anything as long as each override has a unique name ("bullet_only_horde" and "easy_chess960" in these examples).
233
+ # challenge_variant: "horde" # List of options to override. Only the options mentioned will change when making the challenge. The rest will follow the default matchmaking options above.
234
+ # challenge_initial_time:
235
+ # - 1
236
+ # - 2
237
+ # challenge_increment:
238
+ # - 0
239
+ # - 1
240
+ #
241
+ # easy_chess960:
242
+ # challenge_variant: "chess960"
243
+ # opponent_min_rating: 400
244
+ # opponent_max_rating: 1200
245
+ # opponent_rating_difference:
246
+ # challenge_mode: casual
247
+ #
248
+ # no_pressure_correspondence:
249
+ # challenge_initial_time:
250
+ # challenge_increment:
251
+ # challenge_days:
252
+ # - 2
253
+ # - 3
254
+ # challenge_mode: casual
255
+ #
256
+ # The following configurations cannot be overridden: allow_matchmaking, challenge_timeout, challenge_filter and block_list.