-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME
More file actions
112 lines (84 loc) · 4.95 KB
/
Copy pathREADME
File metadata and controls
112 lines (84 loc) · 4.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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