-
-
Notifications
You must be signed in to change notification settings - Fork 195
Usage
On Pychess-variants you can play various chess variants against Fairy-Stockfish, e.g., Xiangqi, Shogi, Makruk, and more.
For offline usage, download the latest release or compile it from source and use it together with one of the GUIs listed below.
Fairy-Stockfish also supports the CECP/XBoard protocol, so it can easily be used in XBoard/WinBoard. On Windows, it is recommended to use the WinBoard version with enlarged buffer size that is able to process long variant lists, since otherwise WinBoard might crash when loading the engine.
- Download the Fairy-Stockfish executable from the latest release.
- Download WinBoard and extract the zip archive.
- Open the Winboard folder and double click the winboard.exe.
- Click on
Engines
>Edit Engine List...
- Add one line similar to
"Fairy-SF" -fcp "C:\fairy-stockfish.exe"
(adjust the path to where you put the .exe in step 1). Click oncommit changes
andOK
. - Click on
Engines
>Load New 1st Engine...
and double click on Fairy-SF. - Via
File
>New Variant...
you should now be able to select variants supported by Fairy-Stockfish.
- If the variant you are looking for is not in the list in step 7 (as not all variants are displayed), you can enforce a variant by changing the engine command from step 5. into, e.g.,
"Fairy-SF" /variant=minishogi -fcp "C:\fairy-stockfish.exe"
(replaceminishogi
by the variant of choice), then redo step 6. The variant should be loaded automatically. - If a user-defined variant uses non-standard castling or promotion,
Test Legality
underOptions
>General...
might need to be disabled in order to allow the input of such special moves. In XBoard you furthermore need to disableShow target squares
(not present in Winboard) in that case. - In releases up to 10.3, Fairy-Stockfish does not support the XBoard protocol, so a UCI2WB adapter needs to be used. However, unless you have a good reason to use an old version, please consider to download the latest release, which does not need the adapter.
Cutechess supports many of the built-in variants supported by Fairy-Stockfish. It is very well suited for playing games (engine/human), but analysis functionality is very limited.
Engines can be added via "Tools>Settings". Select the "Engines" tab, click on "+" and select the engine executable via the "Browse" dialog.
PyChess also supports some of the variants, including Crazyhouse, Losers, Giveaway, Three-check, King of the Hill, ASEAN, Makruk, and Sittuyin.
Fairy-Stockfish can be used in gShogi and other USI compatible GUIs to play Shogi by adding it as a USI engine. In case of problems make sure in the engine configuration that the options Protocol
and UCI_Variant
are set to their defaults for the USI protocol, namely usi
and shogi
, respectively, and that you downloaded the large-board version (fairy-stockfish-largeboard...
).
Fairy-Stockfish can be used in Xiangqi GUIs by adding it as a UCCI engine. In case of problems make sure in the engine configuration that the options Protocol
and UCI_Variant
are set to their defaults for the UCCI protocol, namely ucci
and xiangqi
, respectively, and that you downloaded the large-board version (fairy-stockfish-largeboard...
).
Fairy-Stockfish supports the UCI, UCCI, USI, and CECP/XBoard protocol. A variant can be selected via the UCI_Variant
option in UCI/UCCI/USI or with the variant
command in CECP. For variants that are not supported by any GUI, the CECP protocol is the least verbose for manual use via the command line.
E.g., to begin a game of Kyoto shogi after starting Fairy-Stockfish, enter:
-
xboard
to set the protocol. -
variant kyotoshogi
to select the variant. - (Optional)
d
to print a board representation. - E.g.,
b1b2+
to make your first move. -
go
to ask the engine to play its first move. - Repeat steps 3.-4. in order to show the board and play moves. The engine will reply automatically to your moves once you sent one
go
command.
See https://www.gnu.org/software/xboard/engine-intf.html for more info on the CECP/XBoard protocol, e.g., on how to set the time control or the like.
A python wrapper is maintained at https://github.com/gbtami/Fairy-Stockfish.