# Does the new LambdaMOO core support Web?

Roger Crew (rfc@microsoft.com)
Fri, 12 Apr 1996 15:54:42 PDT

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    I wrote:
    >> Hacking the server or doing anything that depends on DB file format
    >> (which is only sparsely documented and likely to change) is a less good
    >> idea.
    >
    > Allow me to disagree. From our experience, the simplest method for logging
    > is to fileappend() using FUP. Simple, quick, no scale-up problems, doesn't
    > change the size of the database, has many other advantages.
    >
    > Sorry, but the mentality of 'keep the server unmodified or die' is
    > obviously wrong. Arguably MCP
    ?? MPL
    > was 'bad', until the moment when Pavel added
    > it to the server, and then it became kosher. Nah.

    First of all, I didn't say "keep the server unmodified or die".

    But...

     (1) the farther you get from the stock MOO server, the more random
    patches you install, and the more random hacking to it that you do on
    your own, the more likely it is that something will break, and the fewer
    the people there will be who'll be able to help you IF YOU NEED IT.

    Obviously Pavel is not the only person in the universe who knows how to
    write and debug C code.  Clearly, if you're an experienced C coder and
    are familiar with the internals of the server, this won't be a problem.
    How experienced you need to be, of course, depends entirely on what
    you're doing; running with FUP is doubtless easier than running with a
    custom-hacked parser.y.

    To my knowledge, most people running MOO servers are not experienced C
    coders.

     (2) When something breaks in MOO-code, that verb/task ends.
         When something breaks in C-code, the server does a PANIC.

    How much this matters depends on how much you care about your server
    staying up.  If having the server go down is not a problem, then this is
    clearly not an issue.  I suspect, however, that most people actually
    *using* MOO for something place a high premium on the server staying up.

     (3) If you've got FUP, you now have a server that can do arbitrary
    things to your file system.

    This is not a comment on the reliability of FUP; in fact, I'd have to
    guess that FUP is pretty reliable by now (though I have no personal
    experience with it myself).  The point is that you now have a situation
    where your wizards can write to your file system.  Whether this is an
    issue depends on who your wizards are, the relative values of your DB
    and your filesystem, and in the case of non-local ordinary-players, how
    confident you are in the security of your DB.

    Most MOOs I know about have non-local wizards, and the filesystem is
    usually worth more than any MOO db.

    Perhaps some form of FUP option will indeed make it into a future server
    release, but you can bet (assuming the new maintainer has any sense)
    that it's going to carry at least as big a warning around it as #define
    OUTBOUND_NETWORK does now.

     (4) If you depend on raw DB file format, then whenever the DB format
    changes you have to update whatever tools you use to play with raw DBs.
    This assumes you even get to *find out* that the DB format changed; if
    the change was subtle, maybe you won't find out for several weeks after
    installing the new release when you discover that all of your backups
    are corrupted in odd ways.

    My choice of words, "less good" rather than "bad", was quite deliberate.
     Depending on who you are, what you're doing with your MOO, what your
    network situation is, etc... the use of FUP, raw DB manipulations, and
    server hacks indeed may not actually be Bad, but you have to know what
    you're getting into and that *has* to be weighed against the the
    benefits.