CUTECHESS-ENGINES.JSON(5)     File Formats Manual    CUTECHESS-ENGINES.JSON(5)

NAME
     cutechess-engines.json - Cute Chess engine configuration file

DESCRIPTION
     cutechess-engines.json is the chess engine configuration file for
     cutechess-cli(6).	An engine configuration defines a name, a command, a
     working directory and many other options.	Engine configurations can be
     used in cutechess-cli(6) with the conf command-line option.

     Engine configurations are defined in JavaScript Object Notation (JSON)
     format.  See JSON FORMAT.

JSON FORMAT
     JavaScript Object Notation (JSON) is a text-based format for structured
     data.  JSON is a subset of ECMAScript (JavaScript).

   Values
     A JSON value must be one of: object, array, number, string, false, true
     or null.

   Objects
     An object is structure of name-value pairs enclosed in curly brackets.  A
     name is a string.	Name and value are separated by a single colon.	 Pairs
     are separated by commas.

     Example objects would be:

	   { "Finland" : ".fi", "Sweden" : ".se" }

	   {
	     "firstName" : "JC",
	     "lastName"	 : "Denton",
	     "age"	 : 28,
	     "languages" : [ "English", "French", "Spanish" ]
	   }

   Arrays
     An array is a structure of zero or more values enclosed in square
     brackets.	Values are separated by commas.

     Example arrays would be:

	   [ "Cute", "Chess" ]

	   [
	     [ 1, 0, 0 ],
	     [ 0, 1, 0 ],
	     [ 0, 0, 1 ]
	   ]

   Numbers
     A number consists of an integer part and optional fractional and/or
     exponent part.  The integer part can be prefixed with a minus sign.
     Fractional part is a decimal point followed by one or more digits.
     Exponent part begins with a letter E in upper or lowercase which may be
     followed by a plus or minus sign.	The E and optional sign are followed
     by one or more digits.

     Octal and hex forms are not allowed.

     Example numbers would be:

	   128
	   -1.04
	   2e32
	   -18E-20

   Strings
     A string is sequence of characters enclosed in quotation marks.  All
     Unicode characters may be placed within the quotation marks except for
     the characters that must be escaped: quotation mark, backslash, and
     control characters.

     Available two-character escape sequences are as follows:

	   \\	   Backslash character.
	   \/	   Forward slash character.
	   \"	   Quotation mark.
	   \b	   Bell character.
	   \f	   Form feed character.
	   \n	   Line feed character.
	   \t	   Vertical tab character.
	   \unum   Unicode character where num is a four hexadecimal digits
		   that encode the character's code point.

     Example strings would be:

	   "Hello, world!"

	   "Please place all items \"carefully\" in bins."

	   "\u03a6 is one of the letters of Greek alphabet."

ENGINE CONFIGURATION
     The configuration file consist of an array of objects.  Each object
     defines a single engine configuration.  Required options for each engine
     configuration are:

     name : string
	     The name of the engine.

     command : string
	     The engine command.

     protocol : "uci" | "xboard"
	     The chess engine protocol used by this engine.

     Other available options for an engine configuration are:

     workingDirectory : string
	     The working directory of the engine.

     stderrFile : string
	     File where the engine's standard error output is redirected.

     initStrings : array of string
	     Array of strings sent to the engine's standard input at startup.

     whitepov : true | false
	     When true invert the engine's scores when it plays black.	The
	     default is false.

	     This option should be used with engines that always report scores
	     from white's perspective.

     ponder : true | false
	     When true enable pondering if the engine supports it.  The
	     default is false.

EXAMPLES
     A minimal engine configuration file for the Sloppy chess engine:

	   [
	     {
	       "name": "Sloppy",
	       "command": "sloppy",
	       "protocol": "xboard"
	     }
	   ]

     Using the above engine configuration file with the conf command-line
     option:

	   $ cutechess-cli -engine conf=Sloppy -engine conf=Sloppy -each
	   tc=40/60 -rounds 10

SEE ALSO
     cutechess-cli(6)

     The application/json Media Type for JavaScript Object Notation (JSON),
     RFC 4627, July 2006.

Debian			       October 27, 2015				Debian
