[648] in Coldmud discussion meeting

root meeting help first previous next last

[ColdMud] The ColdMud FAQ 0.1.0, Jan-31-95

daemon@ATHENA.MIT.EDU (Wed Feb 1 06:55:15 1995 )

From: image@expert.cc.purdue.edu (Jeff T.P.)
To: coldstuff@MIT.EDU
Date: Wed, 1 Feb 95 6:50:49 EST

Here's the FAQ.  It's also available from my HomePage using the URL:
http://expert.cc.purdue.edu/~image/ColdMudFAQ.html

Brandon, I'll leave it to you to grab is from there and put in on the 
Cold Mud Server.

If something is wrong, or you have something to add, mail me.  It'd be 
helpful to have more info to put in here.  (I'm having lots o' trouble 
figuring out what to pull from the old mail, since I really don't know 
what anyone is doing.  So if you're doing something ColdMud-important, 
tell me.)


                           COLDMUD FAQ VERSION 0.1.0
                                       
0. Table of Contents

     * 1. Introduction
          + 1.1. Introduction to ColdMud
               o 1.1.1. ColdMud Server Development
                    # 1.1.1.1. ColdMud's History
                    # 1.1.1.2. ColdMud's Present
                    # 1.1.1.3. ColdMud's Future
               o 1.1.2. ColdMud Core Development
                    # 1.1.2.1. ColdMud Cores' Past
                    # 1.1.2.2. ColdMud Cores' Present *!*
                    # 1.1.2.3. ColdMud Cores' Future *!*
               o 1.1.3. ColdMud Servers Online
                    # 1.1.3.1. FrozenApples ColdMud *!*
                    # 1.1.3.2. The Cold Dark ColdMud *!*
               o 1.1.4. Other Servers Related to ColdMud *!*
                    # 1.1.4.1. LambdaMOO Server *!*
                    # 1.1.4.2. Absolute Reality Server *!*
                    # 1.1.4.3. ColdX *!*
          + 1.2. Where to get ColdMud Servers & Cores & Info *!*
     * 2. Answers to Frequently Asked Questions
          + 2.1. What advantages are there to the yet unimplimented
            "private methods?"
          + 2.2. Is there an error in the ColdMud 10.3 manual about how
            to represent buffers? *!*
          + 2.3. How does inheritence works? *!*
     * 3. ColdMud FAQ Credits & Contact Addresses
          + 3.1. ColdMud FAQ Credits
          + 3.2. ColdMud FAQ Contacts
     * 4. History
       
   
     _________________________________________________________________
   
1. Introduction

  1.1. INTRODUCTION TO COLDMUD
  
    1.1.1. ColdMud Server Development
    
      1.1.1.1. 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.
   
      1.1.1.2. 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.
   
      1.1.1.3. 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
    
      1.1.2.1. 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
   abruptly.
   
      1.1.2.2. ColdMud Cores' Present [RdF] [Jtp]
      
   
   
   The Cold Dark Core 1.1 is the latest release of tCDcore. Brandon has
   stated that there probably won't be another release until version 2.0.
   Feature list not yet available. (Send me one Brandon?)
   
   FrozenApples 0.1 is Robert de Forest's ColdMud Core. It provides
   little funtionality over world-0.6, but includes a re-written I/O
   object system, and @d command, and lots of general cleanup/util
   writing. It is anything but done. (Robert, send me a feature list
   too.)
   
   AbsoluteZero is available, but not in a distributeable state.
   
      1.1.2.3. ColdMud Cores' Future [RdF] [JTP]
      
   
   
   FrozenApples is not currently being developed do to a project that
   Robert de Forest is involved in with Jordan. When that project is
   completed Robert intends to continue development. Robert says that it
   should be 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 I/O handling, an events
   system, and many other components sorely lacking in world-0.6."
   
   The Cold Dark is still being worked on by Brandon and his associates.
   As soon as I get more information on the direction of tCDcore I'll put
   it here.
   
   AbsoluteZero 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 planned as
   being a comprehensive communication server including elements such as
   intensive client support, public key encryption/authetication for
   identification/data security, low-level distributed database model,
   VRML 1.0 support, plus some other bonuses. Because of the intensive
   new features being added, and the current load of the production team,
   RyouKold's release date has been set back indefinately. A preliminary
   release date of RyouKold 1.0beta, a Core with only the basic Social
   MUD features, is expected for sometime in late Spring of 1995.
   
    1.1.3. ColdMud Servers Online
    
      1.1.3.1. FrozenApples ColdMud [RdF] [Jtp]
      
   
   
   Robert de Forest was running the FrozenApples Core for a short time:
    telnet://sequoia.picosof.com:6666/"
    
   
   
   To quote him:
   
     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.
     
   
   
   I get a connection refused when I tried to connect, however.
   
      1.1.3.2. The Cold Dark ColdMud [Bdn] [Jtp]
      
   
   
   Brandon is running The Cold Dark Core again. It's URL's are:
    telnet://recumbent.declab.usu.edu:1138/
    http://recumbent.declab.usu.edu:1180/"
    
   
   
   To quote the history page of the WWW Server:
   
     The Cold Dark was originally known as DarkurtheMOO, running MOO,
     with a purpose of being a developed RPG MOO core based off Darkurthe
     LEGENDS. However, when we stumbled across ColdMUD our conversion was
     quite immediate, to the unfortunate demise of our MOO Core. Since
     then we have evolved in our purpose, to what we are now.
     
     The Cold Dark has been active since November of 1993, DarkurtheMOO
     was active from May 1993 - November 1993. The Cold Dark can be
     accessed via regular net connections (clients are preferred).
     
    1.1.4. Other Servers Related to ColdMud
    
   
   
   There are some servers out there that have importance to the ColdMud
   community for various reasons. These servers are either ancestors,
   siblings, or children of ColdMud. They are included within this FAQ to
   offer alternatives to ColdMud, as well as to keep the ColdMud
   community informed about the development state of other servers with a
   purpose that is related to ColdMud.
   
      1.1.4.1 LambdaMOO Server
      
   
   
   The LambdaMOO Server has been around for approximately three years
   now. It's stability, usablity, and high level of performance make it
   the premiere server freely available.
   
   LambdaMOO is the parent of ColdMud. Many ideas and philosophies of
   LambdaMOO exist in the current incarnation of ColdMud, but probably
   more were altered or improved upon to produce ColdMud.
   
   More complete information about LambdaMOO is available at
   ftp://parcftp.xerox.com/pub/MOO.
   
      1.1.4.2 Absolute Reality Server [Jtp]
      
   
   
   Pat Moss is currently developing a 'child' of ColdMud that he calls,
   Absolute Reality. It's a server that's geared more as an engineering
   tool than as a gaming enviroment.
   
     I am the proud owner of a bastard child of ColdMUD called AR.
     Essentially, its coldmud will full floating point math, advanced
     math libraries and a dynamic matrix for vector mapping. It also has
     a few other nifty features like a full featured editor, mail system
     and other in-db niceties.
     
   
   
   More information about Absolute Reality is available on the web at
   http://www.microserve.net:80/~trek/ar/. There is some basic
   information about Absolute Reality as well as the beginnings of a
   manual for absolute reality.
   
      1.1.4.3. ColdX [Jtp]
      
   
   
   This is something Brandon is working on. I think he also calls it
   ColdMud 0.12.2. More info soon.
   
  1.2. WHERE TO GET COLDMUD SERVERS & CORES & INFO
  
   
   
   The official ColdMud WWW Site is located at:
    http://www.declab.usu.edu:8080/ColdMUD/
    
    The official ColdMud FTP Archive is located at:
    ftp://sticky.usu.edu/pub/brandon/coldmud/
    
    Located there is:
    
   ColdMud -- Server
          Versions 0.10.3, 0.11.3, 0.12.0, and 0.12.1c.
          
   Cold Dark -- Core
          Versions: 1.0, 1.0b, and 1.1.
          
   Absolute Zero -- Core
          Version ?
          
   Frozen Apples -- Core
          Version 0.1
          
   Glacier (world) -- Core
          Version 0.6
          
   Chop -- Core Splitter
          Version 0.1
          
   Dumpsplit and Dumpunsplit -- Core Splitters
          Version ?
          
   Coldmud Docs
          Version 0.10.3
          
    
      ________________________________________________________________
    
2. Answers to Common Questions

  2.1. WHAT ADVANTAGES ARE THERE TO THE YET UNIMPLIMENTED "PRIVATE METHODS?"
  [RDF]
    
    
    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 interface.
    
  2.2. IS THERE AN ERROR IN THE COLDMUD 10.3 MANUAL ABOUT HOW TO REPRESENT
  BUFFERS? [JTP]
    
    
    Yes, and a rather large mistake it is. Buffers should be represented
    with the `[] notation and not the %[] notation. The manual
    incorrectly offers the reader the %[] notation. You'll get a syntax
    error if you use this notation.
    
  2.3. HOW DOES INHERITENCE WORKS? [JPK] [RDF]
    
    
    This is a fairly subtle question regarding inheritence:
     * Object A:
          + has method foo
          + has method bar which calls foo
     * Object B:
          + is a child of Object A
          + has method foo
    
    
    B.bar() will call WHICH foo when invoked?
    
    The answer is B.foo() will be called. Method searches look for method
    which is closest to the this(), or the farthest disallow_overides
    definition. If A.foo had been disallow_overrides it would have been
    called instead. I believe the manual covers this just fine.
      ________________________________________________________________
    
3. ColdMud FAQ Credits & Contact Addresses

  3.1. COLDMUD FAQ CREDITS
    
    
    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.
    
  3.2. COLDMUD FAQ CONTACTS
     * [RdF] Robert de Forest
     * [Jtp] Jeff T.P.
     * [Bdn] Brandon
     * [JPK] Jeff Kesselman
    
      ________________________________________________________________
    
4. History

     * Version 0.0.0 - Written by [RdF]. September 15, 1994.
     * Version 0.0.1 - Maintained by [Jtp]. September 16, 1994.
     * Version 0.1.0 - Maintained by [Jtp]. January 31, 1995.

-- 
Life in the So Called Information Age. . .
              . . .One Man's Garbage is Another Man's Treasure (I Guess).

World Wide Web -=> http://expert.cc.purdue.edu/~image/