Matchmaking error
EmptikBest opened this issue · 2 comments
EmptikBest commented
In my config.yml, the matchmaking section, I put a # before challenge_initial_time (also the things under it) and challenge_increment (also the things under it). The only thing that wasn't in # in the matchmaking section was challenge_days. But whenever I run the bot, it never challenges to correspondence, only 1+2 for some reason.
Here is my config.yml:
token: "sorry cant share this" # Lichess OAuth2 Token.
url: "https://lichess.org/" # Lichess base URL.
engine: # Engine settings.
dir: "C:/Users/drvij/Documents/EmptikCorrespondence/engines" # Directory containing the engine. This can be an absolute path or one relative to lichess-bot/.
name: "stockfish.exe" # 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.
# 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.
protocol: "uci" # "uci", "xboard" or "homemade"
ponder: true # Think on opponent's time.
polyglot:
enabled: true # Activate polyglot book.
book:
standard: # List of book file paths for variant standard.
- C:/Users/drvij/Documents/EmptikCorrespondence/OlisFish.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: "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: 50 # How many moves from the start to take from the book.
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:
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.
max_retries: 2 # The maximum amount of retries when getting an online move.
chessdb_book:
enabled: false
min_time: 20
move_quality: "best" # One of "all", "good", "best".
min_depth: 20 # Only for move_quality: "best".
lichess_cloud_analysis:
enabled: false
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: 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", "suggest" (it takes all the "good" moves and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
lichess_bot_tbs: # The tablebases list here will be read by lichess-bot, not the engine.
syzygy:
enabled: true
paths:
- "C:/Syzygy"
max_pieces: 6
move_quality: "best" # One of "good", "best", "suggest" (it takes all the "good" moves and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
gaviota:
enabled: false
paths:
- "engines/gaviota"
max_pieces: 5
min_dtm_to_consider_as_wdl_1: 120 # The minimum dtm to consider as syzygy wdl=1/-1. Set to 100 to disable.
move_quality: "best" # One of "good", "best", "suggest" (it takes all the "good" moves and tells the engine to only consider these; will move instantly if there is only 1 "good" move).
# 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: 1000 # Increase if your bot flags games too often.
Threads: 2 # Max CPU threads the engine can use.
Hash: 2048 # Max memory (in megabytes) the engine can allocate.
SyzygyPath: "C:/Syzygy" # Paths to Syzygy endgame tablebases
# 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: 180 # 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: 50 # Number of games to play simultaneously.
sort_by: "best" # Possible values: "best" and "first".
accept_bot: true # 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.
max_days: 14 # Maximum number of days per move to accept a challenge for a correspondence game.
# Unlimited games can be accepted by removing this field or specifying .inf
min_days: 1 # Minimum number of days per move to accept a challenge for a correspondence game.
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.
block_list: # List of users from which the challenges are always declined.
- ProteusSF-Open
- ProteusSF-Turbo
- Elmichess
- Zagreus_engine
- dark_angel_777
- caissa-ai
- caissa-test
- actual_magnus
- Annie_archy
- chessfyBOT
- ResoluteBot
- VariantsBot
- AshNostromo
- chat_bot
- StreamerVSChat
- zulu_bot
- HistoryExplorer
- bekbot
- OldStockfish
# recent_bot_challenge_age: 60 # Maximum age of a bot challenge to be considered recent in seconds
# max_recent_bot_challenges: 2 # Maximum number of recent challenges that can be accepted from the same bot
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 EmptikCorrespondence(Bot). 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
goodbye: "Good game {opponent]!" # Message to send to opponent chat at the end of a game
hello_spectators: "Hi! I'm EmptikCorrespondence(Bot). Type !help for a list of commands I can respond to." # Message to send to spectator chat at the start of a game
goodbye_spectators: "Thanks for watching EmptikCorrespondence(Bot) vs [opponent]!" # Message to send to spectator chat at the end of a game
# pgn_directory: "game_records" # A directory where PGN-format records of the bot's games are kept
matchmaking:
allow_matchmaking: true # Set it to 'true' to challenge other bots.
challenge_variant: "standard" # If set to 'random', the bot will choose one variant from the variants enabled in 'challenge.variants'.
challenge_timeout: 1 # Create a challenge after being idle for 'challenge_timeout' minutes. The minimum is 1 minute.
# challenge_initial_time: # Initial time in seconds of the challenge (to be chosen at random).
# - 60
# - 120
# challenge_increment: # Increment in seconds of the challenge (to be chosen at random).
# - 1
# - 2
challenge_days: # Days for correspondence challenge (to be chosen at random).
- 1
- 2
- 5
- 10
- 14
# opponent_min_rating: 600 # Opponents rating should be above this value (600 is the minimum rating in lichess).
# opponent_max_rating: 4000 # Opponents rating should be below this value (4000 is the maximum rating in lichess).
opponent_rating_difference: 2000 # The maximum difference in rating between the bot's rating and opponent's rating.
opponent_allow_tos_violation: true # Set to 'false' to prevent challenging bots that violated Lichess Terms of Service.
challenge_mode: "rated" # Set it to the mode in which challenges are sent. Possible options are 'casual', 'rated' and 'random'.
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'.
block_list: # The list of bots that will not be challenged
- ProteusSF-Open
- ProteusSF-Turbo
- Elmichess
- Zagreus_engine
- dark_angel_777
- caissa-ai
- caissa-test
- actual_magnus
- Annie_archy
- chessfyBOT
- ResoluteBot
- VariantsBot
- AshNostromo
- chat_bot
- StreamerVSChat
- zulu_bot
- HistoryExplorer
- bekbot
- OldStockfish
AttackingOrDefending commented
Can you try #733? Your bot should have had only had a 50% chance of playing 1+2 not 100%.
EmptikBest commented
#733 fixed this