This is not an official KGS page.

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 Connecting a Go-playing program to KGS.

If a bot is to play in a tournament, it must use a recent version of kgsGtp, version 3.3.5 or later. You can download this from the penultimate paragraph of http://www.gokgs.com/download.jsp. 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.

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 Connecting a Go-playing program to 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
name=mybotname
password=notmyrealone
room=Computer Go
mode=custom
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 kgsgtp documentation. The line reconnect=t 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
name=mybotname
password=notmyrealone
room=Computer Go
mode=tournament
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.
mode=tournament means that it will play only in the tournament, and won't resume other games that may have been abandoned earlier.

Make sure that your program is connected and ready at least 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.