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.32 by pcg, Mon Jul 21 13:50:57 2003 UTC vs.
Revision 1.33 by pcg, Tue Jul 22 02:36:17 2003 UTC

20 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21--> 21-->
22</head> 22</head>
23<body> 23<body>
24 24
25<h1>$Revision: 1.32 $</h1> 25<h1>$Revision: 1.33 $</h1>
26 26
27<h1>KGS Protocol Description</h1> 27<h1>KGS Protocol Description</h1>
28 28
29 <p>This XML document describes the KGS protocol. It is also used 29 <p>This XML document describes the KGS protocol. It is also used
30 to automatically generate the perl parser for all the messages and 30 to automatically generate the perl parser for all the messages and
31 structures in the protocol. Adapting it to other languages should be 31 structures in the protocol. Adapting it to other languages should be
32 trivial.</p> 32 almost trivial.</p>
33 33
34 <p><b>Please note that the author of KGS has told me that he will 34 <p><b>Please note that the author of KGS has told me that he will
35 change the protocol in response to my efforts. No problems with 35 change the protocol in response to my efforts. No problems with
36 changing the protocol for good, but he does this just to make it 36 changing the protocol for good, but he does this just to make it
37 more difficult to reverse-engineer it, since his changes are neither 37 more difficult to reverse-engineer it, since his changes are neither
310 310
311 <message type="0100" name="gnotice" src="client"> 311 <message type="0100" name="gnotice" src="client">
312 <p>Send a global message. Maybe. Never tried, for obvious reasons :/. Results 312 <p>Send a global message. Maybe. Never tried, for obvious reasons :/. Results
313 in a <ref reply="gnotice"/> sent to all users.</p> 313 in a <ref reply="gnotice"/> sent to all users.</p>
314 <member name="notice" type="STRING"/> 314 <member name="notice" type="STRING"/>
315 </message>
316
317 <message type="0200" name="notify_add" src="client">
318
319 <p>Probably setting a notifier on a username, to get informed about
320 changes using <ref reply="notify_upd"/> messages. ???</p>
321
322 <member name="name" type="username"/>
323 </message>
324
325 <message type="0201" name="notify_del" src="client">
326
327 <p>Probably remove the notifier again.</p>
328
329 <member name="name" type="username"/>
315 </message> 330 </message>
316 331
317 <message type="0318" name="list_rooms" src="client"> 332 <message type="0318" name="list_rooms" src="client">
318 <p>List the rooms in a specific group/category. Results in a <ref reply="upd_rooms"/> message.</p> 333 <p>List the rooms in a specific group/category. Results in a <ref reply="upd_rooms"/> message.</p>
319 <member name="group" type="U8"/> 334 <member name="group" type="U8"/>
609 ** maybe more following? ** 624 ** maybe more following? **
610 </message> 625 </message>
611 626
612 <message type="0008" name="userinfo" src="server"> 627 <message type="0008" name="userinfo" src="server">
613 User info. 628 User info.
629 <member name="_unused0" type="flag"/>
614 <member name="user" type="user"/> 630 <member name="user" type="user"/>
615 <member name="_unused" type="U64"/> 631 <member name="_unused1" type="U64"/>
616 <member name="realname" type="realname"/> 632 <member name="realname" type="realname"/>
617 <member name="email" type="email"/> 633 <member name="email" type="email"/>
618 <member name="info" type="userinfo"/> 634 <member name="info" type="userinfo"/>
619 <member name="homepage" type="url"/> 635 <member name="homepage" type="url"/>
620 <member name="regdate" type="timestamp"/> 636 <member name="regdate" type="timestamp"/>
691 isn't valid. Strange form of keepalive? 707 isn't valid. Strange form of keepalive?
692 </message> 708 </message>
693 709
694 <message type="001e" name="usergraph" src="server"> 710 <message type="001e" name="usergraph" src="server">
695 User graph data. 711 User graph data.
712 <member name="name" type="username"/>
696 <member name="data" type="I16" array="yes"/> 713 <member name="data" type="I16" array="yes"/>
697 If empty, no graph is available. The unit seems to 714 If empty, no graph is available. The unit seems to
698 be centi-kyu, with 1 dan == 0, 2 dan == 100, 1 kyu == -100. 715 be centi-kyu, with 1 dan == 0, 2 dan == 100, 1 kyu == -100.
699 There is probably one entry per day, the newest one last. 716 There is probably one entry per day, the newest one last.
700 </message> 717 </message>
719 <message type="0100" name="gnotice" src="server"> 736 <message type="0100" name="gnotice" src="server">
720 global notice, sent to everybody 737 global notice, sent to everybody
721 <member name="notice" type="STRING"/> 738 <member name="notice" type="STRING"/>
722 </message> 739 </message>
723 740
724 <message type="0202" name="upd_user" src="server"> 741 <message type="0202" name="notify_event" src="server">
725 # maybe soe notify? Totally unclear. 742 # maybe soe notify? Totally unclear.
726 # loc 0" type="chat(?) loc 1 => gameinfo?, loc 2 => game result (more data) 743 # loc 0" type="chat(?) loc 1 => gameinfo?, loc 2 => game result (more data)
727 <member name="location" type="U32"/> 744 <member name="event" type="U32"/>
728 <member name="user" type="user"/> 745 <member name="user" type="user"/>
729 <member name="lotsofinfo" type="DATA" guard-member="location" guard-cond="== 2"/> 746 <member name="lotsofinfo" type="game_record" guard-member="event" guard-cond="== 2"/>
747 <p>Game result record?</p>
748
730 </message> 749 </message>
731 750
732 <message type="0310" name="priv_room" src="server"> 751 <message type="0310" name="priv_room" src="server">
733 "permission denied" when joining a room 752 "permission denied" when joining a room
734 <member name="name" type="STRING"/> 753 <member name="name" type="STRING"/>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines