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