tinymush-3.0b21/game/bin/
tinymush-3.0b21/game/data/
tinymush-3.0b21/src/tools/
INSTALLATION

TinyMUSH 3.0 should be straightforward to install and run.

The installation process assumes that you are familiar with basic Unix
commands. If you are not familiar with basic Unix commands, you will
probably need the help of someone with at least some Unix familiarity,
in order to be able to reliably run your game. Also, your local
bookstore can probably recommend some good books for Unix beginners,
such as "Unix for Dummies" or "Unix for the Impatient".

----------------------------------------------------------------------------

ONE-STEP INSTALLATION

If you want to build the server using the standard default configuration,
just type:

./Build

(You must be in the directory that this INSTALL file is in.)

When the build finishes, assuming there are no errors, you are ready to
start a new MUSH, or convert an existing MUSH to TinyMUSH 3.0.

----------------------------------------------------------------------------

BASIC INSTALLATION

If you decide not to use the one-step install, or you encounter problems
in the one-step install, the installation process is as follows:

- Go to the top-level directory (the directory where this INSTALL file
  is normally located).

- Go into the directory for GNU dbm; 'cd src/gdbm-1.8.0' should take
  you there.

- Type './configure --enable-shared=no --enable-static=yes', then type
  'make' . This will compile the GNU dbm library, which is required by
  TinyMUSH 3.0.

  Please Note: TinyMUSH 3.0 requires gdbm-1.8.0! If gdbm is already
  installed on your system, chances are that it's version 1.7.3 or
  earlier -- do NOT ignore this step.

- Go back to the src directory ('cd ..').

- Run the configure script, by typing './configure'. This will customize
  autoconf.h and the Makefile for your system. If you have gcc (the GNU C
  compiler) installed on your system, it will automatically be selected
  as the compiler of choice.

- Edit the Makefile and make any changes that might be necessary (go down
  to the line that says 'CONFIGURATION SECTION'). See the notes on
  Compatibility, later in this file, for some operating-system-specific
  notes and modifications that might need to be made that are not
  handled by the configure script.

- Edit config.h and select the configuration options you want. The options
  are documented in that file.

- Type 'make depend', then 'make'. This should produce a number of
  binaries, and link them into the appropriate place in the directory
  structure.

- You are now ready to start a new game, or convert an existing game to
  TinyMUSH 3.0.

----------------------------------------------------------------------------

STARTING A NEW GAME

- Go into the game directory ('cd game' or 'cd ../game' should do it).

- Edit mush.config, according to the directions in that file.

- If you changed GAMENAME in mush.config, you will need to rename
  netmush.conf to the appropriate thing (i.e., if GAMENAME is foo,
  then you should 'mv netmush.conf foo.conf').

- Edit that conf file (netmush.conf, or whatever you renamed it to).
  Put in whatever configuration parameters are appropriate.

- Start the game by typing './Startmush'.

- Connect to the game using telnet or a MUD client. Log in the "God"
  character with 'connect #1 potrzebie'.

- Change the password of the God character; make sure you make it something
  that you can remember, but which can't be guessed by someone else!
  Type '@password potrzebie = YourNewPassword', where YourNewPassword
  is the new password that you've chosen.

- You are now ready to build your game. It is strongly recommended that
  the God character only be logged in when absolutely necessary; create
  another character for yourself and give it the Wizard flag, for day
  to day use.

- You may want to make sure that you can back up and restore your database:
  Type '@shutdown'. Then, from the game directory, type './Backup'. If the
  backup finishes successfully, type './Restore FILENAME' (where FILENAME
  is the name of the backup file). If this finishes successfully, then
  type './Startmush' to start the game again.

  If you encounter problems at this stage, you have an installation
  problem. The most common is a problem with GNU dbm; this is likely
  the cause if you @shutdown, type './Startmush', and find that the
  attributes in your database are gone. If this happens to you, check
  your configuration and rebuild the netmush and dbconvert binaries,
  if necessary.

----------------------------------------------------------------------------

CONVERTING AN EXISTING GAME

If you are upgrading from TinyMUSH 2.2, read the file 'CONVERT.TINY22'
for instructions.

If you are upgrading from TinyMUX, read the file 'CONVERT.MUX' for 
instructions.

----------------------------------------------------------------------------

COMPATIBILITY

TinyMUSH 3.0 is believed to be compatible with all major versions of
Unix, including SunOS 4.1.x, Solaris, Irix, AIX, HP-UX, NetBSD, and
Linux. There is no official Windows NT port, at present.

The frequent releases of new Linux versions, the proliferation of
multiple Linux development paths, and the incompatibility between
multiple versions of the C header files and GNU C library incorporated
into most current versions of Linux, make it very difficult to
maintain "out of the box" 100% compatibility with every version of
Linux. If you are on a Linux system, it is possible that you will
need to make minor tweaks to the Makefile and/or autoconf.h,
particularly if you are running a Linux release more recent than
the release date of this server version.

There is a known problem with gcc on 64-bit operating systems,
including Irix 6. gcc fails to correctly pass structures of less than
16 bytes which are not exactly 8 bytes, padding those structures on
the wrong end; this affects the inet_ntoa() call, which relies on such
a structure. If you compiled using gcc, and find that all hostnames
are resolving as '0.0.0.0' or '255.255.255.255', this is what's
broken. Add a '-DBROKEN_GCC_PADDING' to the Makefile, or the line
'#define BROKEN_GCC_PADDING' to autoconf.h, and recompile.
Also, Irix may need HAVE_SRANDOM manually defined in autoconf.h --
for some reason, autoconf doesn't detect this properly.

If you find that you need to make modifications to anything in order
to compile successfully, the developers would like to know about it.
Send email to tinymush-support@godlike.com with the output of the
broken 'make' attempt, and a list of what you did to fix it.

----------------------------------------------------------------------------

SYSTEM REQUIREMENTS

The hardware requirements are minimal, by the standards of modern Unix
servers.  You will need a machine with at least 16 MB of physical RAM,
and at least 10 MB of available disk space for the game.

The RAM requirements (actual RAM used) typically vary between 2 and 15
MB; unless your game is huge (more than 50,000 objects), cache tuning
should ensure that you do not consume more RAM.

The network bandwidth needs are minimal; even with a very large MUSH,
it is unlikely that you will pass more than 25 kbps. The average MUSH
user transfers fewer bytes in an entire session, than does someone
viewing a single typical web page.

However, if you plan to run your game over an analog dialup connection
(typically 14.4 kbps - 56 kbps), be aware that latency will affect the
number of commands that have queued up interactively over a given
timeslice, and that you should increase the queue_active_chunk config
parameter.

It is important that you allocate enough disk space; should you ever
run out of it, you will end up with serious database corruption. If
your disks are close to capacity, make sure that you do frequent
backups.

There are no significant security concerns involved in running a MUSH
on a server, save for possibly increasing its "visibility" on the Internet
and therefore making it the target of more attempts to breach the
system's security. The MUSH server can run comfortably in a chroot'd
environment, and does not provide any players with access to the
filesystem or underlying system.

Nonetheless, you should also obtain the consent of your systems
administrator before running a MUSH on a system. Virtually all
Internet service providers ban the running of MUDs on their shell
machines. Therefore, you will probably need either a MUD hosting
service or a personal server, if you plan to run a public game.