TinyMUX 2.0: NOTES
Last Update: April 2000

This is a list of information that never seems to be handy enough when you 
need it.

Handy Stuff:
~~~~~~~~~~~
 - The default password for Wizard(#1) is 'potrzebie'.
 
 - For new games, change the password to #1 first thing and *write it down* 
   in a safe place offline.  
 
 - It is worth noting that keeping a record of changes in the #1 character 
   password might save you some flatfile hacking for forgotten passwords.
 
 - The default port has been changed to 2860.  Change this in the 
   netmux.conf or GAMENAME.conf file.
 
 - Always be sure to ftp files in 'binary' mode.  Otherwise, you can expect 
   your data to be unusable.
 
 - Default GAMENAME will be netmux. If you changed the GAMENAME in 
   mux.config, be sure to change the filenames in GAMENAME.conf as well.  
   The MUX won't be able to find your DB otherwise.
 
 - Read 'wizhelp config parameters' when you get the MUX started. If you 
   are porting from PennMUSH, for example, where the master room is set 
   as #2, you would have to place the config parameter 'master_room 2' in 
   your configuration file.
 
 - Database numbers in GAMENAME.conf should NEVER have '#' in front of
   them, only the number itself is necessary.  '#' actually comments out 
   what follows it and makes it invisible to the game.
 
 - If you had a mail database previously, remember to adjust 
   mail_expiration accordingly, or else ALL @mail older than the default 
   value of 14 days will be deleted.
 
 - If you do not want to use the built-in +help command, redefine 
   PLUSHELP_COMMAND in config.h to be something else.
   
 - 'Backup' has superceeded the traditional use of db_unload for making 
    flatfiles.  The script makes a flatfile of the DB and also creates a 
    tar.gz file containing the mail,db, comsys.db, configuration files, 
    and the customized files in game/text.  When porting, all you have to do 
    is place the backup in the game directory, extract the archive and db_load 
    before restarting the game.
    
Changes to dbconvert:
~~~~~~~~~~~~~~~~~~~~
 - One of the major and important changes to MUX 2.0 is the use of CHash 
   in the place of GDBM.  You will notice the changes primarily in the way 
   dbconvert and the db_unload and db_load scripts work.  
 
 - dbconvert is the means by which the binary game data is converted to 
   flatfile format and back again.  The db_load and db_unload scripts 
   simplify the process for the user. 
 
 - The syntax of the scripts is:
   
   - './db_load netmux netmux.flat netmux.db'
     
     This converts flatfiled database to binary for use by the server and 
     would be done with dbconvert thus:
     
     ../bin/dbconvert netmux X < netmux.flat > netmux.db
   
   - './db_unload netmux netmux.db.new netmux.flat'
     
     This converts binary data to flatfile for would be done with dbconvert 
     thus:
     
     ../bin/dbconvert netmux x < netmux.db.new > netmux.flat


On Flatfiles:
~~~~~~~~~~~~
 - You MUST unload to flatfile if you are using a disk-based database when
   you move to a new machine, no matter what platform; only the flatfile is
   portable!
 
 - When you unload the database to flatfile format it is important to 
   use your original db_unload/dbconvert.  *We cannot stress this enough.* 
   Data loss is possible, especially since db_unload/dbconvert sometimes 
   changes between releases.
 
 - Flatfiles are the most stable format to store and move your data in.  
   Yes, the occasional miracle happens to let someone bring a game back 
   up from binary data moved from the nether regions of the net.  However, 
   this isn't the place for beginners or the faint of heart.  As always, 
   store backups in a remote location. 
 
On Making Backups:
~~~~~~~~~~~~~~~~~
 - MUX 2.0 has included a TinyMUSH-style backup script.  This is a new 
   feature added to make backing up your data as easy as it has been for
   TinyMUSH users.  It produces a flatfile with the name 
   GAMENAME.DATE.tar.gz that contains both the mail.db and comsys.db which 
   will appear in the game directory. To make use of the Backup script:
     
     - @shutdown the game.
     
     - cd to the game directory.
     
     - Type './Backup'
     
     - Restart the game using ./Startmux
     
     - Move the backup to onsite and offsite storage locations.
   
On Tools:
~~~~~~~~
 - announce.c sits and listens on a specified port.  Whenever anyone 
   connects, it announces a message and disconnects them.
 
 - You should create a message and call the file 'message_file'.  This will 
   server as your announcement to people trying to connect.
 
 - Compile announce.c by typing 'gcc announce.c'.  If you are not using the 
   GNU compiler, substitute the C compiler in use on your system.  This 
   will create a file called 'a.out', which you should rename 'announce'
 
 - Type 'announce port < message_file' and the port announcer will take 
   over from there.
 
On Other Platforms:
~~~~~~~~~~~~~~~~~~

We are trying hard to conquer build issues on various platforms.  Current 
attention has been devoted to various flavors of Linux, HPUX, IRIX, 
and others.  Listed below are OS which we have managed to get MUX 2.0 to 
run and the modifications needed to make it run.

- RH 5.2:   edit ./configure, search for 'errno.h' and immediately after 
  it add 'errnos.h'.(From Soruk)