Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/obj/tools/MGtool/man.d/xcall b/obj/tools/MGtool/man.d/xcall
new file mode 100644
index 0000000..43e21ea
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xcall
@@ -0,0 +1,21 @@
+SYNOPSIS
+      xcall <object>-><function>(<expression>)
+
+DESCRIPTION
+      Calls the lfun <function> of the <object> with <expression> as
+      argument. The <properties.h> are included. Three objects are allready
+      defined on invokation. "me" represents the onwer of the Xtool. "here"
+      is the current room and "obj" is the object which lfun is called.
+      To use the object access syntax described above, a function called
+      "get(string)" can be used. If the call returned an object, the variable
+      "$result" will be set to this object.
+      xcall includes a private ~/.xtool.h, if it exists, to support user
+      defined macros.
+
+EXAMPLES
+      xcall $me->QueryProp(P_LONG)
+      xcall /std/thing#145->SetProp(P_SHORT,"a small thing")
+      xcall /secure/master->add_domain_wiz("hell", "hyp")
+      xcall $me->move(get("^deepthought"),"go")
+      (the last one uses the function get() to find the room where our god is)
+
diff --git a/obj/tools/MGtool/man.d/xcallouts b/obj/tools/MGtool/man.d/xcallouts
new file mode 100644
index 0000000..79adfa6
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xcallouts
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xcallouts [search pattern]
+	  or
+	  xcallouts    (when writing to a pipe)
+
+DESCRIPTION
+      With no argument it shows all your callouts. With a regexp as argument,
+      all matching callouts will be printed. When writing to a pipe, all
+	  call_outs will be printed and the search pattern is not allowed.
+
+EXAMPLES
+      xcallouts obj   Show all callouts with the string "obj" in it.
+      xcallouts .     Show all callouts. Please never do this if it isn't
+                      really neccessary. It just costs time - and what do you
+                      want to do with this mass of information?
+
diff --git a/obj/tools/MGtool/man.d/xclean b/obj/tools/MGtool/man.d/xclean
new file mode 100644
index 0000000..dcc488e
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xclean
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xclean [object]
+
+DESCRIPTION
+      Clean the inventory of the object, but don't destruct any living.
+      With no argument the current room will be cleaned. The objects
+      are removed with the lfun remove().
+
+EXAMPLE
+      xclean $me.bag
+      Clean my bag.
+
diff --git a/obj/tools/MGtool/man.d/xclone b/obj/tools/MGtool/man.d/xclone
new file mode 100644
index 0000000..00c1b7a
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xclone
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xclone <filename>
+
+DESCRIPTION
+      Clones an object. On error, the error log file will be printed.
+      Moves the object (if possible) into your inventory. If the object
+      has been cloned successfully, the variable "$clone" will be set,
+      to make sure we don't lose the object out of sight :)
+
+EXAMPLE
+      xclone /std/thing
+      xcall $clone->SetShort("a BIG thing!");
+
diff --git a/obj/tools/MGtool/man.d/xdbg b/obj/tools/MGtool/man.d/xdbg
new file mode 100644
index 0000000..5609f2f
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdbg
@@ -0,0 +1,14 @@
+SYNOPSIS
+      xdbg <object>
+
+DESCRIPTION
+      Prints out debug information buy using the efun debug_info().
+      Not all of these information is useful but it gives you information
+      of how many variables, functions, inherited objetcs and so on a object
+      has. It also shows if an object is living, if its heart beat is turned
+      on, when the next call of reset() will be (but don't take this value
+      not too seriously) etc.
+
+EXAMPLE
+      xdbg $me
+
diff --git a/obj/tools/MGtool/man.d/xdclean b/obj/tools/MGtool/man.d/xdclean
new file mode 100644
index 0000000..79f9093
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdclean
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xdclean <object>
+
+DESCRIPTION
+      Same as xclean, but makes a deep clean.
+
diff --git a/obj/tools/MGtool/man.d/xddes b/obj/tools/MGtool/man.d/xddes
new file mode 100644
index 0000000..a235645
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xddes
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xddes <object>
+
+DESCRIPTION
+      Same as xdes, but makes a deep destruct.
+
diff --git a/obj/tools/MGtool/man.d/xdes b/obj/tools/MGtool/man.d/xdes
new file mode 100644
index 0000000..17bf984
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdes
@@ -0,0 +1,8 @@
+SYNOPSIS
+      xdes <object>
+
+DESCRIPTION
+      Destruct an object using by first calling the lfun remove() of the
+      object and if its still "alive" then destruct it with the efun
+      destruct().
+
diff --git a/obj/tools/MGtool/man.d/xdlook b/obj/tools/MGtool/man.d/xdlook
new file mode 100644
index 0000000..6f7772f
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdlook
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xdlook <object>
+
+DESCRIPTION
+      Same as look, but takes a deep look at the object.
+
diff --git a/obj/tools/MGtool/man.d/xdo b/obj/tools/MGtool/man.d/xdo
new file mode 100644
index 0000000..cefa5f1
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdo
@@ -0,0 +1,14 @@
+SYNOPSIS
+      xdo [<number1>#]<command1>[;[<number2>#]<command2>] ...
+
+DESCRIPTION
+      Perform multiple command execution.
+
+      Examples:
+      xdo 5#smile   (smile 5 times)
+
+      xdo l;i       (look around in the room and then in your inventory)
+
+      xdo s;9#w;3#n;kill shaman;get sword from corpse;3#s;9#e;n;...
+                    (you know this one :)
+
diff --git a/obj/tools/MGtool/man.d/xdupdate b/obj/tools/MGtool/man.d/xdupdate
new file mode 100644
index 0000000..b3752b9
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xdupdate
@@ -0,0 +1,8 @@
+SYNOPSIS
+      xdupdate <filename>
+
+DESCRIPTION
+     Update an object including all its inherited objects.
+
+EXAMPLE
+     xdupdate /std/player.c
diff --git a/obj/tools/MGtool/man.d/xeval b/obj/tools/MGtool/man.d/xeval
new file mode 100644
index 0000000..f532bdf
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xeval
@@ -0,0 +1,18 @@
+SYNOPSIS
+      xeval <expression>
+
+DESCRIPTION
+      Execute an LPC expression. Inside the <expression>, "me" and "here" are
+      predefined objects (guess for what :). Here we can also use the function
+      "get()" to find an object using the object access syntax. If the
+      Expression returns an object the variable "$result" will be set to this.
+      xeval includes a private ~/.xtool.h, if it exists, to support user        
+      defined macros.
+
+
+EXAMPLES
+      Just do it!
+      xeval users()
+      xeval getuid(me)
+      xeval get("$me.xtool")
+
diff --git a/obj/tools/MGtool/man.d/xforall b/obj/tools/MGtool/man.d/xforall
new file mode 100644
index 0000000..17558f4
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xforall
@@ -0,0 +1,29 @@
+SYNOPSIS
+      xforall <filepattern> <command>
+
+DESCRIPTION
+      Execute <command> for all matching files. The <command> string can
+      contain replacment marks. Currently there are five of these marks:
+      - "!!" this mark stands for the full file name.
+      - "!e" stands for the extension of the file name.
+      - "!f" stands for the file name without extension and directory name.
+      - "!h" stands for the full directory name of the files.
+      - "!r" stands for the full file name without file extension.
+      - "!t" stands for the file name without the directory name.
+
+      If the full file name would be "/directory/file.ext" then
+      "!!" equals "/directory/file.ext"
+      "!e" equals "ext"
+      "!f" equals "file"
+      "!h" equals "/directory"
+      "!r" equals "/directory/file"
+      "!t" equals "file.ext"
+
+EXAMPLES
+      xforall ~/room/*.c xcall !r->reset();
+      Call the reset() function in all your rooms.
+
+      xforall ~/obj/* mv !! !h/oldobj/!f.!e.old
+      Move all files from your "obj" dir into the "obj/oldobj" dir and change
+      the extensions.
+
diff --git a/obj/tools/MGtool/man.d/xgoto b/obj/tools/MGtool/man.d/xgoto
new file mode 100644
index 0000000..df4ccba
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xgoto
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xgoto [object]
+
+DESCRIPTION
+      Go inside <object>. Without an argument you will leave into your
+      workroom. If <object> is a living thing, goto it's environment
+      (never tested until now, when going to a living thing, inside
+      a living thing :)
+
+EXAMPLES
+      xgoto /room/shop
+      xgoto shop	 (both are the same, because if there is no shop in
+			  the current directory, a "/room/" will be appended
+			  to the argument)
+      xgoto public enemy (do this only when you are really bored)
+
diff --git a/obj/tools/MGtool/man.d/xgrep b/obj/tools/MGtool/man.d/xgrep
new file mode 100644
index 0000000..8914fcb
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xgrep
@@ -0,0 +1,25 @@
+SYNOPSIS
+      xgrep [-iv] <regexp> <filepattern>
+        or
+      xgrep [-iv] <regexp>    (when reading from a pipe)
+
+DESCRIPTION
+      Search for the regular expression <regexp> in all files matching the
+      <filepattern>.
+      Works simular to the Unix command "grep". The reslut will be written
+      to <STDOUT> and may be piped into another command.
+
+OPTIONS
+      -v  reverts the sense of <regexp>.
+
+      -i  matches case-insensitive
+
+EXAMPLES
+      xgrep Deepthought /log/SHOUTS
+      This will search throught the shout log file for any line which has
+      the word "Deepthought" in it.
+
+      xgrep create\(\) *.c
+      This will search for all lines of all lpc code files in the current dir
+      which have the function "create()" defined.
+
diff --git a/obj/tools/MGtool/man.d/xhbeats b/obj/tools/MGtool/man.d/xhbeats
new file mode 100644
index 0000000..3a897f3
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xhbeats
@@ -0,0 +1,18 @@
+SYNOPSIS
+      xhbeats [search pattern]
+      or
+	  xhbeats     (when writing to a pipe)
+
+DESCRIPTION
+      With no argument it shows all your objects which have a running heart
+      beat. With a regexp as argument, all matching objects will be printed.
+	  When writing to a pipe, all hearbeats will be printed and a search
+	  pattern is not allowed.
+
+EXAMPLES
+      xhbeats obj   Show all objects which have a running heart beat at the
+                    object names with the string "obj" in it.
+      xhbeats .     Show all callouts. Please don't do this if it isn't
+                    really neccessary. It just costs time - and what do you
+                    want to do with this information?
+
diff --git a/obj/tools/MGtool/man.d/xhead b/obj/tools/MGtool/man.d/xhead
new file mode 100644
index 0000000..5801055
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xhead
@@ -0,0 +1,11 @@
+SYNOPSIS
+      xhead <-#> <file>
+	  or
+	  xhead <-#>    (when reading from a pipe)
+
+DESCRIPTION
+      xhead prints the first part of a given file; It reads from a pipe
+	  if no file is given.
+
+EXAMPLES
+      xhead -10 workroom.c prints the first 10 lines of the file workroom.c.
diff --git a/obj/tools/MGtool/man.d/xhelp b/obj/tools/MGtool/man.d/xhelp
new file mode 100644
index 0000000..b0aa7d4
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xhelp
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xhelp
+
+DESCRIPTION
+      Show the main help file.
+
diff --git a/obj/tools/MGtool/man.d/xids b/obj/tools/MGtool/man.d/xids
new file mode 100644
index 0000000..67ef761
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xids
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xids <object>
+
+DESCRIPTION
+      Show the user id and the effective user id of the <object>.
+
diff --git a/obj/tools/MGtool/man.d/xinherit b/obj/tools/MGtool/man.d/xinherit
new file mode 100644
index 0000000..ef02f3e
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xinherit
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xinherit <object> [function]
+
+DESCRIPTION
+      Show the inheritance tree of an object and if optional specified
+      display all occurencies of the function.
+      The inheritance tree is perhaps not the one you expect to see. In
+      fact its the one the gamedriver really uses. That means if for
+      example two object inherit each other or in any other case of recursion
+      it will not be shown. Or if an object A inherits object B and C
+      and object B also inherits object C, the object C will only displayed
+      once (because the gamedriver also inherits object once).
+
+EXAMPLE
+      xinherit $me
+
diff --git a/obj/tools/MGtool/man.d/xlag b/obj/tools/MGtool/man.d/xlag
new file mode 100644
index 0000000..fd28114
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xlag
@@ -0,0 +1,16 @@
+SYNOPSIS
+      xlag
+
+DESCRIPTION
+      xlag displays the current system LAG by comparing the actual
+      processed heartbeats with the initial heartbeat rate (1/2s).
+      Values will we displayed for the last minute, the last 15 minutes
+      and the last hour.
+
+EXAMPLE
+      Letzte 60 min: ####### (7.2%)
+      Letzte 15 min: ######## (8.3%)
+      Letzte Minute: ######### (9.4%) 
+
+AVAILABILITY
+      xlag requires /players/kirk/obj/lag-o-daemon.c to be loaded.
diff --git a/obj/tools/MGtool/man.d/xload b/obj/tools/MGtool/man.d/xload
new file mode 100644
index 0000000..00db877
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xload
@@ -0,0 +1,15 @@
+SYNOPSIS
+      xload <filename>
+
+DESCRIPTION
+      Update and load the object specified by the filename. If you update
+      your current environment, all players will be moved silently into
+      "/std/void" and after successful updating and loading back into it.
+
+EXAMPLES
+      xload $here
+      Update and reload the current room (but without a trip into the void :).
+
+      xload obj/little_thing.c
+      Update and load it.
+
diff --git a/obj/tools/MGtool/man.d/xlook b/obj/tools/MGtool/man.d/xlook
new file mode 100644
index 0000000..259bc9e
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xlook
@@ -0,0 +1,7 @@
+SYNOPSIS
+      xlook [object]
+
+DESCRIPTION
+      Look at the object. If the argument is ommitted, look inside the
+      current room.
+
diff --git a/obj/tools/MGtool/man.d/xlpc b/obj/tools/MGtool/man.d/xlpc
new file mode 100644
index 0000000..8f471ed
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xlpc
@@ -0,0 +1,20 @@
+SYNOPSIS
+      xlpc <lpc code>
+
+DESCRIPTION
+      Execute pure LPC code. "me" and "here" are predefined objects. Also the
+      <properties.h> will be included. The function "get(string)" can be used
+      for accessing objects. If the execution returns an object the variable
+      "$result" will set to this object.
+
+EXAMPLES
+      xlpc int i;object *o;o=users();for(i=0;i<sizeof(o);i++)o[i]->
+           SetProp(P_FROG,1);
+      (Let all users be slimy frogs :)
+
+      xlpc int i;object *o;o=users();for(i=0;i<sizeof(o);i++)
+	   o[i]->SetProp(P_TITLE,get("$me")->QueryProp(P_TITLE));
+      (Give all users your prefered title. Take a look of the use of get().)
+
+      Both commands must be written in one line of course!
+
diff --git a/obj/tools/MGtool/man.d/xman b/obj/tools/MGtool/man.d/xman
new file mode 100644
index 0000000..9b56ad1
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xman
@@ -0,0 +1,17 @@
+SYNOPSIS
+      xman <topic>
+
+DESCRIPTION
+      Searches in some special directories under /doc for the given topic
+      or command. If there are two equal topics in different directories
+      the one found first will be printed.
+
+EXAMPLES
+      xman xman
+      xman xforall
+      xman efun/destruct
+      xman w/destruct
+      xman move
+      xman thing
+      xman domains
+
diff --git a/obj/tools/MGtool/man.d/xmore b/obj/tools/MGtool/man.d/xmore
new file mode 100644
index 0000000..bcd9250
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmore
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xmore <filename> [start]
+
+DESCRIPTION
+      Prints out a file and if a starting line is given, then the printing
+      will start there. On ansi or vt100 terminals the status line will be
+      overstroked to give a harmonic view of the file.
+
+EXAMPLES
+      xmore ~/workroom.c
+      xmore $here (this will show the source of the current room)
+
diff --git a/obj/tools/MGtool/man.d/xmove b/obj/tools/MGtool/man.d/xmove
new file mode 100644
index 0000000..b4c0aec
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmove
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xmove <object> into <object>
+
+DESCRIPTION
+      Moves one object into another or give the reason why the move failed.
+
+EXAMPLES
+      xmove $clone into $me
+      If you cloned an object with xclone but the object couldn't be moved
+      then this can be used to get the reason for it.
+
+      xmove hyp into ^wurzel  (this is a silent form of going to other players)
+
diff --git a/obj/tools/MGtool/man.d/xmsg b/obj/tools/MGtool/man.d/xmsg
new file mode 100644
index 0000000..175b780
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmsg
@@ -0,0 +1,11 @@
+SYNOPSIS
+      xmsg [to <object>|all]
+
+DESCRIPTION
+      Send a message. If no arguments are given the message will be send into
+      the room. If second argument is "to" then send the message to the
+      specified <object>. If second argument is "all" then send the message to
+      all players in the mud.
+      This command can be used to send text via cut&paste to someone without
+      putting a "say", "tell" or "shout" infront of each line.
+
diff --git a/obj/tools/MGtool/man.d/xmtp b/obj/tools/MGtool/man.d/xmtp
new file mode 100644
index 0000000..9d74a9c
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xmtp
@@ -0,0 +1,24 @@
+SYNOPSIS
+      xmtp [options] <directory> <file>
+
+DESCRIPTION
+      Create a script file for transfering complete directories with mtp.
+      If your mtp needs extra arguments (except of the -r option which
+      stands for reading files) for example the -g option then you can add
+      then to the command.
+      This command works recursively and can cause a to deep recursion or
+      a too long evaluation error when trying to make a script for huge
+      directories like "/players" for example.
+      If the <file> allready exists it will not be removed instead the script
+      will simply added to the end of the file.
+
+EXAMPLE
+      xmtp -gtubmud /basic ~/basic.csh
+      Create a script file "basic.csh" to transfer the whole content of the
+      "/basic" directory.
+
+      On your host you then just create a directory (normally with the same
+      name give to the xmtp command), change into the directory and read
+      the script file with "mtp -r basic.csh". Then just execute the script
+      with "csh" or "sh".
+
diff --git a/obj/tools/MGtool/man.d/xproc b/obj/tools/MGtool/man.d/xproc
new file mode 100644
index 0000000..16d0aa1
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xproc
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xproc [-c] [-l] [-m] [-u] [-v]
+
+DESCRIPTION
+      xproc prints information from the /proc filesystem to the screen.
+      The format is totally unformatted! (I can't help it for now...) 
+      Without any option, it display the machines load averages.
+
+      -c: cpu information
+      -l: load averages
+      -m: memory usage
+      -u: machine's uptime
+      -v: kernel version
diff --git a/obj/tools/MGtool/man.d/xprops b/obj/tools/MGtool/man.d/xprops
new file mode 100644
index 0000000..f8f0dfe
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xprops
@@ -0,0 +1,15 @@
+SYNOPSIS
+      xprops [-f|-m] <object>
+
+DESCRIPTION
+      Prints out all properties of <object> which are currently defined
+      in /sys/properties.h.
+
+OPTIONS
+      -f  List property flags verbose
+
+      -m  List property methods
+
+EXAMPLE
+      xprops $me
+
diff --git a/obj/tools/MGtool/man.d/xscan b/obj/tools/MGtool/man.d/xscan
new file mode 100644
index 0000000..7f7b450
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xscan
@@ -0,0 +1,7 @@
+SYNOPSIS
+      xscan
+
+DESCRIPTION
+      Scan current room for netdead players and check variables.
+      (There will follow more checking routines like snoop, invis etc. :)
+
diff --git a/obj/tools/MGtool/man.d/xset b/obj/tools/MGtool/man.d/xset
new file mode 100644
index 0000000..cb7c66d
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xset
@@ -0,0 +1,15 @@
+SYNOPSIS
+      xset [$<name>=<object>]
+
+DESCRIPTION
+      Without an argument all current variable settings will be shown and
+      destructed objects removed from the list of variables.
+      With argument the specified variable will be set.
+
+EXAMPLES
+      xset $deep=deepthought
+      xset $xtool=$me.xtool
+      xset $god=$deep
+      xset $last_result=$result
+      xset $3=^$1.3
+
diff --git a/obj/tools/MGtool/man.d/xsh b/obj/tools/MGtool/man.d/xsh
new file mode 100644
index 0000000..1377992
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xsh
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xsh <filename>
+
+DESCRIPTION
+      Read in a file and execute each line of it as a command given from the
+      keyboard.
+
+EXAMPLE
+      xsh ~/setup.xsh
+      Execute the file "~/setup.xsh". This way you can set up your aliases or
+      other parameters for other tools if the setting gone lost.
+
diff --git a/obj/tools/MGtool/man.d/xsort b/obj/tools/MGtool/man.d/xsort
new file mode 100644
index 0000000..dfea2da
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xsort
@@ -0,0 +1,11 @@
+SYNOPSIS
+      xsort [-r] <file>
+	  or
+	  xsort [-r]    (when reading from a pipe)
+
+DESCRIPTION
+      xsort sort all lines of a given file in increasing/decreasing order.
+	  If no file is given it reads from a pipe.
+
+EXAMPLES
+      xsort -r workroom.c sorts all lines of workroom.c in reverse order.
diff --git a/obj/tools/MGtool/man.d/xtail b/obj/tools/MGtool/man.d/xtail
new file mode 100644
index 0000000..44c2300
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtail
@@ -0,0 +1,12 @@
+SYNOPSIS
+      xtail <-|+#> <file>
+	  or
+	  xtail <-|+#>    (when reading from a pipe)
+
+DESCRIPTION
+      xtail prints the last part of a given file; It reads from a pipe
+	  if no file is given.
+
+EXAMPLES
+      xtail -10 workroom.c prints the last 10 lines of the file workroom.c.
+	  xtail +10 workroom.c prints all lines of workroom.c beginning at line 10.
diff --git a/obj/tools/MGtool/man.d/xtool b/obj/tools/MGtool/man.d/xtool
new file mode 100644
index 0000000..62d0614
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtool
@@ -0,0 +1,45 @@
+SYNOPSIS
+      xtool [update|heart=<on|off>|first=<on|off>|protect=<on|off>|
+	     invcheck=<on|off>|envcheck=<on|off>|ndcheck=<on|off>|
+	     varcheck=<on|off>|short=<on|off>|echo=<on|off>|
+	     more=<amount>|kill|news|save|load|reset]
+
+DESCRIPTION
+      This command is used to set some tool-specific behaviours.
+      - "update" clones a new Xtool and destructs the old one. This should
+        only be done when working on the source of the tool and to get a fast
+        update. Settings and aliases will be reached through the new clone.
+      - "heart=<on|off>" turns the heart beat of the tool on or off.
+        The heart beat is for a higher security and to keep the other checks
+        running. If you just want to use the Xtool as a passive tool without
+        any checks then turn the heart beat off.
+      - "first=<on|off>" turns the automatic moving into the pole position
+        of your inventory on or off. Turning it off, avoids struggle with
+        other tools which behave same, but also reduces security. The history
+        mechanism will also capture the less commands.
+      - "protect=<on|off>" turns on/off the protection mode of the Xtool.
+        It will protect you from forces of other wizards and of player objects
+        which try to move into your inventory.
+      - "invcheck=<on|off>" turns the automatic check of your inventory on or
+        off. If turned on, all new objects in your inventory will be reported.
+      - "envcheck=<on|off>" like "invcheck" but checks your environment, the
+        content of the current room.
+      - "ndcheck=<on|off>" sets the netdeadchecking mode of the Xtool.
+      - "short=<on|off>" turns displaying of short descriptions on or off.
+        This is to avoid to get on other wizards nerves, when they have a tool
+        that notifies inventory checks (like this tool does :). But the main
+        reason is to cope with bad short descriptions of objects. For
+        example if you want to destruct it a bug in the short desc. would
+        make it nearly impossible to do so.
+      - "more=<amount>" sets the amount of lines that will be displayed at one
+        time with the xmore command. Will be removed soon because there is a
+        player property called P_PAGESIZE to take care of it.
+      - "echo=<on|off>" turns the echoing of commands executed via alias,
+        history or multiple command execution on or off.
+      - "kill" destructs the Xtool and removes it from the autoload list.
+      - "news" show the news and changes of the Xtool.
+      - "save" saves the settings of the Xtool including the aliases into a
+        file.
+      - "load" restores the saved settings from the save file.
+      - "reset" resets the Xtool.
+
diff --git a/obj/tools/MGtool/man.d/xtrace b/obj/tools/MGtool/man.d/xtrace
new file mode 100644
index 0000000..1c05e94
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtrace
@@ -0,0 +1,14 @@
+SYNOPSIS
+      xtrace <object>
+
+DESCRIPTION
+      Trace all function calls with arguments and their return values of
+      the specified object. Without any argument turns the tracing off again.
+
+EXAMPLE
+      xtrace $me.buggything
+      Lets debug an buggy object.
+
+      xtrace
+      Turn debugging off.
+
diff --git a/obj/tools/MGtool/man.d/xtrans b/obj/tools/MGtool/man.d/xtrans
new file mode 100644
index 0000000..e356d0a
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xtrans
@@ -0,0 +1,6 @@
+SYNOPSIS
+      xtrans <player>
+
+DESCRIPTION
+      Teleport <player> to you.
+
diff --git a/obj/tools/MGtool/man.d/xuclone b/obj/tools/MGtool/man.d/xuclone
new file mode 100644
index 0000000..341c825
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xuclone
@@ -0,0 +1,13 @@
+SYNOPSIS
+      xuclone <filename>
+
+DESCRIPTION
+      Updates & Clones an object. On error, the error log file will be
+      printed. Moves the object (if possible) into your inventory. If the
+      object has been cloned successfully, the variable "$clone" will be set,
+      to make sure we don't lose the object out of sight :)
+
+EXAMPLE
+      xuclone /std/thing
+      xcall $clone->SetShort("a BIG thing!");
+
diff --git a/obj/tools/MGtool/man.d/xupdate b/obj/tools/MGtool/man.d/xupdate
new file mode 100644
index 0000000..cab6567
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xupdate
@@ -0,0 +1,10 @@
+SYNOPSIS
+      xupdate <filename>
+
+DESCRIPTION
+     Update an object by first calling the lfun "remove()" of it and when
+     it still exists destruct it.
+
+EXAMPLE
+     xupdate obj/blub.c
+
diff --git a/obj/tools/MGtool/man.d/xwc b/obj/tools/MGtool/man.d/xwc
new file mode 100644
index 0000000..aa13147
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xwc
@@ -0,0 +1,22 @@
+SYNOPSIS
+      xwc [-clw] <file>
+	  or
+	  xwc [-clw]    (when reading from a pipe)
+
+DESCRIPTION
+      xwc counts the number of bytes, whitespace-separated words, and new-
+      lines in a given file, or reading from a pipe. It prints one line
+      of counts, and if the file name was given as an argument, it prints
+      the filename following the counts. The counts are printed in the
+      order: lines, words, bytes.
+      By default, wc prints all three counts.
+
+OPTIONS:
+      -c print character count
+
+      -l print line count
+
+      -w print word count
+      
+EXAMPLES
+
diff --git a/obj/tools/MGtool/man.d/xwho b/obj/tools/MGtool/man.d/xwho
new file mode 100644
index 0000000..1e9fbd6
--- /dev/null
+++ b/obj/tools/MGtool/man.d/xwho
@@ -0,0 +1,17 @@
+SYNOPSIS
+      xwho [mail|ip|race|guild|domain|stats|cmdavg]
+
+DESCRIPTION
+      Without any argument this command behaves like the normal people
+      command. With the argument "mail" it will list all players with their
+      email address. With the argument "ip" it will list all players with
+      their host name and ip number. If the argument is "race" or "guild"
+      you will get a list of all players with these attributes. "domain"
+      will show the domain(s) of the current players. And with "stats" it
+      will print some stats information of all players.
+      The argument "cmdavg" list the value of _query_command_average()
+      for every user sorted in increasing order.
+
+EXAMPLES
+      xwho
+      xwho ip