To carry out several tournaments simultaneously on the same computer, we will avoid GUIs but we must be able to follow their progress and their results.
So we will use the "command line" version of CuteChess (cutechess-cli.exe).
There are several ways to use it but to simplify things, we will create an "engines.json" file which will contain all the engines and their settings.
Here is an example of an engines.json file (on the same folder as cutechess-cli.exe) made to launch 2 gauntlets with eman as the reference engine and brainlearn/shashchess as the opponents :
Code: Select all
[
{
"command" : "eman.exe",
"name" : "eman1",
"options" : [
{
"alias" : "",
"default" : "eman.exp",
"name" : "Experience File",
"type" : "file",
"value" : "eman1.exp"
},
{
"alias" : "",
"default" : true,
"name" : "Experience MultiPV",
"type" : "check",
"value" : false
},
{
"alias" : "",
"default" : "eval.nnue",
"name" : "NNUE Eval File",
"type" : "file",
"value" : "nn-ad9b42354671.nnue"
},
{
"alias" : "",
"default" : "<empty>",
"name" : "SyzygyPath",
"type" : "folder",
"value" : "c:/syzygy"
}
],
"protocol" : "uci",
"stderrFile" : "",
"whitepov" : true,
"variants" : [
"standard",
"fischerandom"
],
"workingDirectory" : "e:\\eman"
},
{
"command" : "eman.exe",
"name" : "eman2",
"options" : [
{
"alias" : "",
"default" : "eman.exp",
"name" : "Experience File",
"type" : "file",
"value" : "eman2.exp"
},
{
"alias" : "",
"default" : true,
"name" : "Experience MultiPV",
"type" : "check",
"value" : false
},
{
"alias" : "",
"default" : "eval.nnue",
"name" : "NNUE Eval File",
"type" : "file",
"value" : "nn-ad9b42354671.nnue"
},
{
"alias" : "",
"default" : "<empty>",
"name" : "SyzygyPath",
"type" : "folder",
"value" : "c:/syzygy"
}
],
"protocol" : "uci",
"stderrFile" : "",
"whitepov" : true,
"variants" : [
"standard",
"fischerandom"
],
"workingDirectory" : "e:\\eman"
},
{
"command" : "brainlearn.exe",
"name" : "brainlearn1",
"options" : [
{
"alias" : "",
"default" : "nn-ad9b42354671.nnue",
"name" : "EvalFile",
"type" : "file",
"value" : "nn-ad9b42354671.nnue"
},
{
"alias" : "",
"default" : "<empty>",
"name" : "SyzygyPath",
"type" : "folder",
"value" : "c:/syzygy"
}
],
"protocol" : "uci",
"stderrFile" : "",
"whitepov" : true,
"variants" : [
"standard",
"fischerandom"
],
"workingDirectory" : "e:\\brainlearn1"
},
{
"command" : "brainlearn.exe",
"name" : "brainlearn2",
"options" : [
{
"alias" : "",
"default" : "nn-ad9b42354671.nnue",
"name" : "EvalFile",
"type" : "file",
"value" : "nn-ad9b42354671.nnue"
},
{
"alias" : "",
"default" : "<empty>",
"name" : "SyzygyPath",
"type" : "folder",
"value" : "c:/syzygy"
}
],
"protocol" : "uci",
"stderrFile" : "",
"whitepov" : true,
"variants" : [
"standard",
"fischerandom"
],
"workingDirectory" : "e:\\brainlearn2"
},
{
"command" : "shashchess.exe",
"name" : "shashchess1",
"options" : [
{
"alias" : "",
"default" : "<empty>",
"name" : "SyzygyPath",
"type" : "folder",
"value" : "c:/syzygy"
},
{
"alias" : "",
"default" : "nn-ad9b42354671.nnue",
"name" : "EvalFile",
"type" : "file",
"value" : "nn-ad9b42354671.nnue"
},
{
"alias" : "",
"choices" : [
"Off",
"Standard",
"Self"
],
"default" : "Off",
"name" : "Persisted learning",
"type" : "combo",
"value" : "Standard"
}
],
"protocol" : "uci",
"stderrFile" : "",
"whitepov" : true,
"variants" : [
"standard",
"fischerandom"
],
"workingDirectory" : "e:\\shashchess1"
},
{
"command" : "shashchess.exe",
"name" : "shashchess2",
"options" : [
{
"alias" : "",
"default" : "<empty>",
"name" : "SyzygyPath",
"type" : "folder",
"value" : "c:/syzygy"
},
{
"alias" : "",
"default" : "nn-ad9b42354671.nnue",
"name" : "EvalFile",
"type" : "file",
"value" : "nn-ad9b42354671.nnue"
},
{
"alias" : "",
"choices" : [
"Off",
"Standard",
"Self"
],
"default" : "Off",
"name" : "Persisted learning",
"type" : "combo",
"value" : "Standard"
}
],
"protocol" : "uci",
"stderrFile" : "",
"whitepov" : true,
"variants" : [
"standard",
"fischerandom"
],
"workingDirectory" : "e:\\shashchess2"
}
]