25 March 2006 ~ 6 Comments

MOOP

In my ongoing quest for interesting MUDs built using Python, I came across MOOP (MUD, Object-Oriented, Pythonic):

Users connect to the server via TCP/IP, and can interact with other users in a fashion similar to any network MUD-type game. But the neat thing about a MOO is that all the coding which makes gadgets and gizmos and ordinary objects work is right there, available to the remote users … it is written entirely in Python, and all the code which makes the objects work is (of course) Python as well.

Sounds good. I’m definitely going to try that one this week.

6 Responses to “MOOP”

  1. jpc 25 March 2006 at 4:25 am Permalink

    The problem with this kind of driver (as with virtually any other MUD driver without it’s own scripting language and virtual machine) is that any wizard (they often aren’t experienced coders) can write a infinite loop and crash the whole server.
    If you use processes (which you can safely kill in case of something like that) instead of threads to run the objects then you have enormous amounts of RAM wasted for Python instances (every one is around ~1MB without any code running).
    The other thing is of course no control over what gets executed — any coder can do any malicious thing they can think of.

    These are things that you certainly should think of when you want to do anything with other people (a decent MUD will have tens of wizards) and these are problems which are hard to solve with pure Python.

    I would recomend investigating DGD [1] and MOOIX [2]. (the latter seems especially interesting because we have VServer and LSM [3] in Linux)

    [1] http://www.dworkin.nl/dgd/
    [2] http://mooix.net/
    [3] http://www.linuxjournal.com/article/6279

  2. John 25 March 2006 at 11:20 pm Permalink

    Hi

    If I end up running a MUD, it’ll probably only be for people I actually know. So I’m not worried about malicious attacks. But you bring up some good points. I’ll check out the links you provided. Thanks!

  3. jpc 26 March 2006 at 1:42 pm Permalink

    John: Even if you trust your wizards then you will still have a problem with accidental hangs of your server. :-)

  4. John 26 March 2006 at 3:16 pm Permalink

    Very true. Point taken. :)

  5. Nathan 26 March 2006 at 10:30 pm Permalink

    Since I will likey be trying out John’s MOO, I resent the implication that I will make a misteake :)

  6. John 26 March 2006 at 10:31 pm Permalink

    Heh! He must know you. :)


Leave a Reply