Dead Souls FAQ, v2.5

Written by Cratylus @ Frontiers, October 2005
Updated February 2008

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

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.


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