cutechess-cli — A command-line tool for chess engines matches
cutechess-cli -fcp [ENGINE OPTIONS] -scp [ENGINE OPTIONS] [OPTIONS]
cutechess-cli -both [ENGINE OPTIONS] [OPTIONS]
Runs chess matches from the command line.
- Display the version information.
- Display help information.
- Display a list of configured engines and exit.
- Display a list of supported chess protocols and exit.
- Display a list of supported chess variants and exit.
- Apply <options> to the first engine.
- Apply <options> to the second engine.
- Apply <options> to both engines.
- Set chess variant to <arg>.
- Set the maximum number of concurrent games to <n>.
-draw <n> <score>
- Adjudicate the game as a draw if the score of both engines is within <score> centipawns from zero after <n> full moves have been played.
-resign <n> <score>
- Adjudicate the game as a loss if an engine's score is at least <score> centipawns below zero for at least <n> consecutive moves.
- Set the event name to <arg>.
- Play <n> games.
- Display all engine input and output.
- Use <file> as the opening book in PGN format.
- Set the maximum depth for PGN input to <n> plies.
-pgnout <file> [min]
- Save the games to <file> in PGN format. Use the min argument to save in a minimal PGN format.
- Restart crashed engines instead of stopping the match.
- Play each opening twice so that both players get to play it on both sides.
- Set the site / location to <arg>.
- Set the random seed for the book move selector to <n>.
- Wait <n> milliseconds between games. The default is 0.
- Use an engine with the name <arg> from Cute Chess\' configuration file.
- Set the name to <arg>.
- Set the command to <arg>.
- Set the working directory to <arg>.
- Pass <arg> to the engine as a command line argument.
- Send <arg> to the engine's standard input at startup.
- Set the restart mode to <arg> which can be: auto: the engine decides whether to restart (default) on: the engine is always restarted between games off: the engine is never restarted between games
- Set the chess protocol to <arg>.
- Set the time control to <arg>. 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 time increment per move in seconds. Infinite time control can be set with tc=inf.
- Set the time limit for each move to <n> seconds. This option can't be used in combination with "tc".
- Let engines go <n> milliseconds over the time limit.
- Use <file> (Polyglot book file) as the opening book.
- Set the maximum book depth (in fullmoves) to <n>.
- Invert the engine's scores when it plays black. This option should be used with engines that always report scores from white's perspective.
- Set the search depth limit to <n> plies.
- Set the node count limit to <n> nodes.
- Set custom engine option <name> to value <arg>.
- • Play ten games between two Sloppy engines with a time control of 40 moves in 60 seconds.
$ cutechess-cli -both cmd=sloppy proto=xboard tc=40/60 -games 10
- • Use the name=Atak parameter because it's a Xboard protocol 1 engine and doesn't tell its name.
- • Use the dir=C:\atak parameter to point the location of the executable.
- • Glaurung can tell its name and is in the PATH variable so only the command is needed.
- • Set Glaurung to use 1 thread.
- • Set the time control to 40 moves in one minute and 30 seconds with a one second increment.
$ cutechess-cli -fcp name=Atak cmd=Atak32.exe dir=C:\atak proto=xboard -scp cmd=glaurung proto=uci option.Threads=1 -both tc=40/1:30+1
- • Source code: http://repo.or.cz/w/sloppygui.git
- • Mailing list: https://list.kapsi.fi/listinfo/cutechess
Copyright (C) 2008-2011 Ilari Pihlajisto and Arto Jonsson. Free use of this software is granted under the terms of GNU General Public License (GPL).