A new beta (beta 3) of kgsGtp is at http://www.igoweb.org/~wms/upload/ as before. Unless bugs are found, this will be the final version. It fixes some bugs in beta2, and it also knows how to play rated games on the server and prevent people from cheating it. You cannot use this yet, though! The current KGS server does not know about GTP clients, so it will not allow them to play rated! If anybody wants to test ranked games, let me know. I'm especially interested in the kgs-genmove_cleanup command, since the engine that I have doesn't use that command I couldn't test it very well. I can set up a beta version of server 2.5.6, then we can arrange a time for to connect and test.
The rules that I settled on for playing rated games are:
1. "Normal" accounts cannot play rated games via GTP, only via human players. 2. Admins can set an account to "Ranked Robot" authorization. With this authorization, the GTP engine can play ranked, and humans cannot. 3. A kgsGtp engine will refuse to start a new game with a player if there is already an unfinished rated games against that player. 4. To play rated games, an engine must support the final_game_status_list command. 5. The kgsGtp engine will refuse to play rated unless the rules of the game exactly match what is specified in the configuration file and/or command line. 6. If the engine and the human disagree on the status of living and dead stones at the end of the game, one of two things will happen: If the game uses non-Japanese rules and the engine supports the kgs-genmove_cleanup command, then the engine will recommend that the human press "undo", after which the engine will get kgs-genmove_cleanup commands until it passes. If the game uses Japanese rules or the engine does not support kgs-genmove_cleanup, then the engine will simply refuse to score the game unless the human agrees. 7. It is recommended that engines that play rated games support the kgs-genmove_cleanup command and play non-Japanese rules games. It is especially important that your engine support that command if it isn't so good at computing living/dead groups at the end of the game, otherwise you will get a lot of angry opponents left standing around in an unfinished game!
Do these look reasonable? I was trying to stop cheating both for the sake of the engine (so it gets an accurate estimate of its own strength) and for the sake of the users (so that it isn't easy to use engines to fake a different strength than you have).
William,
I downloaded beta5 but it crashes as soon as a player accepts an open game.
The exact engine and config file works fine on the last client I used which I think was beta2. I am running on Debian linux.
The only thing I can reasonably try on my end is to implement the new genmove_cleanup command just in case that has anything to do with it which I doubt. (I was going to implement that anyway.)
- Don
Here is the verbose log file follows:
-----[ snip ]----- Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient main FINE: KGS GTP Client v2.5.6 beta5 starting up Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "list_commands": = boardsize clear_board final_status_list genmove known_commands komi list_commands name play protocol_version quit undo version Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Queued command sent to engine: name Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "name": = ogo Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Queued command sent to engine: version Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "version": = w4.01.06_1 Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient c FINE: Login successful. Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient c FINE: Auth level is not ROBOT_RANKED, can only play free games Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient c FINER: Found room English Room, will join Jan 8, 2004 9:32:04 AM org.igoweb.igoweb.client.gtp.GtpClient b FINE: Joined room "English Room" Jan 8, 2004 9:32:04 AM org.igoweb.igoweb.client.gtp.GtpClient b FINER: No games to join. Creating an open game. Jan 8, 2004 9:32:04 AM org.igoweb.igoweb.client.gtp.GtpClient a FINER: Joined game Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient a FINER: Got challenge from "ocprgrmr", testing engine response. Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Command sent to engine: boardsize 9 Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "boardsize 9": = Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient b FINEST: Board size 9 is acceptable Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient d SEVERE: Error from GTP Communications layer, closing down. java.lang.NullPointerException at java.io.Writer.write(Writer.java:126) at s.a(kgsgtp:258) at org.igoweb.igoweb.client.gtp.GtpClient.b(kgsgtp:556) at org.igoweb.igoweb.client.gtp.GtpClient.b(kgsgtp:57) at org.igoweb.igoweb.client.gtp.GtpClient$7.a(kgsgtp:527) at s.c(kgsgtp:419) at s.g(kgsgtp:289) at s.a(kgsgtp:57) at U.run(kgsgtp:184) at java.lang.Thread.run(Thread.java:534) Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient c FINE: Normal disconnection from server.
Yes, this bug has been spotted by Michael Goetze also. It crashes when the engine doesn't understand the time_settings command. Oops!
There's a new version on my web page, beta6, that fixes this problem. If it crashes on you, first check the web page for updates, then if the newest version still crashes, send me a stack trace just like you did here! I should be able to fix any bugs within a day.
I have also updated the documentation to clarify exactly which commends are required (only 3 - board_size, play, and genmove) and which are optional. There may be other bugs that will crash kgsGtp if an optional command isn't implemented, but as long as the commands that you do implement return valid responses, it should not crash!
On Thu, 2004-01-08 at 06:48, Don Dailey wrote:
William,
I downloaded beta5 but it crashes as soon as a player accepts an open game.
The exact engine and config file works fine on the last client I used which I think was beta2. I am running on Debian linux.
The only thing I can reasonably try on my end is to implement the new genmove_cleanup command just in case that has anything to do with it which I doubt. (I was going to implement that anyway.)
- Don
Here is the verbose log file follows:
-----[ snip ]----- Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient main FINE: KGS GTP Client v2.5.6 beta5 starting up Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "list_commands": = boardsize clear_board final_status_list genmove known_commands komi list_commands name play protocol_version quit undo version Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Queued command sent to engine: name Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "name": = ogo Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Queued command sent to engine: version Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "version": = w4.01.06_1 Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient c FINE: Login successful. Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient c FINE: Auth level is not ROBOT_RANKED, can only play free games Jan 8, 2004 9:32:03 AM org.igoweb.igoweb.client.gtp.GtpClient c FINER: Found room English Room, will join Jan 8, 2004 9:32:04 AM org.igoweb.igoweb.client.gtp.GtpClient b FINE: Joined room "English Room" Jan 8, 2004 9:32:04 AM org.igoweb.igoweb.client.gtp.GtpClient b FINER: No games to join. Creating an open game. Jan 8, 2004 9:32:04 AM org.igoweb.igoweb.client.gtp.GtpClient a FINER: Joined game Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient a FINER: Got challenge from "ocprgrmr", testing engine response. Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Command sent to engine: boardsize 9 Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient d FINEST: Got successful response to command "boardsize 9": = Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient b FINEST: Board size 9 is acceptable Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient d SEVERE: Error from GTP Communications layer, closing down. java.lang.NullPointerException at java.io.Writer.write(Writer.java:126) at s.a(kgsgtp:258) at org.igoweb.igoweb.client.gtp.GtpClient.b(kgsgtp:556) at org.igoweb.igoweb.client.gtp.GtpClient.b(kgsgtp:57) at org.igoweb.igoweb.client.gtp.GtpClient$7.a(kgsgtp:527) at s.c(kgsgtp:419) at s.g(kgsgtp:289) at s.a(kgsgtp:57) at U.run(kgsgtp:184) at java.lang.Thread.run(Thread.java:534) Jan 8, 2004 9:32:07 AM org.igoweb.igoweb.client.gtp.GtpClient c FINE: Normal disconnection from server. _______________________________________________ gtp mailing list gtp@lists.lysator.liu.se http://lists.lysator.liu.se/mailman/listinfo/gtp