TinyMUX 2.6: INSTALL
Last Update: January 2008

Please note that there are two sets of instructions included in this
file.  Please skip to 'Instructions for Existing Games' for how to
upgrade your server or to compile in preparation for moving an existing
game.


Instructions for New Installations:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1.  cd src/ to the source directory.  Run './configure'.

    This will customize autoconf.h and Makefile for your system.  Optional packages
    are documented separately and enabled with the following configuration options:

      --enable-firanmux     For use by FiranMUX.  Not recommended generally.
      --enable-memorybased  See docs/MEMORY.
      --enable-realitylvls  See REALITY and REALITY.SETUP.
      --enable-wodrealms    See docs/REALMS.
      --enable-deprecated   Enables deprecated features.

2.  Edit the Configuration section of the Makefile.  This is usually
    not needed.  Most likely, all you will need to change are any C++
    flags needed by your particular C++ compiler, (in particular
    -fpcc-struct-return), and any esoteric libraries needed by your
    system.  There may also be some #defines in config.h that you may want
    to change, but in general, the defaults should not be changed.

3.  Run make depend, then make.  This will produce netmux, slave,
    and dbconvert.

4.  When starting from a TinyMUX from scratch, do the following:

      - cd to the game directory.  'cd ../game'
      - Make your configuration file, as described in docs/CONFIGURATION
      - Type './Startmux'.  TinyMUX 2.6 automatically creates a minimal
        DB if one does not exist in the game/data directory.
      - Log into the game as player wizard 'connect wizard potrzebie',
        and shut it down again.

5.  Edit the .txt files in game/text to your liking.  In particular,
    connect.txt and motd.txt.

6.  Start up TinyMUX 2.6 by running './Startmux' again.

7.  @ccreate a channel named 'Public', and a channel named 'Guests' from
    within the TinyMUX.  Created players will automatically be joined to
    'Public' with alias 'pub', guests will automatically join 'Guests' with
    alias 'g'.


Changes to dbconvert:
~~~~~~~~~~~~~~~~~~~~

 - 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 a flatfile database to binary for use by the server and
     would be done with dbconvert thus:

     ../bin/dbconvert -dnetmux -inetmux.flat -onetmux.db -l

   - './db_unload netmux netmux.db.new netmux.flat'

     This converts binary data to flatfile for would be done with dbconvert
     thus:

     ../bin/dbconvert -dnetmux -inetmux.db.new -onetmux.flat -u


Instructions for Existing Games:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[NOTE: It is HIGHLY recommended that you preserve a previous setup if
you can, to make conversion a bit less painful.  If you had one while
converting, make sure the conversion process has completed successfully
before you delete your old distribution.  We cannot stress enough to
you the importance of protecting your data throughout any conversion
or upgrade.]

1.  cd src/ to the source directory.  Run './configure'.

    This will customize autoconf.h and Makefile for your system.  Add
    the option '--enable-wodrealms' to enable WOD Realms (See
    docs/REALMS).  Add '--enable-memorybased' to enable Memory-Based
    database handling (as opposed to the default disk-based database
    handling.  See docs/MEMORY).

2.  Edit the Configuration section of the Makefile.  This is usually not
    needed.  Most likely, all you will need to change are any C++ flags needed
    by your particular C++ compiler, (in particular -fpcc-struct-return), and
    any esoteric libraries needed by your system.  There may also be some
    #defines in config.h that you may want to change, but in general, the
    defaults should not be changed.

3.  Run make depend, then make.  This will produce netmux, slave, and
    dbconvert.

4.  - Put databases in game/data.

    - Put text files in game/text.

    - The scripts db_load, db_unload, and db_check may be found in the
      game/data directory.

    - If you changed the GAMENAME in mux.config, be sure to change
      the filenames in GAMENAME.conf as well.

    - If you had a mail database previously, adjust mail_expiration
      accordingly, BEFORE you restart the game, or else ALL @mail older
      than the default value of 14 days will be deleted.

5.  Start TinyMUX 2.6 by running './Startmux'.
