Changes

Jump to: navigation, search

Chess Engine Communication Protocol

3,492 bytes added, 08:30, 3 July 2021
no edit summary
'''[[Main Page|Home]] * [[Protocols]] * Chess Engine Communication Protocol'''
The '''Chess Engine Communication Protocol'''(CECP), <br/>also dubbed the '''XBoard''' or '''WinBoard''' protocol after the eponymous [[XBoard]] or [[WinBoard]] [[GUI|graphical user interfaces]] (GUI), is an open [https://en.wikipedia.org/wiki/Communication_protocol communication protocol] for chess engines to play [[Chess Game|games]] automatically, that is to communicate with other chess playing entities.
=GUI=
=UML State diagram=
[[FILE:xboard.gif|none|border|text-bottom|link=http://walkofmind.com/programming/chess/xboard.htm]]
WinBoard/XBoard protocol [https://en.wikipedia.org/wiki/UML_state_machine UML state diagram] by [[Alessandro Scotti]] <ref>[http://walkofmind.com/programming/chess/xboard.htm Winboard/XBoard UML state diagram] by [[Alessandro Scotti]]</ref> <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70502 Winboard state machine diagram] by [[Harald Lüßen]], [[CCC]], April 15, 2019</ref>
=Version 2=
[[Harm Geert Muller]] established a protocol Version 2 in September, 2009 <ref>[http://home.hccnet.nl/h.g.muller/engine-intf.html Chess Engine Communication Protocol] by [[Tim Mann]] & [[Harm Geert Muller|H.G. Muller]]</ref>, also covering [[Games|Chess Variants]] and different board sizes.
 
=Pros and Cons=
Those pros and cons compared with [[UCI]]
==Pros==
* All commands are short
* Has redundant commands for almost all chess tasks from old-time to now
* Designed to work without the need of having an extra thread for processing those commands
* Allows users to play directly with chess engines without using chess GUIs
* Allows chess engines act a bit independently such as they can auto-start pondering after a move
 
==Cons==
* Has a long and complicated list of commands
* Use many assumptions about data without keywords requirements. For example, the string "a2a3" is considered as a move, "9 156 1084 48000 Nf3 Nc6 Nc3 Nf6" is considered as a computing output when the first number is the ply, the second number is a score in centipawn unit...
* Since allowing chess engines acting more independently chess GUIs may get loss to control engines
* Some popular chess GUIs don't support
* The majority of new chess engines don't support
=Engines=
* [[:Category:WinBoard|WinBoard Engines]]* [[:Category:XBoard |XBoard Engines]]
<span id="GUI"></span>
=GUIs=
* [[Scid vs. PC]]
* [[Scidb]]
* [[Banksia]]
* [[Banksia GUI]]
=Utilities=
* [https://groups.google.com/d/msg/rec.games.chess.misc/M-NkXvEu1DM/XeESczC85o0J XBoard and WinBoard, version 3.6.0] by [[Tim Mann]], [[Computer Chess Forums|rgc]], May 09, 1997
* [https://www.stmintz.com/ccc/index.php?id=26696 new autoplayer interface standard] by [[Robert Hyatt]], [[CCC]], September 15, 1998
* [https://groups.google.com/d/msg/rec.games.chess.computer/su1X8FrRMPA/dMUBRY-RT4AJ xboard/winboard interface documentation] by [[Jan Eric Larsson]], [[Computer Chess Forums|rgcc]], November 27, 1998
* [https://www.stmintz.com/ccc/index.php?id=62577 WinBoard and pondering under W98] by [[Frank Phillips]], [[CCC]], July 28, 1999 » [[Pondering]], [[WinBoard]]
==2000 ...==
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=1693&p=7809 A question about kibitz] by [[Niyaz Khasanov]], [[Computer Chess Forums|Winboard Forum]], February 18, 2005
* [http://lists.gnu.org/archive/html/info-gnu-chess/2006-05/msg00004.html Re: gnuchess/xboard protocol] by [[Hans Eric Sandström]], [[GNU Chess#NewsGroup|gnu.org]], May 19, 2006
* [http://www.talkchess.com/forum/viewtopic.php?t=24327 Authors of WinBoard SMP engines, take note!] by [[Harm Geert Muller]], [[CCC]], October 11, 2008 » [[Parallel Search]], [[SMP]], [[SMP Engines]]
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=19&t=50429 UCI protocol in winboard] by [[Engin Üstün]], [[Computer Chess Forums|Winboard Forum]], September 24, 2009 » [[UCI]], [[WinBoard]]
* [http://www.talkchess.com/forum/viewtopic.php?t=30088 Adapter for non-standard chess engine to Winboard] by [[Carey Bloodworth|Carey]], [[CCC]], October 10, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=64411 Winboard questions] by [[Ed Schroder]], [[CCC]], June 26, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=64432 Winboard: Resigning?] by [[Rasmus Althoff]], [[CCC]], June 27, 2017
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=65454 Loading opening book and tablebases (xboard vs uci)] by [[Pedro Castro]], [[CCC]], October 15, 2017 » [[UCI]]'''2018...'''
* [http://www.talkchess.com/forum/viewtopic.php?t=66745 UCI vs Winboard question] by [[Michael Sherwin]], [[CCC]], March 05, 2018 » [[UCI]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70502 Winboard state machine diagram] by [[Harald Lüßen]], [[CCC]], April 15, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71186 Xboard, CECP, how to handle long inits] by [[Srdja Matovic]], [[CCC]], July 04, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72019&start=36 Re: PGN standard, its improvement and standardization] by [[Pham Hong Nguyen|Nguyen Pham]], [[CCC]], October 14, 2019 » from [[Portable Game Notation]] to [[Protocols]]
==2020 ...==
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=73592 UCI to CECP] by Fulvio, [[CCC]], April 07, 2020 » [[UCI]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=74028 Rolling dice] by [[Harm Geert Muller]], [[CCC]], May 27, 2020 » [[EinStein würfelt nicht!]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75239 Questions about CECP post-nopost (UCI info)] by [[Oliver Brausch]], [[CCC]], September 28, 2020
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=75944 CECP "time" and "otim"] by [[Marcel Vanthoor]], [[CCC]], November 30, 2020 » [[Time Management]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=76106 FRC in CECP] by lucasart, [[CCC]], December 20, 2020 » [[Chess960]]
=External Links=
* [https://www.gnu.org/software/xboard/engine-intf.html Chess Engine Communication Protocol - GNU Project - Free Software Foundation]
* [https://en.wikipedia.org/wiki/Chess_Engine_Communication_Protocol Chess Engine Communication Protocol from Wikipedia]
* [http://hgm.nubati.net/CECP.html Chess-Engine Communication Protocol] by [[Harm Geert Muller]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=58714 CECP ('WB protocol') specs] by [[Harm Geert Muller]], [[CCC]], December 28, 2015</ref>
: [http://walkofmind.com/programming/chess/xboard.htm Winboard/XBoard UML state diagram] by [[Alessandro Scotti]]
* [http://www.horizonchess.com/FAQ/Winboard/index.html FAQ on Winboard and Chess Engines] by [[Aaron Tay]]
* [http://www.reocitiesoocities.comorg/lyapkosiliconvalley/lab/6606/winboard.htm Lyapko George's WinBoard related page] (outdated) by [[George Lyapko]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=46721 Tool to recreate PGN from winboard.debug?] by [[Sven Schüle]], [[CCC]], January 01, 2013</ref>
* [http://computer-chess.org/doku.php?id=winboard:faq:index Winboard and Chess Engines FAQ] from [[Ron Murawski|Ron Murawski's]] [http://computer-chess.org/doku.php?id=home Computer-Chess Wiki]
* [http://www.open-aurec.com/wbforum/viewforum.php?f=19 WinBoard development and bugfixing Forum]
* [http://web.archive.org/web/20020925204655fw_/http://www.playwitharena.com/directory/interviews/interviews.htm Arena, Interviews mit Prof. Dr. Robert Hyatt, Tim Mann und Martin Blume] by [[Frank Quisinsky]] for [[ChessBits]], No. 18, May 2002 ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine]) » [[Robert Hyatt]], [[Tim Mann]], [[Martin Blume]] <ref>[https://www.stmintz.com/ccc/index.php?id=245615 3 interviews about engine protocols with T. Mann, R. Hyatt and M. Blume] by [[Frank Quisinsky]], [[CCC]], August 15, 2002</ref>
=References=
<references />
 
'''[[Protocols|Up one Level]]'''

Navigation menu