[415] in Coldmud discussion meeting

root meeting help first previous next last

[FAQ] ColdMud FAQ Version 0.0.1

daemon@ATHENA.MIT.EDU (Sat Sep 17 12:13:47 1994 )

From: image@expert.cc.purdue.edu (Jeff T.P.)
To: coldstuff@MIT.EDU
Date: Sat, 17 Sep 94 11:09:58 EST

This is a very preliminary FAQ about coldmud.  I let lynx format the
HTML file.  Anyone have a good place for me to stash the HTML version?

                           COLDMUD FAQ VERSION 0.0.1
0. Table of Contents

     * 1. Introduction
          + 1.1. Introduction to ColdMud
               o 1.1.1. ColdMud Server Development
                    # ColdMud's History
                    # ColdMud's Present
                    # ColdMud's Future
               o 1.1.2. ColdMud Core Development
                    # ColdMud Cores' Past
                    # ColdMud Cores' Present
                    # ColdMud Cores' Future
               o 1.1.3. ColdMud Servers Online
                    # Robert de Forest's FrozenApples ColdMud
          + 1.2. Where to get ColdMud Servers & Cores
               o 1.2.1. ColdMud Servers
               o 1.2.2. ColdMud Cores
     * 2. Answers to Frequently Asked Questions
          + 2.1. What advantages are there to the yet unimplimented
            "private methods?"
     * 3. ColdMud FAQ Credits & Contact Addresses
          + 3.1. ColdMud FAQ Credits
          + 3.2. ColdMud FAQ Contacts
     * 4. History
1. Introduction

    1.1.1. ColdMud Server Development
  ColdMud's History _[RdF]_
   Versions through 0.11.0 were written by Greg Hudson. Version 0.10.0
   was his last official release, and the last documented server. Patches
   were once available to fix several bugs and add a function for testing
   method tick usage. Version 0.11.0 had more internal than external
   changes. The external changes were a change in the return of
   traceback() to a list of lists instead of a list of strings (so
   traceback formatting could be performed in-db), the removal of
   error_str() and error_arg() (because they are included in
   traceback()), and the removeal of the functions dict_add_elem() and
   dict_del_elem() because they are easily implemented in-db with
   dict_add(), dict_del(), dict_contains(), setadd() and setremove().
   Greg didn't quite finish 0.11.0, but Colin McCormic kindly finished it
   for him. I applied the patches for version 10 to this source,
   resulting in what has been passed around as 0.11.4. This version is
   "stable" except that its binary-db storage seems to be broken and it
   may hang at random on Linux boxes.
 ColdMud's Present _[RdF]_
   Jordan Baker took my copy of 0.11.4 and added suspend(), resume(),
   tasks(), cancel(), and callers() to it, resulting in a VERY-BETA
   0.12.0. He also changed the message_op funtion to make (x).foo()
   syntactically equivalent to get_name(type(x)).foo(x) for all
   non-obj/non-frob x. This means that [1,2].reverse() => [2,1] if
   $list.reverse() does what its name implies.
 ColdMud's Future _[RdF]_
   Colin McCormic has been publicly secretive about what his plans are.
   They seem to be re-writing the server from the ground up in C++, but
   being textdump compatible with 0.11.0. He has also hinted at
   multi-threading, and has shown interest in supporting distributed dbs.
   Jordan Baker continues to do server hacking. He and others are trying
   to find and squash the bug which is causing the server to hang on
   linux machines. He also plans to add floating-point support. There has
   been talk of adding more attributes to methods besides
   "disallow_overrides", specifically "private" and "instance_only". The
   first has been successfully added to 0.12.0, but was removed because
   Jordan didn't trust the changes bug-wise. He also isn't yet convinced
   that it is a Good Thing (tm).
   Private methods are "invisible" to other calling objects. They have
   the same accessability as object parameters. In the test
   implementation, ".foo();" caused only the object defining the current
   method to be searched for a method named 'foo. If found, foo() would
   be executed, otherwise the server would throw a ~methodnf error. If
   another object tried to access the method it would not be there, and
   the method search would continue at the next parent.
   I believe Jordan has plans of re-writting in C++ and/or adding
   threading to the server some time after the next official release.
    1.1.2. ColdMud Core Development
  ColdMud Cores' Past _[RdF]_
   Worlds 0.1 through 0.6 were available with various releases of the
   server. World-0.6 will not run under 0.11.0 without changes, but the
   changes are simple and obvious with the manual and the above info in
   hand. None were very complete by most people's standards, as they do
   not support a help system, mail, editors, aliases, pronoun
   substitution, or a bunch of other features considered to be necessary
   in any MUD core. They do however provide the platform from which all
   cores that I know of developed.
   AbsoluteZero was a core being developed by Jordan Baker and some
   associates of his, until he lost net access. It has a help system of
   sorts, pronoun substitution, and some other bells and whistles, but is
   a very incomplete attempt due to being a work in progress interrupted
   TheColdDark was a core developed by Brandon Gilespie_(sp?)_ and others
   including Robert de Forest for a while. It was much better fleshed out
   than world-0.6, but was very messy, owing to a lack of dirrection and
   agreement on the part of the developers.
 ColdMud Cores' Present _[RdF]_
   FrozenApples is the core I have been working on since I left tCD. It
   provides little funtionality over world-0.6, but includes a re-written
   IO object system, and @d command, and a LOT of general cleanup/util
   writting. It is anything but done.
   tCD is available, and in the state described in a previous post by
   Brandon himself.
   AbsoluteZero is available, but not in a distributeable state.
 ColdMud Cores' Future _[RdF]_ _[JTP]_
   FrozenApples is on hold until I finish a project with Jordan. When we
   are done with that, we will start a serious effort which should result
   in a top-notch core within a month of starting. User-command level
   functionality will not be significantly increased, but the structure
   and design of the core will be as complete as they come, and will
   include pronoun substitution, better IO handling, an events system,
   and many other compnents sorely lacking in world-0.6.
   tCD seems to be dead, as Brandon has pressed on to other things and
   everyone else has either gone back to MOO or is working on the new
   Abs0 is being incorperated into FrozenApples.
   RyouKold, a core being developed by Jeff T.P., has been on the
   programmer's table for a few months now. It's programmed from the
   ground up, borrowing ideas from World 0.6. RyouKold is still in it's
   infancy, but with many bells and whistles (which is slowing down the
   development, of course). Release date is expected to be Spring of
    1.1.3. ColdMud Servers Online
  Robert de Forest's FrozenApples ColdMud _[RdF]_
     "I am running a version of FrozenApples on 0.12.0 of the server that
     has a HUGE security hole. There are also many disgusting, sloppy,
     irritating, and otherwise stupid bugs in it. However, if you need a
     site to go to to research cold, you may come to sequoia.picosof.com
     / 6666. I make no guarentee of any kind. Save your work locally if
     you value it."
    1.2.1. ColdMud Servers _[RdF]_
   ColdMud Server Version 0.10.0 is available at:
   ColdMud Server Version 0.12 _[WARNING: VERY BETA!]_ is available at:
    1.2.2. ColdMud Cores _[RdF]_
   World-0.6 is available at:
   FrozenApples is available at:
2. Answers to Common Questions

   Private methods have two advantages. The first is that the lookup for
   a private method call only searches one object, as opposed to
   potentially all the ancestors of this(). The second advantage is that
   it provides a programmer with a way to be sure that "sender() ==
   this() && caller() == definer()" because obj:foo() is a syntax error.
   This is a common perms check in any method which is shared by multiple
   interface methods, for example. That is, the private flag on methods
   provides a simple and efficient tool for enforcing an object's
3. ColdMud FAQ Credits & Contact Addresses

   This FAQ was originally prepared as a rather Impromptu FAQ by Robert
   de Forest. Jeff T.P. took over the FAQ after that first version.
     * _[RdF]_ Robert de Forest
     * _[JTP]_ Jeff T.P.
4. History

     * Version 0.0.0 - Written by _[RdF]_. September 15, 1994.
     * Version 0.0.1 - Maintained by _[JTP]_. September 16, 1994.
World Wide Web URL: http://www.mps.ohio-state.edu/cgi-bin/hpp?jefftp.html