Chapter 3. Compatibility

Table of Contents

Required commands
Optional commands

GoGui will work with all programs that can understand the most basic commands of version 1 or 2 of the Go Text Protocol.

Required commands

It is required that the Go program can handle the following commands:

  • boardsize (boardsize, clear_board)
  • black, white (play)
  • genmove_black, genmove_white (genmove)
  • name

The commands in braces are used if the program supports the protocol_version command and responds with 2.

In particular the Go program is not required to support the loadsgf command. GoGui translates all moves, setup and handicap stones into a series of black, white (play) commands.

Optional commands

The following other commands are used by GoGui.

  • final_status_list dead
  • help (list_commands)
  • komi
  • quit
  • scoring_system
  • time_settings
  • undo
  • version

If the Go program does not understand them you will still be able to play games, but you cannot use all of the functionality of GoGui.

The command scoring_system (from an early draft of GTP version 2) is used for setting Japanese or Chinese rules, if the program supports it. Otherwise the rule settings are quietly ignored.

The following GoGui specific GTP extension commands are used if supported by the program:

gogui_interrupt

See Chapter 5, Interrupting Commands.

gogui_sigint

See Chapter 5, Interrupting Commands.

gogui_title

For providing a window title, which may be game specific or include a player name that is not known at program creation time. The title is queried and set after a new game is started.