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