Computer Go

kgsGtp and Tournament Play

This page provides guidance on how to get a bot to play in a KGS Computer Go Tournament. It expands on the material in the page How to create a bot to play Go on KGS.

If a bot is to play in a tournament, it must use a recnet version of kgsGtp, version 2.6.10 or later. You can download this from http://www.igoweb.org/~wms/upload/. It downloads as a .zip file, which you unzip, finding a .jar file called kgsGtp.jar. It comes with an html file documenting its use: there is a copy of this file (possibly not the latest version) here.

This needs java version 1.5 to work. So you must also get this installed. Java version numbers are confusing. Version 1.5 is also known as version 5. Version 5 a.k.a. 1.5 is the version after 1.4. Versions 1.4 and 1.5 a.k.a. 5 are both versions of "Java 2" or JRE2.

Your bot will need to talk GTP to kgsGtp, as mentioned in How to create a bot to play Go on KGS.

To test that your bot can connect to KGS, and can play when it gets there, use a configuration file like this

Config file for play

engine=c:/wherever/myprogam.exe firstargument=foo secondargument=bar
verbose=f
server.host=goserver.igoweb.org
server.port=2379
name=mybotname
password=notmyrealone
room=Computer Go
open=t
tournament=f
talk=Good evening.  I am a bot and do not talk.
rules=chinese
rules.boardSize=9
rules.time=10:00
reconnect=t
I hope that most of these lines are self-explanatory. They are anyway explained in the page Running a GTP Engine on KGS. The line reconnect=t, which is not mentioned there, instructs kgsGtp to try to relaunch your program should it crash. I recommend that you use this line, particularly if you will not be present in person when the tournament takes place.

You use this configuration file (called e.g. config.play) by typing the line java -jar kgsGtp.jar config.play

This should cause your program to appear in the Computer Go room of KGS, and to offer a 10-minute 9x9 game to anyone who wants to play it.

After you are happy that your program can connect and play, and before the tournament starts, you will need to run it again with a different configuration file:

Config file for tournaments

engine=c:/wherever/myprogam.exe firstargument=foo secondargument=bar
verbose=f
server.host=goserver.igoweb.org
server.port=2379
name=mybotname
password=notmyrealone
room=Computer Go
open=f
tournament=t
talk=Good evening.  I am a bot and do not talk.
rules=chinese
rules.boardSize=9
rules.time=10:00
reconnect=t
open=f means that it won't offer games, so it won't be busy when the tournament starts.
tournament=t means that it will play in the tournament.

Make sure that your program is connected and ready at eleast two minutes before the tournament is scheduled to start. You do not have to be present on KGS yourself, though you may like to watch. All your program's games will be recorded there anyway.