Hectozar commited on
Commit
fe99b29
·
verified ·
1 Parent(s): 7a5e361

Update config.yml

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