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. ----------------------------------------------------------------------------