forked from lichess-bot-devs/lichess-bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.yml.default
126 lines (121 loc) · 6.77 KB
/
config.yml.default
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
token: "lip_QPPqp4cknHDNBhGgAo5B" # Lichess OAuth2 Token.
url: "https://lichess.org/" # Lichess base URL.
engine: # Engine settings.
dir: "./engines/" # Directory containing the engine. This can be an absolute path or one relative to lichess-bot/.
name: "stockfish13m" # Binary name of the engine to use.
working_dir: "" # Directory where the chess engine will read and write files. If blank or missing, the current directory is used.
protocol: "uci" # "uci" or "xboard"
ponder: true # Think on opponent's time.
polyglot:
enabled: false # Activate polyglot book.
book:
standard: # List of book file paths for variant standard.
- engines/book1.bin
- engines/book2.bin
# atomic: # List of book file paths for variant atomic.
# - engines/atomicbook1.bin
# - engines/atomicbook2.bin
# etc.
# Use the same pattern for 'giveaway' (antichess), 'crazyhouse', 'horde', 'kingofthehill', 'racingkings' and '3check' as well.
min_weight: 1 # Does not select moves with weight below min_weight (min 0, max: 65535).
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).
max_depth: 8 # Half move max depth.
draw_or_resign:
resign_enabled: false
resign_score: -1000 # If the score is less than or equal to this value, the bot resigns (in cp).
resign_for_egtb_minus_two: true # If true the bot will resign in positions where the online_egtb returns a wdl of -2.
resign_moves: 3 # How many moves in a row the score has to be below the resign value.
offer_draw_enabled: false
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).
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.
offer_draw_moves: 5 # How many moves in a row the absolute value of the score has to be below the draw value.
offer_draw_pieces: 10 # Only if the pieces on board are less than or equal to this value, the bot offers/accepts draw.
online_moves:
chessdb_book:
enabled: false
min_time: 20
move_quality: "good" # One of "all", "good", "best".
min_depth: 20 # Only for move_quality: "best".
contribute: true
lichess_cloud_analysis:
enabled: false
min_time: 20
move_quality: "good" # One of "good", "best".
max_score_difference: 50 # Only for move_quality: "good". The maximum score difference (in cp) between the best move and the other moves.
min_depth: 20
min_knodes: 0
online_egtb:
enabled: false
min_time: 20
max_pieces: 7
source: "lichess" # One of "lichess", "chessdb".
move_quality: "best" # One of "good", "best".
# engine_options: # Any custom command line params to pass to the engine.
# cpuct: 3.1
homemade_options:
# Hash: 256
uci_options: # Arbitrary UCI options passed to the engine.
Move Overhead: 100 # Increase if your bot flags games too often.
Threads: 2 # 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: # Directory containing egtb (endgame tablabases), relative to this project. For 'xboard' engines.
# gaviota: "Gaviota path"
# nalimov: "Nalimov Path"
# scorpio: "Scorpio Path"
# syzygy: "Syzygy Path"
# go_commands: # Additional options to pass to the XBoard go command.
# depth: 5 # Search depth ply only.
# Do note that the go commands 'movetime' and 'nodes' are invalid and may cause bad time management for XBoard engines.
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.
rate_limiting_delay: 0 # Time (in ms) to delay after sending a move to prevent "Too Many Requests" errors.
move_overhead: 2000 # Increase if your bot flags games too often.
correspondence:
move_time: 60 # Time in seconds to search in correspondence games.
checkin_period: 600 # How often to check for opponent moves in correspondence games after disconnecting.
disconnect_time: 300 # Time before disconnecting from a correspondence game.
ponder: false # Ponder in correspondence games the bot is connected to.
challenge: # Incoming challenges.
concurrency: 1 # Number of games to play simultaneously.
sort_by: "best" # Possible values: "best" and "first".
accept_bot: false # Accepts challenges coming from other bots.
only_bot: false # Accept challenges by bots only.
max_increment: 180 # Maximum amount of increment to accept a challenge. The max is 180. Set to 0 for no increment.
min_increment: 0 # Minimum amount of increment to accept a challenge.
max_base: 315360000 # Maximum amount of base time to accept a challenge. The max is 315360000 (10 years).
min_base: 0 # Minimum amount of base time to accept a challenge.
variants: # Chess variants to accept (https://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.
greeting:
# Optional substitution keywords (include curly braces):
# {opponent} to insert opponent's name
# {me} to insert bot's name
# Any other words in curly braces will be removed.
hello: "Hi! I'm {me}. Good luck! Type !help for a list of commands I can respond to." # Message to send to chat at the start of a game
goodbye: "Good game!" # Message to send to chat at the end of a game