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.33 by pcg, Tue Jul 22 02:36:17 2003 UTC vs.
Revision 1.34 by pcg, Tue Jul 22 13:12:38 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.33 $</h1> 25<h1>$Revision: 1.34 $</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
576 <struct name="game_record" class="KGS::GameRecord"> 576 <struct name="game_record" class="KGS::GameRecord">
577 <p>A single game record entry, as seen in <ref ref="userinfo"/>.</p> 577 <p>A single game record entry, as seen in <ref ref="userinfo"/>.</p>
578 578
579 <member name="timestamp" type="timestamp"/> 579 <member name="timestamp" type="timestamp"/>
580 Time this game was played. 580 Time this game was played.
581 <member name="flags" type="U8"/> 581 <member name="type" type="U8"/>
582 High four bits are handicap, low four bits are gametype (encoded strangely? unclear). 582 High four bits are handicap, low four bits are gametype (encoded strangely? unclear).
583 <member name="user1" type="user"/> 583 <member name="user1" type="user"/>
584 White, flags contain low 8 bits of revision (bits 16-23). 584 White, flags contain low 8 bits of revision (bits 16-23).
585 <member name="user2" type="user"/> 585 <member name="user2" type="user"/>
586 Black, flags contain high 8 bits of revision (bits 16-23). 586 Black, flags contain high 8 bits of revision (bits 16-23).
587 <member name="user3" type="user"/> 587 <member name="user3" type="user"/>
588
588 Owner (or empty) 589 <p><p>Owner (or empty)</p>
590
591 <p>The bits 16-24 of user1.flags and user2.flags give the high and
592 low bits of a revision number in case there are multiple similar
593 games.</p></p>
594
589 <member name="komi" type="komi16"/> 595 <member name="komi" type="komi16"/>
590 <member name="score" type="score16"/> 596 <member name="score" type="score16"/>
591 <member name="status" type="U8"/> 597 <member name="status" type="U8"/>
598
592 0x80 inprogress 599 <p>0x80 game in progress</p>
600
593 </struct> 601 </struct>
594 602
595<h2>Server-generated messages</h2> 603<h2>Server-generated messages</h2>
596 604
597 <message type="0001" name="login" src="server"> 605 <message type="0001" name="login" src="server">
638 <member name="lastlogin" type="timestamp"/> 646 <member name="lastlogin" type="timestamp"/>
639 When the user logged in for the last time. 647 When the user logged in for the last time.
640 <!-- maybe more? --> 648 <!-- maybe more? -->
641 </message> 649 </message>
642 650
643 <message type="0018" name="login" src="server">
644 <member name="result" type="CONSTANT" default='"login error 18"'/>
645 ** maybe more following? **
646 </message>
647
648 <message type="0022" name="login" src="server">
649 I was blocked sooo many times for developing this client that it was
650 easy to figure out. The KGS admins sure need no extra nazi training
651 :(
652 <member name="reason" type="STRING"/>
653 <member name="result" type="CONSTANT" default='"user or ip blocked"'/>
654 </message>
655
656 <message type="0013" name="msg_chat" src="server"> 651 <message type="0013" name="msg_chat" src="server">
657 <member name="user1" type="username"/> 652 <member name="name" type="username"/>
658 <member name="user2" type="username"/> 653 <member name="name2" type="username"/>
659 <member name="message" type="STRING"/> 654 <member name="message" type="STRING"/>
660 </message> 655 </message>
661 656
662 <message type="0015" name="stats" src="server"> 657 <message type="0015" name="stats" src="server">
663 <member name="ver_major" type="U16"/> 658 <member name="ver_major" type="U16"/>
690 685
691 <message type="0016" name="idle_warn" src="server"> 686 <message type="0016" name="idle_warn" src="server">
692 idle warning, autologout soon (10 minutes...) 687 idle warning, autologout soon (10 minutes...)
693 </message> 688 </message>
694 689
690 <message type="0018" name="login" src="server">
691 <member name="result" type="CONSTANT" default='"login error 18"'/>
692 ** maybe more following? **
693 </message>
694
695 <message type="0022" name="login" src="server">
696 I was blocked sooo many times for developing this client that it was
697 easy to figure out. The KGS admins sure need no extra nazi training
698 :(
699 <member name="reason" type="STRING"/>
700 <member name="result" type="CONSTANT" default='"user or ip blocked"'/>
701 </message>
702
695 <message type="001b" name="timewarning_default" src="server"> 703 <message type="001b" name="timewarning_default" src="server">
696 WILD guess 704 WILD guess
697 <member name="channel" type="U16"/> 705 <member name="channel" type="U16"/>
698 <member name="time" type="U16"/> 706 <member name="time" type="U16"/>
699 </message> 707 </message>
741 <message type="0202" name="notify_event" src="server"> 749 <message type="0202" name="notify_event" src="server">
742 # maybe soe notify? Totally unclear. 750 # maybe soe notify? Totally unclear.
743 # loc 0" type="chat(?) loc 1 => gameinfo?, loc 2 => game result (more data) 751 # loc 0" type="chat(?) loc 1 => gameinfo?, loc 2 => game result (more data)
744 <member name="event" type="U32"/> 752 <member name="event" type="U32"/>
745 <member name="user" type="user"/> 753 <member name="user" type="user"/>
746 <member name="lotsofinfo" type="game_record" guard-member="event" guard-cond="== 2"/> 754 <member name="gamerecord" type="game_record" guard-member="event" guard-cond="== 2"/>
747 <p>Game result record?</p> 755 <p>Game result record?</p>
748 756
749 </message> 757 </message>
750 758
751 <message type="0310" name="priv_room" src="server"> 759 <message type="0310" name="priv_room" src="server">

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines