Cutechess-Cli 6
Cutechess-Cli 6
NAME
cutechess-cli - Automate chess engine tournaments
SYNOPSIS
cutechess-cli -engine engine-options -engine engine-options
[-engine engine-options ...] [options]
DESCRIPTION
The cutechess-cli utility automates chess engine tournaments.
-engine engine-options
Add an engine defined by engine-options to the tournament. See
Engine Options.
-each engine-options
Apply engine-options to each engine in the tournament. See
Engine Options.
-variant variant
Set the chess variant, where variant is one of:
-concurrency n
Set the maximum number of concurrent games to n.
-maxmoves n
Adjudicate the game as a draw if at least n full moves have been
played without result. Ignored if n equals zero (default).
-tb paths
Adjudicate games using Syzygy tablebases. Paths should be
semicolon-delimited list of paths to the compressed tablebase
files. Only the WDL tablebase files are required.
-tbpieces N
Only use tablebase adjudication for positions with N pieces or
less.
-tbignore50
Disable the fifty move rule for tablebase adjudication.
-tournament type
Set the tournament type, where type is one of:
-event arg
Set the event name to arg.
-games n
Play n games per encounter. This value should be set to an even
number in tournaments with more than two players to make sure
that each player plays an equal number of games with white and
black pieces.
-rounds n
Multiply the number of rounds to play by n. For two-player
tournaments this option should be used to set the total number of
games to play.
-outcomeinterval n
Set the interval for printing outcomes to n games.
-bookmode mode
Set Polyglot book access mode, where mode is either ram (the
whole book is loaded into RAM) or disk (the book is accessed
directly on disk). The default mode is ram.
-epdout file
Save the games to file in FEN format.
-recover
Restart crashed engines instead of stopping the game.
-repeat [n]
Play each opening twice (or n times). Unless the -noswap option
is used, the players swap sides after each game. So they get to
play the opening on both sides. Please note that a new encounter
will use a new opening.
-noswap
Do not swap sides of paired engines.
-reverse
Use schedule with reverse sides.
-seeds n
Set the first n engines as seeds in the tournament. The default
is 0.
-site arg
Set the site / location to arg.
-srand seed
Set the random seed for the book move selector.
-wait n
Wait n milliseconds between games. The default is 0.
-resultformat format
Specify the format of result lists. Format can either be a comma
separated list of fields or a format name. Format help shows
available named formats. The default format lists rank, name,
elo, elo error, number of games, score percentage, and draw
percentage of every player.
-version
Display the version information.
-engines
Display a list of configured engines and exit.
Engine Options
conf=arg
Use an engine with the name arg from engine configuration file.
name=arg
Set the name to arg.
cmd=arg
Set the command to arg.
dir=arg
Set the working directory to arg.
stderr=arg
Redirect standard error output to file arg.
proto=[uci | xboard]
Set the chess protocol.
tc=[tcformat | inf]
Set the time control. The format is moves/time+increment, where
moves is the number of moves per tc, time is time per tc (either
seconds or minutes:seconds), and increment is the time increment
per move in seconds.
option.name=value
Set custom engine option.
arg=arg
Pass arg to the engine as a command line argument.
initstr=arg
Send arg to the engine's standard input at startup.
restart=[auto | on | off]
Set the engine restart mode. auto means the engine decides
whether to restart (default), on means the engine is always
restarted between games and off means the engine is never
restarted between games. Setting this option does not prevent
engines from being restarted between rounds in a tournament
featuring more than two engines.
st=n Set the time limit for each move to n seconds. This option
cannot be used in combination with the tc option.
timemargin=n
Let engines go n milliseconds over the time limit.
book=file
Use file (Polyglot book file) as the opening book.
bookdepth=n
Set the maximum book depth (in fullmoves) to n.
whitepov
Invert the engine's scores when it plays black. This option
should be used with engines that always report scores from
white's perspective.
depth=plies
Set the search depth limit.
nodes=count
Set the node count limit.
EXAMPLES
Play ten games between two Sloppy engines with a time control of 40 moves
in 60 seconds:
Play a single game between Atak and Glaurung engines with a time control
of 40 moves in one minute and 30 seconds with one second increment:
o Glaurung can tell its name and is in the PATH variable so only the
command is needed.
o Play 10 times the minimum amount of rounds (3). So the total number
of rounds to play will be 30, and the total number of games 120.
o In each two-game encounter colors are switched between games and the
same opening line is played in both games.
SEE ALSO
cutechess-engines.json(5)
AUTHORS
The cutechess-cli utility was written by Ilari Pihlajisto,
Arto Jonsson and contributors. See the project page for more details.
RESOURCES
o Project page: http://github.com/cutechess/cutechess