mudcore-1.4/
		MudCore Version 1.4 (Public Edition)

This is the MudCore Database Package, intended for use with TinyMUSH
3.0 and beyond. It expects the player_name_spaces configuration
directive to be turned off.  It is currently being maintained by
Amberyl, who can be contacted at lwl@godlike.com; any problems/bug
reports/improvements should be reported to her.

This is a starting database of fifty-five objects (#0 to #54). It
includes most basic core systems and globals that might be useful on a
MUSH, particularly a MUSH oriented towards roleplaying.

I wrote the code for most of this, with a few exceptions; not all of the
concepts are original, so credits are given below where appropriate.

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

COPYRIGHT NOTICE

Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
              2003, 2004, by Lydia Leong.

This software may be freely copied, distributed, utilized, and modified,
subject to the following restrictions:

1. Any use of the material in this package, save for the Places and Mail
   code, must contain the HELP_MUDCORE (accessible via '+help mudcore')
   message within the game. Any redistribution of this package must 
   contain this copyright notice in full.

2. Users of this software agree to make their best efforts
   (a) to return to the author any improvements or extensions that they 
       make, so that these may be included in future releases; and
   (b) to inform the author of bugs encountered in this software.

3. All materials developed as a consequence of the use of this software
   shall duly acknowledge such use, in accordance with the usual standards
   of acknowledging credit in academic research.

4. The author has made no warrantee or representation that the operation
   of this software will be error-free, and the author is under no 
   obligation to provide any services, by way of maintenance, update,
   or otherwise.

5. No part of this software may be distributed on any published collection
   of software (such as on a CD-ROM of shareware), nor may any portion of
   the code be published in a medium other than that which is freely
   accessible electronically, nor used on any MUD run for-profit,
   without obtaining prior permission from the author.

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

INSTALLATION

MudCore is a starter database, not just a collection of globals.  When
you unpacked this package, you should have received a mudcore.conf
file, and a file with a .flatfile extension (something like
mudcore-1.4.flat; we'll use this name for the examples here).

Set up TinyMUSH 3.0 or 3.1 as a new installation, following the
directions included there. Choose a one-word name for your game (we'll
use "MyMUSH" for an example here), and change GAMENAME in the file
'mush.config' to that name. Rename mudcore.conf to MyMUSH.conf (or
whatever you called your game).

Now, go into the game directory, and use './Restore mudcore-1.4.flat'
to load the database.

You should then be able to use 'Startmush' to start the game. There
are eight existing players. Three of them are wizard characters:
Wizard (the God character, password 'potrzebie'), Tinker (the
globals-owner wizard, password 'potrzebie'), and MailAdmin (the
mail system owner). Three characters are used by the Guest system.
The two remaining characters, Four and Six, can be @newpassword'd
to whatever you like.

The objects in the Master Room are in a specific order, in order
to take advantage of the STOP flag; the globals most commonly
used are at the "top" of the master room. You should not arbitrarily
change around the order of these objects.

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

WHAT'S IN THIS PACKAGE?

Ambience:  This system is used to trigger off "ambient" messages in rooms,
in some reasonably efficient manner. It is based on a concept originally
developed by Mark Grundy (Meg@AmberMUSH).

Authorization System: Handles locking and other permission-checking
tied into groups, through the use of "authorization lists". It's
integrated with the org system (see below), and is used by a number of
other systems in this package.

Bulletin Board:  This is a basic global bulletin board. It supports
multiple bulletin boards, with permissions done with authorization
lists.

Descer: This is a customizable, very powerful global descer. The
interface is complex, though the generic back-end makes it possible to
write arbitrary front-ends to the system.

Doors: Door locking and unlocking, to simulate groups of people with
keys, using authorization lists. There is a door parent (#44) for the
inheriting of default messages.

Editor: An attribute editor, similar to the editor used for +mail. It
allows the entering of text without parsing, so percent-signs and the
like do not get eaten.

Exits: A global exit that fakes the existence of cardinal-direction
exits, allowing one to easily do things like, "The desert stretches
endlessly to the north." without having a real 'north' exit.

Local Help:  This is a local help system for individual areas. It is 
based upon code and concepts by Mark Grundy.

Login Monitoring:  Members of the Login Monitoring org are automatically
notified when someone connects or disconnects.

Mail:  This is a global mail system, in the tradition of +mail systems
begun by Jon Kull (F'jon@PernMUSH). It makes extensive use of the improved
"look and feel" designed by Carol Gaupp (Brandy@CrystalMUSH), but all 
code is original.

Meta-Rooms:  Temporary room-generation code that incorporates randomized
elements into a name and description.

New Player Room:  Manages new players, setting them up with basic
attributes, not allowing them to leave the initial room without
certain things set. Members of the Staff org are notified when 
a player connects for the very first time.

Organization ("Org") System:  Manages "factions", "groups", etc.
Incorporates a general data-storage system with a chat system.
Extremely flexible and customizable. There are three default 
orgs, one for Wizards, one for Staff, and one for Login Monitoring.

Parent Room:  There is a global parent room (#50) which pretty-prints
and formats room descriptions for views and places, among other things.

Places:  This is a "virtual places" system, whose most obvious use is
simulating tables in a room. The code was originally written by
Jeff Vance (formerly Drake@AmberMUSH, Sh'dow@PernMUSH), and then
extensively bugfixed by Mark Grundy. I have since improved it in 
functionality and efficiency.

TrueNames:  People can use "fake names" that show up in says and poses,
as well as the room description.

Watches:  This is a system which allows rooms to be watched, as if
one had a puppet there, without needing to have an object in the
room. Other players can see who's watching, of course, but it allow
people to keep an eye on something like the MUSH's main chat room
without cluttering it with puppets. It is tied into a '+go' system
that allows one to teleport between locations identified with
aliases, if the authorization lists allow one to do so.

Webster:  An interface to the Webster robot is supported, through the
+spell command and +request command (which requires the modified Webster
with character creation code).

WizTools:  This is a collection of useful commands for wizards: 
+addcomment to stamp a signed and dated note into something's @comment
attribute (based on code by Chris Siebenmann), +brief to quickly list 
numeric data for an object, +lcon and +lexits to get the contents and 
exits of objects. This tool also manages MOTDs across restarts, based
on code by Tim Poe (T'nor@SouCon).

+awake:  This is an improved softcoded version of the @sweep command.

+check:  This checks an item for missing attributes. It is based upon
a concept by Ken Bartlett (Kynn).

+compass:  This displays various types of compasses. It is based upon
concepts and code by Kynn. It also includes Pandora's compass formats.

+decompile:  This is a softcoded version of the @decompile command
is not subject to the 16K output limit, so very large objects may
be decompiled.

+details and +view:  These commands provide additional information about
objects and rooms, allowing extension of descriptions without spam.
Based off models and code bits by: John Batzel (Tiercel@PernMUSH), 
Joshua Bell (Tash@NarniaMUSH), and Laura Burchard (Air@TooMUSH).

+finger:  This provides information about a player. Its format is highly
configurable.

+grep and +lattr:  These search and list attributes, respectively.

+info:  This provides basic information about a player. (This was the
+finger command in MudCore 1.1.)

+idle, +who, +where, +3who:  Commands to display idle times and locations,
in varying formats.

+inspect, +scope, +size, +sizeall:  Building-inspection and related
database-control commands.

+knock:  "Knock" on a door. Based on code and concepts by Mark Grundy.

+last:  Display the last login/logout times of players.

+margins:  Format a block of text with specified margins.

+mutter:  Mutter something to someone, which is shown to the room with bits
and pieces cut out of it. Based on concepts and code by Mark Grundy and
Joshua Bell.

+mvattr:  This command moves attributes between objects.

+online:  Allows players to register times that they are online, and
then provides a way to find overlaps in player availability.

+pairs:  Locate errors in parentheses/braces/bracket matching.

+scan:  Look for where $commands are getting matched.

+selfboot:  Boot off all but your most recent connection.

+shout:  "Shout" a message, so that people in the ajoining rooms can
hear it.

+sizeall:  Figure out how much database space a player is taking up.

+tidy:  Sweep disconnected players and puppets from a room.

+uptime:  List the game uptime.

+wizards:  List on-line wizards.

+zoom: Shortest-path automatic movement and direction-finding code.

+3look:  Display room contents in a 3-column format.

mp:  Multi-page, in a format which closely mimics normal MUSH page (close
enought that client hilites should work the same way for both).

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

REVISION HISTORY

04/16/95   Began MudCore project from the Academy MUSH database and what
           would eventually become Pax Magica.

04/25/95   Initial MudCore database finalized.

03/20/96   MudCore 1.0 released privately.

04/28/97   MudCore 1.1 frozen for public release.

08/31/99   MudCore 1.2 frozen for private release. TinyMUSH 3.0-based.

08/31/04   MudCore 1.3 released to the public.

09/14/04   MudCore 1.4 released to the public.

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