Sjef
Sjef is a tool for playing matches between chess engines. It is similar to
Cute Chess cli, but
simpler and more focussed on playing different chess variants.
Currently, Sjef only understands the Chess Engine
Communication (X/WinBoard) protocol. Engines that communicate through
the UCI protocol will need an in-between program, such as Polyglot. Most
variant engines "speak" the XBoard protocol.
Running Sjef
Sjef is a commandline program, and so it needs to run from the terminal.
The commandline (with options) looks like
sjef -fcp engine1 -scp engine2 -mg n [-referee engine3] [-variant name] [[-finit 'string'][...]\
[[-sinit 'string'][...]] [-tc (time|moves/time+inc)] [-inc time]\
[-mps moves] [-mtpm time] [-sgf filename] [-log [logfile]] [-memory size]
The commands have the following meaning:
-
-fcp engine1 Specifies the first engine (playing white in the
first game).
-
-scp engine2 Specifies the second engine (playing black in the
first game).
-
-referee engine3 Specifies the third engine, which acts as a
referee. The referee engine is responsible for verifying that moves
are valid, and for adjudicating games. If no referee engine is
specified, Sjef looks for sjaakii in the path.
-
-mg n Play n games between the two engines, with
alternating colours.
-
-variant name Play the named variant. Obviously, the referee
and the two engines must all be able to play this.
-
-finit 'string' The quoted string is sent to the first engine
at startup. You can pass multiple strings this way, which will be
sent to the engine one after the other.
-
-sinit 'string' The quoted string is sent to the second engine
at startup. You can pass multiple strings this way, which will be
sent to the engine one after the other.
-
-tc string Specifies the time control. There are two possible
formats for the time control string: either the total time per
session (as either seconds or minutes:seconds) or specifying the
number of moves, the time per session and the time increment in one
go (as "moves/time+inc"). Defaults to 40 moves in 10 seconds with no
increment.
-
-mps moves Sets the number of moves per session for the time
control. Pass 0 to disable the time increment after each session.
Defaults to 40.
-
-inc time Sets the time increment after each move (Fischer
clock), in milliseconds.
-
-mtpm time Sets the minimum time per move, in milliseconds. No
matter how low on time the engine is, it is always allowed to think
this long for each move. This is mainly intended to maintain some
quality for very rapid games. Defaults to 0.
-
-sgf filename Saves completed games in the specified file, in
.pgn format.
-
-log logfile Store all engine communication in the specified
log file. If no name is specifed the name defaults to sjef.log.
-
-memory size Specify the amount of memory programs are allowed
to use (as per the CECP "memory" command), in MB.
|