GitHub

Sloppy is a free chess engine
Copyright (C) 2007 - 2009 Ilari Pihlajisto (ilari.pihlajisto@mbnet.fi)
LICENSE AND WARRANTY
   Sloppy is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.
   Sloppy is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
COMPILING
   In UNIX/Linux systems just type "make" to compile Sloppy. There is no
   "make install" though, so if you want to install Sloppy to an other
   directory you'll need to copy the executable and the opening book (if any)
   to said directory.
   The Windows version compiles at least with Mingw and Microsoft's Visual C++
   compiler. Makefiles for both are included (Makefile.mgw and Makefile.win).
INTERFACE, COMMAND LINE OPTIONS
   Sloppy speaks both of the common chess engine communication protocols:
   the Xboard/Winboard protocol (version 2) and UCI. A GUI needs no special
   setup: the protocol is chosen by the first command the GUI sends, so
   configuring Sloppy as either an Xboard engine or a UCI engine just works.
   Sloppy doesn't accept any command line options, see configuration below.
UCI NOTES
   The UCI options Sloppy advertises are Hash, Clear Hash, OwnBook,
   EgbbPath, EgbbLoadType, EgbbCache and Egbb5Men. Their defaults are taken
   from the configuration file, so "setoption" is only needed to override
   it per session.
   Sloppy does not ponder, and therefore does not advertise the Ponder
   option. Some inputs are still accepted beyond what Sloppy advertises,
   so that a GUI which sends them anyway gets protocol-correct behavior
   instead of a desynchronized game:
   - "ucinewgame" does not clear the hash table. Sloppy has never cleared
     it between games (the Xboard "new" command doesn't either), and UCI
     mode deliberately keeps the engine's original behavior so that both
     protocols play identically. A GUI or user who wants a cold start can
     send "setoption name Clear Hash".
   - UCI mode never writes the game log files. "gamelog.txt" and
     "games.pgn" are produced only by the Xboard protocol's game
     lifecycle (and only with logfile = on): UCI has no "result" command,
     so games can't be logged from it, and only the error log
     ("errlog.txt") can be written in UCI mode. "ucinewgame" therefore
     also refuses to delete an existing "gamelog.txt". Note that the
     engine still deletes that file from its working directory once at
     startup, before any protocol has been chosen.
   - "go ponder" is treated like "go infinite": the best move is held back
     until "ponderhit" or "stop" arrives, and an "info string" notice says
     so. Sloppy does not actually think on the opponent's time.
   - "go mate N" runs a normal search instead of a mate search, and says so.
   - "register" is answered with "registration ok"; Sloppy never asks for
     registration.
   - The option value "<empty>" (a convention of some GUIs) clears EgbbPath.
   - A "go" without any parameters searches until told to stop.
   - Zero or negative clocks make Sloppy move as fast as it can.
   - Unknown commands are ignored, with an "info string" notice.
CONFIGURATION
   Sloppy is configured by editing the configuration file ("sloppy.conf").
   On Windows systems the configuration file should be placed to the same
   directory where the executable is.
   On non-Windows systems the configuration file should be placed to
   $HOME/.config/sloppy/ directory.
ASCII INTERFACE COMMANDS
   In addition to all Xboard input, Sloppy accepts these commands:
   bench                 runs Sloppy's own benchmark
   debug                 toggles debugging mode
   divide [d]            perft to depth [d], prints a node count for every move
   help                  shows this list
   perft [d]             runs the perft test to depth [d]
   printboard            prints an ASCII chess board and the FEN string
   printeval             prints the static evaluation
   printkey              prints the hash key
   printmat              prints the material each player has on the board
   printmoves            prints a list of legal moves
   quit                  quits the program
   readpgn [f]           imports pgn file [f] to the book
   readpgnlist [f]       imports a list of pgn files (in file [f]) to the book
   testpos [sec] [fen]   runs a test position (eg. WAC, WCSAC)
   testsee [fen] [move]  tests the Static Exchange Evaluator
   testsuite [sec] [f]   runs a list of test positions (in file [f])
   uci                   switches to UCI mode
   xboard                switches to Xboard/Winboard mode

Read the original on github.com ↗