ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/doc/protocol.html
Revision: 1.19
Committed: Mon Jun 16 18:59:12 2003 UTC (20 years, 11 months ago) by pcg
Content type: text/html
Branch: MAIN
Changes since 1.18: +5 -3 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 pcg 1.1 <html>
2     <head>
3     <title>KGS Protocol Description</title>
4     <!--
5     Copyright (C) 2003 Marc Lehmannn &lt;pcg@goof.com&gt;
6    
7     You can redistribute and/or modify this document under the terms of
8     the GNU General Public License as published by the Free Software
9     Foundation; either version 2 of the License, or (at your option) any
10     later version.
11    
12     This document is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15     General Public License for more details.
16    
17     You should have received a copy of the GNU General Public License
18     along with this program; if not, write to the Free Software
19     Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20     -->
21     </head>
22     <body>
23    
24 pcg 1.19 <h1>$Revision: 1.19 $</h1>
25 pcg 1.9
26 pcg 1.1 <h1>KGS Protocol Description</h1>
27    
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
30     structures in the protocol. Adapting it to other languages should be
31     trivial.</p>
32    
33 pcg 1.9 <p>
34     <b>Please note that the author of KGS has told me that he will
35     change the protocol in response to my efforts. This does not
36     necessarily mean that he will change the protocol just to make it
37     difficult to reverse-engineer the protocol, but if this happens,
38     I might not have the resources the track them, if they are too
39     extensive. Anyway, he made it clear that no help whatsoever is to be
40     expected.</b>
41     </p>
42    
43 pcg 1.4 <p>If you feel you need to update the visual appearance of this
44 pcg 1.10 document, feel free to look <tt>doc/doc2html.xsl</tt> and improve
45 pcg 1.4 it.</p>
46    
47 pcg 1.7 <p>The current version of this document can always be found at
48     <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/kgsueme/kgsueme/doc/protocol.xml?rev=HEAD&amp;content-type=text/xml">here</a>, while
49     the HTML version of it can be found
50     <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/kgsueme/kgsueme/doc/protocol.html?rev=HEAD&amp;content-type=text/html">here</a>.
51     </p>
52    
53 pcg 1.1 <h2>Structure and conventions of this document and the protocol</h2>
54    
55     <p>"Send" means messages send from the client to the server, while
56     "received" means messages send by the server to the client.</p>
57    
58 pcg 1.4 <p>Everything on the wire is in little-endian format (what a shame).</p>
59 pcg 1.1
60 pcg 1.4 <p>Primitive types are mostly integers (signed
61     "<code>I</code>&lt;bits&gt;", unsigned "<code>U</code>&lt;bits&gt;"),
62     ascii strings ("<code>username</code>"), or zero-terminated
63     UCS2-Strings ("<code>STRING</code>"). Yes, I know java is supposed to
64     do UTF-16, but no implementation seems to care...</p>
65 pcg 1.1
66 pcg 1.15 <p>For the rest, go figure or bug me, <a href="mailto:pcg@goof.com">Marc Lehmann &lt;pcg@goof.com&gt;</a>
67     </p>
68 pcg 1.1
69     <h2>Stream and message structure.</h2>
70    
71 pcg 1.4 <p>After connecting to the server, a handshake byte is sent. It's
72     the major version number of the protocol the client expects to
73     receive. Version 3 and 4 are mostly the same, except that Version 4
74     clients expect server messages to be compressed, version 3 clients
75     not.</p>
76    
77     <p>The server sends back his protocol number, which is always 3 in
78     the current protocol. Most of the protocol variation is determined by
79     the server using the client version that is used in the initial login
80     message, not the initial handshake byte.</p>
81 pcg 1.1
82     <p>After the initial handshake, the client sends uncompressed
83     messages, while the server sends back a zlib-compressed
84     stream (<a href="http://rfc1950.x42.com/">rfc1950</a> and <a href="http://rfc1950.x42.com/">rfc1951</a>).</p>
85    
86     <p>All messages have the same header:</p>
87    
88 pcg 1.3 <h4>STRUCTURE message_header</h4>
89 pcg 1.17 <p>
90     </p>
91     <table border="1" width="100%">
92     <tr>
93     <th width="10%">NAME</th>
94     <th width="10%">TYPE</th>
95     <th width="15%">DEFAULT</th>
96     <th>DESCRIPTION</th>
97     <th width="15%">DEC-GUARD</th>
98 pcg 1.1 </tr>
99     <tr>
100     <td>_unknown</td>
101 pcg 1.3 <td>U16</td>
102 pcg 1.17 <td> </td>
103     <td>
104    
105      
106     </td>
107 pcg 1.3 <td>
108 pcg 1.17 <b></b>
109      
110     </td>
111 pcg 1.1 </tr>
112     <tr>
113     <td>length</td>
114 pcg 1.3 <td>U16</td>
115 pcg 1.17 <td> </td>
116     <td>
117    
118      
119     </td>
120 pcg 1.3 <td>
121 pcg 1.17 <b></b>
122      
123     </td>
124 pcg 1.1 </tr>
125     <tr>
126     <td>type</td>
127 pcg 1.3 <td>U16</td>
128 pcg 1.17 <td> </td>
129     <td>
130    
131      
132     </td>
133 pcg 1.3 <td>
134 pcg 1.17 <b></b>
135      
136     </td>
137 pcg 1.1 </tr>
138     </table>
139    
140 pcg 1.3 <h2>Primitive types used in the protocol.</h2>
141    
142 pcg 1.9 <p>Apart from the basic types, I need to define some extra types to
143     deal with fixed-point values (based on integer types) or fixed-length
144     strings (either 7-bit-ascii or more limited (<code>A</code>), or UCS-2
145     based (<code>S</code>)).</p>
146    
147 pcg 1.4 <h4>TYPE username</h4>
148 pcg 1.17 BASE TYPE A, LENGTH 12, MULTIPLIER <br />
149 pcg 1.8
150     <p>The basic user or login name, used throughout the protocol
151     as a handle to the user.</p>
152    
153 pcg 1.4 <h4>TYPE roomname</h4>
154 pcg 1.17 BASE TYPE S, LENGTH 25, MULTIPLIER <br />
155 pcg 1.3 <!-- argh, how horribly broken -->
156 pcg 1.8
157     <p>Many strings in the protocol are fixed-width for no good reason
158 pcg 1.17 (maybe this is one reason for using compression in newer versions, as
159 pcg 1.8 the packets itself are wasting lots of space.</p>
160    
161 pcg 1.14 <h4>TYPE realname</h4>
162 pcg 1.17 BASE TYPE S, LENGTH 50, MULTIPLIER <br />
163 pcg 1.14 <h4>TYPE email</h4>
164 pcg 1.17 BASE TYPE S, LENGTH 70, MULTIPLIER <br />
165 pcg 1.14 <h4>TYPE userinfo</h4>
166 pcg 1.17 BASE TYPE S, LENGTH 1000, MULTIPLIER <br />
167 pcg 1.14 <h4>TYPE url</h4>
168 pcg 1.17 BASE TYPE A, LENGTH 100, MULTIPLIER <br />
169 pcg 1.14
170     <p>Used in user_record.</p>
171    
172 pcg 1.4 <h4>TYPE locale</h4>
173 pcg 1.17 BASE TYPE A, LENGTH 5, MULTIPLIER <br />
174 pcg 1.8
175     <p>A kind of locale specifier. It seems the general format seems to be
176     lowercase language, underscore, uppercase location, e.g. en_US. More
177     fancy specifications don't fit.</p>
178    
179 pcg 1.4 <h4>TYPE flag</h4>
180 pcg 1.17 BASE TYPE U8, LENGTH , MULTIPLIER 1<br />
181 pcg 1.8
182     <p>Just a simple boolean value. 0 means false, and 1 generally true,
183     but I suggest ccepting != 0 as true.</p>
184    
185 pcg 1.6 <h4>TYPE komi16</h4>
186 pcg 1.17 BASE TYPE I16, LENGTH , MULTIPLIER 2<br />
187 pcg 1.6 <h4>TYPE komi32</h4>
188 pcg 1.17 BASE TYPE I32, LENGTH , MULTIPLIER 2<br />
189 pcg 1.19 <h4>TYPE komi324</h4>
190     BASE TYPE I32, LENGTH , MULTIPLIER 4<br />
191 pcg 1.8
192     <p>Komi values are multiplied by 2 to make them integer in the
193 pcg 1.19 protocol. Well, *most* of the time at least...</p>
194 pcg 1.8
195 pcg 1.4 <h4>TYPE result</h4>
196 pcg 1.17 BASE TYPE I32, LENGTH , MULTIPLIER 2<br />
197 pcg 1.8
198 pcg 1.13 <p>The game result is also multiplied by two to give it higher
199     resolution. There are also special values for wins by time etc., either
200     in result or in the score* types, or both :)</p>
201 pcg 1.8
202 pcg 1.11 <h4>TYPE score16</h4>
203 pcg 1.17 BASE TYPE I16, LENGTH , MULTIPLIER 4<br />
204 pcg 1.11 <h4>TYPE score32</h4>
205 pcg 1.17 BASE TYPE I32, LENGTH , MULTIPLIER 4<br />
206 pcg 1.8
207     <p>A score value (used for displaying the score at the end of a game)
208 pcg 1.13 are multiplied by four for a change (the 0.25 resolution is not
209     used). In game structures it is encoded by dividing by two, though, so
210     watch out!</p>
211 pcg 1.8
212 pcg 1.4 <h4>TYPE time</h4>
213 pcg 1.17 BASE TYPE U32, LENGTH , MULTIPLIER 1000<br />
214 pcg 1.8
215     <p>Time values are multiplied by 1000, giving them millisecond
216     accuracy.</p>
217 pcg 1.3
218 pcg 1.14 <h4>TYPE timestamp</h4>
219 pcg 1.17 BASE TYPE U64, LENGTH , MULTIPLIER 1000<br />
220 pcg 1.14
221     <p>64 bit timeval, milliseconds since posix epoch, e.g. <code>my
222     ($year, $month, $day) = (gmtime $date * 0.001)[5,4,3];</code>
223     </p>
224    
225 pcg 1.15 <h4>TYPE password</h4>
226 pcg 1.17 BASE TYPE U64, LENGTH , MULTIPLIER <br />
227 pcg 1.15
228     <p>Password is a number calculated as follows (VERY insecure, basically
229     plaintext!): <code>password = 0; for char in characters do password ←
230     password * 1055 + ascii_code (char)</code>
231     </p>
232    
233 pcg 1.3 <h2>Constants, enumeration and set types used in the protocol.</h2>
234 pcg 1.1
235     <p>Baaah... not yet.</p>
236    
237 pcg 1.3 <h2>Structs used in send &amp; receive messages</h2>
238 pcg 1.1
239 pcg 1.3 <h4>STRUCTURE user</h4>
240     CLASS: KGS::User<br />
241 pcg 1.17 <p>
242 pcg 1.9
243 pcg 1.17 <p>Everywhere a user + flags is required, even used in some places
244 pcg 1.9 where only a username is required. I see no general rule on when a
245 pcg 1.17 complete user and when a partial user is required.</p>
246     </p>
247     <table border="1" width="100%">
248     <tr>
249     <th width="10%">NAME</th>
250     <th width="10%">TYPE</th>
251     <th width="15%">DEFAULT</th>
252     <th>DESCRIPTION</th>
253     <th width="15%">DEC-GUARD</th>
254 pcg 1.1 </tr>
255     <tr>
256     <td>name</td>
257 pcg 1.3 <td>username</td>
258 pcg 1.17 <td> </td>
259     <td>
260    
261      
262     </td>
263 pcg 1.3 <td>
264 pcg 1.17 <b></b>
265      
266     </td>
267 pcg 1.1 </tr>
268     <tr>
269     <td>flags</td>
270 pcg 1.3 <td>U32</td>
271 pcg 1.17 <td>1 </td>
272     <td>
273    
274      
275     </td>
276 pcg 1.3 <td>
277 pcg 1.17 <b></b>
278      
279     </td>
280 pcg 1.1 </tr>
281     </table>
282    
283 pcg 1.6 <h4>STRUCTURE rules</h4>
284     CLASS: KGS::Rules<br />
285 pcg 1.17 <p>
286    
287     <p>This structure is used for challanges as well as in the special
288     TREE "subprotocol". It tightly encodes the game parameters.</p>
289     </p>
290     <table border="1" width="100%">
291 pcg 1.6 <tr>
292 pcg 1.17 <th width="10%">NAME</th>
293     <th width="10%">TYPE</th>
294     <th width="15%">DEFAULT</th>
295     <th>DESCRIPTION</th>
296     <th width="15%">DEC-GUARD</th>
297 pcg 1.6 </tr>
298     <tr>
299     <td>ruleset</td>
300     <td>U8</td>
301 pcg 1.17 <td> </td>
302 pcg 1.6 <td>
303 pcg 1.17
304      
305     </td>
306     <td>
307     <b></b>
308      
309     </td>
310 pcg 1.6 </tr>
311     <tr>
312     <td>size</td>
313     <td>U8</td>
314 pcg 1.17 <td> </td>
315     <td>
316    
317      
318     </td>
319 pcg 1.6 <td>
320 pcg 1.17 <b></b>
321      
322     </td>
323 pcg 1.6 </tr>
324     <tr>
325     <td>handicap</td>
326     <td>U8</td>
327 pcg 1.17 <td> </td>
328 pcg 1.6 <td>
329 pcg 1.17
330      
331     </td>
332     <td>
333     <b></b>
334      
335     </td>
336 pcg 1.6 </tr>
337     <tr>
338     <td>komi</td>
339     <td>komi16</td>
340 pcg 1.17 <td> </td>
341     <td>
342    
343      
344     </td>
345 pcg 1.6 <td>
346 pcg 1.17 <b></b>
347      
348     </td>
349 pcg 1.6 </tr>
350     <tr>
351     <td>timesys</td>
352     <td>U8</td>
353 pcg 1.17 <td> </td>
354 pcg 1.6 <td>
355 pcg 1.17
356      
357     </td>
358     <td>
359     <b></b>
360      
361     </td>
362 pcg 1.6 </tr>
363     <tr>
364     <td>time</td>
365     <td>U32</td>
366 pcg 1.17 <td> </td>
367     <td>
368    
369      
370     </td>
371 pcg 1.6 <td>
372 pcg 1.17 <b></b>
373      
374     </td>
375 pcg 1.6 </tr>
376     <tr>
377     <td>interval</td>
378     <td>U32</td>
379 pcg 1.17 <td> </td>
380 pcg 1.6 <td>
381     byo-yomi time / canadian time
382 pcg 1.17
383      
384     </td>
385     <td>
386     <b></b>
387      
388     </td>
389 pcg 1.6 </tr>
390     <tr>
391     <td>count</td>
392     <td>U16</td>
393 pcg 1.17 <td> </td>
394 pcg 1.6 <td>
395     periods / moves
396 pcg 1.17
397      
398     </td>
399     <td>
400     <b></b>
401      
402     </td>
403 pcg 1.6 </tr>
404     </table>
405    
406 pcg 1.3 <h2>Structs used in send messages</h2>
407 pcg 1.1
408 pcg 1.17 <h2>Send messages</h2>
409    
410     <h4>
411     <a name="S0000"></a>SEND
412     MESSAGE login</h4>
413     NUMERIC TYPE (hex): 0000<p>
414 pcg 1.9
415 pcg 1.17 <p>Sent to login, usually the first message sent. The password needs to be set when the
416 pcg 1.9 guest flag is true.
417 pcg 1.17 Possible replies: <a href="#R0001">login(0001)</a>
418     <a href="#R0002">login(0002)</a>
419     <a href="#R0003">login(0003)</a>
420     <a href="#R0004">login(0004)</a>
421     <a href="#R0005">login(0005)</a>
422     <a href="#R0006">login(0006)</a>
423     <a href="#R0018">login(0018)</a>
424     <a href="#R0022">login(0022)</a>. Followed by: <a href="#R001b">timewarning_default(001b)</a> <a href="#R0411">chal_defaults(0411)</a>
425     </p>
426     </p>
427     <table border="1" width="100%">
428     <tr>
429     <th width="10%">NAME</th>
430     <th width="10%">TYPE</th>
431     <th width="15%">DEFAULT</th>
432     <th>DESCRIPTION</th>
433     <th width="15%">DEC-GUARD</th>
434 pcg 1.1 </tr>
435     <tr>
436     <td>ver_major</td>
437 pcg 1.3 <td>U32</td>
438 pcg 1.17 <td>2 </td>
439     <td>
440    
441      
442     </td>
443 pcg 1.3 <td>
444 pcg 1.17 <b></b>
445      
446     </td>
447 pcg 1.1 </tr>
448     <tr>
449     <td>ver_minor</td>
450 pcg 1.3 <td>U32</td>
451 pcg 1.17 <td>4 </td>
452 pcg 1.3 <td>
453 pcg 1.17
454      
455     </td>
456     <td>
457     <b></b>
458      
459     </td>
460 pcg 1.1 </tr>
461     <tr>
462     <td>ver_micro</td>
463 pcg 1.3 <td>U32</td>
464 pcg 1.17 <td>67 </td>
465     <td>
466    
467      
468     </td>
469 pcg 1.3 <td>
470 pcg 1.17 <b></b>
471      
472     </td>
473 pcg 1.1 </tr>
474     <tr>
475 pcg 1.3 <td>name</td>
476     <td>username</td>
477 pcg 1.17 <td> </td>
478 pcg 1.3 <td>
479 pcg 1.17
480      
481     </td>
482     <td>
483     <b></b>
484      
485     </td>
486 pcg 1.1 </tr>
487     <tr>
488 pcg 1.15 <td>password</td>
489     <td>password</td>
490 pcg 1.17 <td>0 </td>
491     <td>
492    
493      
494     </td>
495 pcg 1.3 <td>
496 pcg 1.17 <b></b>
497      
498     </td>
499 pcg 1.1 </tr>
500     <tr>
501 pcg 1.2 <td>guest</td>
502 pcg 1.3 <td>flag</td>
503 pcg 1.17 <td>1 </td>
504 pcg 1.3 <td>
505 pcg 1.17
506      
507     </td>
508     <td>
509     <b></b>
510      
511     </td>
512 pcg 1.1 </tr>
513     <tr>
514     <td>_unknown3</td>
515 pcg 1.3 <td>U16</td>
516 pcg 1.17 <td>0 </td>
517     <td>
518    
519      
520     </td>
521 pcg 1.3 <td>
522 pcg 1.17 <b></b>
523      
524     </td>
525 pcg 1.1 </tr>
526     <tr>
527 pcg 1.2 <td>locale</td>
528 pcg 1.3 <td>locale</td>
529 pcg 1.17 <td>"en_US" </td>
530 pcg 1.3 <td>
531 pcg 1.17
532      
533     </td>
534     <td>
535     <b></b>
536      
537     </td>
538 pcg 1.1 </tr>
539     <tr>
540     <td>clientver</td>
541     <td>DATA</td>
542 pcg 1.17 <td>"1.4.1_01:Swing app:Sun Microsystems Inc." </td>
543 pcg 1.3 <td>
544 pcg 1.4 The "default" is the java vm version, not exactly he client version. However,
545 pcg 1.17 you should always send a text like "Jonathan's C client bersion 0.6" or somesuch,
546 pcg 1.4 so the server can, if necessary, block broken clients or client versions.
547 pcg 1.17
548      
549     </td>
550     <td>
551     <b></b>
552      
553     </td>
554 pcg 1.1 </tr>
555     </table>
556    
557 pcg 1.17 <h4>
558     <a name="S0007"></a>SEND
559     MESSAGE req_userinfo</h4>
560     NUMERIC TYPE (hex): 0007<p>
561     <p>Request info about a certain user. Possible reply: <a href="#R0008">userinfo(0008)</a>
562     </p>
563     </p>
564     <table border="1" width="100%">
565 pcg 1.15 <tr>
566 pcg 1.17 <th width="10%">NAME</th>
567     <th width="10%">TYPE</th>
568     <th width="15%">DEFAULT</th>
569     <th>DESCRIPTION</th>
570     <th width="15%">DEC-GUARD</th>
571 pcg 1.15 </tr>
572     <tr>
573     <td>name</td>
574     <td>username</td>
575 pcg 1.17 <td> </td>
576     <td>
577    
578      
579     </td>
580 pcg 1.15 <td>
581 pcg 1.17 <b></b>
582      
583     </td>
584 pcg 1.15 </tr>
585     </table>
586    
587 pcg 1.17 <h4>
588     <a name="S0007"></a>SEND
589     MESSAGE update_userinfo</h4>
590     NUMERIC TYPE (hex): 0007<p>
591     <p>Update user info. Message structure is very similar
592     to <a href="#R0008">userinfo(0008)</a>.</p>
593     </p>
594     <table border="1" width="100%">
595 pcg 1.15 <tr>
596 pcg 1.17 <th width="10%">NAME</th>
597     <th width="10%">TYPE</th>
598     <th width="15%">DEFAULT</th>
599     <th>DESCRIPTION</th>
600     <th width="15%">DEC-GUARD</th>
601 pcg 1.15 </tr>
602     <tr>
603     <td>setpass</td>
604     <td>flag</td>
605 pcg 1.17 <td> </td>
606 pcg 1.15 <td>
607     Should the password be updated?
608 pcg 1.17
609      
610     </td>
611     <td>
612     <b></b>
613      
614     </td>
615 pcg 1.15 </tr>
616     <tr>
617     <td>password</td>
618     <td>password</td>
619 pcg 1.17 <td>0 </td>
620 pcg 1.15 <td>
621 pcg 1.17
622      
623     </td>
624     <td>
625     <b></b>
626      
627     </td>
628 pcg 1.15 </tr>
629     <tr>
630     <td>realname</td>
631     <td>realname</td>
632 pcg 1.17 <td> </td>
633     <td>
634    
635      
636     </td>
637 pcg 1.15 <td>
638 pcg 1.17 <b></b>
639      
640     </td>
641 pcg 1.15 </tr>
642     <tr>
643     <td>email</td>
644     <td>email</td>
645 pcg 1.17 <td> </td>
646 pcg 1.15 <td>
647 pcg 1.17
648      
649     </td>
650     <td>
651     <b></b>
652      
653     </td>
654 pcg 1.15 </tr>
655     <tr>
656     <td>info</td>
657     <td>userinfo</td>
658 pcg 1.17 <td> </td>
659     <td>
660    
661      
662     </td>
663 pcg 1.15 <td>
664 pcg 1.17 <b></b>
665      
666     </td>
667 pcg 1.15 </tr>
668     <tr>
669     <td>homepage</td>
670     <td>url</td>
671 pcg 1.17 <td> </td>
672 pcg 1.15 <td>
673 pcg 1.17
674      
675     </td>
676     <td>
677     <b></b>
678      
679     </td>
680 pcg 1.15 </tr>
681     <tr>
682     <td>_unused</td>
683     <td>U64</td>
684 pcg 1.17 <td>0 </td>
685     <td>
686    
687      
688     </td>
689 pcg 1.15 <td>
690 pcg 1.17 <b></b>
691      
692     </td>
693 pcg 1.15 </tr>
694     <tr>
695     <td>_unused</td>
696     <td>U64</td>
697 pcg 1.17 <td>0 </td>
698 pcg 1.15 <td>
699 pcg 1.17
700      
701     </td>
702     <td>
703     <b></b>
704      
705     </td>
706 pcg 1.15 </tr>
707     </table>
708    
709 pcg 1.17 <h4>
710     <a name="S0014"></a>SEND
711     MESSAGE req_stats</h4>
712     NUMERIC TYPE (hex): 0014<p>
713     <p>Request server statistics. Replied with <a href="#R0015">stats(0015)</a>
714     </p>
715 pcg 1.18 </p>
716     <table border="1" width="100%">
717     <tr>
718     <th width="10%">NAME</th>
719     <th width="10%">TYPE</th>
720     <th width="15%">DEFAULT</th>
721     <th>DESCRIPTION</th>
722     <th width="15%">DEC-GUARD</th>
723     </tr>
724     </table>
725    
726     <h4>
727     <a name="R001d"></a>RECV
728     MESSAGE ping</h4>
729     NUMERIC TYPE (hex): 001d<p>
730     <p>Wild guess, I send it in <a href="#R0016">idle_warn(0016)</a>.</p>
731 pcg 1.17 </p>
732     <table border="1" width="100%">
733 pcg 1.1 <tr>
734 pcg 1.17 <th width="10%">NAME</th>
735     <th width="10%">TYPE</th>
736     <th width="15%">DEFAULT</th>
737     <th>DESCRIPTION</th>
738     <th width="15%">DEC-GUARD</th>
739 pcg 1.1 </tr>
740     </table>
741    
742 pcg 1.17 <h4>
743     <a name="S001e"></a>SEND
744     MESSAGE req_usergraph</h4>
745     NUMERIC TYPE (hex): 001e<p>
746     <p>Request user graph data, replied with <a href="#R001e">usergraph(001e)</a>.</p>
747     </p>
748     <table border="1" width="100%">
749 pcg 1.15 <tr>
750 pcg 1.17 <th width="10%">NAME</th>
751     <th width="10%">TYPE</th>
752     <th width="15%">DEFAULT</th>
753     <th>DESCRIPTION</th>
754     <th width="15%">DEC-GUARD</th>
755 pcg 1.15 </tr>
756     <tr>
757     <td>name</td>
758     <td>username</td>
759 pcg 1.17 <td> </td>
760     <td>
761    
762      
763     </td>
764 pcg 1.15 <td>
765 pcg 1.17 <b></b>
766      
767     </td>
768 pcg 1.15 </tr>
769     </table>
770    
771 pcg 1.17 <h4>
772     <a name="S001f"></a>SEND
773     MESSAGE fetch_memos</h4>
774     NUMERIC TYPE (hex): 001f<p>
775     <p>Unclear. Fetch all outstanding memos? Replied with <a href="#R001f">memo(001f)</a>
776     </p>
777     </p>
778     <table border="1" width="100%">
779 pcg 1.15 <tr>
780 pcg 1.17 <th width="10%">NAME</th>
781     <th width="10%">TYPE</th>
782     <th width="15%">DEFAULT</th>
783     <th>DESCRIPTION</th>
784     <th width="15%">DEC-GUARD</th>
785 pcg 1.15 </tr>
786     </table>
787    
788 pcg 1.17 <h4>
789     <a name="S0021"></a>SEND
790     MESSAGE req_pic</h4>
791     NUMERIC TYPE (hex): 0021<p>
792     <p>Request a user picture from the server. Results in a <a href="#R0021">userpic(0021)</a>
793     or a timeout.</p>
794     </p>
795     <table border="1" width="100%">
796 pcg 1.1 <tr>
797 pcg 1.17 <th width="10%">NAME</th>
798     <th width="10%">TYPE</th>
799     <th width="15%">DEFAULT</th>
800     <th>DESCRIPTION</th>
801     <th width="15%">DEC-GUARD</th>
802 pcg 1.1 </tr>
803     <tr>
804     <td>name</td>
805 pcg 1.3 <td>username</td>
806 pcg 1.17 <td> </td>
807     <td>
808    
809      
810     </td>
811 pcg 1.3 <td>
812 pcg 1.17 <b></b>
813      
814     </td>
815 pcg 1.1 </tr>
816     </table>
817    
818 pcg 1.17 <h4>
819     <a name="S0021"></a>SEND
820     MESSAGE upload_pic</h4>
821     NUMERIC TYPE (hex): 0021<p>
822 pcg 1.1 Same code as pic_req, but with an additional data section that
823 pcg 1.4 must contain a JPEG image that is &lt;=7KB. It must have 141×200 pixels.
824 pcg 1.17 </p>
825     <table border="1" width="100%">
826     <tr>
827     <th width="10%">NAME</th>
828     <th width="10%">TYPE</th>
829     <th width="15%">DEFAULT</th>
830     <th>DESCRIPTION</th>
831     <th width="15%">DEC-GUARD</th>
832 pcg 1.1 </tr>
833     <tr>
834     <td>name</td>
835 pcg 1.3 <td>username</td>
836 pcg 1.17 <td> </td>
837     <td>
838    
839      
840     </td>
841 pcg 1.3 <td>
842 pcg 1.17 <b></b>
843      
844     </td>
845 pcg 1.1 </tr>
846     <tr>
847     <td>data</td>
848     <td>DATA</td>
849 pcg 1.17 <td> </td>
850     <td>
851    
852      
853     </td>
854 pcg 1.3 <td>
855 pcg 1.17 <b></b>
856      
857     </td>
858 pcg 1.1 </tr>
859     </table>
860    
861 pcg 1.17 <h4>
862     <a name="S0100"></a>SEND
863     MESSAGE gnotice</h4>
864     NUMERIC TYPE (hex): 0100<p>
865     <p>Send a global message. Maybe. Never tried, for obvious reasons :/. Results
866     in a <a href="#R0100">gnotice(0100)</a> sent to all users.</p>
867     </p>
868     <table border="1" width="100%">
869 pcg 1.1 <tr>
870 pcg 1.17 <th width="10%">NAME</th>
871     <th width="10%">TYPE</th>
872     <th width="15%">DEFAULT</th>
873     <th>DESCRIPTION</th>
874     <th width="15%">DEC-GUARD</th>
875 pcg 1.1 </tr>
876     <tr>
877     <td>notice</td>
878     <td>STRING</td>
879 pcg 1.17 <td> </td>
880     <td>
881    
882      
883     </td>
884 pcg 1.3 <td>
885 pcg 1.17 <b></b>
886      
887     </td>
888 pcg 1.1 </tr>
889     </table>
890    
891 pcg 1.17 <h4>
892     <a name="S0318"></a>SEND
893     MESSAGE list_rooms</h4>
894     NUMERIC TYPE (hex): 0318<p>
895     <p>List the rooms in a specific group/category. Results in a <a href="#R0318">upd_rooms(0318)</a> message.</p>
896     </p>
897     <table border="1" width="100%">
898 pcg 1.1 <tr>
899 pcg 1.17 <th width="10%">NAME</th>
900     <th width="10%">TYPE</th>
901     <th width="15%">DEFAULT</th>
902     <th>DESCRIPTION</th>
903     <th width="15%">DEC-GUARD</th>
904 pcg 1.1 </tr>
905     <tr>
906 pcg 1.17 <td>group</td>
907 pcg 1.3 <td>U8</td>
908 pcg 1.17 <td> </td>
909     <td>
910    
911      
912     </td>
913 pcg 1.3 <td>
914 pcg 1.17 <b></b>
915      
916     </td>
917 pcg 1.1 </tr>
918     </table>
919    
920 pcg 1.17 <h4>
921     <a name="S031a"></a>SEND
922     MESSAGE new_room</h4>
923     NUMERIC TYPE (hex): 031a<p>
924     Create a new room. Not verified.
925     </p>
926     <table border="1" width="100%">
927 pcg 1.1 <tr>
928 pcg 1.17 <th width="10%">NAME</th>
929     <th width="10%">TYPE</th>
930     <th width="15%">DEFAULT</th>
931     <th>DESCRIPTION</th>
932     <th width="15%">DEC-GUARD</th>
933 pcg 1.1 </tr>
934     <tr>
935     <td>name</td>
936 pcg 1.3 <td>username</td>
937 pcg 1.17 <td> </td>
938 pcg 1.3 <td>
939 pcg 1.17
940      
941     </td>
942     <td>
943     <b></b>
944      
945     </td>
946 pcg 1.1 </tr>
947     <tr>
948     <td>i1</td>
949 pcg 1.3 <td>U32</td>
950 pcg 1.17 <td>0 </td>
951     <td>
952    
953      
954     </td>
955 pcg 1.3 <td>
956 pcg 1.17 <b></b>
957      
958     </td>
959 pcg 1.1 </tr>
960     <tr>
961     <td>b1</td>
962 pcg 1.3 <td>U8</td>
963 pcg 1.17 <td>0 </td>
964 pcg 1.3 <td>
965 pcg 1.17
966      
967     </td>
968     <td>
969     <b></b>
970      
971     </td>
972 pcg 1.1 </tr>
973     <tr>
974     <td>b2</td>
975 pcg 1.3 <td>U8</td>
976 pcg 1.17 <td>255 </td>
977     <td>
978    
979      
980     </td>
981 pcg 1.3 <td>
982 pcg 1.17 <b></b>
983      
984     </td>
985 pcg 1.1 </tr>
986     <tr>
987     <td>b3</td>
988 pcg 1.3 <td>U8</td>
989 pcg 1.17 <td>255 </td>
990 pcg 1.3 <td>
991 pcg 1.17
992      
993     </td>
994     <td>
995     <b></b>
996      
997     </td>
998 pcg 1.1 </tr>
999     <tr>
1000     <td>group</td>
1001 pcg 1.3 <td>U8</td>
1002 pcg 1.17 <td>1 </td>
1003     <td>
1004    
1005      
1006     </td>
1007 pcg 1.3 <td>
1008 pcg 1.17 <b></b>
1009      
1010     </td>
1011 pcg 1.1 </tr>
1012     <tr>
1013     <td>name</td>
1014     <td>STRING</td>
1015 pcg 1.17 <td> </td>
1016 pcg 1.3 <td>
1017 pcg 1.17
1018      
1019     </td>
1020     <td>
1021     <b></b>
1022      
1023     </td>
1024 pcg 1.1 </tr>
1025     <tr>
1026     <td>description</td>
1027     <td>STRING</td>
1028 pcg 1.17 <td> </td>
1029     <td>
1030    
1031      
1032     </td>
1033 pcg 1.3 <td>
1034 pcg 1.17 <b></b>
1035      
1036     </td>
1037 pcg 1.1 </tr>
1038     <tr>
1039     <td>flags</td>
1040 pcg 1.3 <td>U8</td>
1041 pcg 1.17 <td> </td>
1042 pcg 1.3 <td>
1043 pcg 1.1 0x10 .. private room etc.. see code
1044 pcg 1.17
1045      
1046     </td>
1047     <td>
1048     <b></b>
1049      
1050     </td>
1051 pcg 1.1 </tr>
1052     </table>
1053    
1054 pcg 1.17 <h4>
1055     <a name="S0413"></a>SEND
1056     MESSAGE req_game_record</h4>
1057     NUMERIC TYPE (hex): 0413<p>
1058     <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>
1059     </p>
1060     <table border="1" width="100%">
1061 pcg 1.14 <tr>
1062 pcg 1.17 <th width="10%">NAME</th>
1063     <th width="10%">TYPE</th>
1064     <th width="15%">DEFAULT</th>
1065     <th>DESCRIPTION</th>
1066     <th width="15%">DEC-GUARD</th>
1067 pcg 1.14 </tr>
1068     <tr>
1069     <td>name</td>
1070     <td>username</td>
1071 pcg 1.17 <td> </td>
1072 pcg 1.14 <td>
1073 pcg 1.17
1074      
1075     </td>
1076     <td>
1077     <b></b>
1078      
1079     </td>
1080 pcg 1.14 </tr>
1081     <tr>
1082     <td>timestamp</td>
1083     <td>timestamp</td>
1084 pcg 1.17 <td> </td>
1085 pcg 1.14 <td>
1086     If zero, start at the newest games, else only send games
1087     before the given timestap.
1088 pcg 1.17
1089      
1090     </td>
1091     <td>
1092     <b></b>
1093      
1094     </td>
1095 pcg 1.14 </tr>
1096     </table>
1097    
1098 pcg 1.17 <h4>
1099     <a name="S4300"></a>SEND
1100     MESSAGE join_room</h4>
1101     NUMERIC TYPE (hex): 4300<p>
1102     <p>Joins the given room. <a href="#R4300">join_room(4300)</a> messages for yourself
1103     and all users in that room, as well as the initial gamelist, are
1104     send if the room exists. If not, timeout...</p>
1105     </p>
1106     <table border="1" width="100%">
1107 pcg 1.1 <tr>
1108 pcg 1.17 <th width="10%">NAME</th>
1109     <th width="10%">TYPE</th>
1110     <th width="15%">DEFAULT</th>
1111     <th>DESCRIPTION</th>
1112     <th width="15%">DEC-GUARD</th>
1113 pcg 1.1 </tr>
1114     <tr>
1115     <td>channel</td>
1116 pcg 1.3 <td>U16</td>
1117 pcg 1.17 <td> </td>
1118 pcg 1.3 <td>
1119 pcg 1.17
1120      
1121     </td>
1122     <td>
1123     <b></b>
1124      
1125     </td>
1126 pcg 1.1 </tr>
1127     <tr>
1128     <td>user</td>
1129     <td>user</td>
1130 pcg 1.17 <td> </td>
1131     <td>
1132    
1133      
1134     </td>
1135 pcg 1.3 <td>
1136 pcg 1.17 <b></b>
1137      
1138     </td>
1139 pcg 1.1 </tr>
1140     </table>
1141    
1142 pcg 1.17 <h4>
1143     <a name="S4301"></a>SEND
1144     MESSAGE msg_room</h4>
1145     NUMERIC TYPE (hex): 4301<p>
1146     Send a message to the room.
1147     </p>
1148     <table border="1" width="100%">
1149 pcg 1.1 <tr>
1150 pcg 1.17 <th width="10%">NAME</th>
1151     <th width="10%">TYPE</th>
1152     <th width="15%">DEFAULT</th>
1153     <th>DESCRIPTION</th>
1154     <th width="15%">DEC-GUARD</th>
1155 pcg 1.1 </tr>
1156     <tr>
1157     <td>channel</td>
1158 pcg 1.3 <td>U16</td>
1159 pcg 1.17 <td> </td>
1160     <td>
1161    
1162      
1163     </td>
1164 pcg 1.3 <td>
1165 pcg 1.17 <b></b>
1166      
1167     </td>
1168 pcg 1.1 </tr>
1169     <tr>
1170     <td>name</td>
1171 pcg 1.3 <td>username</td>
1172 pcg 1.17 <td> </td>
1173 pcg 1.3 <td>
1174 pcg 1.9 Must be the login-name of the user.
1175 pcg 1.17
1176      
1177     </td>
1178     <td>
1179     <b></b>
1180      
1181     </td>
1182 pcg 1.1 </tr>
1183     <tr>
1184     <td>message</td>
1185     <td>STRING</td>
1186 pcg 1.17 <td> </td>
1187     <td>
1188    
1189      
1190     </td>
1191 pcg 1.3 <td>
1192 pcg 1.17 <b></b>
1193      
1194     </td>
1195 pcg 1.1 </tr>
1196     </table>
1197    
1198 pcg 1.17 <h4>
1199     <a name="S4302"></a>SEND
1200     MESSAGE part_room</h4>
1201     NUMERIC TYPE (hex): 4302<p>
1202     Remove yourself (or maybe others as admin) from a room.
1203     </p>
1204     <table border="1" width="100%">
1205 pcg 1.1 <tr>
1206 pcg 1.17 <th width="10%">NAME</th>
1207     <th width="10%">TYPE</th>
1208     <th width="15%">DEFAULT</th>
1209     <th>DESCRIPTION</th>
1210     <th width="15%">DEC-GUARD</th>
1211 pcg 1.1 </tr>
1212     <tr>
1213     <td>channel</td>
1214 pcg 1.3 <td>U16</td>
1215 pcg 1.17 <td> </td>
1216 pcg 1.3 <td>
1217 pcg 1.17
1218      
1219     </td>
1220     <td>
1221     <b></b>
1222      
1223     </td>
1224 pcg 1.1 </tr>
1225     <tr>
1226     <td>name</td>
1227 pcg 1.3 <td>username</td>
1228 pcg 1.17 <td> </td>
1229     <td>
1230    
1231      
1232     </td>
1233 pcg 1.3 <td>
1234 pcg 1.17 <b></b>
1235      
1236     </td>
1237 pcg 1.1 </tr>
1238     </table>
1239    
1240 pcg 1.17 <h4>
1241     <a name="S4305"></a>SEND
1242     MESSAGE new_game</h4>
1243     NUMERIC TYPE (hex): 4305<p>
1244     Unclear. Start a new game.
1245     </p>
1246     <table border="1" width="100%">
1247 pcg 1.1 <tr>
1248 pcg 1.17 <th width="10%">NAME</th>
1249     <th width="10%">TYPE</th>
1250     <th width="15%">DEFAULT</th>
1251     <th>DESCRIPTION</th>
1252     <th width="15%">DEC-GUARD</th>
1253 pcg 1.1 </tr>
1254     <tr>
1255     <td>channel</td>
1256 pcg 1.3 <td>U16</td>
1257 pcg 1.17 <td> </td>
1258     <td>
1259    
1260      
1261     </td>
1262 pcg 1.3 <td>
1263 pcg 1.17 <b></b>
1264      
1265     </td>
1266 pcg 1.1 </tr>
1267     <tr>
1268     <td>id</td>
1269 pcg 1.3 <td>U16</td>
1270 pcg 1.17 <td> </td>
1271     <td>
1272    
1273      
1274     </td>
1275 pcg 1.3 <td>
1276 pcg 1.17 <b></b>
1277      
1278     </td>
1279 pcg 1.1 </tr>
1280     <tr>
1281     <td>gametype</td>
1282 pcg 1.3 <td>U32</td>
1283 pcg 1.17 <td> </td>
1284     <td>
1285    
1286      
1287     </td>
1288 pcg 1.3 <td>
1289 pcg 1.17 <b></b>
1290      
1291     </td>
1292 pcg 1.1 </tr>
1293     <tr>
1294     <td>rules</td>
1295     <td>rules</td>
1296 pcg 1.17 <td> </td>
1297     <td>
1298    
1299      
1300     </td>
1301 pcg 1.3 <td>
1302 pcg 1.17 <b></b>
1303      
1304     </td>
1305 pcg 1.1 </tr>
1306     <tr>
1307     <td>notes</td>
1308     <td>STRING</td>
1309 pcg 1.17 <td> </td>
1310     <td>
1311    
1312      
1313     </td>
1314 pcg 1.3 <td>
1315 pcg 1.17 <b></b>
1316      
1317     </td>
1318 pcg 1.1 </tr>
1319     </table>
1320    
1321 pcg 1.17 <h4>
1322     <a name="S430b"></a>SEND
1323     MESSAGE req_games</h4>
1324     NUMERIC TYPE (hex): 430b<p>
1325 pcg 1.9 Request to update room game list (send this once per minute to get
1326     updated). Results in upd_games messages.
1327 pcg 1.17 </p>
1328     <table border="1" width="100%">
1329     <tr>
1330     <th width="10%">NAME</th>
1331     <th width="10%">TYPE</th>
1332     <th width="15%">DEFAULT</th>
1333     <th>DESCRIPTION</th>
1334     <th width="15%">DEC-GUARD</th>
1335 pcg 1.1 </tr>
1336     <tr>
1337     <td>channel</td>
1338 pcg 1.3 <td>U16</td>
1339 pcg 1.17 <td> </td>
1340 pcg 1.3 <td>
1341 pcg 1.17
1342      
1343     </td>
1344     <td>
1345     <b></b>
1346      
1347     </td>
1348 pcg 1.1 </tr>
1349     </table>
1350    
1351 pcg 1.17 <h4>
1352     <a name="S4319"></a>SEND
1353     MESSAGE req_desc</h4>
1354     NUMERIC TYPE (hex): 4319<p>
1355     Request room description.
1356     </p>
1357     <table border="1" width="100%">
1358 pcg 1.1 <tr>
1359 pcg 1.17 <th width="10%">NAME</th>
1360     <th width="10%">TYPE</th>
1361     <th width="15%">DEFAULT</th>
1362     <th>DESCRIPTION</th>
1363     <th width="15%">DEC-GUARD</th>
1364 pcg 1.1 </tr>
1365     <tr>
1366     <td>channel</td>
1367 pcg 1.3 <td>U16</td>
1368 pcg 1.17 <td> </td>
1369     <td>
1370    
1371      
1372     </td>
1373 pcg 1.3 <td>
1374 pcg 1.17 <b></b>
1375      
1376     </td>
1377 pcg 1.1 </tr>
1378     </table>
1379    
1380 pcg 1.17 <h4>
1381     <a name="S4400"></a>SEND
1382     MESSAGE send_chal</h4>
1383     NUMERIC TYPE (hex): 4400<p>
1384     Unclear.
1385     </p>
1386     <table border="1" width="100%">
1387 pcg 1.1 <tr>
1388 pcg 1.17 <th width="10%">NAME</th>
1389     <th width="10%">TYPE</th>
1390     <th width="15%">DEFAULT</th>
1391     <th>DESCRIPTION</th>
1392     <th width="15%">DEC-GUARD</th>
1393 pcg 1.1 </tr>
1394     <tr>
1395     <td>channel</td>
1396 pcg 1.3 <td>U16</td>
1397 pcg 1.17 <td> </td>
1398     <td>
1399    
1400      
1401     </td>
1402 pcg 1.3 <td>
1403 pcg 1.17 <b></b>
1404      
1405     </td>
1406 pcg 1.1 </tr>
1407     <tr>
1408     <td>black</td>
1409 pcg 1.3 <td>username</td>
1410 pcg 1.17 <td> </td>
1411 pcg 1.3 <td>
1412 pcg 1.17
1413      
1414     </td>
1415     <td>
1416     <b></b>
1417      
1418     </td>
1419 pcg 1.1 </tr>
1420     <tr>
1421     <td>white</td>
1422 pcg 1.3 <td>username</td>
1423 pcg 1.17 <td> </td>
1424 pcg 1.3 <td>
1425 pcg 1.1 More following... TREE or challenge.
1426 pcg 1.17
1427      
1428     </td>
1429     <td>
1430     <b></b>
1431      
1432     </td>
1433 pcg 1.1 </tr>
1434     </table>
1435    
1436 pcg 1.17 <h4>
1437     <a name="S4403"></a>SEND
1438     MESSAGE join_game</h4>
1439     NUMERIC TYPE (hex): 4403<p>
1440     Join a game. See join_room.
1441     </p>
1442     <table border="1" width="100%">
1443 pcg 1.1 <tr>
1444 pcg 1.17 <th width="10%">NAME</th>
1445     <th width="10%">TYPE</th>
1446     <th width="15%">DEFAULT</th>
1447     <th>DESCRIPTION</th>
1448     <th width="15%">DEC-GUARD</th>
1449 pcg 1.1 </tr>
1450     <tr>
1451 pcg 1.5 <td>channel</td>
1452     <td>U16</td>
1453 pcg 1.17 <td> </td>
1454     <td>
1455    
1456      
1457     </td>
1458 pcg 1.3 <td>
1459 pcg 1.17 <b></b>
1460      
1461     </td>
1462 pcg 1.1 </tr>
1463     <tr>
1464 pcg 1.5 <td>user</td>
1465     <td>user</td>
1466 pcg 1.17 <td> </td>
1467     <td>
1468    
1469      
1470     </td>
1471 pcg 1.3 <td>
1472 pcg 1.17 <b></b>
1473      
1474     </td>
1475 pcg 1.1 </tr>
1476     </table>
1477    
1478 pcg 1.17 <h4>
1479     <a name="S4404"></a>SEND
1480     MESSAGE part_game</h4>
1481     NUMERIC TYPE (hex): 4404<p>
1482     Leave (or kick as admin?) a certain user from a game.
1483     </p>
1484     <table border="1" width="100%">
1485 pcg 1.1 <tr>
1486 pcg 1.17 <th width="10%">NAME</th>
1487     <th width="10%">TYPE</th>
1488     <th width="15%">DEFAULT</th>
1489     <th>DESCRIPTION</th>
1490     <th width="15%">DEC-GUARD</th>
1491 pcg 1.1 </tr>
1492     <tr>
1493     <td>channel</td>
1494 pcg 1.3 <td>U16</td>
1495 pcg 1.17 <td> </td>
1496     <td>
1497    
1498      
1499     </td>
1500 pcg 1.3 <td>
1501 pcg 1.17 <b></b>
1502      
1503     </td>
1504 pcg 1.1 </tr>
1505     <tr>
1506     <td>name</td>
1507 pcg 1.3 <td>username</td>
1508 pcg 1.17 <td> </td>
1509 pcg 1.3 <td>
1510 pcg 1.17
1511      
1512     </td>
1513     <td>
1514     <b></b>
1515      
1516     </td>
1517 pcg 1.1 </tr>
1518     </table>
1519    
1520 pcg 1.17 <h4>
1521     <a name="S4405"></a>SEND
1522     MESSAGE set_tree</h4>
1523     NUMERIC TYPE (hex): 4405<p>
1524 pcg 1.9 Upload a partial game tree to the server. This is used
1525     to send moves and even in-game comments to the server. For the comments,
1526     the server prepends the username and rank.
1527 pcg 1.17 </p>
1528     <table border="1" width="100%">
1529     <tr>
1530     <th width="10%">NAME</th>
1531     <th width="10%">TYPE</th>
1532     <th width="15%">DEFAULT</th>
1533     <th>DESCRIPTION</th>
1534     <th width="15%">DEC-GUARD</th>
1535 pcg 1.1 </tr>
1536     <tr>
1537     <td>channel</td>
1538 pcg 1.3 <td>U16</td>
1539 pcg 1.17 <td> </td>
1540     <td>
1541    
1542      
1543     </td>
1544 pcg 1.3 <td>
1545 pcg 1.17 <b></b>
1546      
1547     </td>
1548 pcg 1.1 </tr>
1549     <tr>
1550     <td>tree</td>
1551     <td>TREE</td>
1552 pcg 1.17 <td> </td>
1553     <td>
1554    
1555      
1556     </td>
1557 pcg 1.3 <td>
1558 pcg 1.17 <b></b>
1559      
1560     </td>
1561 pcg 1.1 </tr>
1562     </table>
1563    
1564 pcg 1.17 <h4>
1565     <a name="S4408"></a>SEND
1566     MESSAGE get_tree</h4>
1567     NUMERIC TYPE (hex): 4408<p>
1568 pcg 1.9 Request the game tree starting at a given node. This is used
1569     when the server only sends a partial tree (with end code "more").
1570 pcg 1.17 </p>
1571     <table border="1" width="100%">
1572     <tr>
1573     <th width="10%">NAME</th>
1574     <th width="10%">TYPE</th>
1575     <th width="15%">DEFAULT</th>
1576     <th>DESCRIPTION</th>
1577     <th width="15%">DEC-GUARD</th>
1578 pcg 1.1 </tr>
1579     <tr>
1580     <td>channel</td>
1581 pcg 1.3 <td>U16</td>
1582 pcg 1.17 <td> </td>
1583 pcg 1.3 <td>
1584 pcg 1.17
1585      
1586     </td>
1587     <td>
1588     <b></b>
1589      
1590     </td>
1591 pcg 1.1 </tr>
1592     <tr>
1593     <td>node</td>
1594 pcg 1.3 <td>U32</td>
1595 pcg 1.17 <td> </td>
1596     <td>
1597    
1598      
1599     </td>
1600 pcg 1.3 <td>
1601 pcg 1.17 <b></b>
1602      
1603     </td>
1604 pcg 1.1 </tr>
1605     </table>
1606    
1607 pcg 1.17 <h4>
1608     <a name="S440c"></a>SEND
1609     MESSAGE claim_win</h4>
1610     NUMERIC TYPE (hex): 440c<p>
1611     Unclear.
1612     </p>
1613     <table border="1" width="100%">
1614 pcg 1.1 <tr>
1615 pcg 1.17 <th width="10%">NAME</th>
1616     <th width="10%">TYPE</th>
1617     <th width="15%">DEFAULT</th>
1618     <th>DESCRIPTION</th>
1619     <th width="15%">DEC-GUARD</th>
1620 pcg 1.1 </tr>
1621     <tr>
1622     <td>channel</td>
1623 pcg 1.3 <td>U16</td>
1624 pcg 1.17 <td> </td>
1625     <td>
1626    
1627      
1628     </td>
1629 pcg 1.3 <td>
1630 pcg 1.17 <b></b>
1631      
1632     </td>
1633 pcg 1.1 </tr>
1634     <tr>
1635     <td>_byte</td>
1636 pcg 1.3 <td>U8 </td>
1637 pcg 1.17 <td> </td>
1638 pcg 1.3 <td>
1639 pcg 1.1 Player colour maybe? Unclear.
1640 pcg 1.17
1641      
1642     </td>
1643     <td>
1644     <b></b>
1645      
1646     </td>
1647 pcg 1.1 </tr>
1648     </table>
1649    
1650 pcg 1.17 <h4>
1651     <a name="S440d"></a>SEND
1652     MESSAGE add_time</h4>
1653     NUMERIC TYPE (hex): 440d<p>
1654 pcg 1.9 Not checked.
1655    
1656 pcg 1.17 </p>
1657     <table border="1" width="100%">
1658     <tr>
1659     <th width="10%">NAME</th>
1660     <th width="10%">TYPE</th>
1661     <th width="15%">DEFAULT</th>
1662     <th>DESCRIPTION</th>
1663     <th width="15%">DEC-GUARD</th>
1664 pcg 1.1 </tr>
1665     <tr>
1666     <td>channel</td>
1667 pcg 1.3 <td>U16</td>
1668 pcg 1.17 <td> </td>
1669     <td>
1670    
1671      
1672     </td>
1673 pcg 1.3 <td>
1674 pcg 1.17 <b></b>
1675      
1676     </td>
1677 pcg 1.1 </tr>
1678     <tr>
1679     <td>time</td>
1680 pcg 1.3 <td>U32</td>
1681 pcg 1.17 <td> </td>
1682 pcg 1.3 <td>
1683 pcg 1.17
1684      
1685     </td>
1686     <td>
1687     <b></b>
1688      
1689     </td>
1690 pcg 1.1 </tr>
1691     <tr>
1692     <td>player</td>
1693 pcg 1.3 <td>U8</td>
1694 pcg 1.17 <td> </td>
1695     <td>
1696    
1697      
1698     </td>
1699 pcg 1.3 <td>
1700 pcg 1.17 <b></b>
1701      
1702     </td>
1703 pcg 1.1 </tr>
1704     </table>
1705    
1706 pcg 1.17 <h4>
1707     <a name="S440f"></a>SEND
1708     MESSAGE grant_undo</h4>
1709     NUMERIC TYPE (hex): 440f<p>
1710     Can be send after a req_undo message was received to grant the undo.
1711     </p>
1712     <table border="1" width="100%">
1713 pcg 1.1 <tr>
1714 pcg 1.17 <th width="10%">NAME</th>
1715     <th width="10%">TYPE</th>
1716     <th width="15%">DEFAULT</th>
1717     <th>DESCRIPTION</th>
1718     <th width="15%">DEC-GUARD</th>
1719 pcg 1.1 </tr>
1720     <tr>
1721     <td>channel</td>
1722 pcg 1.3 <td>U16</td>
1723 pcg 1.17 <td> </td>
1724     <td>
1725    
1726      
1727     </td>
1728 pcg 1.3 <td>
1729 pcg 1.17 <b></b>
1730      
1731     </td>
1732 pcg 1.1 </tr>
1733     </table>
1734    
1735 pcg 1.17 <h4>
1736     <a name="S4410"></a>SEND
1737     MESSAGE resign_game</h4>
1738     NUMERIC TYPE (hex): 4410<p>
1739     Resign the game.
1740     </p>
1741     <table border="1" width="100%">
1742 pcg 1.1 <tr>
1743 pcg 1.17 <th width="10%">NAME</th>
1744     <th width="10%">TYPE</th>
1745     <th width="15%">DEFAULT</th>
1746     <th>DESCRIPTION</th>
1747     <th width="15%">DEC-GUARD</th>
1748 pcg 1.1 </tr>
1749     <tr>
1750     <td>channel</td>
1751 pcg 1.3 <td>U16</td>
1752 pcg 1.17 <td> </td>
1753 pcg 1.3 <td>
1754 pcg 1.17
1755      
1756     </td>
1757     <td>
1758     <b></b>
1759      
1760     </td>
1761 pcg 1.1 </tr>
1762     <tr>
1763     <td>player</td>
1764 pcg 1.3 <td>U8</td>
1765 pcg 1.17 <td> </td>
1766     <td>
1767    
1768      
1769     </td>
1770 pcg 1.3 <td>
1771 pcg 1.17 <b></b>
1772      
1773     </td>
1774 pcg 1.1 </tr>
1775     </table>
1776    
1777 pcg 1.17 <h4>
1778     <a name="S441a"></a>SEND
1779     MESSAGE set_teacher</h4>
1780     NUMERIC TYPE (hex): 441a<p>
1781     Change the teacher to somebody else (or possibly yourself == take it).
1782     </p>
1783     <table border="1" width="100%">
1784 pcg 1.1 <tr>
1785 pcg 1.17 <th width="10%">NAME</th>
1786     <th width="10%">TYPE</th>
1787     <th width="15%">DEFAULT</th>
1788     <th>DESCRIPTION</th>
1789     <th width="15%">DEC-GUARD</th>
1790 pcg 1.1 </tr>
1791     <tr>
1792     <td>channel</td>
1793 pcg 1.3 <td>U16</td>
1794 pcg 1.17 <td> </td>
1795     <td>
1796    
1797      
1798     </td>
1799 pcg 1.3 <td>
1800 pcg 1.17 <b></b>
1801      
1802     </td>
1803 pcg 1.1 </tr>
1804     <tr>
1805     <td>name</td>
1806 pcg 1.3 <td>username</td>
1807 pcg 1.17 <td> </td>
1808     <td>
1809    
1810      
1811     </td>
1812 pcg 1.3 <td>
1813 pcg 1.17 <b></b>
1814      
1815     </td>
1816 pcg 1.1 </tr>
1817     </table>
1818    
1819 pcg 1.17 <h4>
1820     <a name="S4422"></a>SEND
1821     MESSAGE add_user</h4>
1822     NUMERIC TYPE (hex): 4422<p>
1823 pcg 1.9 Unclear. Maybe allow users to talk? No idea, really.
1824    
1825 pcg 1.17 </p>
1826     <table border="1" width="100%">
1827     <tr>
1828     <th width="10%">NAME</th>
1829     <th width="10%">TYPE</th>
1830     <th width="15%">DEFAULT</th>
1831     <th>DESCRIPTION</th>
1832     <th width="15%">DEC-GUARD</th>
1833 pcg 1.1 </tr>
1834     <tr>
1835     <td>channel</td>
1836 pcg 1.3 <td>U16</td>
1837 pcg 1.17 <td> </td>
1838     <td>
1839    
1840      
1841     </td>
1842 pcg 1.3 <td>
1843 pcg 1.17 <b></b>
1844      
1845     </td>
1846 pcg 1.1 </tr>
1847     <tr>
1848     <td>othername</td>
1849 pcg 1.3 <td>username</td>
1850 pcg 1.17 <td> </td>
1851 pcg 1.3 <td>
1852 pcg 1.17
1853      
1854     </td>
1855     <td>
1856     <b></b>
1857      
1858     </td>
1859 pcg 1.1 </tr>
1860     <tr>
1861     <td>name</td>
1862 pcg 1.3 <td>username</td>
1863 pcg 1.17 <td> </td>
1864     <td>; # gives user access to the game (to what? ;)
1865    
1866      
1867     </td>
1868 pcg 1.3 <td>
1869 pcg 1.17 <b></b>
1870      
1871     </td>
1872 pcg 1.1 </tr>
1873     </table>
1874    
1875 pcg 1.17 <h4>
1876     <a name="S4423"></a>SEND
1877     MESSAGE set_privacy</h4>
1878     NUMERIC TYPE (hex): 4423<p>
1879     Probably sets the "quiet" flag. Not checked.
1880     </p>
1881     <table border="1" width="100%">
1882 pcg 1.1 <tr>
1883 pcg 1.17 <th width="10%">NAME</th>
1884     <th width="10%">TYPE</th>
1885     <th width="15%">DEFAULT</th>
1886     <th>DESCRIPTION</th>
1887     <th width="15%">DEC-GUARD</th>
1888 pcg 1.1 </tr>
1889     <tr>
1890     <td>channel</td>
1891 pcg 1.3 <td>U16</td>
1892 pcg 1.17 <td> </td>
1893     <td>
1894    
1895      
1896     </td>
1897 pcg 1.3 <td>
1898 pcg 1.17 <b></b>
1899      
1900     </td>
1901 pcg 1.1 </tr>
1902     <tr>
1903     <td>private</td>
1904 pcg 1.3 <td>U8</td>
1905 pcg 1.17 <td> </td>
1906 pcg 1.3 <td>
1907 pcg 1.17
1908      
1909     </td>
1910     <td>
1911     <b></b>
1912      
1913     </td>
1914 pcg 1.1 </tr>
1915     </table>
1916    
1917 pcg 1.17 <h4>
1918     <a name="S4429"></a>SEND
1919     MESSAGE reject_chal</h4>
1920     NUMERIC TYPE (hex): 4429<p>
1921 pcg 1.9 Reject a challenge from a given user. Not checked.
1922    
1923 pcg 1.17 </p>
1924     <table border="1" width="100%">
1925     <tr>
1926     <th width="10%">NAME</th>
1927     <th width="10%">TYPE</th>
1928     <th width="15%">DEFAULT</th>
1929     <th>DESCRIPTION</th>
1930     <th width="15%">DEC-GUARD</th>
1931 pcg 1.1 </tr>
1932     <tr>
1933     <td>channel</td>
1934 pcg 1.3 <td>U16</td>
1935 pcg 1.17 <td> </td>
1936     <td>
1937    
1938      
1939     </td>
1940 pcg 1.3 <td>
1941 pcg 1.17 <b></b>
1942      
1943     </td>
1944 pcg 1.1 </tr>
1945     <tr>
1946     <td>name</td>
1947 pcg 1.3 <td>username</td>
1948 pcg 1.17 <td> </td>
1949     <td>
1950    
1951      
1952     </td>
1953 pcg 1.3 <td>
1954 pcg 1.17 <b></b>
1955      
1956     </td>
1957 pcg 1.1 </tr>
1958     </table>
1959    
1960 pcg 1.17 <h4>
1961     <a name="S4433"></a>SEND
1962     MESSAGE req_result</h4>
1963     NUMERIC TYPE (hex): 4433<p>
1964 pcg 1.9 I forgot.
1965    
1966 pcg 1.17 </p>
1967     <table border="1" width="100%">
1968     <tr>
1969     <th width="10%">NAME</th>
1970     <th width="10%">TYPE</th>
1971     <th width="15%">DEFAULT</th>
1972     <th>DESCRIPTION</th>
1973     <th width="15%">DEC-GUARD</th>
1974 pcg 1.1 </tr>
1975     <tr>
1976     <td>channel</td>
1977 pcg 1.3 <td>U16</td>
1978 pcg 1.17 <td> </td>
1979 pcg 1.3 <td>
1980 pcg 1.17
1981      
1982     </td>
1983     <td>
1984     <b></b>
1985      
1986     </td>
1987 pcg 1.1 </tr>
1988     </table>
1989    
1990 pcg 1.3 <h2>Structs mainly used in receive messages</h2>
1991 pcg 1.1
1992 pcg 1.3 <h4>STRUCTURE challenge_defaults</h4>
1993 pcg 1.17 <p>
1994     Send soon after log-in to set the defaults for game challenges.
1995     </p>
1996     <table border="1" width="100%">
1997 pcg 1.1 <tr>
1998 pcg 1.17 <th width="10%">NAME</th>
1999     <th width="10%">TYPE</th>
2000     <th width="15%">DEFAULT</th>
2001     <th>DESCRIPTION</th>
2002     <th width="15%">DEC-GUARD</th>
2003 pcg 1.1 </tr>
2004     <tr>
2005     <td>gametype</td>
2006 pcg 1.3 <td>U32</td>
2007 pcg 1.17 <td> </td>
2008     <td>
2009    
2010      
2011     </td>
2012 pcg 1.3 <td>
2013 pcg 1.17 <b></b>
2014      
2015     </td>
2016 pcg 1.1 </tr>
2017     <tr>
2018     <td>size</td>
2019 pcg 1.3 <td>U32</td>
2020 pcg 1.17 <td> </td>
2021     <td>
2022    
2023      
2024     </td>
2025 pcg 1.3 <td>
2026 pcg 1.17 <b></b>
2027      
2028     </td>
2029 pcg 1.1 </tr>
2030     <tr>
2031     <td>timesys</td>
2032 pcg 1.3 <td>U32</td>
2033 pcg 1.17 <td> </td>
2034     <td>
2035    
2036      
2037     </td>
2038 pcg 1.3 <td>
2039 pcg 1.17 <b></b>
2040      
2041     </td>
2042 pcg 1.1 </tr>
2043     <tr>
2044     <td>time</td>
2045 pcg 1.3 <td>U32</td>
2046 pcg 1.17 <td> </td>
2047     <td>
2048    
2049      
2050     </td>
2051 pcg 1.3 <td>
2052 pcg 1.17 <b></b>
2053      
2054     </td>
2055 pcg 1.1 </tr>
2056     <tr>
2057     <td>byo_time</td>
2058 pcg 1.3 <td>U32</td>
2059 pcg 1.17 <td> </td>
2060     <td>
2061    
2062      
2063     </td>
2064 pcg 1.3 <td>
2065 pcg 1.17 <b></b>
2066      
2067     </td>
2068 pcg 1.1 </tr>
2069     <tr>
2070     <td>byo_periods</td>
2071 pcg 1.3 <td>U32</td>
2072 pcg 1.17 <td> </td>
2073     <td>
2074    
2075      
2076     </td>
2077 pcg 1.3 <td>
2078 pcg 1.17 <b></b>
2079      
2080     </td>
2081 pcg 1.1 </tr>
2082     <tr>
2083     <td>can_time</td>
2084 pcg 1.3 <td>U32</td>
2085 pcg 1.17 <td> </td>
2086     <td>
2087    
2088      
2089     </td>
2090 pcg 1.3 <td>
2091 pcg 1.17 <b></b>
2092      
2093     </td>
2094 pcg 1.1 </tr>
2095     <tr>
2096     <td>can_stones</td>
2097 pcg 1.3 <td>U32</td>
2098 pcg 1.17 <td> </td>
2099     <td>
2100    
2101      
2102     </td>
2103 pcg 1.3 <td>
2104 pcg 1.17 <b></b>
2105      
2106     </td>
2107 pcg 1.1 </tr>
2108     </table>
2109    
2110 pcg 1.3 <h4>STRUCTURE challenge</h4>
2111     CLASS: KGS::Challenge<br />
2112 pcg 1.17 <p>
2113 pcg 1.9 A challenge.
2114    
2115 pcg 1.17 </p>
2116     <table border="1" width="100%">
2117     <tr>
2118     <th width="10%">NAME</th>
2119     <th width="10%">TYPE</th>
2120     <th width="15%">DEFAULT</th>
2121     <th>DESCRIPTION</th>
2122     <th width="15%">DEC-GUARD</th>
2123 pcg 1.1 </tr>
2124     <tr>
2125     <td>user1</td>
2126     <td>user</td>
2127 pcg 1.17 <td> </td>
2128 pcg 1.3 <td>
2129 pcg 1.17
2130      
2131     </td>
2132     <td>
2133     <b></b>
2134      
2135     </td>
2136 pcg 1.1 </tr>
2137     <tr>
2138     <td>user2</td>
2139     <td>user</td>
2140 pcg 1.17 <td> </td>
2141     <td>
2142    
2143      
2144     </td>
2145 pcg 1.3 <td>
2146 pcg 1.17 <b></b>
2147      
2148     </td>
2149 pcg 1.1 </tr>
2150     <tr>
2151     <td>gametype</td>
2152 pcg 1.3 <td>U32</td>
2153 pcg 1.17 <td> </td>
2154 pcg 1.3 <td>
2155 pcg 1.17
2156      
2157     </td>
2158     <td>
2159     <b></b>
2160      
2161     </td>
2162 pcg 1.1 </tr>
2163     <tr>
2164     <td>rules</td>
2165     <td>rules</td>
2166 pcg 1.17 <td> </td>
2167 pcg 1.3 <td>
2168 pcg 1.1 Maybe the rules" are in TREE format. I forgot.
2169 pcg 1.17
2170      
2171     </td>
2172     <td>
2173     <b></b>
2174      
2175     </td>
2176 pcg 1.1 </tr>
2177     </table>
2178    
2179 pcg 1.3 <h4>STRUCTURE game</h4>
2180     CLASS: KGS::Game<br />
2181 pcg 1.17 <p>
2182 pcg 1.9 Basic information about a game. Used in rooms for the gamelist and
2183     in games to detect when a game is saved, changed type (e.g. R =&gt; D)
2184     etc.
2185    
2186 pcg 1.17 </p>
2187     <table border="1" width="100%">
2188     <tr>
2189     <th width="10%">NAME</th>
2190     <th width="10%">TYPE</th>
2191     <th width="15%">DEFAULT</th>
2192     <th>DESCRIPTION</th>
2193     <th width="15%">DEC-GUARD</th>
2194 pcg 1.1 </tr>
2195     <tr>
2196     <td>channel</td>
2197 pcg 1.3 <td>U16</td>
2198 pcg 1.17 <td> </td>
2199     <td>
2200    
2201      
2202     </td>
2203 pcg 1.3 <td>
2204 pcg 1.17 <b></b>
2205      
2206     </td>
2207 pcg 1.1 </tr>
2208     <tr>
2209 pcg 1.3 <td>type</td>
2210     <td>U32</td>
2211 pcg 1.17 <td> </td>
2212     <td>
2213    
2214      
2215     </td>
2216 pcg 1.3 <td>
2217 pcg 1.17 <b></b>
2218      
2219     </td>
2220 pcg 1.1 </tr>
2221     <tr>
2222     <td>user1</td>
2223     <td>user</td>
2224 pcg 1.17 <td> </td>
2225 pcg 1.3 <td>
2226 pcg 1.1 White
2227 pcg 1.17
2228      
2229     </td>
2230     <td>
2231     <b></b>
2232      
2233     </td>
2234 pcg 1.1 </tr>
2235     <tr>
2236     <td>user2</td>
2237     <td>user</td>
2238 pcg 1.17 <td> </td>
2239 pcg 1.3 <td>
2240 pcg 1.1 Black
2241 pcg 1.17
2242      
2243     </td>
2244     <td>
2245     <b></b>
2246      
2247     </td>
2248 pcg 1.1 </tr>
2249     <tr>
2250     <td>user3</td>
2251     <td>user</td>
2252 pcg 1.17 <td> </td>
2253 pcg 1.3 <td>
2254 pcg 1.1 Owner
2255 pcg 1.17
2256      
2257     </td>
2258     <td>
2259     <b></b>
2260      
2261     </td>
2262 pcg 1.1 </tr>
2263     <tr>
2264     <td>size</td>
2265 pcg 1.3 <td>U32</td>
2266 pcg 1.17 <td> </td>
2267     <td>
2268    
2269      
2270     </td>
2271 pcg 1.3 <td>
2272 pcg 1.17 <b></b>
2273      
2274     </td>
2275 pcg 1.1 </tr>
2276     <tr>
2277     <td>handicap</td>
2278     <td>I32</td>
2279 pcg 1.17 <td> </td>
2280 pcg 1.3 <td>
2281 pcg 1.1 &lt; 0 not fully setup
2282 pcg 1.17
2283      
2284     </td>
2285     <td>
2286     <b></b>
2287      
2288     </td>
2289 pcg 1.1 </tr>
2290     <tr>
2291     <td>komi</td>
2292 pcg 1.6 <td>komi32</td>
2293 pcg 1.17 <td> </td>
2294     <td>
2295    
2296      
2297     </td>
2298 pcg 1.3 <td>
2299 pcg 1.17 <b></b>
2300      
2301     </td>
2302 pcg 1.1 </tr>
2303     <tr>
2304     <td>moves</td>
2305 pcg 1.13 <td>I16</td>
2306 pcg 1.17 <td> </td>
2307 pcg 1.3 <td>
2308 pcg 1.12 This field reflects either the movenum or the score, sorry, not even guards help, as
2309 pcg 1.13 the flags to determine that are _after_ the field. Arg. Divide by two to get the actual
2310     score (NOT score16!).
2311 pcg 1.17
2312      
2313     </td>
2314     <td>
2315     <b></b>
2316      
2317     </td>
2318 pcg 1.1 </tr>
2319     <tr>
2320     <td>flags</td>
2321 pcg 1.3 <td>U16</td>
2322 pcg 1.17 <td> </td>
2323     <td>
2324    
2325      
2326     </td>
2327 pcg 1.3 <td>
2328 pcg 1.17 <b></b>
2329      
2330     </td>
2331 pcg 1.1 </tr>
2332     <tr>
2333     <td>observers</td>
2334 pcg 1.3 <td>U32</td>
2335 pcg 1.17 <td> </td>
2336     <td>
2337    
2338      
2339     </td>
2340 pcg 1.3 <td>
2341 pcg 1.17 <b></b>
2342      
2343     </td>
2344 pcg 1.1 </tr>
2345     <tr>
2346     <td>saved</td>
2347 pcg 1.3 <td>flag</td>
2348 pcg 1.17 <td> </td>
2349     <td>
2350    
2351      
2352     </td>
2353 pcg 1.3 <td>
2354 pcg 1.17 <b></b>
2355      
2356     </td>
2357 pcg 1.1 </tr>
2358     <tr>
2359     <td>notes</td>
2360     <td>STRING</td>
2361 pcg 1.17 <td> </td>
2362     <td>
2363    
2364      
2365     </td>
2366 pcg 1.3 <td>
2367 pcg 1.17 <b>handicap</b> &lt; 0
2368      
2369     </td>
2370 pcg 1.1 </tr>
2371     </table>
2372    
2373 pcg 1.3 <h4>STRUCTURE room_obs</h4>
2374 pcg 1.17 <p>
2375 pcg 1.9 Obsolete.
2376    
2377 pcg 1.17 </p>
2378     <table border="1" width="100%">
2379     <tr>
2380     <th width="10%">NAME</th>
2381     <th width="10%">TYPE</th>
2382     <th width="15%">DEFAULT</th>
2383     <th>DESCRIPTION</th>
2384     <th width="15%">DEC-GUARD</th>
2385 pcg 1.1 </tr>
2386     <tr>
2387     <td>name</td>
2388 pcg 1.3 <td>roomname</td>
2389 pcg 1.17 <td> </td>
2390 pcg 1.3 <td>
2391 pcg 1.17
2392      
2393     </td>
2394     <td>
2395     <b></b>
2396      
2397     </td>
2398 pcg 1.1 </tr>
2399     <tr>
2400     <td>channel</td>
2401 pcg 1.3 <td>U16</td>
2402 pcg 1.17 <td> </td>
2403     <td>
2404    
2405      
2406     </td>
2407 pcg 1.3 <td>
2408 pcg 1.17 <b></b>
2409      
2410     </td>
2411 pcg 1.1 </tr>
2412     <tr>
2413     <td>flags</td>
2414 pcg 1.3 <td>U32</td>
2415 pcg 1.17 <td> </td>
2416 pcg 1.3 <td>
2417 pcg 1.17
2418      
2419     </td>
2420     <td>
2421     <b></b>
2422      
2423     </td>
2424 pcg 1.1 </tr>
2425     <tr>
2426     <td>users</td>
2427 pcg 1.3 <td>U32</td>
2428 pcg 1.17 <td> </td>
2429     <td>
2430    
2431      
2432     </td>
2433 pcg 1.3 <td>
2434 pcg 1.17 <b></b>
2435      
2436     </td>
2437 pcg 1.1 </tr>
2438     </table>
2439    
2440 pcg 1.3 <h4>STRUCTURE room</h4>
2441     CLASS: KGS::Room<br />
2442 pcg 1.17 <p>
2443     </p>
2444     <table border="1" width="100%">
2445 pcg 1.1 <tr>
2446 pcg 1.17 <th width="10%">NAME</th>
2447     <th width="10%">TYPE</th>
2448     <th width="15%">DEFAULT</th>
2449     <th>DESCRIPTION</th>
2450     <th width="15%">DEC-GUARD</th>
2451 pcg 1.1 </tr>
2452     <tr>
2453     <td>channel</td>
2454 pcg 1.3 <td>U16</td>
2455 pcg 1.17 <td> </td>
2456     <td>
2457    
2458      
2459     </td>
2460 pcg 1.3 <td>
2461 pcg 1.17 <b></b>
2462      
2463     </td>
2464 pcg 1.1 </tr>
2465     <tr>
2466     <td>flags</td>
2467 pcg 1.3 <td>U8</td>
2468 pcg 1.17 <td> </td>
2469     <td>
2470    
2471      
2472     </td>
2473 pcg 1.3 <td>
2474 pcg 1.17 <b></b>
2475      
2476     </td>
2477 pcg 1.1 </tr>
2478     <tr>
2479     <td>group</td>
2480 pcg 1.3 <td>U8</td>
2481 pcg 1.17 <td> </td>
2482     <td>
2483    
2484      
2485     </td>
2486 pcg 1.3 <td>
2487 pcg 1.17 <b></b>
2488      
2489     </td>
2490 pcg 1.1 </tr>
2491     <tr>
2492     <td>users</td>
2493 pcg 1.3 <td>U16</td>
2494 pcg 1.17 <td> </td>
2495     <td>
2496    
2497      
2498     </td>
2499 pcg 1.3 <td>
2500 pcg 1.17 <b></b>
2501      
2502     </td>
2503 pcg 1.1 </tr>
2504     <tr>
2505     <td>games</td>
2506 pcg 1.3 <td>U16</td>
2507 pcg 1.17 <td> </td>
2508     <td>
2509    
2510      
2511     </td>
2512 pcg 1.3 <td>
2513 pcg 1.17 <b></b>
2514      
2515     </td>
2516 pcg 1.1 </tr>
2517     <tr>
2518     <td>name</td>
2519     <td>STRING</td>
2520 pcg 1.17 <td> </td>
2521     <td>
2522    
2523      
2524     </td>
2525 pcg 1.3 <td>
2526 pcg 1.17 <b></b>
2527      
2528     </td>
2529 pcg 1.1 </tr>
2530     </table>
2531    
2532 pcg 1.10 <h4>STRUCTURE scorevalues</h4>
2533 pcg 1.3 CLASS: KGS::Score<br />
2534 pcg 1.17 <p>
2535     </p>
2536     <table border="1" width="100%">
2537     <tr>
2538     <th width="10%">NAME</th>
2539     <th width="10%">TYPE</th>
2540     <th width="15%">DEFAULT</th>
2541     <th>DESCRIPTION</th>
2542     <th width="15%">DEC-GUARD</th>
2543 pcg 1.1 </tr>
2544     <tr>
2545     <td>score</td>
2546 pcg 1.11 <td>score32</td>
2547 pcg 1.17 <td> </td>
2548     <td>
2549    
2550      
2551     </td>
2552 pcg 1.3 <td>
2553 pcg 1.17 <b></b>
2554      
2555     </td>
2556 pcg 1.1 </tr>
2557     <tr>
2558     <td>territory</td>
2559 pcg 1.3 <td>U32</td>
2560 pcg 1.17 <td> </td>
2561     <td>
2562    
2563      
2564     </td>
2565 pcg 1.3 <td>
2566 pcg 1.17 <b></b>
2567      
2568     </td>
2569 pcg 1.1 </tr>
2570     <tr>
2571     <td>captures</td>
2572 pcg 1.3 <td>U32</td>
2573 pcg 1.17 <td> </td>
2574     <td>
2575    
2576      
2577     </td>
2578 pcg 1.3 <td>
2579 pcg 1.17 <b></b>
2580      
2581     </td>
2582 pcg 1.1 </tr>
2583     <tr>
2584     <td>i3</td>
2585 pcg 1.3 <td>U32</td>
2586 pcg 1.17 <td> </td>
2587     <td>
2588    
2589      
2590     </td>
2591 pcg 1.3 <td>
2592 pcg 1.17 <b></b>
2593      
2594     </td>
2595 pcg 1.1 </tr>
2596     <tr>
2597     <td>f2</td>
2598 pcg 1.3 <td>U32</td>
2599 pcg 1.17 <td> </td>
2600     <td>
2601    
2602      
2603     </td>
2604 pcg 1.3 <td>
2605 pcg 1.17 <b></b>
2606      
2607     </td>
2608 pcg 1.1 </tr>
2609     <tr>
2610     <td>komi</td>
2611 pcg 1.19 <td>komi324</td>
2612 pcg 1.17 <td> </td>
2613     <td>
2614    
2615      
2616     </td>
2617 pcg 1.3 <td>
2618 pcg 1.17 <b></b>
2619      
2620     </td>
2621 pcg 1.1 </tr>
2622     <tr>
2623     <td>i4</td>
2624 pcg 1.3 <td>U32</td>
2625 pcg 1.17 <td> </td>
2626 pcg 1.3 <td>
2627     Apparently the i3, f2, i4 are zero.
2628 pcg 1.17
2629      
2630     </td>
2631     <td>
2632     <b></b>
2633      
2634     </td>
2635 pcg 1.1 </tr>
2636     </table>
2637    
2638 pcg 1.14 <h4>STRUCTURE game_record</h4>
2639     CLASS: KGS::GameRecord<br />
2640 pcg 1.17 <p>
2641     <p>A single game record entry, as seen in <a href="#R0008">userinfo(0008)</a>.</p>
2642     </p>
2643     <table border="1" width="100%">
2644 pcg 1.14 <tr>
2645 pcg 1.17 <th width="10%">NAME</th>
2646     <th width="10%">TYPE</th>
2647     <th width="15%">DEFAULT</th>
2648     <th>DESCRIPTION</th>
2649     <th width="15%">DEC-GUARD</th>
2650 pcg 1.14 </tr>
2651     <tr>
2652     <td>timestamp</td>
2653     <td>timestamp</td>
2654 pcg 1.17 <td> </td>
2655 pcg 1.14 <td>
2656     Time this game was played.
2657 pcg 1.17
2658      
2659     </td>
2660     <td>
2661     <b></b>
2662      
2663     </td>
2664 pcg 1.14 </tr>
2665     <tr>
2666     <td>flags</td>
2667     <td>U8</td>
2668 pcg 1.17 <td> </td>
2669 pcg 1.14 <td>
2670     High four bits are handicap, low four bits are gametype (encoded strangely? unclear).
2671 pcg 1.17
2672      
2673     </td>
2674     <td>
2675     <b></b>
2676      
2677     </td>
2678 pcg 1.14 </tr>
2679     <tr>
2680     <td>user1</td>
2681     <td>user</td>
2682 pcg 1.17 <td> </td>
2683 pcg 1.14 <td>
2684     White, flags contain low 8 bits of revision (bits 16-23).
2685 pcg 1.17
2686      
2687     </td>
2688     <td>
2689     <b></b>
2690      
2691     </td>
2692 pcg 1.14 </tr>
2693     <tr>
2694     <td>user2</td>
2695     <td>user</td>
2696 pcg 1.17 <td> </td>
2697 pcg 1.14 <td>
2698     Black, flags contain high 8 bits of revision (bits 16-23).
2699 pcg 1.17
2700      
2701     </td>
2702     <td>
2703     <b></b>
2704      
2705     </td>
2706 pcg 1.14 </tr>
2707     <tr>
2708     <td>user3</td>
2709     <td>user</td>
2710 pcg 1.17 <td> </td>
2711 pcg 1.14 <td>
2712     Owner (or empty)
2713 pcg 1.17
2714      
2715     </td>
2716     <td>
2717     <b></b>
2718      
2719     </td>
2720 pcg 1.14 </tr>
2721     <tr>
2722     <td>komi</td>
2723     <td>komi16</td>
2724 pcg 1.17 <td> </td>
2725     <td>
2726    
2727      
2728     </td>
2729 pcg 1.14 <td>
2730 pcg 1.17 <b></b>
2731      
2732     </td>
2733 pcg 1.14 </tr>
2734     <tr>
2735     <td>score</td>
2736     <td>score16</td>
2737 pcg 1.17 <td> </td>
2738 pcg 1.14 <td>
2739 pcg 1.17
2740      
2741     </td>
2742     <td>
2743     <b></b>
2744      
2745     </td>
2746 pcg 1.14 </tr>
2747     <tr>
2748     <td>status</td>
2749     <td>U8</td>
2750 pcg 1.17 <td> </td>
2751 pcg 1.14 <td>
2752     0x80 inprogress
2753 pcg 1.17
2754      
2755     </td>
2756     <td>
2757     <b></b>
2758      
2759     </td>
2760 pcg 1.14 </tr>
2761     </table>
2762    
2763 pcg 1.1 <h2>Receive messages</h2>
2764    
2765 pcg 1.17 <h4>
2766     <a name="R0001"></a>RECV
2767     MESSAGE login</h4>
2768     NUMERIC TYPE (hex): 0001
2769     (possibly in response to
2770     <a href="#S0000">login(0000)</a>
2771     )
2772     <p>
2773     </p>
2774     <table border="1" width="100%">
2775     <tr>
2776     <th width="10%">NAME</th>
2777     <th width="10%">TYPE</th>
2778     <th width="15%">DEFAULT</th>
2779     <th>DESCRIPTION</th>
2780     <th width="15%">DEC-GUARD</th>
2781 pcg 1.1 </tr>
2782     <tr>
2783     <td>result</td>
2784     <td>CONSTANT</td>
2785 pcg 1.17 <td>"login ok" </td>
2786     <td>
2787    
2788      
2789     </td>
2790 pcg 1.3 <td>
2791 pcg 1.17 <b></b>
2792      
2793     </td>
2794 pcg 1.1 </tr>
2795     <tr>
2796     <td>success</td>
2797     <td>CONSTANT</td>
2798 pcg 1.17 <td>1 </td>
2799 pcg 1.3 <td>
2800 pcg 1.17
2801      
2802     </td>
2803     <td>
2804     <b></b>
2805      
2806     </td>
2807 pcg 1.1 </tr>
2808     </table>
2809    
2810 pcg 1.17 <h4>
2811     <a name="R0002"></a>RECV
2812     MESSAGE login</h4>
2813     NUMERIC TYPE (hex): 0002
2814     (possibly in response to
2815     <a href="#S0000">login(0000)</a>
2816     )
2817     <p>
2818     </p>
2819     <table border="1" width="100%">
2820     <tr>
2821     <th width="10%">NAME</th>
2822     <th width="10%">TYPE</th>
2823     <th width="15%">DEFAULT</th>
2824     <th>DESCRIPTION</th>
2825     <th width="15%">DEC-GUARD</th>
2826 pcg 1.1 </tr>
2827     <tr>
2828     <td>result</td>
2829     <td>CONSTANT</td>
2830 pcg 1.17 <td>"guest login ok" </td>
2831 pcg 1.3 <td>
2832 pcg 1.17
2833      
2834     </td>
2835     <td>
2836     <b></b>
2837      
2838     </td>
2839 pcg 1.1 </tr>
2840     <tr>
2841     <td>success</td>
2842     <td>CONSTANT</td>
2843 pcg 1.17 <td>1 </td>
2844     <td>
2845    
2846      
2847     </td>
2848 pcg 1.3 <td>
2849 pcg 1.17 <b></b>
2850      
2851     </td>
2852 pcg 1.1 </tr>
2853     </table>
2854    
2855 pcg 1.17 <h4>
2856     <a name="R0003"></a>RECV
2857     MESSAGE login</h4>
2858     NUMERIC TYPE (hex): 0003
2859     (possibly in response to
2860     <a href="#S0000">login(0000)</a>
2861     )
2862     <p>
2863     </p>
2864     <table border="1" width="100%">
2865     <tr>
2866     <th width="10%">NAME</th>
2867     <th width="10%">TYPE</th>
2868     <th width="15%">DEFAULT</th>
2869     <th>DESCRIPTION</th>
2870     <th width="15%">DEC-GUARD</th>
2871 pcg 1.1 </tr>
2872     <tr>
2873     <td>result</td>
2874     <td>CONSTANT</td>
2875 pcg 1.17 <td>"login error 3" </td>
2876 pcg 1.3 <td>
2877 pcg 1.1 ** maybe more following? **
2878 pcg 1.17
2879      
2880     </td>
2881     <td>
2882     <b></b>
2883      
2884     </td>
2885 pcg 1.1 </tr>
2886     </table>
2887    
2888 pcg 1.17 <h4>
2889     <a name="R0004"></a>RECV
2890     MESSAGE login</h4>
2891     NUMERIC TYPE (hex): 0004
2892     (possibly in response to
2893     <a href="#S0000">login(0000)</a>
2894     )
2895     <p>
2896     </p>
2897     <table border="1" width="100%">
2898     <tr>
2899     <th width="10%">NAME</th>
2900     <th width="10%">TYPE</th>
2901     <th width="15%">DEFAULT</th>
2902     <th>DESCRIPTION</th>
2903     <th width="15%">DEC-GUARD</th>
2904 pcg 1.1 </tr>
2905     <tr>
2906     <td>result</td>
2907     <td>CONSTANT</td>
2908 pcg 1.17 <td>"wrong password" </td>
2909 pcg 1.3 <td>
2910 pcg 1.1 ** maybe more following? **
2911 pcg 1.17
2912      
2913     </td>
2914     <td>
2915     <b></b>
2916      
2917     </td>
2918 pcg 1.1 </tr>
2919     </table>
2920    
2921 pcg 1.17 <h4>
2922     <a name="R0005"></a>RECV
2923     MESSAGE login</h4>
2924     NUMERIC TYPE (hex): 0005
2925     (possibly in response to
2926     <a href="#S0000">login(0000)</a>
2927     )
2928     <p>
2929     </p>
2930     <table border="1" width="100%">
2931     <tr>
2932     <th width="10%">NAME</th>
2933     <th width="10%">TYPE</th>
2934     <th width="15%">DEFAULT</th>
2935     <th>DESCRIPTION</th>
2936     <th width="15%">DEC-GUARD</th>
2937 pcg 1.1 </tr>
2938     <tr>
2939     <td>result</td>
2940     <td>CONSTANT</td>
2941 pcg 1.17 <td>"user unknown" </td>
2942 pcg 1.3 <td>
2943 pcg 1.1 ** maybe more following? **
2944 pcg 1.17
2945      
2946     </td>
2947     <td>
2948     <b></b>
2949      
2950     </td>
2951 pcg 1.1 </tr>
2952     </table>
2953    
2954 pcg 1.17 <h4>
2955     <a name="R0006"></a>RECV
2956     MESSAGE login</h4>
2957     NUMERIC TYPE (hex): 0006
2958     (possibly in response to
2959     <a href="#S0000">login(0000)</a>
2960     )
2961     <p>
2962     </p>
2963     <table border="1" width="100%">
2964     <tr>
2965     <th width="10%">NAME</th>
2966     <th width="10%">TYPE</th>
2967     <th width="15%">DEFAULT</th>
2968     <th>DESCRIPTION</th>
2969     <th width="15%">DEC-GUARD</th>
2970 pcg 1.1 </tr>
2971     <tr>
2972     <td>result</td>
2973     <td>CONSTANT</td>
2974 pcg 1.17 <td>"user exists" </td>
2975 pcg 1.3 <td>
2976 pcg 1.1 ** maybe more following? **
2977 pcg 1.17
2978      
2979     </td>
2980     <td>
2981     <b></b>
2982      
2983     </td>
2984 pcg 1.1 </tr>
2985     </table>
2986    
2987 pcg 1.17 <h4>
2988     <a name="R0008"></a>RECV
2989     MESSAGE userinfo</h4>
2990     NUMERIC TYPE (hex): 0008
2991     (possibly in response to
2992     <a href="#S0007">req_userinfo(0007)</a>
2993     )
2994     <p>
2995     User info.
2996     </p>
2997     <table border="1" width="100%">
2998 pcg 1.14 <tr>
2999 pcg 1.17 <th width="10%">NAME</th>
3000     <th width="10%">TYPE</th>
3001     <th width="15%">DEFAULT</th>
3002     <th>DESCRIPTION</th>
3003     <th width="15%">DEC-GUARD</th>
3004 pcg 1.14 </tr>
3005     <tr>
3006     <td>user</td>
3007     <td>user</td>
3008 pcg 1.17 <td> </td>
3009     <td>
3010    
3011      
3012     </td>
3013 pcg 1.14 <td>
3014 pcg 1.17 <b></b>
3015      
3016     </td>
3017 pcg 1.14 </tr>
3018     <tr>
3019 pcg 1.15 <td>_unused</td>
3020     <td>U64</td>
3021 pcg 1.17 <td> </td>
3022     <td>
3023    
3024      
3025     </td>
3026 pcg 1.14 <td>
3027 pcg 1.17 <b></b>
3028      
3029     </td>
3030 pcg 1.14 </tr>
3031     <tr>
3032     <td>realname</td>
3033     <td>realname</td>
3034 pcg 1.17 <td> </td>
3035     <td>
3036    
3037      
3038     </td>
3039 pcg 1.14 <td>
3040 pcg 1.17 <b></b>
3041      
3042     </td>
3043 pcg 1.14 </tr>
3044     <tr>
3045     <td>email</td>
3046     <td>email</td>
3047 pcg 1.17 <td> </td>
3048     <td>
3049    
3050      
3051     </td>
3052 pcg 1.14 <td>
3053 pcg 1.17 <b></b>
3054      
3055     </td>
3056 pcg 1.14 </tr>
3057     <tr>
3058     <td>info</td>
3059     <td>userinfo</td>
3060 pcg 1.17 <td> </td>
3061     <td>
3062    
3063      
3064     </td>
3065 pcg 1.14 <td>
3066 pcg 1.17 <b></b>
3067      
3068     </td>
3069 pcg 1.14 </tr>
3070     <tr>
3071     <td>homepage</td>
3072     <td>url</td>
3073 pcg 1.17 <td> </td>
3074     <td>
3075    
3076      
3077     </td>
3078 pcg 1.14 <td>
3079 pcg 1.17 <b></b>
3080      
3081     </td>
3082 pcg 1.14 </tr>
3083     <tr>
3084     <td>regdate</td>
3085     <td>timestamp</td>
3086 pcg 1.17 <td> </td>
3087 pcg 1.14 <td>
3088     When the user registered (0 == never registered).
3089 pcg 1.17
3090      
3091     </td>
3092     <td>
3093     <b></b>
3094      
3095     </td>
3096 pcg 1.14 </tr>
3097     <tr>
3098     <td>lastlogin</td>
3099     <td>timestamp</td>
3100 pcg 1.17 <td> </td>
3101 pcg 1.14 <td>
3102     When the user logged in for the last time.
3103 pcg 1.17
3104      
3105     </td>
3106     <td>
3107     <b></b>
3108      
3109     </td>
3110 pcg 1.14 </tr>
3111     </table>
3112    
3113 pcg 1.17 <h4>
3114     <a name="R0018"></a>RECV
3115     MESSAGE login</h4>
3116     NUMERIC TYPE (hex): 0018
3117     (possibly in response to
3118     <a href="#S0000">login(0000)</a>
3119     )
3120     <p>
3121     </p>
3122     <table border="1" width="100%">
3123     <tr>
3124     <th width="10%">NAME</th>
3125     <th width="10%">TYPE</th>
3126     <th width="15%">DEFAULT</th>
3127     <th>DESCRIPTION</th>
3128     <th width="15%">DEC-GUARD</th>
3129 pcg 1.1 </tr>
3130     <tr>
3131     <td>result</td>
3132     <td>CONSTANT</td>
3133 pcg 1.17 <td>"login error 18" </td>
3134 pcg 1.3 <td>
3135 pcg 1.1 ** maybe more following? **
3136 pcg 1.17
3137      
3138     </td>
3139     <td>
3140     <b></b>
3141      
3142     </td>
3143 pcg 1.1 </tr>
3144     </table>
3145    
3146 pcg 1.17 <h4>
3147     <a name="R0022"></a>RECV
3148     MESSAGE login</h4>
3149     NUMERIC TYPE (hex): 0022
3150     (possibly in response to
3151     <a href="#S0000">login(0000)</a>
3152     )
3153     <p>
3154     </p>
3155     <table border="1" width="100%">
3156     <tr>
3157     <th width="10%">NAME</th>
3158     <th width="10%">TYPE</th>
3159     <th width="15%">DEFAULT</th>
3160     <th>DESCRIPTION</th>
3161     <th width="15%">DEC-GUARD</th>
3162 pcg 1.1 </tr>
3163     <tr>
3164     <td>result</td>
3165     <td>CONSTANT</td>
3166 pcg 1.17 <td>"user or ip blocked" </td>
3167     <td>
3168    
3169      
3170     </td>
3171 pcg 1.3 <td>
3172 pcg 1.17 <b></b>
3173      
3174     </td>
3175 pcg 1.1 </tr>
3176     <tr>
3177     <td>reason</td>
3178     <td>STRING</td>
3179 pcg 1.17 <td> </td>
3180 pcg 1.3 <td>
3181 pcg 1.17
3182      
3183     </td>
3184     <td>
3185     <b></b>
3186      
3187     </td>
3188 pcg 1.1 </tr>
3189     </table>
3190    
3191 pcg 1.17 <h4>
3192     <a name="R0013"></a>RECV
3193     MESSAGE msg_chat</h4>
3194     NUMERIC TYPE (hex): 0013<p>
3195     </p>
3196     <table border="1" width="100%">
3197     <tr>
3198     <th width="10%">NAME</th>
3199     <th width="10%">TYPE</th>
3200     <th width="15%">DEFAULT</th>
3201     <th>DESCRIPTION</th>
3202     <th width="15%">DEC-GUARD</th>
3203 pcg 1.1 </tr>
3204     <tr>
3205     <td>user1</td>
3206 pcg 1.3 <td>username</td>
3207 pcg 1.17 <td> </td>
3208 pcg 1.3 <td>
3209 pcg 1.17
3210      
3211     </td>
3212     <td>
3213     <b></b>
3214      
3215     </td>
3216 pcg 1.1 </tr>
3217     <tr>
3218     <td>user2</td>
3219 pcg 1.3 <td>username</td>
3220 pcg 1.17 <td> </td>
3221     <td>
3222    
3223      
3224     </td>
3225 pcg 1.3 <td>
3226 pcg 1.17 <b></b>
3227      
3228     </td>
3229 pcg 1.1 </tr>
3230     <tr>
3231     <td>message</td>
3232     <td>STRING</td>
3233 pcg 1.17 <td> </td>
3234 pcg 1.3 <td>
3235 pcg 1.17
3236      
3237     </td>
3238     <td>
3239     <b></b>
3240      
3241     </td>
3242 pcg 1.1 </tr>
3243     </table>
3244    
3245 pcg 1.17 <h4>
3246     <a name="R0015"></a>RECV
3247     MESSAGE stats</h4>
3248     NUMERIC TYPE (hex): 0015
3249     (possibly in response to
3250     <a href="#S0014">req_stats(0014)</a>
3251     )
3252     <p>
3253     </p>
3254     <table border="1" width="100%">
3255     <tr>
3256     <th width="10%">NAME</th>
3257     <th width="10%">TYPE</th>
3258     <th width="15%">DEFAULT</th>
3259     <th>DESCRIPTION</th>
3260     <th width="15%">DEC-GUARD</th>
3261 pcg 1.1 </tr>
3262     <tr>
3263     <td>ver_major</td>
3264 pcg 1.3 <td>U16</td>
3265 pcg 1.17 <td> </td>
3266 pcg 1.3 <td>
3267 pcg 1.17
3268      
3269     </td>
3270     <td>
3271     <b></b>
3272      
3273     </td>
3274 pcg 1.1 </tr>
3275     <tr>
3276     <td>ver_minor</td>
3277 pcg 1.3 <td>U16</td>
3278 pcg 1.17 <td> </td>
3279     <td>
3280    
3281      
3282     </td>
3283 pcg 1.3 <td>
3284 pcg 1.17 <b></b>
3285      
3286     </td>
3287 pcg 1.1 </tr>
3288     <tr>
3289     <td>ver_micro</td>
3290 pcg 1.3 <td>U16</td>
3291 pcg 1.17 <td> </td>
3292 pcg 1.3 <td>
3293 pcg 1.17
3294      
3295     </td>
3296     <td>
3297     <b></b>
3298      
3299     </td>
3300 pcg 1.1 </tr>
3301     <tr>
3302     <td>boot_time</td>
3303 pcg 1.14 <td>timestamp</td>
3304 pcg 1.17 <td> </td>
3305     <td>
3306    
3307      
3308     </td>
3309 pcg 1.3 <td>
3310 pcg 1.17 <b></b>
3311      
3312     </td>
3313 pcg 1.1 </tr>
3314     <tr>
3315     <td>users_cur</td>
3316 pcg 1.3 <td>U32</td>
3317 pcg 1.17 <td> </td>
3318 pcg 1.3 <td>
3319 pcg 1.17
3320      
3321     </td>
3322     <td>
3323     <b></b>
3324      
3325     </td>
3326 pcg 1.1 </tr>
3327     <tr>
3328     <td>users_max</td>
3329 pcg 1.3 <td>U32</td>
3330 pcg 1.17 <td> </td>
3331     <td>
3332    
3333      
3334     </td>
3335 pcg 1.3 <td>
3336 pcg 1.17 <b></b>
3337      
3338     </td>
3339 pcg 1.1 </tr>
3340     <tr>
3341     <td>users_lim</td>
3342 pcg 1.3 <td>U32</td>
3343 pcg 1.17 <td> </td>
3344 pcg 1.3 <td>
3345 pcg 1.17
3346      
3347     </td>
3348     <td>
3349     <b></b>
3350      
3351     </td>
3352 pcg 1.1 </tr>
3353     <tr>
3354     <td>accts_cur</td>
3355 pcg 1.3 <td>U32</td>
3356 pcg 1.17 <td> </td>
3357     <td>
3358    
3359      
3360     </td>
3361 pcg 1.3 <td>
3362 pcg 1.17 <b></b>
3363      
3364     </td>
3365 pcg 1.1 </tr>
3366     <tr>
3367     <td>accts_max</td>
3368 pcg 1.3 <td>U32</td>
3369 pcg 1.17 <td> </td>
3370 pcg 1.3 <td>
3371 pcg 1.17
3372      
3373     </td>
3374     <td>
3375     <b></b>
3376      
3377     </td>
3378 pcg 1.1 </tr>
3379     <tr>
3380     <td>unknown1</td>
3381 pcg 1.3 <td>U32</td>
3382 pcg 1.17 <td> </td>
3383     <td>
3384    
3385      
3386     </td>
3387 pcg 1.3 <td>
3388 pcg 1.17 <b></b>
3389      
3390     </td>
3391 pcg 1.1 </tr>
3392     <tr>
3393     <td>work_max</td>
3394 pcg 1.3 <td>U32</td>
3395 pcg 1.17 <td> </td>
3396 pcg 1.3 <td>
3397 pcg 1.17
3398      
3399     </td>
3400     <td>
3401     <b></b>
3402      
3403     </td>
3404 pcg 1.1 </tr>
3405     <tr>
3406     <td>rooms_cur</td>
3407 pcg 1.3 <td>U32</td>
3408 pcg 1.17 <td> </td>
3409     <td>
3410    
3411      
3412     </td>
3413 pcg 1.3 <td>
3414 pcg 1.17 <b></b>
3415      
3416     </td>
3417 pcg 1.1 </tr>
3418     <tr>
3419     <td>rooms_max</td>
3420 pcg 1.3 <td>U32</td>
3421 pcg 1.17 <td> </td>
3422 pcg 1.3 <td>
3423 pcg 1.17
3424      
3425     </td>
3426     <td>
3427     <b></b>
3428      
3429     </td>
3430 pcg 1.1 </tr>
3431     <tr>
3432     <td>rooms_lim</td>
3433 pcg 1.3 <td>U32</td>
3434 pcg 1.17 <td> </td>
3435     <td>
3436    
3437      
3438     </td>
3439 pcg 1.3 <td>
3440 pcg 1.17 <b></b>
3441      
3442     </td>
3443 pcg 1.1 </tr>
3444     <tr>
3445     <td>games_cur</td>
3446 pcg 1.3 <td>U32</td>
3447 pcg 1.17 <td> </td>
3448 pcg 1.3 <td>
3449 pcg 1.17
3450      
3451     </td>
3452     <td>
3453     <b></b>
3454      
3455     </td>
3456 pcg 1.1 </tr>
3457     <tr>
3458     <td>games_max</td>
3459 pcg 1.3 <td>U32</td>
3460 pcg 1.17 <td> </td>
3461     <td>
3462    
3463      
3464     </td>
3465 pcg 1.3 <td>
3466 pcg 1.17 <b></b>
3467      
3468     </td>
3469 pcg 1.1 </tr>
3470     <tr>
3471     <td>games_lim</td>
3472 pcg 1.3 <td>U32</td>
3473 pcg 1.17 <td> </td>
3474 pcg 1.3 <td>
3475 pcg 1.17
3476      
3477     </td>
3478     <td>
3479     <b></b>
3480      
3481     </td>
3482 pcg 1.1 </tr>
3483     <tr>
3484     <td>results_cur</td>
3485 pcg 1.3 <td>U32</td>
3486 pcg 1.17 <td> </td>
3487     <td>
3488    
3489      
3490     </td>
3491 pcg 1.3 <td>
3492 pcg 1.17 <b></b>
3493      
3494     </td>
3495 pcg 1.1 </tr>
3496     <tr>
3497     <td>results_max</td>
3498 pcg 1.3 <td>U32</td>
3499 pcg 1.17 <td> </td>
3500 pcg 1.3 <td>
3501 pcg 1.17
3502      
3503     </td>
3504     <td>
3505     <b></b>
3506      
3507     </td>
3508 pcg 1.1 </tr>
3509     <tr>
3510     <td>unknown2</td>
3511 pcg 1.3 <td>U32</td>
3512 pcg 1.17 <td> </td>
3513     <td>
3514    
3515      
3516     </td>
3517 pcg 1.3 <td>
3518 pcg 1.17 <b></b>
3519      
3520     </td>
3521 pcg 1.1 </tr>
3522     <tr>
3523     <td>params_cur</td>
3524 pcg 1.3 <td>U32</td>
3525 pcg 1.17 <td> </td>
3526 pcg 1.3 <td>
3527 pcg 1.17
3528      
3529     </td>
3530     <td>
3531     <b></b>
3532      
3533     </td>
3534 pcg 1.1 </tr>
3535     <tr>
3536     <td>params_max</td>
3537 pcg 1.3 <td>U32</td>
3538 pcg 1.17 <td> </td>
3539     <td>
3540    
3541      
3542     </td>
3543 pcg 1.3 <td>
3544 pcg 1.17 <b></b>
3545      
3546     </td>
3547 pcg 1.1 </tr>
3548     <tr>
3549     <td>bytes_in</td>
3550 pcg 1.3 <td>U64</td>
3551 pcg 1.17 <td> </td>
3552 pcg 1.3 <td>
3553 pcg 1.17
3554      
3555     </td>
3556     <td>
3557     <b></b>
3558      
3559     </td>
3560 pcg 1.1 </tr>
3561     <tr>
3562     <td>packets_in</td>
3563 pcg 1.3 <td>U64</td>
3564 pcg 1.17 <td> </td>
3565     <td>
3566    
3567      
3568     </td>
3569 pcg 1.3 <td>
3570 pcg 1.17 <b></b>
3571      
3572     </td>
3573 pcg 1.1 </tr>
3574     <tr>
3575     <td>bytes_out</td>
3576 pcg 1.17 <td>U64</td>
3577     <td> </td>
3578     <td>
3579    
3580      
3581     </td>
3582 pcg 1.3 <td>
3583 pcg 1.17 <b></b>
3584      
3585     </td>
3586 pcg 1.1 </tr>
3587     <tr>
3588     <td>packets_out</td>
3589 pcg 1.3 <td>U64</td>
3590 pcg 1.17 <td> </td>
3591 pcg 1.3 <td>
3592 pcg 1.17
3593      
3594     </td>
3595     <td>
3596     <b></b>
3597      
3598     </td>
3599 pcg 1.1 </tr>
3600     </table>
3601    
3602 pcg 1.17 <h4>
3603     <a name="R0016"></a>RECV
3604     MESSAGE idle_warn</h4>
3605     NUMERIC TYPE (hex): 0016<p>
3606     idle warning, autologout soon (10 minutes...)
3607     </p>
3608     <table border="1" width="100%">
3609 pcg 1.1 <tr>
3610 pcg 1.17 <th width="10%">NAME</th>
3611     <th width="10%">TYPE</th>
3612     <th width="15%">DEFAULT</th>
3613     <th>DESCRIPTION</th>
3614     <th width="15%">DEC-GUARD</th>
3615 pcg 1.1 </tr>
3616     </table>
3617    
3618 pcg 1.17 <h4>
3619     <a name="R001b"></a>RECV
3620     MESSAGE timewarning_default</h4>
3621     NUMERIC TYPE (hex): 001b
3622     (possibly in response to
3623     <a href="#S0000">login(0000)</a>
3624     )
3625     <p>
3626     WILD guess
3627     </p>
3628     <table border="1" width="100%">
3629 pcg 1.1 <tr>
3630 pcg 1.17 <th width="10%">NAME</th>
3631     <th width="10%">TYPE</th>
3632     <th width="15%">DEFAULT</th>
3633     <th>DESCRIPTION</th>
3634     <th width="15%">DEC-GUARD</th>
3635 pcg 1.1 </tr>
3636     <tr>
3637     <td>channel</td>
3638 pcg 1.3 <td>U16</td>
3639 pcg 1.17 <td> </td>
3640     <td>
3641    
3642      
3643     </td>
3644 pcg 1.3 <td>
3645 pcg 1.17 <b></b>
3646      
3647     </td>
3648 pcg 1.1 </tr>
3649     <tr>
3650     <td>time</td>
3651 pcg 1.3 <td>U16</td>
3652 pcg 1.17 <td> </td>
3653     <td>
3654    
3655      
3656     </td>
3657 pcg 1.3 <td>
3658 pcg 1.17 <b></b>
3659      
3660     </td>
3661 pcg 1.1 </tr>
3662     </table>
3663    
3664 pcg 1.17 <h4>
3665     <a name="R001c"></a>RECV
3666     MESSAGE idle_err</h4>
3667     NUMERIC TYPE (hex): 001c<p>
3668     autologout
3669     </p>
3670     <table border="1" width="100%">
3671 pcg 1.1 <tr>
3672 pcg 1.17 <th width="10%">NAME</th>
3673     <th width="10%">TYPE</th>
3674     <th width="15%">DEFAULT</th>
3675     <th>DESCRIPTION</th>
3676     <th width="15%">DEC-GUARD</th>
3677 pcg 1.1 </tr>
3678     </table>
3679    
3680 pcg 1.17 <h4>
3681     <a name="R001d"></a>RECV
3682     MESSAGE ping</h4>
3683     NUMERIC TYPE (hex): 001d<p>
3684 pcg 1.14 Sent by the server regularly, but not answering them
3685     isn't valid. Strange form of keepalive?
3686 pcg 1.17 </p>
3687     <table border="1" width="100%">
3688     <tr>
3689     <th width="10%">NAME</th>
3690     <th width="10%">TYPE</th>
3691     <th width="15%">DEFAULT</th>
3692     <th>DESCRIPTION</th>
3693     <th width="15%">DEC-GUARD</th>
3694 pcg 1.1 </tr>
3695     </table>
3696    
3697 pcg 1.17 <h4>
3698     <a name="R001e"></a>RECV
3699     MESSAGE usergraph</h4>
3700     NUMERIC TYPE (hex): 001e
3701     (possibly in response to
3702     <a href="#S001e">req_usergraph(001e)</a>
3703     )
3704     <p>
3705     User graph data.
3706     </p>
3707     <table border="1" width="100%">
3708 pcg 1.15 <tr>
3709 pcg 1.17 <th width="10%">NAME</th>
3710     <th width="10%">TYPE</th>
3711     <th width="15%">DEFAULT</th>
3712     <th>DESCRIPTION</th>
3713     <th width="15%">DEC-GUARD</th>
3714 pcg 1.15 </tr>
3715     <tr>
3716     <td>data</td>
3717     <td>I16</td>
3718 pcg 1.17 <td> </td>
3719 pcg 1.15 <td>
3720     If empty, no graph is available. The unit seems to
3721     be centi-kyu, with 1 dan == 0, 2 dan == 100, 1 kyu == -100.
3722     There is probably one entry per day, the newest one last.
3723 pcg 1.17
3724      
3725     </td>
3726     <td>
3727     <b></b>
3728      
3729     </td>
3730 pcg 1.15 </tr>
3731     </table>
3732    
3733 pcg 1.17 <h4>
3734     <a name="R001f"></a>RECV
3735     MESSAGE memo</h4>
3736     NUMERIC TYPE (hex): 001f
3737     (possibly in response to
3738     <a href="#S001f">fetch_memos(001f)</a>
3739     )
3740     <p>
3741 pcg 1.15 Unclear. "Leave Message"?
3742     6 strings following.
3743 pcg 1.17 </p>
3744     <table border="1" width="100%">
3745     <tr>
3746     <th width="10%">NAME</th>
3747     <th width="10%">TYPE</th>
3748     <th width="15%">DEFAULT</th>
3749     <th>DESCRIPTION</th>
3750     <th width="15%">DEC-GUARD</th>
3751 pcg 1.15 </tr>
3752     <tr>
3753     <td>s1</td>
3754     <td>STRING</td>
3755 pcg 1.17 <td> </td>
3756     <td>
3757    
3758      
3759     </td>
3760 pcg 1.15 <td>
3761 pcg 1.17 <b></b>
3762      
3763     </td>
3764 pcg 1.15 </tr>
3765     <tr>
3766     <td>s2</td>
3767     <td>STRING</td>
3768 pcg 1.17 <td> </td>
3769     <td>
3770    
3771      
3772     </td>
3773 pcg 1.15 <td>
3774 pcg 1.17 <b></b>
3775      
3776     </td>
3777 pcg 1.15 </tr>
3778     <tr>
3779     <td>s3</td>
3780     <td>STRING</td>
3781 pcg 1.17 <td> </td>
3782     <td>
3783    
3784      
3785     </td>
3786 pcg 1.15 <td>
3787 pcg 1.17 <b></b>
3788      
3789     </td>
3790 pcg 1.15 </tr>
3791     <tr>
3792     <td>s4</td>
3793     <td>STRING</td>
3794 pcg 1.17 <td> </td>
3795     <td>
3796    
3797      
3798     </td>
3799 pcg 1.15 <td>
3800 pcg 1.17 <b></b>
3801      
3802     </td>
3803 pcg 1.15 </tr>
3804     <tr>
3805     <td>s5</td>
3806     <td>STRING</td>
3807 pcg 1.17 <td> </td>
3808     <td>
3809    
3810      
3811     </td>
3812 pcg 1.15 <td>
3813 pcg 1.17 <b></b>
3814      
3815     </td>
3816 pcg 1.15 </tr>
3817     <tr>
3818     <td>s6</td>
3819     <td>STRING</td>
3820 pcg 1.17 <td> </td>
3821     <td>
3822    
3823      
3824     </td>
3825 pcg 1.15 <td>
3826 pcg 1.17 <b></b>
3827      
3828     </td>
3829 pcg 1.15 </tr>
3830     </table>
3831    
3832 pcg 1.17 <h4>
3833     <a name="R0021"></a>RECV
3834     MESSAGE userpic</h4>
3835     NUMERIC TYPE (hex): 0021
3836     (possibly in response to
3837     <a href="#S0021">req_pic(0021)</a>
3838     )
3839     <p>
3840     </p>
3841     <table border="1" width="100%">
3842     <tr>
3843     <th width="10%">NAME</th>
3844     <th width="10%">TYPE</th>
3845     <th width="15%">DEFAULT</th>
3846     <th>DESCRIPTION</th>
3847     <th width="15%">DEC-GUARD</th>
3848 pcg 1.1 </tr>
3849     <tr>
3850     <td>name</td>
3851 pcg 1.3 <td>username</td>
3852 pcg 1.17 <td> </td>
3853 pcg 1.3 <td>
3854 pcg 1.1 Reply to pic_req, contains an image in jpeg format.
3855 pcg 1.17
3856      
3857     </td>
3858     <td>
3859     <b></b>
3860      
3861     </td>
3862 pcg 1.1 </tr>
3863     <tr>
3864     <td>data</td>
3865     <td>DATA</td>
3866 pcg 1.17 <td> </td>
3867     <td>
3868    
3869      
3870     </td>
3871 pcg 1.3 <td>
3872 pcg 1.17 <b></b>
3873      
3874     </td>
3875 pcg 1.1 </tr>
3876     </table>
3877    
3878 pcg 1.17 <h4>
3879     <a name="R0100"></a>RECV
3880     MESSAGE gnotice</h4>
3881     NUMERIC TYPE (hex): 0100
3882     (possibly in response to
3883     <a href="#S0100">gnotice(0100)</a>
3884     )
3885     <p>
3886     global notice, sent to everybody
3887     </p>
3888     <table border="1" width="100%">
3889 pcg 1.1 <tr>
3890 pcg 1.17 <th width="10%">NAME</th>
3891     <th width="10%">TYPE</th>
3892     <th width="15%">DEFAULT</th>
3893     <th>DESCRIPTION</th>
3894     <th width="15%">DEC-GUARD</th>
3895 pcg 1.1 </tr>
3896     <tr>
3897     <td>notice</td>
3898     <td>STRING</td>
3899 pcg 1.17 <td> </td>
3900     <td>
3901    
3902      
3903     </td>
3904 pcg 1.3 <td>
3905 pcg 1.17 <b></b>
3906      
3907     </td>
3908 pcg 1.1 </tr>
3909     </table>
3910    
3911 pcg 1.17 <h4>
3912     <a name="R0202"></a>RECV
3913     MESSAGE upd_user</h4>
3914     NUMERIC TYPE (hex): 0202<p>
3915 pcg 1.15 # maybe soe notify? Totally unclear.
3916 pcg 1.14 # loc 0" type="chat(?) loc 1 =&gt; gameinfo?, loc 2 =&gt; game result (more data)
3917 pcg 1.17 </p>
3918     <table border="1" width="100%">
3919     <tr>
3920     <th width="10%">NAME</th>
3921     <th width="10%">TYPE</th>
3922     <th width="15%">DEFAULT</th>
3923     <th>DESCRIPTION</th>
3924     <th width="15%">DEC-GUARD</th>
3925 pcg 1.14 </tr>
3926     <tr>
3927     <td>location</td>
3928     <td>U32</td>
3929 pcg 1.17 <td> </td>
3930     <td>
3931    
3932      
3933     </td>
3934 pcg 1.14 <td>
3935 pcg 1.17 <b></b>
3936      
3937     </td>
3938 pcg 1.14 </tr>
3939     <tr>
3940     <td>user</td>
3941     <td>user</td>
3942 pcg 1.17 <td> </td>
3943     <td>
3944    
3945      
3946     </td>
3947 pcg 1.14 <td>
3948 pcg 1.17 <b></b>
3949      
3950     </td>
3951 pcg 1.14 </tr>
3952     <tr>
3953     <td>lotsofinfo</td>
3954     <td>DATA</td>
3955 pcg 1.17 <td> </td>
3956     <td>
3957    
3958      
3959     </td>
3960 pcg 1.14 <td>
3961 pcg 1.17 <b>location</b> == 2
3962      
3963     </td>
3964 pcg 1.14 </tr>
3965     </table>
3966 pcg 1.1
3967 pcg 1.17 <h4>
3968     <a name="R0310"></a>RECV
3969     MESSAGE priv_room</h4>
3970     NUMERIC TYPE (hex): 0310<p>
3971     "permission denied" when joining a room
3972     </p>
3973     <table border="1" width="100%">
3974 pcg 1.1 <tr>
3975 pcg 1.17 <th width="10%">NAME</th>
3976     <th width="10%">TYPE</th>
3977     <th width="15%">DEFAULT</th>
3978     <th>DESCRIPTION</th>
3979     <th width="15%">DEC-GUARD</th>
3980 pcg 1.1 </tr>
3981     <tr>
3982     <td>name</td>
3983     <td>STRING</td>
3984 pcg 1.17 <td> </td>
3985 pcg 1.3 <td>
3986 pcg 1.17
3987      
3988     </td>
3989     <td>
3990     <b></b>
3991      
3992     </td>
3993 pcg 1.1 </tr>
3994     </table>
3995    
3996 pcg 1.17 <h4>
3997     <a name="R0318"></a>RECV
3998     MESSAGE upd_rooms</h4>
3999     NUMERIC TYPE (hex): 0318
4000     (possibly in response to
4001     <a href="#S0318">list_rooms(0318)</a>
4002     )
4003     <p>
4004     </p>
4005     <table border="1" width="100%">
4006     <tr>
4007     <th width="10%">NAME</th>
4008     <th width="10%">TYPE</th>
4009     <th width="15%">DEFAULT</th>
4010     <th>DESCRIPTION</th>
4011     <th width="15%">DEC-GUARD</th>
4012 pcg 1.1 </tr>
4013     <tr>
4014     <td>rooms</td>
4015     <td>room</td>
4016 pcg 1.17 <td> </td>
4017 pcg 1.3 <td>
4018 pcg 1.17
4019      
4020     </td>
4021     <td>
4022     <b></b>
4023      
4024     </td>
4025 pcg 1.1 </tr>
4026     </table>
4027    
4028 pcg 1.17 <h4>
4029     <a name="R0411"></a>RECV
4030     MESSAGE chal_defaults</h4>
4031     NUMERIC TYPE (hex): 0411
4032     (possibly in response to
4033     <a href="#S0000">login(0000)</a>
4034     )
4035     <p>
4036     </p>
4037     <table border="1" width="100%">
4038     <tr>
4039     <th width="10%">NAME</th>
4040     <th width="10%">TYPE</th>
4041     <th width="15%">DEFAULT</th>
4042     <th>DESCRIPTION</th>
4043     <th width="15%">DEC-GUARD</th>
4044 pcg 1.1 </tr>
4045     <tr>
4046 pcg 1.14 <td>channel</td>
4047 pcg 1.3 <td>U16</td>
4048 pcg 1.17 <td> </td>
4049 pcg 1.3 <td>
4050 pcg 1.17
4051      
4052     </td>
4053     <td>
4054     <b></b>
4055      
4056     </td>
4057 pcg 1.1 </tr>
4058     <tr>
4059 pcg 1.14 <td>defaults</td>
4060     <td>challenge_defaults</td>
4061 pcg 1.17 <td> </td>
4062     <td>
4063    
4064      
4065     </td>
4066 pcg 1.3 <td>
4067 pcg 1.17 <b></b>
4068      
4069     </td>
4070 pcg 1.1 </tr>
4071     </table>
4072    
4073 pcg 1.17 <h4>
4074     <a name="S0412"></a>SEND
4075     MESSAGE rej_game</h4>
4076     NUMERIC TYPE (hex): 0412<p>
4077     Unable to create challenge. The channel might be optional.
4078     </p>
4079     <table border="1" width="100%">
4080 pcg 1.15 <tr>
4081 pcg 1.17 <th width="10%">NAME</th>
4082     <th width="10%">TYPE</th>
4083     <th width="15%">DEFAULT</th>
4084     <th>DESCRIPTION</th>
4085     <th width="15%">DEC-GUARD</th>
4086 pcg 1.15 </tr>
4087     <tr>
4088     <td>channel</td>
4089     <td>U16</td>
4090 pcg 1.17 <td> </td>
4091     <td>
4092    
4093      
4094     </td>
4095 pcg 1.15 <td>
4096 pcg 1.17 <b></b>
4097      
4098     </td>
4099 pcg 1.15 </tr>
4100     </table>
4101    
4102 pcg 1.17 <h4>
4103     <a name="R0414"></a>RECV
4104     MESSAGE game_record</h4>
4105     NUMERIC TYPE (hex): 0414
4106     (possibly in response to
4107     <a href="#S0413">req_game_record(0413)</a>
4108     )
4109     <p>
4110     The users game record.
4111     </p>
4112     <table border="1" width="100%">
4113 pcg 1.1 <tr>
4114 pcg 1.17 <th width="10%">NAME</th>
4115     <th width="10%">TYPE</th>
4116     <th width="15%">DEFAULT</th>
4117     <th>DESCRIPTION</th>
4118     <th width="15%">DEC-GUARD</th>
4119 pcg 1.14 </tr>
4120     <tr>
4121     <td>name</td>
4122     <td>username</td>
4123 pcg 1.17 <td> </td>
4124 pcg 1.14 <td>
4125 pcg 1.17
4126      
4127     </td>
4128     <td>
4129     <b></b>
4130      
4131     </td>
4132 pcg 1.14 </tr>
4133     <tr>
4134     <td>more</td>
4135     <td>flag</td>
4136 pcg 1.17 <td> </td>
4137 pcg 1.14 <td>
4138     Wether more games are available (must be requested manually)
4139 pcg 1.17
4140      
4141     </td>
4142     <td>
4143     <b></b>
4144      
4145     </td>
4146 pcg 1.1 </tr>
4147     <tr>
4148 pcg 1.14 <td>games</td>
4149     <td>game_record</td>
4150 pcg 1.17 <td> </td>
4151 pcg 1.3 <td>
4152 pcg 1.17
4153      
4154     </td>
4155     <td>
4156     <b></b>
4157      
4158     </td>
4159 pcg 1.14 </tr>
4160     </table>
4161    
4162 pcg 1.17 <h4>
4163     <a name="R041c"></a>RECV
4164     MESSAGE upd_game2</h4>
4165     NUMERIC TYPE (hex): 041c<p>
4166     Unclear.
4167     </p>
4168     <table border="1" width="100%">
4169 pcg 1.14 <tr>
4170 pcg 1.17 <th width="10%">NAME</th>
4171     <th width="10%">TYPE</th>
4172     <th width="15%">DEFAULT</th>
4173     <th>DESCRIPTION</th>
4174     <th width="15%">DEC-GUARD</th>
4175 pcg 1.1 </tr>
4176     <tr>
4177 pcg 1.14 <td>channel_junk</td>
4178     <td>U16</td>
4179 pcg 1.17 <td> </td>
4180     <td>
4181    
4182      
4183     </td>
4184 pcg 1.3 <td>
4185 pcg 1.17 <b></b>
4186      
4187     </td>
4188 pcg 1.1 </tr>
4189     <tr>
4190 pcg 1.14 <td>game</td>
4191     <td>game</td>
4192 pcg 1.17 <td> </td>
4193     <td>
4194    
4195      
4196     </td>
4197 pcg 1.3 <td>
4198 pcg 1.17 <b></b>
4199      
4200     </td>
4201 pcg 1.1 </tr>
4202     </table>
4203    
4204     <h3>Room messages</h3>
4205    
4206     <p>Not all room messages are for rooms only, and rooms need to parse
4207     not only these messages. Orthogonality, what for?</p>
4208    
4209 pcg 1.17 <h4>
4210     <a name="R4300"></a>RECV
4211     MESSAGE join_room</h4>
4212     NUMERIC TYPE (hex): 4300
4213     (possibly in response to
4214     <a href="#S4300">join_room(4300)</a>
4215     )
4216     <p>
4217     </p>
4218     <table border="1" width="100%">
4219     <tr>
4220     <th width="10%">NAME</th>
4221     <th width="10%">TYPE</th>
4222     <th width="15%">DEFAULT</th>
4223     <th>DESCRIPTION</th>
4224     <th width="15%">DEC-GUARD</th>
4225 pcg 1.1 </tr>
4226     <tr>
4227     <td>channel</td>
4228 pcg 1.3 <td>U16</td>
4229 pcg 1.17 <td> </td>
4230     <td>
4231    
4232      
4233     </td>
4234 pcg 1.3 <td>
4235 pcg 1.17 <b></b>
4236      
4237     </td>
4238 pcg 1.1 </tr>
4239     <tr>
4240     <td>users</td>
4241     <td>user</td>
4242 pcg 1.17 <td> </td>
4243     <td>
4244    
4245      
4246     </td>
4247 pcg 1.3 <td>
4248 pcg 1.17 <b></b>
4249      
4250     </td>
4251 pcg 1.1 </tr>
4252     </table>
4253    
4254 pcg 1.17 <h4>
4255     <a name="R4301"></a>RECV
4256     MESSAGE msg_room</h4>
4257     NUMERIC TYPE (hex): 4301<p>
4258     </p>
4259     <table border="1" width="100%">
4260 pcg 1.1 <tr>
4261 pcg 1.17 <th width="10%">NAME</th>
4262     <th width="10%">TYPE</th>
4263     <th width="15%">DEFAULT</th>
4264     <th>DESCRIPTION</th>
4265     <th width="15%">DEC-GUARD</th>
4266 pcg 1.1 </tr>
4267     <tr>
4268     <td>channel</td>
4269 pcg 1.3 <td>U16</td>
4270 pcg 1.17 <td> </td>
4271 pcg 1.3 <td>
4272 pcg 1.17
4273      
4274     </td>
4275     <td>
4276     <b></b>
4277      
4278     </td>
4279 pcg 1.1 </tr>
4280     <tr>
4281     <td>name</td>
4282 pcg 1.3 <td>username</td>
4283 pcg 1.17 <td> </td>
4284     <td>
4285    
4286      
4287     </td>
4288 pcg 1.3 <td>
4289 pcg 1.17 <b></b>
4290      
4291     </td>
4292 pcg 1.1 </tr>
4293     <tr>
4294     <td>message</td>
4295     <td>STRING</td>
4296 pcg 1.17 <td> </td>
4297 pcg 1.3 <td>
4298 pcg 1.17
4299      
4300     </td>
4301     <td>
4302     <b></b>
4303      
4304     </td>
4305 pcg 1.1 </tr>
4306     </table>
4307    
4308 pcg 1.17 <h4>
4309     <a name="R4302"></a>RECV
4310     MESSAGE part_room</h4>
4311     NUMERIC TYPE (hex): 4302<p>
4312     </p>
4313     <table border="1" width="100%">
4314 pcg 1.1 <tr>
4315 pcg 1.17 <th width="10%">NAME</th>
4316     <th width="10%">TYPE</th>
4317     <th width="15%">DEFAULT</th>
4318     <th>DESCRIPTION</th>
4319     <th width="15%">DEC-GUARD</th>
4320 pcg 1.1 </tr>
4321     <tr>
4322     <td>channel</td>
4323 pcg 1.3 <td>U16</td>
4324 pcg 1.17 <td> </td>
4325     <td>
4326    
4327      
4328     </td>
4329 pcg 1.3 <td>
4330 pcg 1.17 <b></b>
4331      
4332     </td>
4333 pcg 1.1 </tr>
4334     <tr>
4335     <td>user</td>
4336     <td>user</td>
4337 pcg 1.17 <td> </td>
4338     <td>
4339    
4340      
4341     </td>
4342 pcg 1.3 <td>
4343 pcg 1.17 <b></b>
4344      
4345     </td>
4346 pcg 1.1 </tr>
4347     </table>
4348    
4349 pcg 1.17 <h4>
4350     <a name="R4303"></a>RECV
4351     MESSAGE del_room</h4>
4352     NUMERIC TYPE (hex): 4303<p>
4353     </p>
4354     <table border="1" width="100%">
4355 pcg 1.1 <tr>
4356 pcg 1.17 <th width="10%">NAME</th>
4357     <th width="10%">TYPE</th>
4358     <th width="15%">DEFAULT</th>
4359     <th>DESCRIPTION</th>
4360     <th width="15%">DEC-GUARD</th>
4361 pcg 1.1 </tr>
4362     <tr>
4363     <td>channel</td>
4364 pcg 1.3 <td>U16</td>
4365 pcg 1.17 <td> </td>
4366 pcg 1.3 <td>
4367 pcg 1.17
4368      
4369     </td>
4370     <td>
4371     <b></b>
4372      
4373     </td>
4374 pcg 1.1 </tr>
4375     </table>
4376    
4377 pcg 1.17 <h4>
4378     <a name="R4304"></a>RECV
4379     MESSAGE upd_games</h4>
4380     NUMERIC TYPE (hex): 4304<p>
4381     </p>
4382     <table border="1" width="100%">
4383 pcg 1.1 <tr>
4384 pcg 1.17 <th width="10%">NAME</th>
4385     <th width="10%">TYPE</th>
4386     <th width="15%">DEFAULT</th>
4387     <th>DESCRIPTION</th>
4388     <th width="15%">DEC-GUARD</th>
4389 pcg 1.1 </tr>
4390     <tr>
4391     <td>channel</td>
4392 pcg 1.3 <td>U16</td>
4393 pcg 1.17 <td> </td>
4394     <td>
4395    
4396      
4397     </td>
4398 pcg 1.3 <td>
4399 pcg 1.17 <b></b>
4400      
4401     </td>
4402 pcg 1.1 </tr>
4403     <tr>
4404     <td>games</td>
4405     <td>game</td>
4406 pcg 1.17 <td> </td>
4407     <td>
4408    
4409      
4410     </td>
4411 pcg 1.3 <td>
4412 pcg 1.17 <b></b>
4413      
4414     </td>
4415 pcg 1.1 </tr>
4416     </table>
4417    
4418 pcg 1.17 <h4>
4419     <a name="R4319"></a>RECV
4420     MESSAGE desc_room</h4>
4421     NUMERIC TYPE (hex): 4319<p>
4422     </p>
4423     <table border="1" width="100%">
4424 pcg 1.1 <tr>
4425 pcg 1.17 <th width="10%">NAME</th>
4426     <th width="10%">TYPE</th>
4427     <th width="15%">DEFAULT</th>
4428     <th>DESCRIPTION</th>
4429     <th width="15%">DEC-GUARD</th>
4430 pcg 1.1 </tr>
4431     <tr>
4432     <td>channel</td>
4433 pcg 1.3 <td>U16</td>
4434 pcg 1.17 <td> </td>
4435 pcg 1.3 <td>
4436 pcg 1.17
4437      
4438     </td>
4439     <td>
4440     <b></b>
4441      
4442     </td>
4443 pcg 1.1 </tr>
4444     <tr>
4445     <td>owner</td>
4446 pcg 1.3 <td>username</td>
4447 pcg 1.17 <td> </td>
4448     <td>
4449    
4450      
4451     </td>
4452 pcg 1.3 <td>
4453 pcg 1.17 <b></b>
4454      
4455     </td>
4456 pcg 1.1 </tr>
4457     <tr>
4458     <td>description</td>
4459     <td>STRING</td>
4460 pcg 1.17 <td> </td>
4461 pcg 1.3 <td>
4462 pcg 1.17
4463      
4464     </td>
4465     <td>
4466     <b></b>
4467      
4468     </td>
4469 pcg 1.1 </tr>
4470     </table>
4471    
4472     <h3>Game messages</h3>
4473    
4474 pcg 1.17 <h4>
4475     <a name="R4400"></a>RECV
4476     MESSAGE upd_chal</h4>
4477     NUMERIC TYPE (hex): 4400<p>
4478     Unclear.
4479     </p>
4480     <table border="1" width="100%">
4481 pcg 1.1 <tr>
4482 pcg 1.17 <th width="10%">NAME</th>
4483     <th width="10%">TYPE</th>
4484     <th width="15%">DEFAULT</th>
4485     <th>DESCRIPTION</th>
4486     <th width="15%">DEC-GUARD</th>
4487 pcg 1.1 </tr>
4488     <tr>
4489     <td>channel</td>
4490 pcg 1.3 <td>U16</td>
4491 pcg 1.17 <td> </td>
4492     <td>
4493    
4494      
4495     </td>
4496 pcg 1.3 <td>
4497 pcg 1.17 <b></b>
4498      
4499     </td>
4500 pcg 1.1 </tr>
4501     <tr>
4502     <td>challenge</td>
4503     <td>challenge</td>
4504 pcg 1.17 <td> </td>
4505     <td>
4506    
4507      
4508     </td>
4509 pcg 1.3 <td>
4510 pcg 1.17 <b></b>
4511      
4512     </td>
4513 pcg 1.1 </tr>
4514     </table>
4515    
4516 pcg 1.17 <h4>
4517     <a name="R4401"></a>RECV
4518     MESSAGE upd_game</h4>
4519     NUMERIC TYPE (hex): 4401<p>
4520     </p>
4521     <table border="1" width="100%">
4522 pcg 1.1 <tr>
4523 pcg 1.17 <th width="10%">NAME</th>
4524     <th width="10%">TYPE</th>
4525     <th width="15%">DEFAULT</th>
4526     <th>DESCRIPTION</th>
4527     <th width="15%">DEC-GUARD</th>
4528 pcg 1.1 </tr>
4529     <tr>
4530     <td>channel</td>
4531 pcg 1.3 <td>U16</td>
4532 pcg 1.17 <td> </td>
4533     <td>
4534    
4535      
4536     </td>
4537 pcg 1.3 <td>
4538 pcg 1.17 <b></b>
4539      
4540     </td>
4541 pcg 1.1 </tr>
4542     <tr>
4543     <td>game</td>
4544     <td>game</td>
4545 pcg 1.17 <td> </td>
4546 pcg 1.3 <td>
4547 pcg 1.17
4548      
4549     </td>
4550     <td>
4551     <b></b>
4552      
4553     </td>
4554 pcg 1.1 </tr>
4555     </table>
4556    
4557 pcg 1.17 <h4>
4558     <a name="R4402"></a>RECV
4559     MESSAGE del_game</h4>
4560     NUMERIC TYPE (hex): 4402<p>
4561     </p>
4562     <table border="1" width="100%">
4563 pcg 1.1 <tr>
4564 pcg 1.17 <th width="10%">NAME</th>
4565     <th width="10%">TYPE</th>
4566     <th width="15%">DEFAULT</th>
4567     <th>DESCRIPTION</th>
4568     <th width="15%">DEC-GUARD</th>
4569 pcg 1.1 </tr>
4570     <tr>
4571     <td>channel</td>
4572 pcg 1.3 <td>U16</td>
4573 pcg 1.17 <td> </td>
4574     <td>
4575    
4576      
4577     </td>
4578 pcg 1.3 <td>
4579 pcg 1.17 <b></b>
4580      
4581     </td>
4582 pcg 1.1 </tr>
4583     </table>
4584    
4585 pcg 1.17 <h4>
4586     <a name="R4403"></a>RECV
4587     MESSAGE upd_observers</h4>
4588     NUMERIC TYPE (hex): 4403<p>
4589     </p>
4590     <table border="1" width="100%">
4591 pcg 1.1 <tr>
4592 pcg 1.17 <th width="10%">NAME</th>
4593     <th width="10%">TYPE</th>
4594     <th width="15%">DEFAULT</th>
4595     <th>DESCRIPTION</th>
4596     <th width="15%">DEC-GUARD</th>
4597 pcg 1.1 </tr>
4598     <tr>
4599     <td>channel</td>
4600 pcg 1.3 <td>U16</td>
4601 pcg 1.17 <td> </td>
4602     <td>
4603    
4604      
4605     </td>
4606 pcg 1.3 <td>
4607 pcg 1.17 <b></b>
4608      
4609     </td>
4610 pcg 1.1 </tr>
4611     <tr>
4612     <td>users</td>
4613     <td>user</td>
4614 pcg 1.17 <td> </td>
4615 pcg 1.3 <td>
4616 pcg 1.17
4617      
4618     </td>
4619     <td>
4620     <b></b>
4621      
4622     </td>
4623 pcg 1.1 </tr>
4624     </table>
4625    
4626 pcg 1.17 <h4>
4627     <a name="R4404"></a>RECV
4628     MESSAGE del_observer</h4>
4629     NUMERIC TYPE (hex): 4404<p>
4630     </p>
4631     <table border="1" width="100%">
4632 pcg 1.1 <tr>
4633 pcg 1.17 <th width="10%">NAME</th>
4634     <th width="10%">TYPE</th>
4635     <th width="15%">DEFAULT</th>
4636     <th>DESCRIPTION</th>
4637     <th width="15%">DEC-GUARD</th>
4638 pcg 1.1 </tr>
4639     <tr>
4640     <td>channel</td>
4641 pcg 1.3 <td>U16</td>
4642 pcg 1.17 <td> </td>
4643     <td>
4644    
4645      
4646     </td>
4647 pcg 1.3 <td>
4648 pcg 1.17 <b></b>
4649      
4650     </td>
4651 pcg 1.1 </tr>
4652     <tr>
4653     <td>name</td>
4654 pcg 1.3 <td>username</td>
4655 pcg 1.17 <td> </td>
4656     <td>
4657    
4658      
4659     </td>
4660 pcg 1.3 <td>
4661 pcg 1.17 <b></b>
4662      
4663     </td>
4664 pcg 1.1 </tr>
4665     </table>
4666    
4667 pcg 1.17 <h4>
4668     <a name="R4405"></a>RECV
4669     MESSAGE set_tree</h4>
4670     NUMERIC TYPE (hex): 4405<p>
4671     </p>
4672     <table border="1" width="100%">
4673 pcg 1.1 <tr>
4674 pcg 1.17 <th width="10%">NAME</th>
4675     <th width="10%">TYPE</th>
4676     <th width="15%">DEFAULT</th>
4677     <th>DESCRIPTION</th>
4678     <th width="15%">DEC-GUARD</th>
4679 pcg 1.1 </tr>
4680     <tr>
4681     <td>channel</td>
4682 pcg 1.3 <td>U16</td>
4683 pcg 1.17 <td> </td>
4684 pcg 1.3 <td>
4685 pcg 1.17
4686      
4687     </td>
4688     <td>
4689     <b></b>
4690      
4691     </td>
4692 pcg 1.1 </tr>
4693     <tr>
4694     <td>tree</td>
4695     <td>TREE</td>
4696 pcg 1.17 <td> </td>
4697     <td>
4698    
4699      
4700     </td>
4701 pcg 1.3 <td>
4702 pcg 1.17 <b></b>
4703      
4704     </td>
4705 pcg 1.1 </tr>
4706     </table>
4707    
4708 pcg 1.17 <h4>
4709     <a name="R4406"></a>RECV
4710     MESSAGE upd_tree</h4>
4711     NUMERIC TYPE (hex): 4406<p>
4712     </p>
4713     <table border="1" width="100%">
4714 pcg 1.1 <tr>
4715 pcg 1.17 <th width="10%">NAME</th>
4716     <th width="10%">TYPE</th>
4717     <th width="15%">DEFAULT</th>
4718     <th>DESCRIPTION</th>
4719     <th width="15%">DEC-GUARD</th>
4720 pcg 1.1 </tr>
4721     <tr>
4722     <td>channel</td>
4723 pcg 1.3 <td>U16</td>
4724 pcg 1.17 <td> </td>
4725     <td>
4726    
4727      
4728     </td>
4729 pcg 1.3 <td>
4730 pcg 1.17 <b></b>
4731      
4732     </td>
4733 pcg 1.1 </tr>
4734     <tr>
4735     <td>tree</td>
4736     <td>TREE</td>
4737 pcg 1.17 <td> </td>
4738     <td>
4739    
4740      
4741     </td>
4742 pcg 1.3 <td>
4743 pcg 1.17 <b></b>
4744      
4745     </td>
4746 pcg 1.1 </tr>
4747     </table>
4748    
4749 pcg 1.17 <h4>
4750     <a name="R4407"></a>RECV
4751     MESSAGE set_node</h4>
4752     NUMERIC TYPE (hex): 4407<p>
4753     </p>
4754     <table border="1" width="100%">
4755 pcg 1.1 <tr>
4756 pcg 1.17 <th width="10%">NAME</th>
4757     <th width="10%">TYPE</th>
4758     <th width="15%">DEFAULT</th>
4759     <th>DESCRIPTION</th>
4760     <th width="15%">DEC-GUARD</th>
4761 pcg 1.1 </tr>
4762     <tr>
4763     <td>channel</td>
4764 pcg 1.3 <td>U16</td>
4765 pcg 1.17 <td> </td>
4766     <td>
4767    
4768      
4769     </td>
4770 pcg 1.3 <td>
4771 pcg 1.17 <b></b>
4772      
4773     </td>
4774 pcg 1.1 </tr>
4775     <tr>
4776     <td>node</td>
4777 pcg 1.3 <td>U32</td>
4778 pcg 1.17 <td> </td>
4779 pcg 1.3 <td>
4780 pcg 1.17
4781      
4782     </td>
4783     <td>
4784     <b></b>
4785      
4786     </td>
4787 pcg 1.1 </tr>
4788     </table>
4789    
4790 pcg 1.17 <h4>
4791     <a name="R4409"></a>RECV
4792     MESSAGE superko</h4>
4793     NUMERIC TYPE (hex): 4409<p>
4794     Superko-warning.
4795     </p>
4796     <table border="1" width="100%">
4797 pcg 1.1 <tr>
4798 pcg 1.17 <th width="10%">NAME</th>
4799     <th width="10%">TYPE</th>
4800     <th width="15%">DEFAULT</th>
4801     <th>DESCRIPTION</th>
4802     <th width="15%">DEC-GUARD</th>
4803 pcg 1.1 </tr>
4804     <tr>
4805     <td>channel</td>
4806 pcg 1.3 <td>U16</td>
4807 pcg 1.17 <td> </td>
4808     <td>
4809    
4810      
4811     </td>
4812 pcg 1.3 <td>
4813 pcg 1.17 <b></b>
4814      
4815     </td>
4816 pcg 1.1 </tr>
4817     </table>
4818    
4819 pcg 1.17 <h4>
4820     <a name="R440b"></a>RECV
4821     MESSAGE final_result</h4>
4822     NUMERIC TYPE (hex): 440b<p>
4823     </p>
4824     <table border="1" width="100%">
4825 pcg 1.1 <tr>
4826 pcg 1.17 <th width="10%">NAME</th>
4827     <th width="10%">TYPE</th>
4828     <th width="15%">DEFAULT</th>
4829     <th>DESCRIPTION</th>
4830     <th width="15%">DEC-GUARD</th>
4831 pcg 1.1 </tr>
4832     <tr>
4833     <td>channel</td>
4834 pcg 1.3 <td>U16</td>
4835 pcg 1.17 <td> </td>
4836 pcg 1.3 <td>
4837 pcg 1.17
4838      
4839     </td>
4840     <td>
4841     <b></b>
4842      
4843     </td>
4844 pcg 1.1 </tr>
4845     <tr>
4846     <td>blackscore</td>
4847 pcg 1.10 <td>scorevalues</td>
4848 pcg 1.17 <td> </td>
4849     <td>
4850    
4851      
4852     </td>
4853 pcg 1.3 <td>
4854 pcg 1.17 <b></b>
4855      
4856     </td>
4857 pcg 1.1 </tr>
4858     <tr>
4859     <td>whitescore</td>
4860 pcg 1.10 <td>scorevalues</td>
4861 pcg 1.17 <td> </td>
4862 pcg 1.3 <td>
4863 pcg 1.17
4864      
4865     </td>
4866     <td>
4867     <b></b>
4868      
4869     </td>
4870 pcg 1.1 </tr>
4871     </table>
4872    
4873 pcg 1.17 <h4>
4874     <a name="R440e"></a>RECV
4875     MESSAGE req_undo</h4>
4876     NUMERIC TYPE (hex): 440e<p>
4877     </p>
4878     <table border="1" width="100%">
4879 pcg 1.1 <tr>
4880 pcg 1.17 <th width="10%">NAME</th>
4881     <th width="10%">TYPE</th>
4882     <th width="15%">DEFAULT</th>
4883     <th>DESCRIPTION</th>
4884     <th width="15%">DEC-GUARD</th>
4885 pcg 1.1 </tr>
4886     <tr>
4887     <td>channel</td>
4888 pcg 1.3 <td>U16</td>
4889 pcg 1.17 <td> </td>
4890 pcg 1.3 <td>
4891 pcg 1.1
4892 pcg 1.17
4893      
4894     </td>
4895     <td>
4896     <b></b>
4897      
4898     </td>
4899 pcg 1.1 </tr>
4900     </table>
4901    
4902 pcg 1.17 <h4>
4903     <a name="R4410"></a>RECV
4904     MESSAGE resign_game</h4>
4905     NUMERIC TYPE (hex): 4410<p>
4906     </p>
4907     <table border="1" width="100%">
4908 pcg 1.1 <tr>
4909 pcg 1.17 <th width="10%">NAME</th>
4910     <th width="10%">TYPE</th>
4911     <th width="15%">DEFAULT</th>
4912     <th>DESCRIPTION</th>
4913     <th width="15%">DEC-GUARD</th>
4914 pcg 1.1 </tr>
4915     <tr>
4916     <td>channel</td>
4917 pcg 1.3 <td>U16</td>
4918 pcg 1.17 <td> </td>
4919     <td>
4920    
4921      
4922     </td>
4923 pcg 1.3 <td>
4924 pcg 1.17 <b></b>
4925      
4926     </td>
4927 pcg 1.1 </tr>
4928     <tr>
4929     <td>player</td>
4930 pcg 1.3 <td>U8</td>
4931 pcg 1.17 <td> </td>
4932 pcg 1.3 <td>
4933 pcg 1.17
4934      
4935     </td>
4936     <td>
4937     <b></b>
4938      
4939     </td>
4940 pcg 1.1 </tr>
4941     </table>
4942    
4943 pcg 1.17 <h4>
4944     <a name="R441a"></a>RECV
4945     MESSAGE set_teacher</h4>
4946     NUMERIC TYPE (hex): 441a<p>
4947     </p>
4948     <table border="1" width="100%">
4949 pcg 1.1 <tr>
4950 pcg 1.17 <th width="10%">NAME</th>
4951     <th width="10%">TYPE</th>
4952     <th width="15%">DEFAULT</th>
4953     <th>DESCRIPTION</th>
4954     <th width="15%">DEC-GUARD</th>
4955 pcg 1.1 </tr>
4956     <tr>
4957     <td>channel</td>
4958 pcg 1.3 <td>U16</td>
4959 pcg 1.17 <td> </td>
4960     <td>
4961    
4962      
4963     </td>
4964 pcg 1.3 <td>
4965 pcg 1.17 <b></b>
4966      
4967     </td>
4968 pcg 1.1 </tr>
4969     <tr>
4970     <td>name</td>
4971 pcg 1.3 <td>username</td>
4972 pcg 1.17 <td> </td>
4973     <td>
4974    
4975      
4976     </td>
4977 pcg 1.3 <td>
4978 pcg 1.17 <b></b>
4979      
4980     </td>
4981 pcg 1.1 </tr>
4982     </table>
4983    
4984 pcg 1.17 <h4>
4985     <a name="R441d"></a>RECV
4986     MESSAGE owner_left</h4>
4987     NUMERIC TYPE (hex): 441d<p>
4988     Unclear.
4989     </p>
4990     <table border="1" width="100%">
4991 pcg 1.1 <tr>
4992 pcg 1.17 <th width="10%">NAME</th>
4993     <th width="10%">TYPE</th>
4994     <th width="15%">DEFAULT</th>
4995     <th>DESCRIPTION</th>
4996     <th width="15%">DEC-GUARD</th>
4997 pcg 1.1 </tr>
4998     <tr>
4999     <td>channel</td>
5000 pcg 1.3 <td>U16</td>
5001 pcg 1.17 <td> </td>
5002     <td>
5003    
5004      
5005     </td>
5006 pcg 1.3 <td>
5007 pcg 1.17 <b></b>
5008      
5009     </td>
5010 pcg 1.1 </tr>
5011     </table>
5012    
5013 pcg 1.17 <h4>
5014     <a name="R441e"></a>RECV
5015     MESSAGE teacher_left</h4>
5016     NUMERIC TYPE (hex): 441e<p>
5017     Unclear.
5018     </p>
5019     <table border="1" width="100%">
5020 pcg 1.1 <tr>
5021 pcg 1.17 <th width="10%">NAME</th>
5022     <th width="10%">TYPE</th>
5023     <th width="15%">DEFAULT</th>
5024     <th>DESCRIPTION</th>
5025     <th width="15%">DEC-GUARD</th>
5026 pcg 1.1 </tr>
5027     <tr>
5028     <td>channel</td>
5029 pcg 1.3 <td>U16</td>
5030 pcg 1.17 <td> </td>
5031     <td>
5032    
5033      
5034     </td>
5035 pcg 1.3 <td>
5036 pcg 1.17 <b></b>
5037      
5038     </td>
5039 pcg 1.1 </tr>
5040     </table>
5041    
5042 pcg 1.17 <h4>
5043     <a name="R4422"></a>RECV
5044     MESSAGE unknown4422</h4>
5045     NUMERIC TYPE (hex): 4422<p>
5046     change teacher? something to do with editing?
5047     </p>
5048     <table border="1" width="100%">
5049 pcg 1.1 <tr>
5050 pcg 1.17 <th width="10%">NAME</th>
5051     <th width="10%">TYPE</th>
5052     <th width="15%">DEFAULT</th>
5053     <th>DESCRIPTION</th>
5054     <th width="15%">DEC-GUARD</th>
5055 pcg 1.1 </tr>
5056     <tr>
5057     <td>channel</td>
5058 pcg 1.3 <td>U16</td>
5059 pcg 1.17 <td> </td>
5060 pcg 1.3 <td>
5061 pcg 1.17
5062      
5063     </td>
5064     <td>
5065     <b></b>
5066      
5067     </td>
5068 pcg 1.1 </tr>
5069     <tr>
5070     <td>name1</td>
5071 pcg 1.3 <td>username</td>
5072 pcg 1.17 <td> </td>
5073     <td>
5074    
5075      
5076     </td>
5077 pcg 1.3 <td>
5078 pcg 1.17 <b></b>
5079      
5080     </td>
5081 pcg 1.1 </tr>
5082     <tr>
5083     <td>name2</td>
5084 pcg 1.3 <td>username</td>
5085 pcg 1.17 <td> </td>
5086 pcg 1.3 <td>
5087 pcg 1.17
5088      
5089     </td>
5090     <td>
5091     <b></b>
5092      
5093     </td>
5094 pcg 1.1 </tr>
5095     </table>
5096    
5097 pcg 1.17 <h4>
5098     <a name="R4433"></a>RECV
5099     MESSAGE req_result</h4>
5100     NUMERIC TYPE (hex): 4433<p>
5101     Unclear.
5102     </p>
5103     <table border="1" width="100%">
5104 pcg 1.1 <tr>
5105 pcg 1.17 <th width="10%">NAME</th>
5106     <th width="10%">TYPE</th>
5107     <th width="15%">DEFAULT</th>
5108     <th>DESCRIPTION</th>
5109     <th width="15%">DEC-GUARD</th>
5110 pcg 1.1 </tr>
5111     <tr>
5112     <td>channel</td>
5113 pcg 1.3 <td>U16</td>
5114 pcg 1.17 <td> </td>
5115 pcg 1.3 <td>
5116 pcg 1.1 # # recv_result(?)
5117 pcg 1.17
5118      
5119     </td>
5120     <td>
5121     <b></b>
5122      
5123     </td>
5124 pcg 1.1 </tr>
5125     </table>
5126    
5127 pcg 1.17 <h4>
5128     <a name="R4434"></a>RECV
5129     MESSAGE unknown4434</h4>
5130     NUMERIC TYPE (hex): 4434<p>
5131     </p>
5132     <table border="1" width="100%">
5133 pcg 1.1 <tr>
5134 pcg 1.17 <th width="10%">NAME</th>
5135     <th width="10%">TYPE</th>
5136     <th width="15%">DEFAULT</th>
5137     <th>DESCRIPTION</th>
5138     <th width="15%">DEC-GUARD</th>
5139 pcg 1.1 </tr>
5140     <tr>
5141     <td>channel</td>
5142 pcg 1.3 <td>U16</td>
5143 pcg 1.17 <td> </td>
5144     <td>
5145    
5146      
5147     </td>
5148 pcg 1.3 <td>
5149 pcg 1.17 <b></b>
5150      
5151     </td>
5152 pcg 1.1 </tr>
5153     <tr>
5154     <td>b1</td>
5155 pcg 1.3 <td>U8</td>
5156 pcg 1.17 <td> </td>
5157 pcg 1.3 <td>
5158 pcg 1.1 ?? !demonstration game??
5159 pcg 1.17
5160      
5161     </td>
5162     <td>
5163     <b></b>
5164      
5165     </td>
5166 pcg 1.1 </tr>
5167     </table>
5168    
5169     </body>
5170     </html>