Go Text Protocol
The Go Text Protocol, GTP, is a text based protocol for communication with computer go programs, suitable for use in computer Go tournaments. It is also intended, through the use of auxiliary programs, to make it easier for go programmers to connect to go servers on the internet and do automatic regression testing. GTP has largely superseded the antiquated Go Modem Protocol.
See https://www.lysator.liu.se/~gunnar/gtp/ for more information.
Clients supporting GTP
- glGo http://www.pandanet.co.jp/English/glgo/
- GoGui http://gogui.sourceforge.net The _BEST_ tool for analyzing go program internals.
- Gomill? http://mjw.woodcraft.me.uk/gomill/: Tools for playing programs against each other and for automatically tuning engine parameters.
- GridMaster https://market.android.com/details?id=nl.tengen.gridmaster
- kgsGtp is a GTP bridge to KGS, allowing GTP engines to play on KGS. You can download it at http://www.gokgs.com/download.xhtml
- gtp2ogs allows gtp supporting bots to play on OGS http://github.com/online-go/gtp2ogs
- Quarry http://home.gna.org/quarry/
- SmartGo https://smartgo.com/windows.html
- See also the Go client page, most go clients support GTP
Engines (go-playing programs) supporting GTP
- Crazy Stone http://remi.coulom.free.fr/CrazyStone/
- GNU Go
- INDIGO http://www.math-info.univ-paris5.fr/~bouzy/INDIGO.html
- see also the go playing programs page, most go playing programs support GTP. (unfortunately not all)
An easy way to start learning about GTP is to run one of these engines without a client. e.g. bring up a shell/command prompt and type
gnugo --mode gtp
to bring up a list of GTP commands type
to view the Go board type
to make a first move type (for example)
play black q16
to make the engine move type