Home * Protocols * Chess Engine Communication Protocol
The Chess Engine Communication Protocol, also called xboard or WinBoard protocoll, is an open communication protocol for chess engines to play games automatically, that is to communicate with other programs including Graphical User Interfaces.
GUI
A GUI supporting the protocol is known as XBoard or WinBoard, being for Unix (Posix) or Windows operating systems, respectively. Many other GUIs support the protocol, which is based on text commands, while requiring the engine to keep the state of the game internally. While the Universal Chess Interface is somewhat more popular today, the Chess Engine Communication Protocol protocol is preferred by some because it allows greater flexibility for the engine (for instance, in pondering).
Originally, xboard and WinBoard were simply graphical user interfaces for GNU Chess, then for GNU Chess and Internet chess servers. Because the GUI and the chess engine are separate programs, several people thought of the idea of connecting their own chess programs in place of GNU Chess, and they began to email me asking how to do it. I think the first person to ask was Shay Bushinsky, in November 1994. Over the years I received so many requests for this information that I was more or less forced into documenting and extending the ad-hoc engine protocol to support them. The document that exists now (chess-engines.html) evolved directly from the original email reply I sent to Shay. Unfortunately, because the protocol was never really designed, but just grew out of documenting the existing communication with GNU Chess, there are still several bugs and deficiencies in it today. It would be nice to make some major revisions, but then of course it would (at best) take a long time for the existing engines to convert over to the new protocol, so both would have to be supported, probably forever.
Table of Contents
The Chess Engine Communication Protocol, also called xboard or WinBoard protocoll, is an open communication protocol for chess engines to play games automatically, that is to communicate with other programs including Graphical User Interfaces.
GUI
A GUI supporting the protocol is known as XBoard or WinBoard, being for Unix (Posix) or Windows operating systems, respectively. Many other GUIs support the protocol, which is based on text commands, while requiring the engine to keep the state of the game internally. While the Universal Chess Interface is somewhat more popular today, the Chess Engine Communication Protocol protocol is preferred by some because it allows greater flexibility for the engine (for instance, in pondering).How it began
Tim Mann in an Interview by Frank Quisinsky, April 2000 [1]:UML State diagram
Version 2
Harm Geert Muller established a protocol Version 2 in September, 2009 [3], also covering Chess Variants and different board sizes.Engines
GUIs
Native
Compatible
Utilities
See also
Forum Posts
1990 ...
1995 ...
2000 ...
2005 ...
2010 ...
- XBoard and epd tournament by Vlad Stamate, CCC, January 31, 2010 » Engine Testing
- Aquarium (other GUIs too?) and WB support => I am shocked by Miguel A. Ballicora, CCC, February 27, 2010
2011- WinBoard protocol driver by Harm Geert Muller, Winboard Forum - Chess Programming Lessons, April 30, 2011
- Starting to use the Winboard Protocol by Reinhard Scharnagl, Winboard Forum, December 11, 2011
2012- XBoard / WinBoard 4.6.0 released by Harm Geert Muller, CCC, March 11, 2012
- Winboard protocol and fractional increments by Jon Dart, CCC, September 25, 2012 » Time Management
2013- A few questions about CECP by Martin Sedlak, CCC, January 05, 2013
- WB protocol: describing how a piece moves by Harm Geert Muller, CCC, October 12, 2013
20142015 ...
- xboard softquit by Matthew Lai, CCC, July 26, 2015
- Winboard 2 state diagram by thevinenator, OpenChess Forum, August 26, 2015
- XBoard for Mac: Zippy problems by Steven Edwards, CCC, August 29, 2015 » Mac OS
- Suggestions for XBoard documentation by Steven Edwards, CCC, August 30, 2015
- CECP ('WB protocol') specs by Harm Geert Muller, CCC, December 28, 2015
2016- Release of XBoard 4.9.0 soon by Harm Geert Muller, CCC, April 07, 2016
- Chess on Android by Pedro Castro, CCC, April 19, 2016 » Chess for Android, DanaSah
- CECP: Chess variants with dice by Harm Geert Muller, CCC, May 22, 2016
- ChessGUI Timer Problem by Dennis Sceviour, CCC, October 24, 2016 » ChessGUI
2017- Winboard variants online by Erin Dame, CCC, March 22, 2017 » Chess Variants
- Winboard questions by Ed Schroder, CCC, June 26, 2017
- Winboard: Resigning? by Rasmus Althoff, CCC, June 27, 2017
2018External Links
What is new in XBoard/WinBoard 4.9.0? by H.G. Muller
rshd-readme.txt by Dan Newman [6] [7]
Winboard/XBoard UML state diagram by Alessandro Scotti
References
Up one Level