… | |
… | |
21 | Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
21 | Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
22 | --> |
22 | --> |
23 | </head> |
23 | </head> |
24 | <body> |
24 | <body> |
25 | |
25 | |
26 | <h1>$Revision: 1.40 $</h1> |
26 | <h1>$Revision: 1.41 $</h1> |
27 | |
27 | |
28 | <h1>KGS Protocol Description</h1> |
28 | <h1>KGS Protocol Description</h1> |
29 | |
29 | |
30 | <p>This XML document describes the KGS protocol. It is also used |
30 | <p>This XML document describes the KGS protocol. It is also used |
31 | to automatically generate the perl parser for all the messages and |
31 | to automatically generate the perl parser for all the messages and |
… | |
… | |
310 | Possible replies: <ref reply="login"/>. Followed by: <ref reply="timewarning_default"/> <ref reply="chal_defaults"/> |
310 | Possible replies: <ref reply="login"/>. Followed by: <ref reply="timewarning_default"/> <ref reply="chal_defaults"/> |
311 | </p> |
311 | </p> |
312 | |
312 | |
313 | <member name="ver_major" type="U32" value="2"/> |
313 | <member name="ver_major" type="U32" value="2"/> |
314 | <member name="ver_minor" type="U32" value="5"/> |
314 | <member name="ver_minor" type="U32" value="5"/> |
315 | <member name="ver_micro" type="U32" value="1"/> |
315 | <member name="ver_micro" type="U32" value="2"/> |
316 | <member name="name" type="username"/> |
316 | <member name="name" type="username"/> |
317 | <member name="password" type="password" value="0"/> |
317 | <member name="password" type="password" value="0"/> |
318 | <member name="guest" type="flag" value="1"/> |
318 | <member name="guest" type="flag" value="1"/> |
319 | <member name="_unknown3" type="U16" value="0"/> |
319 | <member name="_unknown3" type="U16" value="0"/> |
320 | <member name="locale" type="locale" value='"en_US"'/> |
320 | <member name="locale" type="locale" value='"en_US"'/> |
… | |
… | |
470 | <member name="channel" type="U16"/> |
470 | <member name="channel" type="U16"/> |
471 | <member name="name" type="username"/> |
471 | <member name="name" type="username"/> |
472 | </message> |
472 | </message> |
473 | |
473 | |
474 | <message type="4305" name="new_game" src="client"> |
474 | <message type="4305" name="new_game" src="client"> |
475 | Unclear. Start a new game. |
475 | <p>Unclear. Start a new game. |
|
|
476 | <p>Clone: 00000: 20202020 20202020 20202020 20203238 28 |
|
|
477 | 00010: 9d000543 0d000000 00000000 00130201 ...C............ |
|
|
478 | 00020: 0000ffff ffffffff ffffffff 00000000 ..ÿÿÿÿÿÿÿÿÿÿ....</p> |
|
|
479 | </p> |
|
|
480 | |
476 | <member name="channel" type="U16"/> |
481 | <member name="channel" type="U16"/> |
|
|
482 | <p>The room where to start the new game</p> |
477 | <member name="id" type="U16"/> |
483 | <member name="id" type="U16"/> |
478 | <member name="gametype" type="U32"/> |
484 | <member name="gametype" type="U32"/> |
479 | <member name="rules" type="rules"/> |
485 | <member name="rules" type="rules"/> |
|
|
486 | <p>When cloning a game, the rules are set up like this: |
|
|
487 | count => 65535, ruleset => 0, time => 4294967295, timesys => 0, interval => 4294967295. |
|
|
488 | Cloning itself seems to be implemented solely in the client (somewhat sane, for a change). |
|
|
489 | </p> |
480 | <member name="notes" type="STRING"/> |
490 | <member name="notes" type="STRING"/> |
481 | </message> |
491 | </message> |
482 | |
492 | |
483 | <message type="430a" name="load_game" src="client"> |
493 | <message type="430a" name="load_game" src="client"> |
484 | Load an existing game into a room(?) |
494 | Load an existing game into a room(?) |
… | |
… | |
1106 | |
1116 | |
1107 | <member name="channel" type="U16"/> |
1117 | <member name="channel" type="U16"/> |
1108 | <member name="name" type="username"/> |
1118 | <member name="name" type="username"/> |
1109 | </message> |
1119 | </message> |
1110 | |
1120 | |
|
|
1121 | <message type="442f" name="new_game" src="client"> |
|
|
1122 | <p>Notifies the client that a new game has been created. This |
|
|
1123 | message is sent long *after* upd_observers etc. has been received. |
|
|
1124 | *sigh*</p> |
|
|
1125 | |
|
|
1126 | <member name="channel" type="U16"/> |
|
|
1127 | <p>The enwly created game.</p> |
|
|
1128 | <member name="id" type="U16"/> |
|
|
1129 | <p>Probably the ID sent to the server in new_game.</p> |
|
|
1130 | </message> |
|
|
1131 | |
1111 | <message type="4433" name="req_result" src="server"> |
1132 | <message type="4433" name="req_result" src="server"> |
1112 | Unclear. |
1133 | Unclear. |
1113 | <member name="channel" type="U16"/> |
1134 | <member name="channel" type="U16"/> |
1114 | # # recv_result(?) |
1135 | # # recv_result(?) |
1115 | </message> |
1136 | </message> |