From: "William M. Shubert" wms@igoweb.org Date: 30 Dec 2003 23:24:13 -0800
I just finished up a GTP client for KGS. With it, any GTP go engine can connect to KGS and play there. This has been a problem for KGS for a long time - one of the big advantages that IGS and NNGS have with their open protocol is of course that people could easily write a GTP (or any other kind of client for it). Now that I've finally written the GTP client for KGS, I wish I'd done it sooner - it was much easier than I'd expected.
I've been using GnuGo to test with. About 20 games have been played in the past 24 hours, so it seems that the major bugs are gone. I have not tested with any other engine, so problems may show up due to small variations in the way that GTP is used.
William,
It worked the very first time for me. I have never compared my GTP implementation against any other piece of software so this surprises me to a certain extent.
Very nice. I was hoping you would do something like this eventually.
It does crash at the end of some games. I think it's because my engine doesn't know 'final_status_list dead' But the other unkonwn commands do not crash it, so you might have a minor bug here.
I am now moitivated to implement a few more GTP commands since my engine only recognizes a few.
- Don
Here is a log of where it crashed in case you are interested:
FINEST: Response to "time_left w 185 0": = unknown command Dec 31, 2003 12:04:47 PM V d FINEST: Sending queued GTP command: final_status_list dead Dec 31, 2003 12:04:47 PM V d FINEST: Response to "final_status_list dead": = unknown command Dec 31, 2003 12:04:47 PM V f SEVERE: Fatal error in GTP reader thread java.lang.RuntimeException: Cannot recognize vertex "unknown" that came from engine. at V.a(kgsgtp:384) at l.b(kgsgtp:535) at l.a(kgsgtp:37) at D.a(kgsgtp:447) at V.d(kgsgtp:349) at V.f(kgsgtp:222) at V.a(kgsgtp:33) at y.run(kgsgtp:125) at java.lang.Thread.run(Thread.java:534)