-
Notifications
You must be signed in to change notification settings - Fork 2
/
config.yml
116 lines (111 loc) · 5.74 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
token: "xxxxxxxxxxxxxxxx" # Lichess OAuth2 Token.
url: "https://lichess.org/" # Lichess base URL.
engine: # Engine settings.
dir: "./" # Directory containing engines, relative to this project.
name: "chess-engine" # Binary name of the engine to use.
protocol: "uci" # "uci" or "xboard"
ponder: true # Think on opponent's time.
polyglot:
enabled: true # Activate polyglot book.
book:
standard: # List of book file paths for variant standard.
- Goi5.1.bin
- Drawkiller_EloZoom_big.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: 10 # Does not select moves with weight below min_weight (min 0, max: 65535).
selection: "best_move" # 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: 100 # Half move max depth.
online_moves:
chessdb_book:
enabled: true
min_time: 20
move_quality: "best" # One of "all", "good", "best"
min_depth: 30 # Only for move_quality: "best"
contribute: true
lichess_cloud_analysis:
enabled: true
min_time: 20
move_quality: "best" # 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: 30
min_knodes: 0
online_egtb:
enabled: true
min_time: 20
max_pieces: 7
source: "chessdb" # 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: 500 # 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.
# Clear Hash: true # Clear the hash table
# 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: 30 # 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: 4000 # Increase if your bot flags games too often.
correspondence:
move_time: 60 # Time in seconds to search in correspondence games.
checkin_period: 1200 # How often to check for opponent moves in correspondence games after disconnecting.
disconnect_time: 5 # 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: "first" # Possible values: "best" and "first".
accept_bot: true # Accepts challenges coming from other bots.
only_bot: false # Accept challenges by bots only.
max_increment: 50 # 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! To view list of commands do type '!help' or '!commands'" # 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