    Dead Souls FAQ, v2.5

    Written by Cratylus @ Frontiers, October 2005
    Updated September 2009

    What is Dead Souls?

    What is it for?

    What is a MUD?

    What's a mudlib?

    When I configure Dead Souls, it says it is a MUD.
    If it is really a mudlib, why would that be?

    Is Dead Souls really Nightmare in disguise?

    What is Nightmare?

    What is the relationship between Nightmare and Dead Souls?

    How close?

    Why mess with Dead Souls, then?

    Fine, but what's so special about Nightmare/Dead Souls? Why are you
    making such a big deal of wanting people to use it? It isn't
    better than everything else, surely. [insert mudlib name here]
    is newer and has [insert feature here] and [other feature]!

    What's LPC?

    Why is the name "Dead Souls"?

    I heard you are controversial. I don't like controversy.

    I heard you switched to a driver other than MudOS

    Is there a more barebones version available?

    How do I get started?

    Anything else?

    What is Dead Souls?

    	Dead Souls is a "mudlib".

    	Dead Souls 1 was a public domain release of a mudlib
    called "Nightmare". It was difficult to use, and buggy.

    	Dead Souls 2 is a re-release that fixes the bugs and
    makes it super easy to use for both beginners and advanced admins.

    	There is also a Dead Souls MUD, but this is not what people
    usually mean when they refer to Dead Souls as a game.

    What is it for?

    	It's for building a game. If what you want to do
    is play a game, you're looking for something else.

    What is a MUD?

    	A MUD is a computer program that uses text (most MUDs do not use
    graphics or sound in-game) to describe virtual environments you can manipulate.
    You enter a command, the program tells you how the virtual world responds
    around you. Typically there are other people connected to the same program
    over the Internet, and you can interact with them as well. A MUD can be mostly
    social, or mostly game oriented, with quests and puzzles to solve or
    villains to defeat. The name MUD is an acronym that originally stood for
    "Multi-User Dungeon", in accord with the "Dungeons & Dragons" style of
    many early MUDs. Now it stands for different things to different people,
    but the basic concept of operation is the same, whether the game is set
    on the moon, in Manhattan, or in Middle Earth.

    See also:
    http://www.catb.org/~esr/jargon/html/M/MUD.html

    What's a mudlib?

    	There are many different types of MUD programs. Some are
    executable programs, with all of their virtual worlds
    defined in one big file. Others are entirely interpreted,
    such as java muds, which are composed of thick forests
    of folders containing java files.

    	LP MUDs are something between the two.

    	Generally there are two main parts to an LP MUD
    program. First is the "driver". This is an executable program
    file (in Windows, you'd see the driver has an .EXE extension)
    that enables the input and output of data, accepts network
    connections, performs basic calculations, etc. The other part
    is the mudlib, or, more properly, MUD object library. This is
    usually a large set of files in plain text that the driver
    reads and uses as a basis for the game. Some files provide
    information about rooms and environments, some files provide
    information about objects or creatures, etc. When players
    connect, the driver provides them the world that these
    files describe.

    When I configure Dead Souls, it says it is a MUD.
    If it is really a mudlib, why would that be?

    	Dead Souls is not intended to be a fully-developed
    MUD when you install it. Instead it provides you with
    the basic framework you need to make a MUD of your own.
    After you set up Dead Souls, you should rename it, and
    customize the lib (that is, library) files to create your
    own world. When you first run Dead Souls, you will
    have some rooms available to explore. This is not your mud.
    It is just a set of sample places and objects to help
    you understand how to build a MUD of your own. So in a
    way, Dead Souls provides you a kind of "starter" MUD,
    but since it's just examples, you can't really
    consider it a MUD until you change it to suit
    your creative vision.

    Is Dead Souls really Nightmare in disguise?

    	Let's break this question down into its components:

    What is Nightmare?

    	Nightmare was a mud. It was part of a branching of mud development
    that occurred early in the days of popularized mudding. Some folks
    decided to take MUD library development in a particular direction,
    and eventually made available what is now known as the Nightmare mudlib.
    Nightmare went through a few major changes, most notably from version 3
    to version IV. By that time, the development of Nightmare was solely
    managed by a coder who called himself Descartes.

    What is the relationship between Nightmare and Dead Souls?

    	It appears that Dead Souls began as a "development" MUD. This means
    that while Descartes ran his own MUD, he also worked on improving that MUD's
    lib. It is unwise to make major changes to a MUD that people are playing on,
    so the Dead Souls development MUD was one which served as a platform to
    develop, extend, and improve the Nightmare lib without risking harm to active players.
    Sometime after the release of the Nightmare IV mudlib, Descartes decided to
    withdraw it from distribution. Based on their interpretation of copyright
    law, people now do not distribute the Nightmare mudlib on Internet servers.
    However, somewhat inexplicably, Descartes released the mudlib for his
    development mud, Dead Souls, into the public domain. This meant that the
    Dead Souls mudlib was completely free to be used by anyone in any way they
    chose, be it distribution, modification, spindling or folding. Because Dead
    Souls was the development mud for Nightmare Mud, which was the base of the
    Nightmare mudlib, the relationship between the two is a very close one.

    How close?

    	The similarity between Nightmare and Dead Souls can
    now best be described as close cousins, rather than twins.

    	At one time it was almost identical. A close comparison of the
    Dead Souls lib that Descartes released (version 1.1pre) against the
    last released Nightmare lib (IVr6) reveals that they are very
    nearly the same thing, file for file.

    The main differences between the two are:

    * A small number of Nightmare library files aren't on Dead Souls.
    * Dead Souls doesn't come with the driver or install script the Nightmare had.
    * All documentation files were removed from Dead Souls.
    * "Nightmare" in file headers was changed to say "Dead Souls"

    This might sound like a lot of difference, but consider this: not counting
    documentation, Nightmare IVr6 lib contained 1064 files and directories, and
    the Dead Souls 1.1pre lib contains 1082. Dead Souls 1.1pre actually had more
    lib material in it than the last release of Nightmare.

    Why mess with Dead Souls, then?

    	The main problem was that Dead Souls was a bear to set up. Because
    driver development had not stopped (the driver is a separate software project),
    but lib development had, incompatibilities grew in number over time. Using
    the original driver from 1997 created a MUD that lacked important features
    of modern muds, and risked instability. Using a modern driver required a
    modification of fundamental lib systems that required some expertise to
    perform. People stopped using Nightmare because they couldn't get it, and
    they didn't use Dead Souls because the damn thing didn't work right. My own
    Nightmare lib MUD, Frontiers, continued to chug along, quietly fading into
    obscurity along with all other Nightmare IV based MUDs, while scrappy young
    newcomers like CoffeeMud lib started elbowing their way into the MUD community.

    	Then a funny thing happened. I really got into lib coding. I mean, full-on
    lib obsession. I can't really explain it, other than to say that when I was
    younger it seemed hard and impenetrable, but now that I've been working in a
    technical field for years, I have the mental tools (and patience) required to
    disassemble  and understand complex systems. I got turned on by analyzing and
    understanding stuff that I'd considered over my head in years past.
    	But I was living in the past. I couldn't share my exciting lib ideas
    and discoveries with anyone else, because the Nightmare LPC community was
    in the very last stages of extinction.

    	I decided to do something about it. Maybe I'd be whistling into the wind,
    tilting at windmills, or even worse, just talking to myself. But I decided
    I'd make Dead Souls a viable lib for people to use, because it would be fun,
    and because it might be nice to have other people to bounce ideas off of and
    steal code from. At worst, I'd be doing nothing more pathetic than, say,
    building model ships in my basement. At best, I might revive a once-thriving
    MUD development community. Either way, it sounded like an enjoyable project,
    so I proceeded.

    Fine, but what's so special about Nightmare/Dead Souls? Why are you
    making such a big deal of wanting people to use it? It isn't
    better than everything else, surely. [insert mudlib name here]
    is newer and has [insert feature here] and [other feature]!

    	Yes, that may be. My experience with other libs is limited, and I'm sure
    that Dead Souls pales in comparison to others in one feature or another. My only
    answer to that is, go ahead and use the lib you're comfortable with. I make few
    claims of superiority. I'll be the first to admit there are still things
    to fix and systems to implement. But if you are not sure which lib to pick,
    Dead Souls is an excellent choice as a solid, stable, flexible and powerful platform
    to build your MUD. You can do anything in a MUD with LPC, and I mean anything.
    If you happen to have Nightmare experience, Dead Souls will be a homecoming...
    like an old comfortable shoe, but without the holes or the stink.

    What's LPC?

    	LPC is a kind of programming language. Dead Souls lib files don't
    just contain descriptions of places and things: they have a format that describes
    their relationships to the driver and permits you to do fancy stuff...pretty much
    any text MUD thing you can think of, you can do in LPC.

    Why is the name "Dead Souls"?

    	I don't know for sure. I've had more than one person say that
    they are afraid their workplace will discover they are using software
    with such a satanic-sounding name. I suggest that if it's really a
    problem, do a recursive search and replace of "Dead " to "Saved ".

    	Though I can't say for sure about the name, I do know that
    George Reese had an interest in the Russian language, and "Dead Souls"
    is the name of a widely known piece of Russian literature. I suspect
    the two facts are not accidentally coincidental.

    UPDATE! (23 Feb 2008): I've received an explanation from George
    regarding the name. To summarize, He really liked the Nine Inch Nails
    cover of the Joy Division song "Dead Souls" (which he also liked)
    which was named after the Gogol novel, and he viewed the lib as a ghost town
    waiting to be populated by living people replacing the "dead serfs".
    Ta-daa!

    I heard you are controversial. I don't like controversy.

    	Using Dead Souls is not controversial. I occasionally
    get into forceful debates with forum admins or people that maintain
    other codebases. This does not mean that using SmaugFUSS is
    a "vote" for its maintainer's opinions, and it doesn't mean that using
    Dead Souls is a "vote" for mine. If you find their software useful, use
    it. If you find DS useful, then use that.  You are not required
    to agree with my sense of humor or ideas about forum etiquette
    to get support from me or the DS community. In fact, if you
    disagree with me, it's probably a good thing for you, in that I'll likely
    be extra nice to you just to prove you don't need to be my sycophant
    to get along in the DS community.

    I heard you switched to a driver other than MudOS

    	Starting in Dead Souls 2.5a15 the bundled driver is FluffOS.
    FluffOS is a derivative of MudOS, maintained by the Discworld MUD team.
    There are numerous advantages to using FluffOS: It is currently maintained,
    it has superior handling of 64-bit environments, it's been updated
    to work in modern libraries (e.g. ualarm changes and the like), and it's
    been "battle tested" in a very active mud for a very long time. The
    switch to FluffOS is a substantial net plus for Dead Souls, not just
    a fashion statement.

    	Note that this is not a "turning away" from MudOS, since
    FluffOS still has MudOS as its base...serving kind of like it chassis.
    It is not unreasonable to consider FluffOS the "current fork" of MudOS.

    	Note also that this does not simplify in any way the
    status of the driver licensing for Dead Souls. Because FluffOS is
    a MudOS derivative, a Dead Souls mud running it is still
    subject to the MudOS team's and Lars Pensjö's restrictions.

    Is there a more barebones version available?

    	Occasionally I'll hear from someone that what i call "full-featured"
    they consider to be "bloat." It doesn't hurt my feelings if you're so
    advanced that the big new systems like the world grid, flying, vehicles,
    etc seem like "bloat" to you. The current focus of the DS lib is to have
    as solid and thorough a foundation and set of examples that anyone can
    pick it up and get up to speed quickly. If that's not what you need, but
    you like the look-and-feel, then there are a few related codebases with
    a lot less stuff included:

    http://lpmuds.net/files/deadsouls/dsI.zip
    http://lpmuds.net/files/nightmare3_fluffos_v2.zip
    http://lpmuds.net/files/nightmare4_fluffos_v1.zip

    Note that generally speaking, these libs are older and unmaintained.
    But if you're a DIY type and know what you're doing, and you can't
    stand all the examples in DS2, they might serve you better.

    How do I get started?

    	Download the latest version of Dead Souls from http://dead-souls.net/
    and install it.

    	The distribution file includes both the
    Windows and UNIX versions. Read the installation FAQ for details.

    	Once you log in, read the Players Handbook and the Creators Manual.

    Anything else?

    Read the Dead Souls Admin FAQ.

    Read the Dead Souls Creator's FAQ.

    Read the Dead Souls Installation FAQ.

    Read the Quick Creation System Example Page.

    Read the Debugging Guide.

    Read the Editor Tutorial.

The end.
Dead Souls Homepage