Definitions
===========
S == Server
C == Client

dns-nl-vgmoo-client-info 1.0
----------------------------
C->S	dns-nl-vgmoo-client-info      (name, text-version, internal-version)
C->S	dns-nl-vgmoo-client-screensize(cols, rows)

dns-nl-vgmoo-pages 1.0
----------------------
S->C	dns-nl-vgmoo-pages-receive(from, msg)
C->S	dns-nl-vgmoo-pages-send   (to, msg)
	
dns-nl-vgmoo-userlist 1.0
-------------------------
S->C	 dns-nl-vgmoo-userlist        (icons*, fields*, d*)
S->C	 dns-nl-vgmoo-userlist-menu   (menu)
S->C	 dns-nl-vgmoo-userlist-you    (nr)
S<->C	 dns-nl-vgmoo-userlist-friends(friends)
S<->C    dns-nl-vgmoo-userlist-gaglist(gaglist)




Implementations/exeptions/examples
==================================

dns-nl-vgmoo-client-info 1.0
----------------------------
 #$#mcp-negotiate-can 1234 package: dns-nl-vgmoo-client
                           min-version: 1.0
                           max-version: 1.0

 #$#dns-nl-vgmoo-client-info name: gMOO
                             text-version: "0.4.0"
                             internal-version 0
 #$#dns-nl-vgmoo-client-screensize cols: 80
                                   rows: 25



dns-vgmoo-pages 1.0
-------------------
 #$#mcp-negotiate-can 1234 package: dns-nl-vgmoo-pages
                           min-version: 1.0
                           max-version: 1.0

 #$#dns-vgmoo-pages-receive from: #123 msg: {"Line 1", "Line 2", ...}
 #$#dns-vgmoo-pages-send to: <OBJ | NAME> msg: "The message in a single line"

NOTE: gMOO doesn't support this (yet ?)


dns-nl-vgmoo-userlist 1.0
-------------------------
 #$#mcp-negotiate-can 1234 package: dns-nl-vgmoo-userlist 
                           min-version: 1.0
                           max-version: 1.0

 #$#dns-nl-vgmoo-userlist 1234 icons*: ""
                               fields*: ""
                               d*: ""
                               _data_tag: 5678
 #$#* 5678 icons: {"newbie", "programmer", "wizard", ...}
 #$#* 6789 fields: {"Object", "Name", "Icon", ...}
 #$#* 5678 d: <DATACHAR><FIELD>
The next line will _never_ be sent.
 #$#: 5678

 <DATACHAR> is one of:
  =  (re)init the list
  +  Player(s) log on
  -  Player(s) log off
  <  Player(s) idle
  >  Player(s) unidle
  (  Player(s) cloak
  )  Player(s) decloack
  [  Player(s) away
  ]  Player(s) unaway
  *  Update player, only thing that must remain the same is the obj field

 <FIELD> exists for the '*' and '=' datachar of: (one user)
  { <OBJ>, <NAME>, <ICON>, [...] }
 Or: (more users)
	{ { <OBJ>, <NAME>, <ICON>, [...] }, { <OBJ>, <NAME>, <ICON>, [...] }, ...}
  as a MOOs toliteral() of a list.
  The types of the 1st 3 elemens must be: object, string, int
  Elements [4..$] are optional (a client can use them is rewuired)
 <FIELD> exists for all the other datachars of: (one user)
	<OBJ>
 Or: (more users)
  { <OBJ>, <OBJ>, ... }

 All d: lines before a _valid_ icons: and fields: line will be ignored.
 If <DATACHAR> isn't one of the above, the line is ignored
 If, when receiving a '*' command, the <OBJ> isn't found in the current
 userlist data, the lin is ignored
 The iconnumber represents the element from the icons list, 0 will show no
 icon, an error will show a built in ? icon.

 Example:
 #$#* 5678 d: ={{#2, "Wizard", 3}, {#411, "hertje", 2}}
 #$#* 5678 d: <{#411}


 #$#dns-nl-vgmoo-userlist-menu menu: <MENULIST>

 <MENULIST>  is s toliteral list of lists with the menu data:
 wildchars:  $(i)  The i'th element from the users data list
             $$    A $ sign
             $n    Will be replace by a \n char
             &     Next char will be underlined (menu text only)
             &&    Will be an & char (menu text only)
 0  instead of a list, will be a seperator

 Example <MENULIST> (seeing in the MOOs perspective):
  {{"Item 1", "wave $(1)"},
   0,
   {"Add $(2) to the prop", "@setadd $(1) to $$propertie"}
  }


 #$#dns-nl-vgmoo-userlist-you nr: #999

 One time message, that lets the client know the players obj


 #$#dns-nl-vgmoo-userlist-friends 12345 friends: "{#2, #555, #77, #89}"

 Inform the client/world of the `friends' of the player
