/
umud/DOC/
umud/DOC/examples/
umud/DOC/internals/
umud/DOC/wizard/
umud/MISC/
umud/MISC/dbchk/
umud/RWHO/rwhod/
How To Start An UnterMUD
------------------------

I'm assuming you've already compiled everything. If not, and you're planning
to later, skim read this first, go compile mud, then come back and read
this again and pay attention. Also, read the "necronomicon" carefully,
since there's a lot of gookey details hidden in there.

First off, you need a database. UnterMUD comes with a minimal database 
consisting of a sysobj (system object), wizard, and room 0 (limbo). 
The file holding this is DB/minimal_db.oif. Alternately, if you have a
vanilla TinyMUD database (decompressed), you can use the OIFextract
program (MISC/OIFextract) to convert the TinyMUD database into OIF. (It
may be possible to use other Tiny* databases with OIFextract, but don't
expect it to work; OIFextract simply throws away anything it doesn't 
understand.) 

UnterMUD can use several different databasing schemes. Probably the
most common used one so far is ndbm. UnterMUD also knows about gdbm,
old dbm (ndbm is new dbm, obviously), and hash directories. Using
hash directories probably takes the most disk space, since you have to
have one file per object, and 11 directories to store them in. However,
the hash files are all in ascii, so you can edit your database with you
favorite editor a lot easier (although this is discouraged.)  You should
have picked in config.h which databasing scheme you are going to be using.
Next you need to know how to load up your OIF database.

The loaddb command (DB/loaddb) is used for translating raw OIF files into
whatever databasing format you choose to use. If you're using dbm or ndbm:
	loaddb -d -i <OIF input file> -f <database name>
For gdbm, use -g instead of -d, and for hash directories, use -h instead of
the -d option. This will automatically create database files that UnterMUD
will happily read. (You need to be sure and tell UnterMUD where your 
database is called, in DB/config.) 

Loaddb should say something like "stored 3 objects". If it doesn't, and
something that looks suspiciously like an error message appears, make
sure you gave it the correct options and told it exactly where all the
files are. If you still can't figure it out, ask someone who runs an UnterMUD.

Now edit the files DB/config and DB/startup (you might want to make backup
copies of these files for reference later). These files are fairly well
commented, and shouldn't be too hard to figure out. Once you've got things
like you want them, you're ready to run the mud. Syntax is simply:
	mud -c <config file> -s <startup file>
If you compiled with the DAEMON option, your prompt should return after
just a few seconds. Otherwise, you may want to background the process 
when you start it up. 

That's it. Connect to whichever port you designated (default is 6565).
You probably want to log into 'wizard' first. The character with the
object id of 'wizard' is special, since it cannot be transfered off 
of the mud. If you're using minimal_db.oif, use the wizard character
to create any new characters you want, set wizard bits on your wizards,
then log out of 'wizard', and don't use it again unless you have to.
You don't want 'wizard' to leave your mud (it can't, really), and it's
more of a utility character than something you'd want to use as an
actual character.

One other thing you might do is to make use of the _wizard command.
In order to set this up, you need to give sysobj a password
(_wizard password "" <newpassword>), then add to its wizardlist
those characters who are allowed to have wizard bits. (You do that with
'set sysobj wizardlist +<playerOID>'.) Be sure to change the 'wizard'
character's password, and then either hide it in a closet somewhere, or
remove it from the player list of a room and remove its location, so it's
floating in nowhere. Only people who are in the wizardlist on sysobj may
turn their wizard bits on and off, and no one can de-wiz the 'wizard'
character unless they can find it, since 'wizard' is not a valid object
id in unter. 

If you used minimal_db.oif as your starting database, the password for
wizard is seaotters. If you used OIFextract to make your database, the
password for wizard is potrzebie.