ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/doc/protocol.xml
(Generate patch)

Comparing kgsueme/doc/protocol.xml (file contents):
Revision 1.47 by pcg, Sun May 16 17:53:32 2004 UTC vs.
Revision 1.48 by pcg, Mon May 17 01:24:22 2004 UTC

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.47 $</h1> 26<h1>$Revision: 1.48 $</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
60 60
61 <p>Everything on the wire is in little-endian format (what a shame).</p> 61 <p>Everything on the wire is in little-endian format (what a shame).</p>
62 62
63 <p>Primitive types are mostly integers (signed 63 <p>Primitive types are mostly integers (signed
64 "<code>I</code>&lt;bits&gt;", unsigned "<code>U</code>&lt;bits&gt;"), 64 "<code>I</code>&lt;bits&gt;", unsigned "<code>U</code>&lt;bits&gt;"),
65 ascii strings ("<code>username</code>"), or zero-terminated 65 ascii strings ("<code>username</code>"), zero- or non-terminated
66 UCS2-Strings ("<code>STRING</code>"). Yes, I know java is supposed to 66 UCS2-Strings ("<code>ZSTRING</code>" or "<code>STRING</code>"). Yes,
67 do UTF-16, but no implementation seems to care...</p> 67 I know java is supposed to do UTF-16, but no implementation seems to
68 care...</p>
68 69
69 <p>For the rest, go figure or bug me, <a href="mailto:pcg@goof.com">Marc Lehmann &lt;pcg@goof.com&gt;</a></p> 70 <p>For the rest, go figure or bug me, <a href="mailto:pcg@goof.com">Marc Lehmann &lt;pcg@goof.com&gt;</a></p>
70 71
71<h2>Stream and message structure.</h2> 72<h2>Stream and message structure.</h2>
72 73
282 <member name="flags" type="U32" value="1"/> 283 <member name="flags" type="U32" value="1"/>
283 </struct> 284 </struct>
284 285
285 <struct name="rules" class="KGS::Rules"> 286 <struct name="rules" class="KGS::Rules">
286 287
287 <p>This structure is used for challanges as well as in the special 288 <p>This structure is used for challenges as well as in the special
288 TREE "subprotocol". It tightly encodes the game parameters.</p> 289 TREE "subprotocol". It tightly encodes the game parameters.</p>
289 290
290 <member name="ruleset" type="U8"/> 291 <member name="ruleset" type="U8"/>
291 <member name="size" type="U8"/> 292 <member name="size" type="U8"/>
292 <member name="handicap" type="U8"/> 293 <member name="handicap" type="U8"/>
428 <member name="i1" type="U32" value="0"/> 429 <member name="i1" type="U32" value="0"/>
429 <member name="b1" type="U8" value="0"/> 430 <member name="b1" type="U8" value="0"/>
430 <member name="b2" type="U8" value="255"/> 431 <member name="b2" type="U8" value="255"/>
431 <member name="b3" type="U8" value="255"/> 432 <member name="b3" type="U8" value="255"/>
432 <member name="group" type="U8" value="1"/> 433 <member name="group" type="U8" value="1"/>
433 <member name="name" type="STRING"/> 434 <member name="name" type="ZSTRING"/>
434 <member name="description" type="STRING"/> 435 <member name="description" type="ZSTRING"/>
435 <member name="flags" type="U8"/> 436 <member name="flags" type="U8"/>
436 See ROOMFLAGs 437 See ROOMFLAGs
437 </message> 438 </message>
438 439
439 <message type="031b" name="req_upd_rooms" src="client"> 440 <message type="031b" name="req_upd_rooms" src="client">
623 624
624 <message type="4433" name="req_result" src="client"> 625 <message type="4433" name="req_result" src="client">
625 I forgot. 626 I forgot.
626 627
627 <member name="channel" type="U16"/> 628 <member name="channel" type="U16"/>
629 </message>
630
631 <message type="4434" name="set_quiet" src="client">
632 <p>Sets (or clears) the quiet flag on a game.</p>
633 <member name="channel" type="U16"/>
634 <member name="quiet" type="U8"/>
628 </message> 635 </message>
629 636
630 <message type="4436" name="msg_game" src="client"> 637 <message type="4436" name="msg_game" src="client">
631 <member name="channel" type="U16"/> 638 <member name="channel" type="U16"/>
632 <member name="message" type="STRING"/> 639 <member name="message" type="STRING"/>
896 </message> 903 </message>
897 904
898 <message type="001f" name="memo" src="server"> 905 <message type="001f" name="memo" src="server">
899 Unclear. "Leave Message"? 906 Unclear. "Leave Message"?
900 6 strings following. 907 6 strings following.
901 <member name="s1" type="STRING"/> 908 <member name="s1" type="ZSTRING"/>
902 <member name="s2" type="STRING"/> 909 <member name="s2" type="ZSTRING"/>
903 <member name="s3" type="STRING"/> 910 <member name="s3" type="ZSTRING"/>
904 <member name="s4" type="STRING"/> 911 <member name="s4" type="ZSTRING"/>
905 <member name="s5" type="STRING"/> 912 <member name="s5" type="ZSTRING"/>
906 <member name="s6" type="STRING"/> 913 <member name="s6" type="ZSTRING"/>
907 </message> 914 </message>
908 915
909 <message type="0021" name="userpic" src="server"> 916 <message type="0021" name="userpic" src="server">
910 <member name="name" type="username"/> 917 <member name="name" type="username"/>
911 Reply to pic_req, contains an image in jpeg format. 918 Reply to pic_req, contains an image in jpeg format.
1155 Unclear. 1162 Unclear.
1156 <member name="channel" type="U16"/> 1163 <member name="channel" type="U16"/>
1157 # # recv_result(?) 1164 # # recv_result(?)
1158 </message> 1165 </message>
1159 1166
1160 <message type="4434" name="unknown4434" src="server"> 1167 <message type="4434" name="set_quiet" src="server">
1168 <p>Sets (or clears) the quiet flag on a game.</p>
1161 <member name="channel" type="U16"/> 1169 <member name="channel" type="U16"/>
1162 <member name="b1" type="U8"/> 1170 <member name="quiet" type="U8"/>
1163 ?? !demonstration game??
1164 </message> 1171 </message>
1165 1172
1166 <!-- added recently -->
1167 <message type="443b" name="del_global_challenge" src="server"> 1173 <message type="443b" name="del_global_challenge" src="server">
1168 <p> 1174 <p>
1169 Remove a game from the global challenge list (open game list). 1175 Remove a game from the global challenge list (open game list).
1170 </p> 1176 </p>
1171 <member name="channel" type="U16"/> 1177 <member name="channel" type="U16"/>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines