I) Master/OP commands
---------------------

This is the list of commands that can be used by operator and master of hub.
These commands are only accepted if they have been sent by someone who is either
operator or master and if the destination nickname is "Hub-Security". When an
operator or a master enters a hub, a private chat is automatically opened to
enter such commands:

each commands start with a -

If a command parameter must contain space, but the parameter between quotes.
A quoted parameter cannot contain quote, there is no escape code.


Account management (master only):
---------------------------------

* -ulist    
             return the list of all existing registered nickname with their
             password and their type (Normal user, Operator or Master).

* -add nick passwd type       
             create a new registered user named "nick" having "passwd" as
             password. The account type is "type". Type is a 1 letter type:
             N for normal user, O for operator, M for master of the hub.

* -del nick
             remove the registered user named "nick".
             Note: if this user still is connected, he is not affected.

* -rename oldnick newnick
             rename then registered user named "oldnick" with the newly
             nick "newnick".

* -passwd nick newpasswd
             change the password of the registered user named "nick" to
             "newpasswd".

* -type nick type
             change the type of the registered user named "nick" to
             "type" (see /add for values).
             
* -reload
	     force the hub to reload some parameters

* -set variable value
	     
	     

DB access (master only):
------------------------

The database contains most of the basic configuration of the hub like
hubname, hub address, if the hub must be registered ...
See configuration_file file for the list of keys.

* -db
              display all keys of the database with their type and content.

* -dbshow key
              same as /db but only the given key is displayed.

* -dbadd key type value
              create a new key. The type can be "int", "float" or "str".
              A value incompatible with the type doesn't generate any error.

* -dbset key value
              update the value of an existing key.

* -dbdel key
              delete the given key. Some key are protected because they are
              required by the hub.


misc:
-----

* -kick nickname reason
              eject the given user out of the hub.

* -skick nickname reason
              eject the given user out of the hub. Without printing anythink on the chat.

* -lkick nickname reason
              disconnect a user.

* -redir nick address
              redirect the given user to another hub.

* -bcast msg
              send the given message to all connected users.

* -tbanip ip [ip...]
              add temporary ban on the given ip(s).
              ip can also be a nickname. In this case, the hub automatically
              uses the ip used by the user having this nickname.

* -tunbanip ip [ip...]
              remove temporary ban of the given ip(s) 

* -tbanlist
              display temporary banned IP list.

* -pbanip ip [ip...]
              add permanent ban on the given ip(s).
              ip can also be a nickname. In this case, the hub automatically
              uses the ip used by the user having this nickname.

* -punbanip ip [ip...]
              remove permanent ban of the given ip(s) 

* -pbanlist
              display permanently banned IP list.

* -getip nick
              Get IP of a user.
* -revip ip
              Reveal's all the users having the given IP.

external program:
-----------------

* -startprg name
              start the given external program (-e required during hub start and
              name must be a valid name in this directory. 
              NOTE: name cannot contain $, | or space because DC doesn't allow
              these characters.

debug fuction:
--------------

-dump username
	      give a lot of information about a user in memory inculding the seveur ID
	      users buy the user when cluster mode is in use.

-dumpqueue
	      dump the list of the user beeing in queue to login.

fusion fuction: you must have Fusion privileges to use those fuction, (F type)
---------------

-setfusionuser name
	      set the fusion username.

-setfusionpass password
	      set the fusion password.

-fusion ip:port
         fusion with the given hub
         the other hubs must have the same fusion user/pass

-ufusion
         disconnect from the cluster.


I) standard commands
--------------------

These commands can be used by any user but cannot be sent from the
"Hub-security" private chat.

each commands start with a + and can be sent in global or any private chat. The
sent commands are not displayed to other chat users.

+help
              display the help of user commands.

+new_mchat chatname
              create a new private multi-users chat named "chatname". The 
              private multi-users chat (mchat in short) works like the normal
              private chat except you can be more than 2 users in this chat.
              Note: it is not possible to create to mchat with the same name.

+invite_mchat chatname nick1 [nick2....]
              invite the given users to the mchat named "chatname". 
              Note: only someone inside the mchat can invite someone outside
              the mchat inside.

+leave_mchat chatname
              leave the mchat named "chatname".

+list
              list the existing irc-like chan.

+join channame
              connect to a public irc like chan named "channame".

+leave channame
              leave to a public irc like chan named "channame".
