… | |
… | |
19 | Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | --> |
20 | --> |
21 | </head> |
21 | </head> |
22 | <body> |
22 | <body> |
23 | |
23 | |
24 | <h1>$Revision: 1.31 $</h1> |
24 | <h1>$Revision: 1.32 $</h1> |
25 | |
25 | |
26 | <h1>KGS Protocol Description</h1> |
26 | <h1>KGS Protocol Description</h1> |
27 | |
27 | |
28 | <p>This XML document describes the KGS protocol. It is also used |
28 | <p>This XML document describes the KGS protocol. It is also used |
29 | to automatically generate the perl parser for all the messages and |
29 | to automatically generate the perl parser for all the messages and |
30 | structures in the protocol. Adapting it to other languages should be |
30 | structures in the protocol. Adapting it to other languages should be |
31 | trivial.</p> |
31 | trivial.</p> |
32 | |
32 | |
33 | <p> |
33 | <p> |
34 | <b>Please note that the author of KGS has told me that he will |
34 | <b>Please note that the author of KGS has told me that he will |
35 | change the protocol in response to my efforts. Unfortunately, he does |
35 | change the protocol in response to my efforts. No problems with |
36 | this just to make it more difficult to reverse-engineer it, since his |
36 | changing the protocol for good, but he does this just to make it |
37 | changes are neither required, nor useful (they just make the protocol |
37 | more difficult to reverse-engineer it, since his changes are neither |
38 | less robust, without adding added value).</b> |
38 | required, nor useful (they just make the protocol less robust, without |
|
|
39 | adding added value). He doesn't even care that this locks out some |
|
|
40 | users who cannot upgrade (cgoban2 isn't available for their platform |
|
|
41 | anymore). It hurts to see such a waste of time and efforts that could have been used |
|
|
42 | to fix bugs or improve the client...</b> |
39 | </p> |
43 | </p> |
40 | |
44 | |
41 | <p>If you feel you need to update the visual appearance of this |
45 | <p>If you feel you need to update the visual appearance of this |
42 | document, feel free to look <tt>doc/doc2html.xsl</tt> and improve |
46 | document, feel free to look <tt>doc/doc2html.xsl</tt> and improve |
43 | it.</p> |
47 | it.</p> |
44 | |
48 | |
45 | <p>The current version of this document can always be found at |
49 | <p>The current version of this document can always be found at |
46 | <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/kgsueme/kgsueme/doc/protocol.xml?rev=HEAD&content-type=text/xml">here</a>, while |
50 | <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/kgsueme/kgsueme/doc/protocol.xml?rev=HEAD&content-type=text/xml">here</a>, while |
47 | the HTML version of it can be found |
51 | the HTML version of it can be found |
48 | <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/kgsueme/kgsueme/doc/protocol.html?rev=HEAD&content-type=text/html">here</a>. |
52 | <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/kgsueme/kgsueme/doc/protocol.html?rev=HEAD&content-type=text/html">here</a>. |
49 | </p> |
53 | (update: sourceforge is weeks behind on their anonymous cvs servers so the above might be out-of-date. sorry.)</p> |
50 | |
|
|
51 | <h2>Changes for server version 2.5</h2> |
|
|
52 | |
|
|
53 | <p>Sorry - I have little time to dissect the protocol, but as far |
|
|
54 | as I can see, there was no deeper need for the protocol change, as |
|
|
55 | the protocol itself didn't change in a significant way. The only |
|
|
56 | significant change was the addition of a linear congruence generator |
|
|
57 | that is xor'ed into the packet length, and some heavy foolery to change |
|
|
58 | receive packets. It seems that wms prefers to lock out many of his own |
|
|
59 | users than to have a few people write their own client. I didn't really |
|
|
60 | expect that from him, but instead expected real changes for the good, |
|
|
61 | as he is claiming all the time.</p> |
|
|
62 | |
|
|
63 | <p>Well, that is just what he accouned earlier, so he just did what he |
|
|
64 | said...</p> |
|
|
65 | |
|
|
66 | <p>Anything I know about changes in 2.5.x are reflected in this |
|
|
67 | document already. You can log-in, chat, log-out, watch games, but you |
|
|
68 | cannot comment games nor play nor privately chat.</p> |
|
|
69 | |
54 | |
70 | <h2>Structure and conventions of this document and the protocol</h2> |
55 | <h2>Structure and conventions of this document and the protocol</h2> |
71 | |
56 | |
72 | <p>"Send" means messages send from the client to the server, while |
57 | <p>"ORIGIN: CLIENT" means messages send from the client to the server, |
73 | "received" means messages send by the server to the client.</p> |
58 | while "ORIGIN: SERVER" means messages send by the server to the |
|
|
59 | client.</p> |
74 | |
60 | |
75 | <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> |
76 | |
62 | |
77 | <p>Primitive types are mostly integers (signed |
63 | <p>Primitive types are mostly integers (signed |
78 | "<code>I</code><bits>", unsigned "<code>U</code><bits>"), |
64 | "<code>I</code><bits>", unsigned "<code>U</code><bits>"), |
… | |
… | |
422 | |
408 | |
423 | </td> |
409 | </td> |
424 | </tr> |
410 | </tr> |
425 | </table> |
411 | </table> |
426 | |
412 | |
427 | <h2>Structs used in send messages</h2> |
413 | <h2>Structs used in messages from the client</h2> |
428 | |
414 | |
429 | <h2>Send messages</h2> |
415 | <h2>Client-generated messages</h2> |
430 | |
416 | |
431 | <h4> |
417 | <h4> |
432 | <a name="S0000"></a>ORIGIN: CLIENT |
418 | <a name="C0000"></a>ORIGIN: CLIENT; |
433 | MESSAGE login</h4> |
419 | MESSAGE: login</h4> |
434 | NUMERIC TYPE (hex): 0000<p> |
420 | NUMERIC TYPE (hex): 0000<p> |
435 | |
421 | |
436 | <p>Sent to login, usually the first message sent. The password needs to be set when the |
422 | <p>Sent to login, usually the first message sent. The password needs to be set when the |
437 | guest flag is true. |
423 | guest flag is true. |
438 | Possible replies: <a href="#R0001">login(0001)</a> |
424 | Possible replies: <a href="#S0001">login(0001)</a> |
439 | <a href="#R0002">login(0002)</a> |
425 | <a href="#S0002">login(0002)</a> |
440 | <a href="#R0003">login(0003)</a> |
426 | <a href="#S0003">login(0003)</a> |
441 | <a href="#R0004">login(0004)</a> |
427 | <a href="#S0004">login(0004)</a> |
442 | <a href="#R0005">login(0005)</a> |
428 | <a href="#S0005">login(0005)</a> |
443 | <a href="#R0006">login(0006)</a> |
429 | <a href="#S0006">login(0006)</a> |
444 | <a href="#R0018">login(0018)</a> |
430 | <a href="#S0018">login(0018)</a> |
445 | <a href="#R0022">login(0022)</a>. Followed by: <a href="#R001b">timewarning_default(001b)</a> <a href="#R0411">chal_defaults(0411)</a> |
431 | <a href="#S0022">login(0022)</a>. Followed by: <a href="#S001b">timewarning_default(001b)</a> <a href="#S0411">chal_defaults(0411)</a> |
446 | </p> |
432 | </p> |
447 | </p> |
433 | </p> |
448 | <table border="1" width="100%"> |
434 | <table border="1" width="100%"> |
449 | <tr> |
435 | <tr> |
450 | <th width="10%">NAME</th> |
436 | <th width="10%">NAME</th> |
… | |
… | |
574 | </td> |
560 | </td> |
575 | </tr> |
561 | </tr> |
576 | </table> |
562 | </table> |
577 | |
563 | |
578 | <h4> |
564 | <h4> |
579 | <a name="S0007"></a>ORIGIN: CLIENT |
565 | <a name="C0007"></a>ORIGIN: CLIENT; |
580 | MESSAGE req_userinfo</h4> |
566 | MESSAGE: req_userinfo</h4> |
581 | NUMERIC TYPE (hex): 0007<p> |
567 | NUMERIC TYPE (hex): 0007<p> |
582 | <p>Request info about a certain user. Possible reply: <a href="#R0008">userinfo(0008)</a> |
568 | <p>Request info about a certain user. Possible reply: <a href="#S0008">userinfo(0008)</a> |
583 | </p> |
569 | </p> |
584 | </p> |
570 | </p> |
585 | <table border="1" width="100%"> |
571 | <table border="1" width="100%"> |
586 | <tr> |
572 | <tr> |
587 | <th width="10%">NAME</th> |
573 | <th width="10%">NAME</th> |
… | |
… | |
604 | </td> |
590 | </td> |
605 | </tr> |
591 | </tr> |
606 | </table> |
592 | </table> |
607 | |
593 | |
608 | <h4> |
594 | <h4> |
609 | <a name="S0007"></a>ORIGIN: CLIENT |
595 | <a name="C0007"></a>ORIGIN: CLIENT; |
610 | MESSAGE update_userinfo</h4> |
596 | MESSAGE: update_userinfo</h4> |
611 | NUMERIC TYPE (hex): 0007<p> |
597 | NUMERIC TYPE (hex): 0007<p> |
612 | <p>Update user info. Message structure is very similar |
598 | <p>Update user info. Message structure is very similar |
613 | to <a href="#R0008">userinfo(0008)</a>.</p> |
599 | to <a href="#S0008">userinfo(0008)</a>.</p> |
614 | </p> |
600 | </p> |
615 | <table border="1" width="100%"> |
601 | <table border="1" width="100%"> |
616 | <tr> |
602 | <tr> |
617 | <th width="10%">NAME</th> |
603 | <th width="10%">NAME</th> |
618 | <th width="10%">TYPE</th> |
604 | <th width="10%">TYPE</th> |
… | |
… | |
726 | </td> |
712 | </td> |
727 | </tr> |
713 | </tr> |
728 | </table> |
714 | </table> |
729 | |
715 | |
730 | <h4> |
716 | <h4> |
731 | <a name="S0014"></a>ORIGIN: CLIENT |
717 | <a name="C0014"></a>ORIGIN: CLIENT; |
732 | MESSAGE req_stats</h4> |
718 | MESSAGE: req_stats</h4> |
733 | NUMERIC TYPE (hex): 0014<p> |
719 | NUMERIC TYPE (hex): 0014<p> |
734 | <p>Request server statistics. Replied with <a href="#R0015">stats(0015)</a> |
720 | <p>Request server statistics. Replied with <a href="#S0015">stats(0015)</a> |
735 | </p> |
721 | </p> |
736 | </p> |
722 | </p> |
737 | <table border="1" width="100%"> |
723 | <table border="1" width="100%"> |
738 | <tr> |
724 | <tr> |
739 | <th width="10%">NAME</th> |
725 | <th width="10%">NAME</th> |
… | |
… | |
743 | <th width="15%">DEC-GUARD</th> |
729 | <th width="15%">DEC-GUARD</th> |
744 | </tr> |
730 | </tr> |
745 | </table> |
731 | </table> |
746 | |
732 | |
747 | <h4> |
733 | <h4> |
748 | <a name="S0016"></a>ORIGIN: CLIENT |
734 | <a name="C0016"></a>ORIGIN: CLIENT; |
749 | MESSAGE idle_reset</h4> |
735 | MESSAGE: idle_reset</h4> |
750 | NUMERIC TYPE (hex): 0016<p> |
736 | NUMERIC TYPE (hex): 0016<p> |
751 | <p>Send in response to <a href="#R0016">idle_warn(0016)</a> to keep the server from disconnecting.</p> |
737 | <p>Send in response to <a href="#S0016">idle_warn(0016)</a> to keep the server from disconnecting.</p> |
752 | </p> |
738 | </p> |
753 | <table border="1" width="100%"> |
739 | <table border="1" width="100%"> |
754 | <tr> |
740 | <tr> |
755 | <th width="10%">NAME</th> |
741 | <th width="10%">NAME</th> |
756 | <th width="10%">TYPE</th> |
742 | <th width="10%">TYPE</th> |
… | |
… | |
759 | <th width="15%">DEC-GUARD</th> |
745 | <th width="15%">DEC-GUARD</th> |
760 | </tr> |
746 | </tr> |
761 | </table> |
747 | </table> |
762 | |
748 | |
763 | <h4> |
749 | <h4> |
764 | <a name="S001d"></a>ORIGIN: CLIENT |
750 | <a name="C001d"></a>ORIGIN: CLIENT; |
765 | MESSAGE ping</h4> |
751 | MESSAGE: ping</h4> |
766 | NUMERIC TYPE (hex): 001d<p> |
752 | NUMERIC TYPE (hex): 001d<p> |
767 | <p>Wild guess, I send it in <a href="#R0016">idle_warn(0016)</a>.</p> |
753 | <p>Wild guess, I send it in <a href="#S0016">idle_warn(0016)</a>.</p> |
768 | </p> |
754 | </p> |
769 | <table border="1" width="100%"> |
755 | <table border="1" width="100%"> |
770 | <tr> |
756 | <tr> |
771 | <th width="10%">NAME</th> |
757 | <th width="10%">NAME</th> |
772 | <th width="10%">TYPE</th> |
758 | <th width="10%">TYPE</th> |
… | |
… | |
775 | <th width="15%">DEC-GUARD</th> |
761 | <th width="15%">DEC-GUARD</th> |
776 | </tr> |
762 | </tr> |
777 | </table> |
763 | </table> |
778 | |
764 | |
779 | <h4> |
765 | <h4> |
780 | <a name="S001e"></a>ORIGIN: CLIENT |
766 | <a name="C001e"></a>ORIGIN: CLIENT; |
781 | MESSAGE req_usergraph</h4> |
767 | MESSAGE: req_usergraph</h4> |
782 | NUMERIC TYPE (hex): 001e<p> |
768 | NUMERIC TYPE (hex): 001e<p> |
783 | <p>Request user graph data, replied with <a href="#R001e">usergraph(001e)</a>.</p> |
769 | <p>Request user graph data, replied with <a href="#S001e">usergraph(001e)</a>.</p> |
784 | </p> |
770 | </p> |
785 | <table border="1" width="100%"> |
771 | <table border="1" width="100%"> |
786 | <tr> |
772 | <tr> |
787 | <th width="10%">NAME</th> |
773 | <th width="10%">NAME</th> |
788 | <th width="10%">TYPE</th> |
774 | <th width="10%">TYPE</th> |
… | |
… | |
804 | </td> |
790 | </td> |
805 | </tr> |
791 | </tr> |
806 | </table> |
792 | </table> |
807 | |
793 | |
808 | <h4> |
794 | <h4> |
809 | <a name="S001f"></a>ORIGIN: CLIENT |
795 | <a name="C001f"></a>ORIGIN: CLIENT; |
810 | MESSAGE fetch_memos</h4> |
796 | MESSAGE: fetch_memos</h4> |
811 | NUMERIC TYPE (hex): 001f<p> |
797 | NUMERIC TYPE (hex): 001f<p> |
812 | <p>Unclear. Fetch all outstanding memos? Replied with <a href="#R001f">memo(001f)</a> |
798 | <p>Unclear. Fetch all outstanding memos? Replied with <a href="#S001f">memo(001f)</a> |
813 | </p> |
799 | </p> |
814 | </p> |
800 | </p> |
815 | <table border="1" width="100%"> |
801 | <table border="1" width="100%"> |
816 | <tr> |
802 | <tr> |
817 | <th width="10%">NAME</th> |
803 | <th width="10%">NAME</th> |
… | |
… | |
821 | <th width="15%">DEC-GUARD</th> |
807 | <th width="15%">DEC-GUARD</th> |
822 | </tr> |
808 | </tr> |
823 | </table> |
809 | </table> |
824 | |
810 | |
825 | <h4> |
811 | <h4> |
826 | <a name="S0021"></a>ORIGIN: CLIENT |
812 | <a name="C0021"></a>ORIGIN: CLIENT; |
827 | MESSAGE req_pic</h4> |
813 | MESSAGE: req_pic</h4> |
828 | NUMERIC TYPE (hex): 0021<p> |
814 | NUMERIC TYPE (hex): 0021<p> |
829 | <p>Request a user picture from the server. Results in a <a href="#R0021">userpic(0021)</a> |
815 | <p>Request a user picture from the server. Results in a <a href="#S0021">userpic(0021)</a> |
830 | or a timeout.</p> |
816 | or a timeout.</p> |
831 | </p> |
817 | </p> |
832 | <table border="1" width="100%"> |
818 | <table border="1" width="100%"> |
833 | <tr> |
819 | <tr> |
834 | <th width="10%">NAME</th> |
820 | <th width="10%">NAME</th> |
… | |
… | |
851 | </td> |
837 | </td> |
852 | </tr> |
838 | </tr> |
853 | </table> |
839 | </table> |
854 | |
840 | |
855 | <h4> |
841 | <h4> |
856 | <a name="S0021"></a>ORIGIN: CLIENT |
842 | <a name="C0021"></a>ORIGIN: CLIENT; |
857 | MESSAGE upload_pic</h4> |
843 | MESSAGE: upload_pic</h4> |
858 | NUMERIC TYPE (hex): 0021<p> |
844 | NUMERIC TYPE (hex): 0021<p> |
859 | Same code as pic_req, but with an additional data section that |
845 | Same code as pic_req, but with an additional data section that |
860 | must contain a JPEG image that is <=7KB. It must have 141×200 pixels. |
846 | must contain a JPEG image that is <=7KB. It must have 141×200 pixels. |
861 | </p> |
847 | </p> |
862 | <table border="1" width="100%"> |
848 | <table border="1" width="100%"> |
… | |
… | |
894 | </td> |
880 | </td> |
895 | </tr> |
881 | </tr> |
896 | </table> |
882 | </table> |
897 | |
883 | |
898 | <h4> |
884 | <h4> |
899 | <a name="S0023"></a>ORIGIN: CLIENT |
885 | <a name="C0023"></a>ORIGIN: CLIENT; |
900 | MESSAGE send_memo</h4> |
886 | MESSAGE: send_memo</h4> |
901 | NUMERIC TYPE (hex): 0023<p> |
887 | NUMERIC TYPE (hex): 0023<p> |
902 | </p> |
888 | </p> |
903 | <table border="1" width="100%"> |
889 | <table border="1" width="100%"> |
904 | <tr> |
890 | <tr> |
905 | <th width="10%">NAME</th> |
891 | <th width="10%">NAME</th> |
… | |
… | |
935 | </td> |
921 | </td> |
936 | </tr> |
922 | </tr> |
937 | </table> |
923 | </table> |
938 | |
924 | |
939 | <h4> |
925 | <h4> |
940 | <a name="S0100"></a>ORIGIN: CLIENT |
926 | <a name="C0100"></a>ORIGIN: CLIENT; |
941 | MESSAGE gnotice</h4> |
927 | MESSAGE: gnotice</h4> |
942 | NUMERIC TYPE (hex): 0100<p> |
928 | NUMERIC TYPE (hex): 0100<p> |
943 | <p>Send a global message. Maybe. Never tried, for obvious reasons :/. Results |
929 | <p>Send a global message. Maybe. Never tried, for obvious reasons :/. Results |
944 | in a <a href="#R0100">gnotice(0100)</a> sent to all users.</p> |
930 | in a <a href="#S0100">gnotice(0100)</a> sent to all users.</p> |
945 | </p> |
931 | </p> |
946 | <table border="1" width="100%"> |
932 | <table border="1" width="100%"> |
947 | <tr> |
933 | <tr> |
948 | <th width="10%">NAME</th> |
934 | <th width="10%">NAME</th> |
949 | <th width="10%">TYPE</th> |
935 | <th width="10%">TYPE</th> |
… | |
… | |
965 | </td> |
951 | </td> |
966 | </tr> |
952 | </tr> |
967 | </table> |
953 | </table> |
968 | |
954 | |
969 | <h4> |
955 | <h4> |
970 | <a name="S0318"></a>ORIGIN: CLIENT |
956 | <a name="C0318"></a>ORIGIN: CLIENT; |
971 | MESSAGE list_rooms</h4> |
957 | MESSAGE: list_rooms</h4> |
972 | NUMERIC TYPE (hex): 0318<p> |
958 | NUMERIC TYPE (hex): 0318<p> |
973 | <p>List the rooms in a specific group/category. Results in a <a href="#R0318">upd_rooms(0318)</a> message.</p> |
959 | <p>List the rooms in a specific group/category. Results in a <a href="#S0318">upd_rooms(0318)</a> message.</p> |
974 | </p> |
960 | </p> |
975 | <table border="1" width="100%"> |
961 | <table border="1" width="100%"> |
976 | <tr> |
962 | <tr> |
977 | <th width="10%">NAME</th> |
963 | <th width="10%">NAME</th> |
978 | <th width="10%">TYPE</th> |
964 | <th width="10%">TYPE</th> |
… | |
… | |
994 | </td> |
980 | </td> |
995 | </tr> |
981 | </tr> |
996 | </table> |
982 | </table> |
997 | |
983 | |
998 | <h4> |
984 | <h4> |
999 | <a name="S031a"></a>ORIGIN: CLIENT |
985 | <a name="C031a"></a>ORIGIN: CLIENT; |
1000 | MESSAGE new_room</h4> |
986 | MESSAGE: new_room</h4> |
1001 | NUMERIC TYPE (hex): 031a<p> |
987 | NUMERIC TYPE (hex): 031a<p> |
1002 | Create a new room. Not verified. |
988 | Create a new room. Not verified. |
1003 | </p> |
989 | </p> |
1004 | <table border="1" width="100%"> |
990 | <table border="1" width="100%"> |
1005 | <tr> |
991 | <tr> |
… | |
… | |
1128 | </td> |
1114 | </td> |
1129 | </tr> |
1115 | </tr> |
1130 | </table> |
1116 | </table> |
1131 | |
1117 | |
1132 | <h4> |
1118 | <h4> |
1133 | <a name="S0413"></a>ORIGIN: CLIENT |
1119 | <a name="C0413"></a>ORIGIN: CLIENT; |
1134 | MESSAGE req_game_record</h4> |
1120 | MESSAGE: req_game_record</h4> |
1135 | NUMERIC TYPE (hex): 0413<p> |
1121 | NUMERIC TYPE (hex): 0413<p> |
1136 | <p>Requests part of the users game record to be sent. Results in a <a href="#R0414">game_record(0414)</a> or maybe a timeout.</p> |
1122 | <p>Requests part of the users game record to be sent. Results in a <a href="#S0414">game_record(0414)</a> or maybe a timeout.</p> |
1137 | </p> |
1123 | </p> |
1138 | <table border="1" width="100%"> |
1124 | <table border="1" width="100%"> |
1139 | <tr> |
1125 | <tr> |
1140 | <th width="10%">NAME</th> |
1126 | <th width="10%">NAME</th> |
1141 | <th width="10%">TYPE</th> |
1127 | <th width="10%">TYPE</th> |
… | |
… | |
1172 | </td> |
1158 | </td> |
1173 | </tr> |
1159 | </tr> |
1174 | </table> |
1160 | </table> |
1175 | |
1161 | |
1176 | <h4> |
1162 | <h4> |
1177 | <a name="S4300"></a>ORIGIN: CLIENT |
1163 | <a name="C4300"></a>ORIGIN: CLIENT; |
1178 | MESSAGE join_room</h4> |
1164 | MESSAGE: join_room</h4> |
1179 | NUMERIC TYPE (hex): 4300<p> |
1165 | NUMERIC TYPE (hex): 4300<p> |
1180 | <p>Joins the given room. <a href="#R4300">join_room(4300)</a> messages for yourself |
1166 | <p>Joins the given room. <a href="#S4300">join_room(4300)</a> messages for yourself |
1181 | and all users in that room, as well as the initial gamelist, are |
1167 | and all users in that room, as well as the initial gamelist, are |
1182 | send if the room exists. If not, timeout...</p> |
1168 | send if the room exists. If not, timeout...</p> |
1183 | </p> |
1169 | </p> |
1184 | <table border="1" width="100%"> |
1170 | <table border="1" width="100%"> |
1185 | <tr> |
1171 | <tr> |
… | |
… | |
1216 | </td> |
1202 | </td> |
1217 | </tr> |
1203 | </tr> |
1218 | </table> |
1204 | </table> |
1219 | |
1205 | |
1220 | <h4> |
1206 | <h4> |
1221 | <a name="S4301"></a>ORIGIN: CLIENT |
1207 | <a name="C4301"></a>ORIGIN: CLIENT; |
1222 | MESSAGE msg_room</h4> |
1208 | MESSAGE: msg_room</h4> |
1223 | NUMERIC TYPE (hex): 4301<p> |
1209 | NUMERIC TYPE (hex): 4301<p> |
1224 | Send a message to the room. |
1210 | Send a message to the room. |
1225 | </p> |
1211 | </p> |
1226 | <table border="1" width="100%"> |
1212 | <table border="1" width="100%"> |
1227 | <tr> |
1213 | <tr> |
… | |
… | |
1272 | </td> |
1258 | </td> |
1273 | </tr> |
1259 | </tr> |
1274 | </table> |
1260 | </table> |
1275 | |
1261 | |
1276 | <h4> |
1262 | <h4> |
1277 | <a name="S4302"></a>ORIGIN: CLIENT |
1263 | <a name="C4302"></a>ORIGIN: CLIENT; |
1278 | MESSAGE part_room</h4> |
1264 | MESSAGE: part_room</h4> |
1279 | NUMERIC TYPE (hex): 4302<p> |
1265 | NUMERIC TYPE (hex): 4302<p> |
1280 | Remove yourself (or maybe others as admin) from a room. |
1266 | Remove yourself (or maybe others as admin) from a room. |
1281 | </p> |
1267 | </p> |
1282 | <table border="1" width="100%"> |
1268 | <table border="1" width="100%"> |
1283 | <tr> |
1269 | <tr> |
… | |
… | |
1314 | </td> |
1300 | </td> |
1315 | </tr> |
1301 | </tr> |
1316 | </table> |
1302 | </table> |
1317 | |
1303 | |
1318 | <h4> |
1304 | <h4> |
1319 | <a name="S4305"></a>ORIGIN: CLIENT |
1305 | <a name="C4305"></a>ORIGIN: CLIENT; |
1320 | MESSAGE new_game</h4> |
1306 | MESSAGE: new_game</h4> |
1321 | NUMERIC TYPE (hex): 4305<p> |
1307 | NUMERIC TYPE (hex): 4305<p> |
1322 | Unclear. Start a new game. |
1308 | Unclear. Start a new game. |
1323 | </p> |
1309 | </p> |
1324 | <table border="1" width="100%"> |
1310 | <table border="1" width="100%"> |
1325 | <tr> |
1311 | <tr> |
… | |
… | |
1395 | </td> |
1381 | </td> |
1396 | </tr> |
1382 | </tr> |
1397 | </table> |
1383 | </table> |
1398 | |
1384 | |
1399 | <h4> |
1385 | <h4> |
1400 | <a name="S430b"></a>ORIGIN: CLIENT |
1386 | <a name="C430b"></a>ORIGIN: CLIENT; |
1401 | MESSAGE req_games</h4> |
1387 | MESSAGE: req_games</h4> |
1402 | NUMERIC TYPE (hex): 430b<p> |
1388 | NUMERIC TYPE (hex): 430b<p> |
1403 | Request to update room game list (send this once per minute to get |
1389 | Request to update room game list (send this once per minute to get |
1404 | updated). Results in upd_games messages. |
1390 | updated). Results in upd_games messages. |
1405 | </p> |
1391 | </p> |
1406 | <table border="1" width="100%"> |
1392 | <table border="1" width="100%"> |
… | |
… | |
1425 | </td> |
1411 | </td> |
1426 | </tr> |
1412 | </tr> |
1427 | </table> |
1413 | </table> |
1428 | |
1414 | |
1429 | <h4> |
1415 | <h4> |
1430 | <a name="S4319"></a>ORIGIN: CLIENT |
1416 | <a name="C4319"></a>ORIGIN: CLIENT; |
1431 | MESSAGE req_desc</h4> |
1417 | MESSAGE: req_desc</h4> |
1432 | NUMERIC TYPE (hex): 4319<p> |
1418 | NUMERIC TYPE (hex): 4319<p> |
1433 | Request room description. |
1419 | Request room description. |
1434 | </p> |
1420 | </p> |
1435 | <table border="1" width="100%"> |
1421 | <table border="1" width="100%"> |
1436 | <tr> |
1422 | <tr> |
… | |
… | |
1454 | </td> |
1440 | </td> |
1455 | </tr> |
1441 | </tr> |
1456 | </table> |
1442 | </table> |
1457 | |
1443 | |
1458 | <h4> |
1444 | <h4> |
1459 | <a name="S4400"></a>ORIGIN: CLIENT |
1445 | <a name="C4400"></a>ORIGIN: CLIENT; |
1460 | MESSAGE send_challenge</h4> |
1446 | MESSAGE: send_challenge</h4> |
1461 | NUMERIC TYPE (hex): 4400<p> |
1447 | NUMERIC TYPE (hex): 4400<p> |
1462 | Unclear. |
1448 | Unclear. |
1463 | </p> |
1449 | </p> |
1464 | <table border="1" width="100%"> |
1450 | <table border="1" width="100%"> |
1465 | <tr> |
1451 | <tr> |
… | |
… | |
1510 | </td> |
1496 | </td> |
1511 | </tr> |
1497 | </tr> |
1512 | </table> |
1498 | </table> |
1513 | |
1499 | |
1514 | <h4> |
1500 | <h4> |
1515 | <a name="S4403"></a>ORIGIN: CLIENT |
1501 | <a name="C4403"></a>ORIGIN: CLIENT; |
1516 | MESSAGE join_game</h4> |
1502 | MESSAGE: join_game</h4> |
1517 | NUMERIC TYPE (hex): 4403<p> |
1503 | NUMERIC TYPE (hex): 4403<p> |
1518 | Join a game. See join_room. |
1504 | Join a game. See join_room. |
1519 | </p> |
1505 | </p> |
1520 | <table border="1" width="100%"> |
1506 | <table border="1" width="100%"> |
1521 | <tr> |
1507 | <tr> |
… | |
… | |
1552 | </td> |
1538 | </td> |
1553 | </tr> |
1539 | </tr> |
1554 | </table> |
1540 | </table> |
1555 | |
1541 | |
1556 | <h4> |
1542 | <h4> |
1557 | <a name="S4404"></a>ORIGIN: CLIENT |
1543 | <a name="C4404"></a>ORIGIN: CLIENT; |
1558 | MESSAGE part_game</h4> |
1544 | MESSAGE: part_game</h4> |
1559 | NUMERIC TYPE (hex): 4404<p> |
1545 | NUMERIC TYPE (hex): 4404<p> |
1560 | Leave (or kick as admin?) a certain user from a game. |
1546 | Leave (or kick as admin?) a certain user from a game. |
1561 | </p> |
1547 | </p> |
1562 | <table border="1" width="100%"> |
1548 | <table border="1" width="100%"> |
1563 | <tr> |
1549 | <tr> |
… | |
… | |
1594 | </td> |
1580 | </td> |
1595 | </tr> |
1581 | </tr> |
1596 | </table> |
1582 | </table> |
1597 | |
1583 | |
1598 | <h4> |
1584 | <h4> |
1599 | <a name="S4406"></a>ORIGIN: CLIENT |
1585 | <a name="C4406"></a>ORIGIN: CLIENT; |
1600 | MESSAGE upd_tree</h4> |
1586 | MESSAGE: upd_tree</h4> |
1601 | NUMERIC TYPE (hex): 4406<p> |
1587 | NUMERIC TYPE (hex): 4406<p> |
1602 | Upload a partial game tree to the server. This is used to send moves |
1588 | Upload a partial game tree to the server. This is used to send moves |
1603 | and even in-game comments to the server. For the comments, the |
1589 | and even in-game comments to the server. For the comments, the |
1604 | server prepends the username and rank. |
1590 | server prepends the username and rank. |
1605 | |
1591 | |
… | |
… | |
1639 | </td> |
1625 | </td> |
1640 | </tr> |
1626 | </tr> |
1641 | </table> |
1627 | </table> |
1642 | |
1628 | |
1643 | <h4> |
1629 | <h4> |
1644 | <a name="S4408"></a>ORIGIN: CLIENT |
1630 | <a name="C4408"></a>ORIGIN: CLIENT; |
1645 | MESSAGE get_tree</h4> |
1631 | MESSAGE: get_tree</h4> |
1646 | NUMERIC TYPE (hex): 4408<p> |
1632 | NUMERIC TYPE (hex): 4408<p> |
1647 | Request the game tree starting at a given node. This is used |
1633 | Request the game tree starting at a given node. This is used |
1648 | when the server only sends a partial tree (with end code "more"). |
1634 | when the server only sends a partial tree (with end code "more"). |
1649 | </p> |
1635 | </p> |
1650 | <table border="1" width="100%"> |
1636 | <table border="1" width="100%"> |
… | |
… | |
1682 | </td> |
1668 | </td> |
1683 | </tr> |
1669 | </tr> |
1684 | </table> |
1670 | </table> |
1685 | |
1671 | |
1686 | <h4> |
1672 | <h4> |
1687 | <a name="S440c"></a>ORIGIN: CLIENT |
1673 | <a name="C440c"></a>ORIGIN: CLIENT; |
1688 | MESSAGE claim_win</h4> |
1674 | MESSAGE: claim_win</h4> |
1689 | NUMERIC TYPE (hex): 440c<p> |
1675 | NUMERIC TYPE (hex): 440c<p> |
1690 | Unclear. |
1676 | Unclear. |
1691 | </p> |
1677 | </p> |
1692 | <table border="1" width="100%"> |
1678 | <table border="1" width="100%"> |
1693 | <tr> |
1679 | <tr> |
… | |
… | |
1725 | </td> |
1711 | </td> |
1726 | </tr> |
1712 | </tr> |
1727 | </table> |
1713 | </table> |
1728 | |
1714 | |
1729 | <h4> |
1715 | <h4> |
1730 | <a name="S440d"></a>ORIGIN: CLIENT |
1716 | <a name="C440d"></a>ORIGIN: CLIENT; |
1731 | MESSAGE add_time</h4> |
1717 | MESSAGE: add_time</h4> |
1732 | NUMERIC TYPE (hex): 440d<p> |
1718 | NUMERIC TYPE (hex): 440d<p> |
1733 | Not checked. |
1719 | Not checked. |
1734 | |
1720 | |
1735 | </p> |
1721 | </p> |
1736 | <table border="1" width="100%"> |
1722 | <table border="1" width="100%"> |
… | |
… | |
1781 | </td> |
1767 | </td> |
1782 | </tr> |
1768 | </tr> |
1783 | </table> |
1769 | </table> |
1784 | |
1770 | |
1785 | <h4> |
1771 | <h4> |
1786 | <a name="S440f"></a>ORIGIN: CLIENT |
1772 | <a name="C440f"></a>ORIGIN: CLIENT; |
1787 | MESSAGE grant_undo</h4> |
1773 | MESSAGE: grant_undo</h4> |
1788 | NUMERIC TYPE (hex): 440f<p> |
1774 | NUMERIC TYPE (hex): 440f<p> |
1789 | Can be send after a req_undo message was received to grant the undo. |
1775 | Can be send after a req_undo message was received to grant the undo. |
1790 | </p> |
1776 | </p> |
1791 | <table border="1" width="100%"> |
1777 | <table border="1" width="100%"> |
1792 | <tr> |
1778 | <tr> |
… | |
… | |
1810 | </td> |
1796 | </td> |
1811 | </tr> |
1797 | </tr> |
1812 | </table> |
1798 | </table> |
1813 | |
1799 | |
1814 | <h4> |
1800 | <h4> |
1815 | <a name="S4410"></a>ORIGIN: CLIENT |
1801 | <a name="C4410"></a>ORIGIN: CLIENT; |
1816 | MESSAGE resign_game</h4> |
1802 | MESSAGE: resign_game</h4> |
1817 | NUMERIC TYPE (hex): 4410<p> |
1803 | NUMERIC TYPE (hex): 4410<p> |
1818 | Resign the game. |
1804 | Resign the game. |
1819 | </p> |
1805 | </p> |
1820 | <table border="1" width="100%"> |
1806 | <table border="1" width="100%"> |
1821 | <tr> |
1807 | <tr> |
… | |
… | |
1852 | </td> |
1838 | </td> |
1853 | </tr> |
1839 | </tr> |
1854 | </table> |
1840 | </table> |
1855 | |
1841 | |
1856 | <h4> |
1842 | <h4> |
1857 | <a name="S441a"></a>ORIGIN: CLIENT |
1843 | <a name="C441a"></a>ORIGIN: CLIENT; |
1858 | MESSAGE set_teacher</h4> |
1844 | MESSAGE: set_teacher</h4> |
1859 | NUMERIC TYPE (hex): 441a<p> |
1845 | NUMERIC TYPE (hex): 441a<p> |
1860 | Change the teacher to somebody else (or possibly yourself == take it). |
1846 | Change the teacher to somebody else (or possibly yourself == take it). |
1861 | </p> |
1847 | </p> |
1862 | <table border="1" width="100%"> |
1848 | <table border="1" width="100%"> |
1863 | <tr> |
1849 | <tr> |
… | |
… | |
1894 | </td> |
1880 | </td> |
1895 | </tr> |
1881 | </tr> |
1896 | </table> |
1882 | </table> |
1897 | |
1883 | |
1898 | <h4> |
1884 | <h4> |
1899 | <a name="S4422"></a>ORIGIN: CLIENT |
1885 | <a name="C4422"></a>ORIGIN: CLIENT; |
1900 | MESSAGE add_user</h4> |
1886 | MESSAGE: add_user</h4> |
1901 | NUMERIC TYPE (hex): 4422<p> |
1887 | NUMERIC TYPE (hex): 4422<p> |
1902 | Unclear. Maybe allow users to talk? No idea, really. |
1888 | Unclear. Maybe allow users to talk? No idea, really. |
1903 | |
1889 | |
1904 | </p> |
1890 | </p> |
1905 | <table border="1" width="100%"> |
1891 | <table border="1" width="100%"> |
… | |
… | |
1950 | </td> |
1936 | </td> |
1951 | </tr> |
1937 | </tr> |
1952 | </table> |
1938 | </table> |
1953 | |
1939 | |
1954 | <h4> |
1940 | <h4> |
1955 | <a name="S4423"></a>ORIGIN: CLIENT |
1941 | <a name="C4423"></a>ORIGIN: CLIENT; |
1956 | MESSAGE set_privacy</h4> |
1942 | MESSAGE: set_privacy</h4> |
1957 | NUMERIC TYPE (hex): 4423<p> |
1943 | NUMERIC TYPE (hex): 4423<p> |
1958 | Probably sets the "quiet" flag. Not checked. |
1944 | Probably sets the "quiet" flag. Not checked. |
1959 | </p> |
1945 | </p> |
1960 | <table border="1" width="100%"> |
1946 | <table border="1" width="100%"> |
1961 | <tr> |
1947 | <tr> |
… | |
… | |
1992 | </td> |
1978 | </td> |
1993 | </tr> |
1979 | </tr> |
1994 | </table> |
1980 | </table> |
1995 | |
1981 | |
1996 | <h4> |
1982 | <h4> |
1997 | <a name="S4429"></a>ORIGIN: CLIENT |
1983 | <a name="C4429"></a>ORIGIN: CLIENT; |
1998 | MESSAGE reject_challenge</h4> |
1984 | MESSAGE: reject_challenge</h4> |
1999 | NUMERIC TYPE (hex): 4429<p> |
1985 | NUMERIC TYPE (hex): 4429<p> |
2000 | Reject a challenge from a given user. Not checked. |
1986 | Reject a challenge from a given user. Not checked. |
2001 | |
1987 | |
2002 | </p> |
1988 | </p> |
2003 | <table border="1" width="100%"> |
1989 | <table border="1" width="100%"> |
… | |
… | |
2035 | </td> |
2021 | </td> |
2036 | </tr> |
2022 | </tr> |
2037 | </table> |
2023 | </table> |
2038 | |
2024 | |
2039 | <h4> |
2025 | <h4> |
2040 | <a name="S4433"></a>ORIGIN: CLIENT |
2026 | <a name="C4433"></a>ORIGIN: CLIENT; |
2041 | MESSAGE req_result</h4> |
2027 | MESSAGE: req_result</h4> |
2042 | NUMERIC TYPE (hex): 4433<p> |
2028 | NUMERIC TYPE (hex): 4433<p> |
2043 | I forgot. |
2029 | I forgot. |
2044 | |
2030 | |
2045 | </p> |
2031 | </p> |
2046 | <table border="1" width="100%"> |
2032 | <table border="1" width="100%"> |
… | |
… | |
2064 | |
2050 | |
2065 | </td> |
2051 | </td> |
2066 | </tr> |
2052 | </tr> |
2067 | </table> |
2053 | </table> |
2068 | |
2054 | |
2069 | <h2>Structs mainly used in receive messages</h2> |
2055 | <h2>Structs mainly used in messages send by the server</h2> |
2070 | |
2056 | |
2071 | <h4>STRUCTURE challenge_defaults</h4> |
2057 | <h4>STRUCTURE challenge_defaults</h4> |
2072 | <p> |
2058 | <p> |
2073 | Send soon after log-in to set the defaults for game challenges. |
2059 | Send soon after log-in to set the defaults for game challenges. |
2074 | </p> |
2060 | </p> |
… | |
… | |
2715 | </table> |
2701 | </table> |
2716 | |
2702 | |
2717 | <h4>STRUCTURE game_record</h4> |
2703 | <h4>STRUCTURE game_record</h4> |
2718 | CLASS: KGS::GameRecord<br /> |
2704 | CLASS: KGS::GameRecord<br /> |
2719 | <p> |
2705 | <p> |
2720 | <p>A single game record entry, as seen in <a href="#R0008">userinfo(0008)</a>.</p> |
2706 | <p>A single game record entry, as seen in <a href="#S0008">userinfo(0008)</a>.</p> |
2721 | </p> |
2707 | </p> |
2722 | <table border="1" width="100%"> |
2708 | <table border="1" width="100%"> |
2723 | <tr> |
2709 | <tr> |
2724 | <th width="10%">NAME</th> |
2710 | <th width="10%">NAME</th> |
2725 | <th width="10%">TYPE</th> |
2711 | <th width="10%">TYPE</th> |
… | |
… | |
2837 | |
2823 | |
2838 | </td> |
2824 | </td> |
2839 | </tr> |
2825 | </tr> |
2840 | </table> |
2826 | </table> |
2841 | |
2827 | |
2842 | <h2>Receive messages</h2> |
2828 | <h2>Server-generated messages</h2> |
2843 | |
2829 | |
2844 | <h4> |
2830 | <h4> |
2845 | <a name="R0001"></a>ORIGIN: SERVER |
2831 | <a name="S0001"></a>ORIGIN: SERVER; |
2846 | MESSAGE login</h4> |
2832 | MESSAGE: login</h4> |
2847 | NUMERIC TYPE (hex): 0001 |
2833 | NUMERIC TYPE (hex): 0001 |
2848 | (possibly in response to |
2834 | (possibly in response to |
2849 | <a href="#S0000">login(0000)</a> |
2835 | <a href="#C0000">login(0000)</a> |
2850 | ) |
2836 | ) |
2851 | <p> |
2837 | <p> |
2852 | </p> |
2838 | </p> |
2853 | <table border="1" width="100%"> |
2839 | <table border="1" width="100%"> |
2854 | <tr> |
2840 | <tr> |
… | |
… | |
2885 | </td> |
2871 | </td> |
2886 | </tr> |
2872 | </tr> |
2887 | </table> |
2873 | </table> |
2888 | |
2874 | |
2889 | <h4> |
2875 | <h4> |
2890 | <a name="R0002"></a>ORIGIN: SERVER |
2876 | <a name="S0002"></a>ORIGIN: SERVER; |
2891 | MESSAGE login</h4> |
2877 | MESSAGE: login</h4> |
2892 | NUMERIC TYPE (hex): 0002 |
2878 | NUMERIC TYPE (hex): 0002 |
2893 | (possibly in response to |
2879 | (possibly in response to |
2894 | <a href="#S0000">login(0000)</a> |
2880 | <a href="#C0000">login(0000)</a> |
2895 | ) |
2881 | ) |
2896 | <p> |
2882 | <p> |
2897 | </p> |
2883 | </p> |
2898 | <table border="1" width="100%"> |
2884 | <table border="1" width="100%"> |
2899 | <tr> |
2885 | <tr> |
… | |
… | |
2930 | </td> |
2916 | </td> |
2931 | </tr> |
2917 | </tr> |
2932 | </table> |
2918 | </table> |
2933 | |
2919 | |
2934 | <h4> |
2920 | <h4> |
2935 | <a name="R0003"></a>ORIGIN: SERVER |
2921 | <a name="S0003"></a>ORIGIN: SERVER; |
2936 | MESSAGE login</h4> |
2922 | MESSAGE: login</h4> |
2937 | NUMERIC TYPE (hex): 0003 |
2923 | NUMERIC TYPE (hex): 0003 |
2938 | (possibly in response to |
2924 | (possibly in response to |
2939 | <a href="#S0000">login(0000)</a> |
2925 | <a href="#C0000">login(0000)</a> |
2940 | ) |
2926 | ) |
2941 | <p> |
2927 | <p> |
2942 | </p> |
2928 | </p> |
2943 | <table border="1" width="100%"> |
2929 | <table border="1" width="100%"> |
2944 | <tr> |
2930 | <tr> |
… | |
… | |
2963 | </td> |
2949 | </td> |
2964 | </tr> |
2950 | </tr> |
2965 | </table> |
2951 | </table> |
2966 | |
2952 | |
2967 | <h4> |
2953 | <h4> |
2968 | <a name="R0004"></a>ORIGIN: SERVER |
2954 | <a name="S0004"></a>ORIGIN: SERVER; |
2969 | MESSAGE login</h4> |
2955 | MESSAGE: login</h4> |
2970 | NUMERIC TYPE (hex): 0004 |
2956 | NUMERIC TYPE (hex): 0004 |
2971 | (possibly in response to |
2957 | (possibly in response to |
2972 | <a href="#S0000">login(0000)</a> |
2958 | <a href="#C0000">login(0000)</a> |
2973 | ) |
2959 | ) |
2974 | <p> |
2960 | <p> |
2975 | </p> |
2961 | </p> |
2976 | <table border="1" width="100%"> |
2962 | <table border="1" width="100%"> |
2977 | <tr> |
2963 | <tr> |
… | |
… | |
2996 | </td> |
2982 | </td> |
2997 | </tr> |
2983 | </tr> |
2998 | </table> |
2984 | </table> |
2999 | |
2985 | |
3000 | <h4> |
2986 | <h4> |
3001 | <a name="R0005"></a>ORIGIN: SERVER |
2987 | <a name="S0005"></a>ORIGIN: SERVER; |
3002 | MESSAGE login</h4> |
2988 | MESSAGE: login</h4> |
3003 | NUMERIC TYPE (hex): 0005 |
2989 | NUMERIC TYPE (hex): 0005 |
3004 | (possibly in response to |
2990 | (possibly in response to |
3005 | <a href="#S0000">login(0000)</a> |
2991 | <a href="#C0000">login(0000)</a> |
3006 | ) |
2992 | ) |
3007 | <p> |
2993 | <p> |
3008 | </p> |
2994 | </p> |
3009 | <table border="1" width="100%"> |
2995 | <table border="1" width="100%"> |
3010 | <tr> |
2996 | <tr> |
… | |
… | |
3029 | </td> |
3015 | </td> |
3030 | </tr> |
3016 | </tr> |
3031 | </table> |
3017 | </table> |
3032 | |
3018 | |
3033 | <h4> |
3019 | <h4> |
3034 | <a name="R0006"></a>ORIGIN: SERVER |
3020 | <a name="S0006"></a>ORIGIN: SERVER; |
3035 | MESSAGE login</h4> |
3021 | MESSAGE: login</h4> |
3036 | NUMERIC TYPE (hex): 0006 |
3022 | NUMERIC TYPE (hex): 0006 |
3037 | (possibly in response to |
3023 | (possibly in response to |
3038 | <a href="#S0000">login(0000)</a> |
3024 | <a href="#C0000">login(0000)</a> |
3039 | ) |
3025 | ) |
3040 | <p> |
3026 | <p> |
3041 | </p> |
3027 | </p> |
3042 | <table border="1" width="100%"> |
3028 | <table border="1" width="100%"> |
3043 | <tr> |
3029 | <tr> |
… | |
… | |
3062 | </td> |
3048 | </td> |
3063 | </tr> |
3049 | </tr> |
3064 | </table> |
3050 | </table> |
3065 | |
3051 | |
3066 | <h4> |
3052 | <h4> |
3067 | <a name="R0008"></a>ORIGIN: SERVER |
3053 | <a name="S0008"></a>ORIGIN: SERVER; |
3068 | MESSAGE userinfo</h4> |
3054 | MESSAGE: userinfo</h4> |
3069 | NUMERIC TYPE (hex): 0008 |
3055 | NUMERIC TYPE (hex): 0008 |
3070 | (possibly in response to |
3056 | (possibly in response to |
3071 | <a href="#S0007">req_userinfo(0007)</a> |
3057 | <a href="#C0007">req_userinfo(0007)</a> |
3072 | ) |
3058 | ) |
3073 | <p> |
3059 | <p> |
3074 | User info. |
3060 | User info. |
3075 | </p> |
3061 | </p> |
3076 | <table border="1" width="100%"> |
3062 | <table border="1" width="100%"> |
… | |
… | |
3188 | </td> |
3174 | </td> |
3189 | </tr> |
3175 | </tr> |
3190 | </table> |
3176 | </table> |
3191 | |
3177 | |
3192 | <h4> |
3178 | <h4> |
3193 | <a name="R0018"></a>ORIGIN: SERVER |
3179 | <a name="S0018"></a>ORIGIN: SERVER; |
3194 | MESSAGE login</h4> |
3180 | MESSAGE: login</h4> |
3195 | NUMERIC TYPE (hex): 0018 |
3181 | NUMERIC TYPE (hex): 0018 |
3196 | (possibly in response to |
3182 | (possibly in response to |
3197 | <a href="#S0000">login(0000)</a> |
3183 | <a href="#C0000">login(0000)</a> |
3198 | ) |
3184 | ) |
3199 | <p> |
3185 | <p> |
3200 | </p> |
3186 | </p> |
3201 | <table border="1" width="100%"> |
3187 | <table border="1" width="100%"> |
3202 | <tr> |
3188 | <tr> |
… | |
… | |
3221 | </td> |
3207 | </td> |
3222 | </tr> |
3208 | </tr> |
3223 | </table> |
3209 | </table> |
3224 | |
3210 | |
3225 | <h4> |
3211 | <h4> |
3226 | <a name="R0022"></a>ORIGIN: SERVER |
3212 | <a name="S0022"></a>ORIGIN: SERVER; |
3227 | MESSAGE login</h4> |
3213 | MESSAGE: login</h4> |
3228 | NUMERIC TYPE (hex): 0022 |
3214 | NUMERIC TYPE (hex): 0022 |
3229 | (possibly in response to |
3215 | (possibly in response to |
3230 | <a href="#S0000">login(0000)</a> |
3216 | <a href="#C0000">login(0000)</a> |
3231 | ) |
3217 | ) |
3232 | <p> |
3218 | <p> |
3233 | I was blocked sooo many times for developing this client that it was |
3219 | I was blocked sooo many times for developing this client that it was |
3234 | easy to figure out. The KGS admins sure need no extra nazi training |
3220 | easy to figure out. The KGS admins sure need no extra nazi training |
3235 | :( |
3221 | :( |
… | |
… | |
3269 | </td> |
3255 | </td> |
3270 | </tr> |
3256 | </tr> |
3271 | </table> |
3257 | </table> |
3272 | |
3258 | |
3273 | <h4> |
3259 | <h4> |
3274 | <a name="R0013"></a>ORIGIN: SERVER |
3260 | <a name="S0013"></a>ORIGIN: SERVER; |
3275 | MESSAGE msg_chat</h4> |
3261 | MESSAGE: msg_chat</h4> |
3276 | NUMERIC TYPE (hex): 0013<p> |
3262 | NUMERIC TYPE (hex): 0013<p> |
3277 | </p> |
3263 | </p> |
3278 | <table border="1" width="100%"> |
3264 | <table border="1" width="100%"> |
3279 | <tr> |
3265 | <tr> |
3280 | <th width="10%">NAME</th> |
3266 | <th width="10%">NAME</th> |
… | |
… | |
3323 | </td> |
3309 | </td> |
3324 | </tr> |
3310 | </tr> |
3325 | </table> |
3311 | </table> |
3326 | |
3312 | |
3327 | <h4> |
3313 | <h4> |
3328 | <a name="R0015"></a>ORIGIN: SERVER |
3314 | <a name="S0015"></a>ORIGIN: SERVER; |
3329 | MESSAGE stats</h4> |
3315 | MESSAGE: stats</h4> |
3330 | NUMERIC TYPE (hex): 0015 |
3316 | NUMERIC TYPE (hex): 0015 |
3331 | (possibly in response to |
3317 | (possibly in response to |
3332 | <a href="#S0014">req_stats(0014)</a> |
3318 | <a href="#C0014">req_stats(0014)</a> |
3333 | ) |
3319 | ) |
3334 | <p> |
3320 | <p> |
3335 | </p> |
3321 | </p> |
3336 | <table border="1" width="100%"> |
3322 | <table border="1" width="100%"> |
3337 | <tr> |
3323 | <tr> |
… | |
… | |
3680 | </td> |
3666 | </td> |
3681 | </tr> |
3667 | </tr> |
3682 | </table> |
3668 | </table> |
3683 | |
3669 | |
3684 | <h4> |
3670 | <h4> |
3685 | <a name="R0016"></a>ORIGIN: SERVER |
3671 | <a name="S0016"></a>ORIGIN: SERVER; |
3686 | MESSAGE idle_warn</h4> |
3672 | MESSAGE: idle_warn</h4> |
3687 | NUMERIC TYPE (hex): 0016 |
3673 | NUMERIC TYPE (hex): 0016 |
3688 | (possibly in response to |
3674 | (possibly in response to |
3689 | <a href="#S0016">idle_reset(0016)</a> |
3675 | <a href="#C0016">idle_reset(0016)</a> |
3690 | ) |
3676 | ) |
3691 | <p> |
3677 | <p> |
3692 | idle warning, autologout soon (10 minutes...) |
3678 | idle warning, autologout soon (10 minutes...) |
3693 | </p> |
3679 | </p> |
3694 | <table border="1" width="100%"> |
3680 | <table border="1" width="100%"> |
… | |
… | |
3700 | <th width="15%">DEC-GUARD</th> |
3686 | <th width="15%">DEC-GUARD</th> |
3701 | </tr> |
3687 | </tr> |
3702 | </table> |
3688 | </table> |
3703 | |
3689 | |
3704 | <h4> |
3690 | <h4> |
3705 | <a name="R001b"></a>ORIGIN: SERVER |
3691 | <a name="S001b"></a>ORIGIN: SERVER; |
3706 | MESSAGE timewarning_default</h4> |
3692 | MESSAGE: timewarning_default</h4> |
3707 | NUMERIC TYPE (hex): 001b |
3693 | NUMERIC TYPE (hex): 001b |
3708 | (possibly in response to |
3694 | (possibly in response to |
3709 | <a href="#S0000">login(0000)</a> |
3695 | <a href="#C0000">login(0000)</a> |
3710 | ) |
3696 | ) |
3711 | <p> |
3697 | <p> |
3712 | WILD guess |
3698 | WILD guess |
3713 | </p> |
3699 | </p> |
3714 | <table border="1" width="100%"> |
3700 | <table border="1" width="100%"> |
… | |
… | |
3746 | </td> |
3732 | </td> |
3747 | </tr> |
3733 | </tr> |
3748 | </table> |
3734 | </table> |
3749 | |
3735 | |
3750 | <h4> |
3736 | <h4> |
3751 | <a name="R001c"></a>ORIGIN: SERVER |
3737 | <a name="S001c"></a>ORIGIN: SERVER; |
3752 | MESSAGE idle_err</h4> |
3738 | MESSAGE: idle_err</h4> |
3753 | NUMERIC TYPE (hex): 001c<p> |
3739 | NUMERIC TYPE (hex): 001c<p> |
3754 | autologout |
3740 | autologout |
3755 | </p> |
3741 | </p> |
3756 | <table border="1" width="100%"> |
3742 | <table border="1" width="100%"> |
3757 | <tr> |
3743 | <tr> |
… | |
… | |
3762 | <th width="15%">DEC-GUARD</th> |
3748 | <th width="15%">DEC-GUARD</th> |
3763 | </tr> |
3749 | </tr> |
3764 | </table> |
3750 | </table> |
3765 | |
3751 | |
3766 | <h4> |
3752 | <h4> |
3767 | <a name="R001d"></a>ORIGIN: SERVER |
3753 | <a name="S001d"></a>ORIGIN: SERVER; |
3768 | MESSAGE ping</h4> |
3754 | MESSAGE: ping</h4> |
3769 | NUMERIC TYPE (hex): 001d<p> |
3755 | NUMERIC TYPE (hex): 001d<p> |
3770 | Sent by the server regularly, but not answering them |
3756 | Sent by the server regularly, but not answering them |
3771 | isn't valid. Strange form of keepalive? |
3757 | isn't valid. Strange form of keepalive? |
3772 | </p> |
3758 | </p> |
3773 | <table border="1" width="100%"> |
3759 | <table border="1" width="100%"> |
… | |
… | |
3779 | <th width="15%">DEC-GUARD</th> |
3765 | <th width="15%">DEC-GUARD</th> |
3780 | </tr> |
3766 | </tr> |
3781 | </table> |
3767 | </table> |
3782 | |
3768 | |
3783 | <h4> |
3769 | <h4> |
3784 | <a name="R001e"></a>ORIGIN: SERVER |
3770 | <a name="S001e"></a>ORIGIN: SERVER; |
3785 | MESSAGE usergraph</h4> |
3771 | MESSAGE: usergraph</h4> |
3786 | NUMERIC TYPE (hex): 001e |
3772 | NUMERIC TYPE (hex): 001e |
3787 | (possibly in response to |
3773 | (possibly in response to |
3788 | <a href="#S001e">req_usergraph(001e)</a> |
3774 | <a href="#C001e">req_usergraph(001e)</a> |
3789 | ) |
3775 | ) |
3790 | <p> |
3776 | <p> |
3791 | User graph data. |
3777 | User graph data. |
3792 | </p> |
3778 | </p> |
3793 | <table border="1" width="100%"> |
3779 | <table border="1" width="100%"> |
… | |
… | |
3815 | </td> |
3801 | </td> |
3816 | </tr> |
3802 | </tr> |
3817 | </table> |
3803 | </table> |
3818 | |
3804 | |
3819 | <h4> |
3805 | <h4> |
3820 | <a name="R001f"></a>ORIGIN: SERVER |
3806 | <a name="S001f"></a>ORIGIN: SERVER; |
3821 | MESSAGE memo</h4> |
3807 | MESSAGE: memo</h4> |
3822 | NUMERIC TYPE (hex): 001f |
3808 | NUMERIC TYPE (hex): 001f |
3823 | (possibly in response to |
3809 | (possibly in response to |
3824 | <a href="#S001f">fetch_memos(001f)</a> |
3810 | <a href="#C001f">fetch_memos(001f)</a> |
3825 | ) |
3811 | ) |
3826 | <p> |
3812 | <p> |
3827 | Unclear. "Leave Message"? |
3813 | Unclear. "Leave Message"? |
3828 | 6 strings following. |
3814 | 6 strings following. |
3829 | </p> |
3815 | </p> |
… | |
… | |
3914 | </td> |
3900 | </td> |
3915 | </tr> |
3901 | </tr> |
3916 | </table> |
3902 | </table> |
3917 | |
3903 | |
3918 | <h4> |
3904 | <h4> |
3919 | <a name="R0021"></a>ORIGIN: SERVER |
3905 | <a name="S0021"></a>ORIGIN: SERVER; |
3920 | MESSAGE userpic</h4> |
3906 | MESSAGE: userpic</h4> |
3921 | NUMERIC TYPE (hex): 0021 |
3907 | NUMERIC TYPE (hex): 0021 |
3922 | (possibly in response to |
3908 | (possibly in response to |
3923 | <a href="#S0021">req_pic(0021)</a> |
3909 | <a href="#C0021">req_pic(0021)</a> |
3924 | ) |
3910 | ) |
3925 | <p> |
3911 | <p> |
3926 | </p> |
3912 | </p> |
3927 | <table border="1" width="100%"> |
3913 | <table border="1" width="100%"> |
3928 | <tr> |
3914 | <tr> |
… | |
… | |
3960 | </td> |
3946 | </td> |
3961 | </tr> |
3947 | </tr> |
3962 | </table> |
3948 | </table> |
3963 | |
3949 | |
3964 | <h4> |
3950 | <h4> |
3965 | <a name="R0100"></a>ORIGIN: SERVER |
3951 | <a name="S0100"></a>ORIGIN: SERVER; |
3966 | MESSAGE gnotice</h4> |
3952 | MESSAGE: gnotice</h4> |
3967 | NUMERIC TYPE (hex): 0100 |
3953 | NUMERIC TYPE (hex): 0100 |
3968 | (possibly in response to |
3954 | (possibly in response to |
3969 | <a href="#S0100">gnotice(0100)</a> |
3955 | <a href="#C0100">gnotice(0100)</a> |
3970 | ) |
3956 | ) |
3971 | <p> |
3957 | <p> |
3972 | global notice, sent to everybody |
3958 | global notice, sent to everybody |
3973 | </p> |
3959 | </p> |
3974 | <table border="1" width="100%"> |
3960 | <table border="1" width="100%"> |
… | |
… | |
3993 | </td> |
3979 | </td> |
3994 | </tr> |
3980 | </tr> |
3995 | </table> |
3981 | </table> |
3996 | |
3982 | |
3997 | <h4> |
3983 | <h4> |
3998 | <a name="R0202"></a>ORIGIN: SERVER |
3984 | <a name="S0202"></a>ORIGIN: SERVER; |
3999 | MESSAGE upd_user</h4> |
3985 | MESSAGE: upd_user</h4> |
4000 | NUMERIC TYPE (hex): 0202<p> |
3986 | NUMERIC TYPE (hex): 0202<p> |
4001 | # maybe soe notify? Totally unclear. |
3987 | # maybe soe notify? Totally unclear. |
4002 | # loc 0" type="chat(?) loc 1 => gameinfo?, loc 2 => game result (more data) |
3988 | # loc 0" type="chat(?) loc 1 => gameinfo?, loc 2 => game result (more data) |
4003 | </p> |
3989 | </p> |
4004 | <table border="1" width="100%"> |
3990 | <table border="1" width="100%"> |
… | |
… | |
4049 | </td> |
4035 | </td> |
4050 | </tr> |
4036 | </tr> |
4051 | </table> |
4037 | </table> |
4052 | |
4038 | |
4053 | <h4> |
4039 | <h4> |
4054 | <a name="R0310"></a>ORIGIN: SERVER |
4040 | <a name="S0310"></a>ORIGIN: SERVER; |
4055 | MESSAGE priv_room</h4> |
4041 | MESSAGE: priv_room</h4> |
4056 | NUMERIC TYPE (hex): 0310<p> |
4042 | NUMERIC TYPE (hex): 0310<p> |
4057 | "permission denied" when joining a room |
4043 | "permission denied" when joining a room |
4058 | </p> |
4044 | </p> |
4059 | <table border="1" width="100%"> |
4045 | <table border="1" width="100%"> |
4060 | <tr> |
4046 | <tr> |
… | |
… | |
4078 | </td> |
4064 | </td> |
4079 | </tr> |
4065 | </tr> |
4080 | </table> |
4066 | </table> |
4081 | |
4067 | |
4082 | <h4> |
4068 | <h4> |
4083 | <a name="R0318"></a>ORIGIN: SERVER |
4069 | <a name="S0318"></a>ORIGIN: SERVER; |
4084 | MESSAGE upd_rooms</h4> |
4070 | MESSAGE: upd_rooms</h4> |
4085 | NUMERIC TYPE (hex): 0318 |
4071 | NUMERIC TYPE (hex): 0318 |
4086 | (possibly in response to |
4072 | (possibly in response to |
4087 | <a href="#S0318">list_rooms(0318)</a> |
4073 | <a href="#C0318">list_rooms(0318)</a> |
4088 | ) |
4074 | ) |
4089 | <p> |
4075 | <p> |
4090 | </p> |
4076 | </p> |
4091 | <table border="1" width="100%"> |
4077 | <table border="1" width="100%"> |
4092 | <tr> |
4078 | <tr> |
… | |
… | |
4110 | </td> |
4096 | </td> |
4111 | </tr> |
4097 | </tr> |
4112 | </table> |
4098 | </table> |
4113 | |
4099 | |
4114 | <h4> |
4100 | <h4> |
4115 | <a name="R0411"></a>ORIGIN: SERVER |
4101 | <a name="S0411"></a>ORIGIN: SERVER; |
4116 | MESSAGE chal_defaults</h4> |
4102 | MESSAGE: chal_defaults</h4> |
4117 | NUMERIC TYPE (hex): 0411 |
4103 | NUMERIC TYPE (hex): 0411 |
4118 | (possibly in response to |
4104 | (possibly in response to |
4119 | <a href="#S0000">login(0000)</a> |
4105 | <a href="#C0000">login(0000)</a> |
4120 | ) |
4106 | ) |
4121 | <p> |
4107 | <p> |
4122 | </p> |
4108 | </p> |
4123 | <table border="1" width="100%"> |
4109 | <table border="1" width="100%"> |
4124 | <tr> |
4110 | <tr> |
… | |
… | |
4155 | </td> |
4141 | </td> |
4156 | </tr> |
4142 | </tr> |
4157 | </table> |
4143 | </table> |
4158 | |
4144 | |
4159 | <h4> |
4145 | <h4> |
4160 | <a name="R0412"></a>ORIGIN: SERVER |
4146 | <a name="S0412"></a>ORIGIN: SERVER; |
4161 | MESSAGE rej_game</h4> |
4147 | MESSAGE: rej_game</h4> |
4162 | NUMERIC TYPE (hex): 0412<p> |
4148 | NUMERIC TYPE (hex): 0412<p> |
4163 | Unable to create challenge. The channel might be optional. |
4149 | Unable to create challenge. The channel might be optional. |
4164 | </p> |
4150 | </p> |
4165 | <table border="1" width="100%"> |
4151 | <table border="1" width="100%"> |
4166 | <tr> |
4152 | <tr> |
… | |
… | |
4184 | </td> |
4170 | </td> |
4185 | </tr> |
4171 | </tr> |
4186 | </table> |
4172 | </table> |
4187 | |
4173 | |
4188 | <h4> |
4174 | <h4> |
4189 | <a name="R0414"></a>ORIGIN: SERVER |
4175 | <a name="S0414"></a>ORIGIN: SERVER; |
4190 | MESSAGE game_record</h4> |
4176 | MESSAGE: game_record</h4> |
4191 | NUMERIC TYPE (hex): 0414 |
4177 | NUMERIC TYPE (hex): 0414 |
4192 | (possibly in response to |
4178 | (possibly in response to |
4193 | <a href="#S0413">req_game_record(0413)</a> |
4179 | <a href="#C0413">req_game_record(0413)</a> |
4194 | ) |
4180 | ) |
4195 | <p> |
4181 | <p> |
4196 | The users game record. |
4182 | The users game record. |
4197 | </p> |
4183 | </p> |
4198 | <table border="1" width="100%"> |
4184 | <table border="1" width="100%"> |
… | |
… | |
4244 | </td> |
4230 | </td> |
4245 | </tr> |
4231 | </tr> |
4246 | </table> |
4232 | </table> |
4247 | |
4233 | |
4248 | <h4> |
4234 | <h4> |
4249 | <a name="R041c"></a>ORIGIN: SERVER |
4235 | <a name="S041c"></a>ORIGIN: SERVER; |
4250 | MESSAGE upd_game2</h4> |
4236 | MESSAGE: upd_game2</h4> |
4251 | NUMERIC TYPE (hex): 041c<p> |
4237 | NUMERIC TYPE (hex): 041c<p> |
4252 | Unclear. |
4238 | Unclear. |
4253 | </p> |
4239 | </p> |
4254 | <table border="1" width="100%"> |
4240 | <table border="1" width="100%"> |
4255 | <tr> |
4241 | <tr> |
… | |
… | |
4291 | |
4277 | |
4292 | <p>Not all room messages are for rooms only, and rooms need to parse |
4278 | <p>Not all room messages are for rooms only, and rooms need to parse |
4293 | not only these messages. Orthogonality, what for?</p> |
4279 | not only these messages. Orthogonality, what for?</p> |
4294 | |
4280 | |
4295 | <h4> |
4281 | <h4> |
4296 | <a name="R4300"></a>ORIGIN: SERVER |
4282 | <a name="S4300"></a>ORIGIN: SERVER; |
4297 | MESSAGE join_room</h4> |
4283 | MESSAGE: join_room</h4> |
4298 | NUMERIC TYPE (hex): 4300 |
4284 | NUMERIC TYPE (hex): 4300 |
4299 | (possibly in response to |
4285 | (possibly in response to |
4300 | <a href="#S4300">join_room(4300)</a> |
4286 | <a href="#C4300">join_room(4300)</a> |
4301 | ) |
4287 | ) |
4302 | <p> |
4288 | <p> |
4303 | </p> |
4289 | </p> |
4304 | <table border="1" width="100%"> |
4290 | <table border="1" width="100%"> |
4305 | <tr> |
4291 | <tr> |
… | |
… | |
4336 | </td> |
4322 | </td> |
4337 | </tr> |
4323 | </tr> |
4338 | </table> |
4324 | </table> |
4339 | |
4325 | |
4340 | <h4> |
4326 | <h4> |
4341 | <a name="R4301"></a>ORIGIN: SERVER |
4327 | <a name="S4301"></a>ORIGIN: SERVER; |
4342 | MESSAGE msg_room</h4> |
4328 | MESSAGE: msg_room</h4> |
4343 | NUMERIC TYPE (hex): 4301<p> |
4329 | NUMERIC TYPE (hex): 4301<p> |
4344 | </p> |
4330 | </p> |
4345 | <table border="1" width="100%"> |
4331 | <table border="1" width="100%"> |
4346 | <tr> |
4332 | <tr> |
4347 | <th width="10%">NAME</th> |
4333 | <th width="10%">NAME</th> |
… | |
… | |
4390 | </td> |
4376 | </td> |
4391 | </tr> |
4377 | </tr> |
4392 | </table> |
4378 | </table> |
4393 | |
4379 | |
4394 | <h4> |
4380 | <h4> |
4395 | <a name="R4302"></a>ORIGIN: SERVER |
4381 | <a name="S4302"></a>ORIGIN: SERVER; |
4396 | MESSAGE part_room</h4> |
4382 | MESSAGE: part_room</h4> |
4397 | NUMERIC TYPE (hex): 4302<p> |
4383 | NUMERIC TYPE (hex): 4302<p> |
4398 | </p> |
4384 | </p> |
4399 | <table border="1" width="100%"> |
4385 | <table border="1" width="100%"> |
4400 | <tr> |
4386 | <tr> |
4401 | <th width="10%">NAME</th> |
4387 | <th width="10%">NAME</th> |
… | |
… | |
4431 | </td> |
4417 | </td> |
4432 | </tr> |
4418 | </tr> |
4433 | </table> |
4419 | </table> |
4434 | |
4420 | |
4435 | <h4> |
4421 | <h4> |
4436 | <a name="R4303"></a>ORIGIN: SERVER |
4422 | <a name="S4303"></a>ORIGIN: SERVER; |
4437 | MESSAGE del_room</h4> |
4423 | MESSAGE: del_room</h4> |
4438 | NUMERIC TYPE (hex): 4303<p> |
4424 | NUMERIC TYPE (hex): 4303<p> |
4439 | </p> |
4425 | </p> |
4440 | <table border="1" width="100%"> |
4426 | <table border="1" width="100%"> |
4441 | <tr> |
4427 | <tr> |
4442 | <th width="10%">NAME</th> |
4428 | <th width="10%">NAME</th> |
… | |
… | |
4459 | </td> |
4445 | </td> |
4460 | </tr> |
4446 | </tr> |
4461 | </table> |
4447 | </table> |
4462 | |
4448 | |
4463 | <h4> |
4449 | <h4> |
4464 | <a name="R4304"></a>ORIGIN: SERVER |
4450 | <a name="S4304"></a>ORIGIN: SERVER; |
4465 | MESSAGE upd_games</h4> |
4451 | MESSAGE: upd_games</h4> |
4466 | NUMERIC TYPE (hex): 4304<p> |
4452 | NUMERIC TYPE (hex): 4304<p> |
4467 | </p> |
4453 | </p> |
4468 | <table border="1" width="100%"> |
4454 | <table border="1" width="100%"> |
4469 | <tr> |
4455 | <tr> |
4470 | <th width="10%">NAME</th> |
4456 | <th width="10%">NAME</th> |
… | |
… | |
4500 | </td> |
4486 | </td> |
4501 | </tr> |
4487 | </tr> |
4502 | </table> |
4488 | </table> |
4503 | |
4489 | |
4504 | <h4> |
4490 | <h4> |
4505 | <a name="R4319"></a>ORIGIN: SERVER |
4491 | <a name="S4319"></a>ORIGIN: SERVER; |
4506 | MESSAGE desc_room</h4> |
4492 | MESSAGE: desc_room</h4> |
4507 | NUMERIC TYPE (hex): 4319<p> |
4493 | NUMERIC TYPE (hex): 4319<p> |
4508 | </p> |
4494 | </p> |
4509 | <table border="1" width="100%"> |
4495 | <table border="1" width="100%"> |
4510 | <tr> |
4496 | <tr> |
4511 | <th width="10%">NAME</th> |
4497 | <th width="10%">NAME</th> |
… | |
… | |
4556 | </table> |
4542 | </table> |
4557 | |
4543 | |
4558 | <h3>Game messages</h3> |
4544 | <h3>Game messages</h3> |
4559 | |
4545 | |
4560 | <h4> |
4546 | <h4> |
4561 | <a name="R4400"></a>ORIGIN: SERVER |
4547 | <a name="S4400"></a>ORIGIN: SERVER; |
4562 | MESSAGE upd_challenge</h4> |
4548 | MESSAGE: upd_challenge</h4> |
4563 | NUMERIC TYPE (hex): 4400<p> |
4549 | NUMERIC TYPE (hex): 4400<p> |
4564 | Unclear. |
4550 | Unclear. |
4565 | </p> |
4551 | </p> |
4566 | <table border="1" width="100%"> |
4552 | <table border="1" width="100%"> |
4567 | <tr> |
4553 | <tr> |
… | |
… | |
4598 | </td> |
4584 | </td> |
4599 | </tr> |
4585 | </tr> |
4600 | </table> |
4586 | </table> |
4601 | |
4587 | |
4602 | <h4> |
4588 | <h4> |
4603 | <a name="R4401"></a>ORIGIN: SERVER |
4589 | <a name="S4401"></a>ORIGIN: SERVER; |
4604 | MESSAGE upd_game</h4> |
4590 | MESSAGE: upd_game</h4> |
4605 | NUMERIC TYPE (hex): 4401<p> |
4591 | NUMERIC TYPE (hex): 4401<p> |
4606 | </p> |
4592 | </p> |
4607 | <table border="1" width="100%"> |
4593 | <table border="1" width="100%"> |
4608 | <tr> |
4594 | <tr> |
4609 | <th width="10%">NAME</th> |
4595 | <th width="10%">NAME</th> |
… | |
… | |
4639 | </td> |
4625 | </td> |
4640 | </tr> |
4626 | </tr> |
4641 | </table> |
4627 | </table> |
4642 | |
4628 | |
4643 | <h4> |
4629 | <h4> |
4644 | <a name="R4402"></a>ORIGIN: SERVER |
4630 | <a name="S4402"></a>ORIGIN: SERVER; |
4645 | MESSAGE del_game</h4> |
4631 | MESSAGE: del_game</h4> |
4646 | NUMERIC TYPE (hex): 4402<p> |
4632 | NUMERIC TYPE (hex): 4402<p> |
4647 | </p> |
4633 | </p> |
4648 | <table border="1" width="100%"> |
4634 | <table border="1" width="100%"> |
4649 | <tr> |
4635 | <tr> |
4650 | <th width="10%">NAME</th> |
4636 | <th width="10%">NAME</th> |
… | |
… | |
4667 | </td> |
4653 | </td> |
4668 | </tr> |
4654 | </tr> |
4669 | </table> |
4655 | </table> |
4670 | |
4656 | |
4671 | <h4> |
4657 | <h4> |
4672 | <a name="R4403"></a>ORIGIN: SERVER |
4658 | <a name="S4403"></a>ORIGIN: SERVER; |
4673 | MESSAGE upd_observers</h4> |
4659 | MESSAGE: upd_observers</h4> |
4674 | NUMERIC TYPE (hex): 4403<p> |
4660 | NUMERIC TYPE (hex): 4403<p> |
4675 | </p> |
4661 | </p> |
4676 | <table border="1" width="100%"> |
4662 | <table border="1" width="100%"> |
4677 | <tr> |
4663 | <tr> |
4678 | <th width="10%">NAME</th> |
4664 | <th width="10%">NAME</th> |
… | |
… | |
4708 | </td> |
4694 | </td> |
4709 | </tr> |
4695 | </tr> |
4710 | </table> |
4696 | </table> |
4711 | |
4697 | |
4712 | <h4> |
4698 | <h4> |
4713 | <a name="R4404"></a>ORIGIN: SERVER |
4699 | <a name="S4404"></a>ORIGIN: SERVER; |
4714 | MESSAGE del_observer</h4> |
4700 | MESSAGE: del_observer</h4> |
4715 | NUMERIC TYPE (hex): 4404<p> |
4701 | NUMERIC TYPE (hex): 4404<p> |
4716 | </p> |
4702 | </p> |
4717 | <table border="1" width="100%"> |
4703 | <table border="1" width="100%"> |
4718 | <tr> |
4704 | <tr> |
4719 | <th width="10%">NAME</th> |
4705 | <th width="10%">NAME</th> |
… | |
… | |
4749 | </td> |
4735 | </td> |
4750 | </tr> |
4736 | </tr> |
4751 | </table> |
4737 | </table> |
4752 | |
4738 | |
4753 | <h4> |
4739 | <h4> |
4754 | <a name="R4405"></a>ORIGIN: SERVER |
4740 | <a name="S4405"></a>ORIGIN: SERVER; |
4755 | MESSAGE set_tree</h4> |
4741 | MESSAGE: set_tree</h4> |
4756 | NUMERIC TYPE (hex): 4405<p> |
4742 | NUMERIC TYPE (hex): 4405<p> |
4757 | </p> |
4743 | </p> |
4758 | <table border="1" width="100%"> |
4744 | <table border="1" width="100%"> |
4759 | <tr> |
4745 | <tr> |
4760 | <th width="10%">NAME</th> |
4746 | <th width="10%">NAME</th> |
… | |
… | |
4790 | </td> |
4776 | </td> |
4791 | </tr> |
4777 | </tr> |
4792 | </table> |
4778 | </table> |
4793 | |
4779 | |
4794 | <h4> |
4780 | <h4> |
4795 | <a name="R4406"></a>ORIGIN: SERVER |
4781 | <a name="S4406"></a>ORIGIN: SERVER; |
4796 | MESSAGE upd_tree</h4> |
4782 | MESSAGE: upd_tree</h4> |
4797 | NUMERIC TYPE (hex): 4406<p> |
4783 | NUMERIC TYPE (hex): 4406<p> |
4798 | </p> |
4784 | </p> |
4799 | <table border="1" width="100%"> |
4785 | <table border="1" width="100%"> |
4800 | <tr> |
4786 | <tr> |
4801 | <th width="10%">NAME</th> |
4787 | <th width="10%">NAME</th> |
… | |
… | |
4831 | </td> |
4817 | </td> |
4832 | </tr> |
4818 | </tr> |
4833 | </table> |
4819 | </table> |
4834 | |
4820 | |
4835 | <h4> |
4821 | <h4> |
4836 | <a name="R4409"></a>ORIGIN: SERVER |
4822 | <a name="S4409"></a>ORIGIN: SERVER; |
4837 | MESSAGE superko</h4> |
4823 | MESSAGE: superko</h4> |
4838 | NUMERIC TYPE (hex): 4409<p> |
4824 | NUMERIC TYPE (hex): 4409<p> |
4839 | Superko-warning. |
4825 | Superko-warning. |
4840 | </p> |
4826 | </p> |
4841 | <table border="1" width="100%"> |
4827 | <table border="1" width="100%"> |
4842 | <tr> |
4828 | <tr> |
… | |
… | |
4860 | </td> |
4846 | </td> |
4861 | </tr> |
4847 | </tr> |
4862 | </table> |
4848 | </table> |
4863 | |
4849 | |
4864 | <h4> |
4850 | <h4> |
4865 | <a name="R440b"></a>ORIGIN: SERVER |
4851 | <a name="S440b"></a>ORIGIN: SERVER; |
4866 | MESSAGE final_result</h4> |
4852 | MESSAGE: final_result</h4> |
4867 | NUMERIC TYPE (hex): 440b<p> |
4853 | NUMERIC TYPE (hex): 440b<p> |
4868 | </p> |
4854 | </p> |
4869 | <table border="1" width="100%"> |
4855 | <table border="1" width="100%"> |
4870 | <tr> |
4856 | <tr> |
4871 | <th width="10%">NAME</th> |
4857 | <th width="10%">NAME</th> |
… | |
… | |
4914 | </td> |
4900 | </td> |
4915 | </tr> |
4901 | </tr> |
4916 | </table> |
4902 | </table> |
4917 | |
4903 | |
4918 | <h4> |
4904 | <h4> |
4919 | <a name="R440e"></a>ORIGIN: SERVER |
4905 | <a name="S440e"></a>ORIGIN: SERVER; |
4920 | MESSAGE req_undo</h4> |
4906 | MESSAGE: req_undo</h4> |
4921 | NUMERIC TYPE (hex): 440e<p> |
4907 | NUMERIC TYPE (hex): 440e<p> |
4922 | </p> |
4908 | </p> |
4923 | <table border="1" width="100%"> |
4909 | <table border="1" width="100%"> |
4924 | <tr> |
4910 | <tr> |
4925 | <th width="10%">NAME</th> |
4911 | <th width="10%">NAME</th> |
… | |
… | |
4943 | </td> |
4929 | </td> |
4944 | </tr> |
4930 | </tr> |
4945 | </table> |
4931 | </table> |
4946 | |
4932 | |
4947 | <h4> |
4933 | <h4> |
4948 | <a name="R4410"></a>ORIGIN: SERVER |
4934 | <a name="S4410"></a>ORIGIN: SERVER; |
4949 | MESSAGE resign_game</h4> |
4935 | MESSAGE: resign_game</h4> |
4950 | NUMERIC TYPE (hex): 4410<p> |
4936 | NUMERIC TYPE (hex): 4410<p> |
4951 | </p> |
4937 | </p> |
4952 | <table border="1" width="100%"> |
4938 | <table border="1" width="100%"> |
4953 | <tr> |
4939 | <tr> |
4954 | <th width="10%">NAME</th> |
4940 | <th width="10%">NAME</th> |
… | |
… | |
4984 | </td> |
4970 | </td> |
4985 | </tr> |
4971 | </tr> |
4986 | </table> |
4972 | </table> |
4987 | |
4973 | |
4988 | <h4> |
4974 | <h4> |
4989 | <a name="R441a"></a>ORIGIN: SERVER |
4975 | <a name="S441a"></a>ORIGIN: SERVER; |
4990 | MESSAGE set_teacher</h4> |
4976 | MESSAGE: set_teacher</h4> |
4991 | NUMERIC TYPE (hex): 441a<p> |
4977 | NUMERIC TYPE (hex): 441a<p> |
4992 | </p> |
4978 | </p> |
4993 | <table border="1" width="100%"> |
4979 | <table border="1" width="100%"> |
4994 | <tr> |
4980 | <tr> |
4995 | <th width="10%">NAME</th> |
4981 | <th width="10%">NAME</th> |
… | |
… | |
5025 | </td> |
5011 | </td> |
5026 | </tr> |
5012 | </tr> |
5027 | </table> |
5013 | </table> |
5028 | |
5014 | |
5029 | <h4> |
5015 | <h4> |
5030 | <a name="R441d"></a>ORIGIN: SERVER |
5016 | <a name="S441d"></a>ORIGIN: SERVER; |
5031 | MESSAGE owner_left</h4> |
5017 | MESSAGE: owner_left</h4> |
5032 | NUMERIC TYPE (hex): 441d<p> |
5018 | NUMERIC TYPE (hex): 441d<p> |
5033 | Unclear. |
5019 | Unclear. |
5034 | </p> |
5020 | </p> |
5035 | <table border="1" width="100%"> |
5021 | <table border="1" width="100%"> |
5036 | <tr> |
5022 | <tr> |
… | |
… | |
5054 | </td> |
5040 | </td> |
5055 | </tr> |
5041 | </tr> |
5056 | </table> |
5042 | </table> |
5057 | |
5043 | |
5058 | <h4> |
5044 | <h4> |
5059 | <a name="R441e"></a>ORIGIN: SERVER |
5045 | <a name="S441e"></a>ORIGIN: SERVER; |
5060 | MESSAGE teacher_left</h4> |
5046 | MESSAGE: teacher_left</h4> |
5061 | NUMERIC TYPE (hex): 441e<p> |
5047 | NUMERIC TYPE (hex): 441e<p> |
5062 | Unclear. |
5048 | Unclear. |
5063 | </p> |
5049 | </p> |
5064 | <table border="1" width="100%"> |
5050 | <table border="1" width="100%"> |
5065 | <tr> |
5051 | <tr> |
… | |
… | |
5083 | </td> |
5069 | </td> |
5084 | </tr> |
5070 | </tr> |
5085 | </table> |
5071 | </table> |
5086 | |
5072 | |
5087 | <h4> |
5073 | <h4> |
5088 | <a name="R4422"></a>ORIGIN: SERVER |
5074 | <a name="S4422"></a>ORIGIN: SERVER; |
5089 | MESSAGE unknown4422</h4> |
5075 | MESSAGE: unknown4422</h4> |
5090 | NUMERIC TYPE (hex): 4422<p> |
5076 | NUMERIC TYPE (hex): 4422<p> |
5091 | change teacher? something to do with editing? |
5077 | change teacher? something to do with editing? |
5092 | </p> |
5078 | </p> |
5093 | <table border="1" width="100%"> |
5079 | <table border="1" width="100%"> |
5094 | <tr> |
5080 | <tr> |
… | |
… | |
5138 | </td> |
5124 | </td> |
5139 | </tr> |
5125 | </tr> |
5140 | </table> |
5126 | </table> |
5141 | |
5127 | |
5142 | <h4> |
5128 | <h4> |
5143 | <a name="R4428"></a>ORIGIN: SERVER |
5129 | <a name="S4428"></a>ORIGIN: SERVER; |
5144 | MESSAGE add_tree</h4> |
5130 | MESSAGE: add_tree</h4> |
5145 | NUMERIC TYPE (hex): 4428<p> |
5131 | NUMERIC TYPE (hex): 4428<p> |
5146 | <p>See <a href="#R4405">set_tree(4405)</a>. In addition, flags the tree as being |
5132 | <p>See <a href="#S4405">set_tree(4405)</a>. In addition, flags the tree as being |
5147 | uploaded completely.</p> |
5133 | uploaded completely.</p> |
5148 | </p> |
5134 | </p> |
5149 | <table border="1" width="100%"> |
5135 | <table border="1" width="100%"> |
5150 | <tr> |
5136 | <tr> |
5151 | <th width="10%">NAME</th> |
5137 | <th width="10%">NAME</th> |
… | |
… | |
5181 | </td> |
5167 | </td> |
5182 | </tr> |
5168 | </tr> |
5183 | </table> |
5169 | </table> |
5184 | |
5170 | |
5185 | <h4> |
5171 | <h4> |
5186 | <a name="R4433"></a>ORIGIN: SERVER |
5172 | <a name="S4433"></a>ORIGIN: SERVER; |
5187 | MESSAGE req_result</h4> |
5173 | MESSAGE: req_result</h4> |
5188 | NUMERIC TYPE (hex): 4433<p> |
5174 | NUMERIC TYPE (hex): 4433<p> |
5189 | Unclear. |
5175 | Unclear. |
5190 | </p> |
5176 | </p> |
5191 | <table border="1" width="100%"> |
5177 | <table border="1" width="100%"> |
5192 | <tr> |
5178 | <tr> |
… | |
… | |
5211 | </td> |
5197 | </td> |
5212 | </tr> |
5198 | </tr> |
5213 | </table> |
5199 | </table> |
5214 | |
5200 | |
5215 | <h4> |
5201 | <h4> |
5216 | <a name="R4434"></a>ORIGIN: SERVER |
5202 | <a name="S4434"></a>ORIGIN: SERVER; |
5217 | MESSAGE unknown4434</h4> |
5203 | MESSAGE: unknown4434</h4> |
5218 | NUMERIC TYPE (hex): 4434<p> |
5204 | NUMERIC TYPE (hex): 4434<p> |
5219 | </p> |
5205 | </p> |
5220 | <table border="1" width="100%"> |
5206 | <table border="1" width="100%"> |
5221 | <tr> |
5207 | <tr> |
5222 | <th width="10%">NAME</th> |
5208 | <th width="10%">NAME</th> |