			   rec.games.mud.lp
		Frequently Asked Questions List (FAQ)
	  written by George Reese (Descartes of Borg) 940711
			Last Modified: 940804

	      ******************************************

This is a list of Frequently Asked Questions on the news group
rec.games.mud.lp.  All readers are strongly advised to read this FAQ
before posting questions to the news group, as your question may
already be answered in here.  This FAQ will be posted weekly to
rec.games.mud.lp.

The rec.games.mud.lp FAQ is divided up into four sections:
	Section I:	Introduction
	Section II:	Playing LPMuds
	Section III:	Coding on an LPMud
	Section IV:	Starting Your Own LPMud
	
In detail:
Section I (Introduction)
	I.1	What sort of posts belong in rec.games.mud.lp?
	I.2 	What is an LPMud?
	I.3 	Isn't Amylaar an LPMud?
	I.4 	Which is the real LPMud?
	I.5 	How did LPMuds get started?
	I.6	What do the terms "alpha testing", "beta testing", and
		"fully open" mean?
	I.7	Where are some ftp sites with LPMud stuff?
	I.8	Is there anything about MUDs on WWW?

Section II (Playing LPMuds)
	II.1	How do I play an LPMud?
	II.2	How do I get a list of LPMuds?
	II.3	Are all MUDs in English?
	II.4   	Ok, the MUD is asking me for a name, what do I do?
	II.5   	They told me I had to register!
	II.6   	Name and password set, what next?
	II.7   	I don't want anyone knowing my email address!
	II.8 	Is it asking me for MY gender?
	II.9	What does it mean by race?
	II.10	What is a class? What is a guild?
	II.11	I am in the MUD, what do I do?
	II.12	What are some common commands?
	II.13	What is an alias?
	II.14 	Why doesn't the MUD save my equipment when I quit?
	II.15	What else is there?
	II.16	Why is the MUD admin ignoring me?

Section III (Coding on an LPMud)
	III.1	What is coding?
	III.2	What is LPC?
	III.2	How do I get to code on an LPMud?
	III.3	How do I learn to code?
	III.4	What is TMI-2?
	III.5	How do I learn to code a room/monster/weapon/armour...?
	III.6	But you said that all MUDs use LPC!
	III.7	Can I take my area from LPMud X to LPMud Y?
	III.8	What is an efun? an lfun? a kfun? a simul efun?...
	III.9	Can I code offline?
	III.10	How do I put my code into the game?

Section IV (Starting Your Own LPMud)
	IV.1	How do I start my own LPMud?
	IV.2	How do I find a site?
	IV.3	Can I charge players to play my MUD?
	IV.4	Why can't I use any of the other programs or mudlibs?
	IV.5	Our system needs upgrading, can't I get donations?
	IV.6	I have a site, now how do I choose a program/mudlib?
	IV.7	Where can I find all this stuff?
	IV.8	Help! I can't get my driver to compile, what should I do?
	IV.9	Can a MUD program run on DOS?
	IV.10	Can a MUD run under AmigaOS? OS/2? Windows NT? etc...?

This FAQ is not intended to be a substitute for the general 3 part MUD
FAQ's.  I strongly recommend people new to MUDs read those first.
This FAQ deals with a particular class of MUDs known as LPMuds, and
therefore does not even attempt to cover information important to
other classes of MUDs.

Credits for information in this FAQ beyond the information provided by
the author:
Stig Bakken, Jose Corrales, Felix Croes, Joshua P. Dady, Lars Duening, Monique
Girgis, Pelle Johansson, Andru Luvisi, Danne A Solli, Christina
Sterman-Hack, Lars Syrstad, Pekka Timonen, Linus Tolke, John Viega,
Petri Virkkula

		       Section I: Introduction
		    ******************************
*** I.1 What sort of posts belong in rec.games.mud.lp?
ALMOST anything dealing with LPMuds.  Rule number 1 being that the
topic of your posts must someway affect the LPMud community.  We do
not care about Dikus and MOOs and so on.  They may be very nice
servers, but if we wanted to be reading about them, we would be
reading rec.games.mud.diku and so on.

The second rule is to avoid posting on the following topics:
    a) Where is CheeseMUD?  I have not been able to connect all day!
	If it is going to be down a long time, the admins should
	post to rec.games.mud.announce.  Otherwise, it is either
	a short connection loss or it is just your problem.  DO NOT
	POST THESE QUESTIONS HERE OR ANYWHERE.
    b) Advertisements for new MUDs.
	These belong in rec.games.mud.announce
    c) FascistMUD's admins are such jerks!  They cheated...
	Why would you post this?  I guarantee you will accomplish
	nothing by this.  First of all, ALL MUD admins have bad
	days where they may do something very unfair.  It is the
	nature of things.  So you may be the unfortunate victim
	of a rare set of circumstances rather than of a mean admin.
	Secondly, even if the MUD admin is a jerk, no one on this
	newsgroup cares.  People will play such MUDs either because
	the admin is damn good at creating a game or because the
	players are other jerks who like the atmosphere of lawlessness.
	Players like you may login from time to time, but eventually
	they will figure it out.
    d) Don't posts mudsex sessions.  Those are for rec.games.mud.tiny.

*** I.2 What is an LPMud?
An LPMud is one of many classes of MUDs, or multi-user domains.  A
multi-user domain is defined solely with respect to its ability to allow
multiple real individuals to come together in some sort of
environment.  Although the most common environment is a gaming
environment, MUDs need not be games.  In fact, among other uses of
MUDs that I know of, there are virtual colleges, a MUD where victims
of abuse can come together in a productive environment, and MUDs
designed to bring students with disabilities into social contact with
one another and others.  The single defining theme for MUD is
therefore being a virtual environment where multiple people come in
contact.

An LPMud specifically allows the users to manipulate the environment
through a language called LPC.  LPMuds are computer programs which
listens to the internet for people attempting to connect, reads LPC
files, and acts upon those LPC files according to the rules of the LPC
language to create the virtual environment.  Currently, I know of 6
major LPMud programs: CD, DGD, LPC4, LPMud, MudOS, and Urimud.

With most other MUD games, users do not have access to create in the
language used by the MUD.  LPC is used not only to give users such an
ability, but it is also designed with both ease and power in mind. 

*** NOTE ***
Rust has informed me that Urimud LPC has been renamed ROC.  If it is
in fact worthy of being renamed, then it is not an LPMud.  Until I
have more information on it, however, it will be included here.

*** I.3 Isn't Amylaar an LPMud?
Amylaar is a person, not an LPMud :).  He is the primary author and torch
bearer of the LPMud name.  Given the generic sound of the term "LPMud"
these days, people often refer to LPMud 3.2 as the Amylaar driver.

*** I.4 Which is the real LPMud?
LPMud 3.2 is the official continuation of the original LPMud program,
however, all programs listed above (with the possible exception of
Urimud) are equally real.  All have two traits that make a MUD an LPMud:
	1. The environment is created through files written in LPC.
	2. The environment can change as new files are added and old
	   ones changes, even while the game is running.

*** I.5 How did LPMuds get started?
I am not the greatest historian, and may be wrong on some important
facts here, but this is the first shot at the FAQ, so here goes...
Once upon a time, there was Lars Pensj(the being an o with
two dots over it...  to an American, that is roughly pronounced "Penscha"), who
wrote the original LPMud coming from an AberMUD background.  If you
play current LPMud's of the LPMud type, you won't really notice much
of a difference from the original.  From the coders' point of view
however, LPC is nothing like it was with the original.  For a long
time, there was only LPMud run by Lars with patches by everyone under
the sun.  The original LPMud run by Lars was called Genesis.  Its base
town called Larstown was taken mostly from AberMUD.

Eventually, others got tired of waiting to see their patches added to
Lars' driver, and Lars was working on version 3.0 of his driver as he
was gradually losing interest in the project altogether.  Version 3.0
turned out to be buggy as hell, and generally unworkable for a real
LPMud.  CD, LPC4, LPMud, and MudOS, all derive from this program as
people saw good things in it and began creating working versions of
LPMud 3.0 after their own concepts of MUD program design.  

Unlike the others, DGD was created from scratch.  It therefore is
missing a lot of the baggage which has come down from the beginning of
time in the other drivers.  Urimud, on the other hand, is derived from
LPMud 2.4.5.

*** I.6 What do the terms "alpha testing", "beta testing", and "fully
	open" mean?
Generally, a MUD goes through three basic stages.  The first stage,
"alpha testing", is a developmental mode in which players are rarely
allowed access to the MUD.  Things are in such a disarray or in a
flurry of changes that playing a consistent game is impossible.  In
the "beta testing" stage, a MUD is generally opened to players solely
for the sake of testing that the MUD works.  Without actual play
testing, it is impossible to determine if a MUD can handle being fully
open.  MUDs in either of the above stages generally will not
compensate players for mishaps due to bugs in the game, and they will
often even purge players from the MUD.  The purging is done either
because old player objects are no longer compatible with new ones or
because the MUD needs to be re-balanced to fit new code.

In the final stage, "fully open", a MUD is just that, fully open.
That means you can expect certain standards from the MUD, including
such things as not dying from bugs.  Nothing is ever bug free, so
generally fully open MUDs will compensate players for mishaps which
occur because of a bug.  On the flip side, these MUDs usually also
smite players who gain from bugs in the system.

*** I.7 Where are some ftp sites with LPMud stuff?
See Section IV: Where can I find all of this stuff?

*** I.8 Is there anything about MUDS on WWW?
The following is a list of LPMud related WWW URL's, a few of which are
even written in the MUD programming language LPC:

http://bat.cs.hut.fi/
http://nightmare.winternet.com:1696/
http://tmi-2.lp.mud.org:5550/
http://www.lysator.liu.se:7500/no/mud/main.html

		      Section II: Playing LPMuds
		    ******************************

*** II.1 How do I play an LPMud?
You must first find the internet address of the MUD you wish to play.
Once you find the address, most often people use the "telnet" program
to connect to this address.  The MUD FAQ has an excellent section on
MUD clients, which are alternatives to the plain vanilla "telnet"
program.  However, generally speaking, with "telnet", you can access
the MUD of your choice by issuing the command:

	telnet address port

For example (% is considered your prompt):

	% telnet nightmare.winternet.com 1701
	% telnet 129.10.114.86 5555

And so on.  Some telnet programs do not allow you to pass arguments at
the command line.  Instead, you get something like this:

	% telnet
	telnet> open
	(to) nightmare.winternet.com 1701

Once you succeed, you will get a welcoming screen which should say the
name of the LPMud and ask you for a name.  A common error people will
make is leaving off the number at the end.  If you do that, the telnet
program assumes you mean to go to port 23, and it will give you a
login prompt to the host machine.

In addition, *some* VMS telnet programs use the following syntax:
	
	telnet 129.16.50.30/port=1701

*** II.2 How do I get a list of LPMud's?
I know of no place that lists ONLY LPMud's, however, there is Doran's
Mudlist, which is produced semi-regularly and lists MUDs by type.  You
thus have all your LPMuds grouped together.  You can find it posted to
rec.games.mud.announce.

Additionally, there are many dynamic world wide web mudlists available.
The two largest are:
	http://nightmare.winternet.com:1696
	http://tmi-2.lp.mud.org:5550
Keep in mind, however, these lists hold only LPMuds which support
intermud communication.  They are by no means full lists.  You will
also find that many MUDs on this list are in some sort of
developmental stage.

*** II.3 Are all MUDs in English?
No, I know of MUDs in Swedish and German.  To provide a list of such
MUDs is beyond the scope of this FAQ.  Check the mudlists for a full
and current listing.  However, I would like to know about other
languages which might be supported in the LPMud world, so please mail
me if you have a MUD in a language in other than English, German, or
Swedish.

*** II.4 Ok, the MUD is asking me for a name, what do I do?
Make up a name.  Avoid using your real name or common names, real and
mythical.  You want not only to give character to your persona, but
you also do not want everyone saying "Hey! Aren't you Bob from
JustAnotherMUD"?  I chose the name Descartes, because I was a
philosophy major in college.  In general, it is safe to assume any
name consisting only of more than two characters and less than ten (a
to z) is acceptable on any MUD.  Some MUDs allow really long names with
spaces, apostrophes, hyphens, and other marks.  Others are in between
the extremes.  Try the name you want.  If the MUD will not allow it,
it will tell you, and it should tell you why.

After making up a name, one of two things will happen.  Either you
will be prompted for a password, meaning you have picked a name
someone else is using, or it will ask you to create a password,
meaning you are a new character.  If the first thing happens, just try
again with another name.  If the second happens, you are in good
shape.

To create passwords, make up one different than the one you
use to access computers.  Although MUDs encrypt passwords for storage,
nothing prevents an unscrupulous MUD admin from intercepting that
password and using it for unethical purposes.  It is also recommended that
you use a password with numbers and mixed upper and lower case
letters in it.

*** II.5 They told me I had to register!
Some MUDs require all their players to register before being allowed
to play.  Also, it may be the case that someone from the same place as
you has been causing trouble, so the admins of the MUD in question
have decided to require only people from that site to register.  If
this is the case with the MUD you wish to play, simply follow the
instructions they give.  In most cases they will give you an email
address where you should send your registration.

*** NOTE ***
There seems to be some difference of opinion on this one, so I decided
to quote one of the comments:

"Well, I have to disagree with this section: E-mail addresses are very
difficult to verify in bulk, and really not worth the trouble unless
you perform site registration.  I believe the only people you have a
legitimate need for an email address from is your wizards.  Other than
that, knowing the ip they log in from should be more than sufficient."
    -Rust (John Viega)


*** II.6 Name and password set, what next?
This is where you get to see why there is so little in common among
LPMuds from the player's point of view.  Some LPMud's will ask you a
series of questions about who you are and what sort of character you
would like.  Others ask nothing more.  Among the questions you might
be asked are:  what is your email address?  what is your real name?
what gender would you like to play? what race would you like to be?
what class would you like to be? etc.

*** II.7 I don't want anyone knowing my email address!
MUD Administrators have a legitimate need to know your email address.
No one else does.  If a MUD requires you to give your email address it
should either offer you the option of keeping it private, or it should
automatically keep the email private.  If they do not keep your email
private and you desire privacy, do not play the MUD.  Do not complain,
however, that they ask for it.

*** II.8 Is it asking me for MY gender?
No.  The game wants to know what gender you would like your
*character* to be.  This means you can play a character of the
opposite gender, your own gender, or one of the alternate gender types
which might be offered.  The other side of the coin to this, however,
is that you should *never* count on other people in real life being
the gender of the character they play.

*** II.9 What does it mean by race?
Many LPMuds have a feature called character races.  The term "race" in
these instances is not the same as the term used in modern society.
In fact, the LPMud term race would more correctly be referred to as
species.  In fantasy type LPMuds, you will often see a selection of
"races" like human, orc, artrell, gnome, etc.  When you are asked to
choose a race, a list of possible races should be provided for you.

*** II.10 What is a class?  What is a guild?
In general, a class is a grouping of players with common abilities.  A
guild as well can be said to have the same definition.  Many MUDs, if
they use either of these concepts at all, add some very individual
nuances.  To MUDs which do not have classes or guilds, the concepts
are naturally irrelevant.  Those which have one or the other are often
using the terms in an interchangeable fashion.  Finally, those MUDs
which have both often define class in a more generic manner than
guild.  For example, on Nightmare, a class is like a profession and
the guild like a particular job.  You might have people in the fighter
class who are in the templars guild, and others who are in the rangers
guild.  In short, the guild is a way of specializing your class abilities.

Other MUDs allow "multi-classing", which may mean joining multiple
guilds, classes, or both.  It is always best to check out the "help
guild" and "help class" command on any given MUD to see how it defines
these terms.

*** II.11 I am in the MUD, what do I do?
There is no one answer to this question, as the answer will vary from
MUD to MUD.  No matter what, however, you should see if the MUD has a
"faq" command to get a listing of that MUD's frequently asked
questions.  In addition, you should learn how to use the "help"
command as well as find out about the rules governing that MUD.

*** II.12 What are some common commands?
The following commands exist on virtually all LPMuds:
(Naturally, these are not cmmands on non-English MUDs)

help ([topic])
Gives you help.  The () indicate that you do not need to type in a
topic.  If you do, you get help on that topic.  If you just type help,
you will either get help on where to find other help, or you will be
put into a help menu.

tell [player] [message]
Sends the string [message] to the player whose name is [player]
anywhere on the MUD.  Some LPMuds do not allow players to tell to one
another as it is viewed unrealistic.

say [message]
Sends [message] to everyone who is in the same MUD room as you.
This command is almost always aliased to "'", such that "'hi!" is the
same thing as typing "say hi!".

who
Gives you a list of everyone connected to that MUD.

look
Gives you a description of the MUD room in which you are in.

look at [object]
Gives you a description of the object in question.

II.13 What is an alias?
As with UNIX, most LPMuds provide some sort of method for creating
"aliases".  An alias is simply a way in which you can have a easy to
type command represent another command.  For example, you will often
want to type the phrase "get all from corpse" on any LPMud.  It is
much easier to make an alias so that whenever you type "gac", the
LPMud interprets that as "get all from corpse".

In order to create aliases, you need to know how your particular MUD
handles aliasing.  Older MUDs use a device called a quicktyper.  Newer
MUDs have alias commands built in.  Try issuing "help alias" and "help
quicktyper" commands in order to find out how aliases are handled on
your MUD.  If your MUD uses quicktypers, you will have to go find the
quicktyper object before you can create objects.  Ask any other player
on such a MUD where there quicktyper can be found.

*** II.14 Why doesn't the MUD save my equipment when I quit?
Balancing a MUD so that everyone is not dripping in wealth and that
all players actually have a chance to die is hard work.  It is nearly
impossible.  One thing that makes it easier on balance admins is the
non-permanance of objects (in other words, objects do not save).  For
a MUD to save equipment, it requires a complete rethink of the way
that MUD is balanced.

It goes beyond the difficulty of balancing the MUD however.  There are
MUDs which do save equipment.  The character of the game itself
however gets changed by what appears to be a simple change.  Therefore
asking your mud admin, "can't you change the game so that it saves
equipment" is not so simple or limited as it might seem.  To make such
a change to an existing MUD would actually change that MUD in such a
way as it would be unfamiliar to you.

Putting it simply, saving equipment is not an impossible thing.
However, the consequences of doing so are way beyond what most players
are capable of realising unless they have been involved with MUDs
before.  To do so on an existing MUD would change it forever.  Every
now and then, new MUDs appear with this feature.  But most do not and
will not.

*** II.15 What else is there?
Explore the MUD!  Most gaming MUDs have places called "newbie" areas
which are simplistic places for people new to the game to go and get
the hang of things.  When you first log in to a new MUD, you should
ask the others where the newbie area is.  Also, read the login screen
and news which scrolls across your screen at login time, as they
contain important information about characteristics unique to the MUD
you are playing.  

Ask people questions.  Just make sure you have read the help files
first, or you will be sure to annoy someone.  In addition, try not to
choose a single person for your queries.  Constantly being asked
questions by the same person can often annoy people as easily as
stupid questions.

*** II.16 Why is the MUD admin ignoring me?
Admins in particular are prone to a MUD disease called "idling".  This
means that the lights are on, but nobody is home.  An idle person is
simply someone logged in to the game, but who is perhaps not actually
at their computer terminal.  That person is thus not really ignoring
your question, since the person is never actually seeing it.

If the admin is not idling, chances are that person is being
overwhelmed with questions or is actually coding online.  Many LPMuds
will tell you that the person to whom you are talking is "idle" or
"editing".  If you get that response to a tell, do not expect an
answer back right away.  In addition, if it says the admin is editing
(or anyone else for that matter), then it is generally considered rude
to continue telling to that person as it makes it difficult for the
person to edit.
 
		   Section III: Coding on an LPMud
	 	    ******************************

*** III.1 What is coding?
Coding is writing files for the computer to read.  In the case of
LPMuds, this means writing files in a computer language called
LPC.  The LPMud program reads these files and interprets what those
files are telling the computer to do when certain player actions
occur.  Often that means things like displaying a
description of a room when you enter it and so on.  The LPC files
which make up the backbone of any MUD are called the mudlib.  Coders
use the mudlib code in such a way as not to have to rewrite many of
the most common instructions over and over again.  With most good
mudlibs, therefore, there is more creation involved than coding.

*** III.2 What is LPC?
LPC is an object building language created by the author of the
original LPMud program, standing for Lars PensjC.  Structurally, it
is much like the more popular programming language C.  Designed with
LPMud object building specifically in mind, it puts the power of game
building in the hand of the general user.

*** III.3 How do I get to code on an LPMud?
Policies vary from MUD to MUD.  Some MUDs require you to make a
certain player level before being allowed to code.  Others require you
to pass a test or fillout an application.  Still others just let
anyone come on and code.  If you really want to get in on things, the
best thing to do is either to talk to the admins of the MUD you are
playing, or go to TMI-2 (tmi-2.lp.mud.org 5555) and check out the
board they have of new MUDs starting out needing coders.  Keep in mind
that many MUDs which are open to players already have more coders than
they need.

*** III.4 How do I learn to code?
There are two parts to learning how to code on your MUD: 1) learning
LPC and 2) learning your MUD's mudlib.  Each MUD should have detailed
documentation on part 2.  Two LPC textbooks, a beginner and an
intermediate, exist to take care of part 1.  You can get the textbooks
via ftp at:
	ftp://nightmare.winternet.com/pub/mud/docs
They come in many different formats.

Documentation, however, will not really do anything without looking at
examples, practicing, and talking to more experienced coders.  Examples
should be everywhere on your MUD (though they are not necessarily good
examples).  Practicing is simply just copying code you do not
understand, making small changes to it to see what they do, and
learning from what happens.  To learn more about how to code from
others, talk to more experienced coders on your own MUD or visit TMI-2
which has a centre designed for teaching LPC.

*** III.5 What is TMI-2?
TMI-2 is a place centered around the advancement of LPMud "technology"
and the promotion of its use in all spheres.  TMI-2 stands for "The
MUD Institute".  You will often find many of the people responsible for
creating most of the C and LPC programs on which the MUD world runs,
and at times, they might even not be idle!  It is an excellent place
to discuss ideas and learn more about LPC and LPMuds.

*** III.6 How do a I code a monster/room/weapon/armour...
Read your MUD's documentation, as this varies greatly from MUD to MUD.

"Also, questions like that are almost impossible to answer in any
other way than showing an example.  Thus, a much better question is:
'Where can I find an example of how to create a XXX?' or 'I don't
quite understand this part of the example on how to...'"
    -Drevreck (Lars Syrstad)

*** III.7 But you said all LPMuds use LPC!
Yes, they do.  However, they do not all use the same mudlib.  The
mudlib is the basic LPC files you make use of then you write your LPC
files.  The LPMud program in turn interprets your files and stores
them in memory.  Two MUDs using different mudlibs therefore can be
wildly different from one another.  And since the mudlibs are so
different, the files you will write will be equally different.

An analogy might be that of a human dialect.  Quebecois French and
Continental French often use different words and such in order to
express ideas.  In spite of this, the language structure is the same.
So, both are still French even though you sometimes need to say
different things in order to mean the same thing.

In writing an object in LPC, you are almost always using the mudlib's
LPC files rather than totally writing files from scratch.  You do this
through something called inheritances.  Inherited code which exists on
one mud may not exist on your mud, or may exist differently.
Therefore when you try to use that code, it will not work as you
expect even though both are in LPC.

*** III.8 What is an efun? an lfun? a kfun? a simul efun?...
For any function in LPC, there are three distinct parts...
	1) the prototype
	2) the call
	3) and the definition

Whate differentiates all of these different types of functions is
*where* they are defined.  The definition of the function is the part
which says what it does.  Therefore:
	1) afun: Auto function (DGD only)
	   the function is defined in the auto object and behaves like
	   and efun from other drivers.  This function is really a
	   very special type of lfun.
	2) apply
	   a function defined in the mudlib designed to be called only
	   by the driver.  All applies are also lfuns.  Most of the
	   functions in the DGD's driver object and other's master
	   object are applies.  In addition, the functions create(),
	   init(), and reset() are also applies.
	3) efun: external function
	   this type of function is defined external with respect to
	   the mudlib.  In other words, in the driver.  Since it
	   is defined inside the driver, it is faster, but the
	   mudlib is left with little control over what it does.
	4) kfun: kernal function (DGD only)
	   This type of function is much like an efun in that it
	   is defined external to the mudlib in the driver kernal.
	   There are some ways beyond the scope of this FAQ in which
	   kfuns differ from efuns, ways which have little bearing to
	   daily coding.
	5) lfun: local function
	   Any function defined inside an object in the mudlib.  The
	   functions you write (like create() or reset()) are lfuns.
        6) simul efun or sefun: Simulated External Function
	   lfuns defined in an object known as the simul efun object.
	   Any object in the mudlib is allowed to use these functions
	   as if they were efuns (treat them like local calls).

You might also want to keep in mind the difference between a local
call and a call_other.  A local call is a call to a function defined
in your object or to one of the objects it inherits.  A call other is
a call to a function defined in another object.  Efuns and simul
efuns, though not defined in your object, act like local calls.  Afuns
and kfuns are in fact local calls, since all objects inherit the auto
object to which they are local.

*** III.9 Can I take my area from LPMud X to LPMud Y?
Can you?  If they use the same mudlib, yes.
May you?  Often MUDs have restrictions against importing code in order
to keep the MUD unique.

*** III.10 Can I code offline?
This is a question best left to your admin, but in general, the answer
is yes.  The advantages to coding offline are that you can use a
visual editor like vi or emacs or *giggle* TeachText on your local
machine where speeds are much faster.   The disadvantages are that you
do not get the immediate feedback on how your program works that you
get online, and you have to take the extra step of using ftp to
transfer the files from your home machine to the MUD.  In order to
know if you really can code offline or not, you need to find out from
your MUD's admin if there is a way to ftp code into the MUD.

*** III.10 How do I put my code into the game?
A file is considered "in the game" if another file already visible to
players references it.  So, to put your stuff in the game, you need to
change code already in the game to reference your code.  This action
normally requires the action of MUD administrator.  Most MUDs have
some sort of quality control policies which state rules for having
your code reviewed.

		 Section IV: Starting Your Own LPMud
		    ******************************

*** IV.1 How do I start my own LPMud?
1) Come up with a unique and interesting idea
2) Find a site
Either:
	3) Choose a program
	4) Choose a mudlib
Or:
	3) Choose a mudlib
	4) Choose a program
Or:
	3) Choose a program
	4) Write your own mudlib
Or:
	3) Write your own program
	4) Write your own mudlib
5) Define administrative policies
6) Find people to code areas for the MUD
7) Get some areas completed
8) Open to players (generally a good idea to beta test)

*** IV.2 How do I find a site?
The most common method is to talk to the administrator of the machine
from which you access MUDs and the rest of the Internet.  If the
resources are available, they will often allow you to run your MUD
program unless something political like a no-games policy is
preventing it.  If you are not running a MUD as a game, however, this
is not relevant.

Never run a MUD without talking to your system administrator.  LPMuds
take up a lot of system resources, and many places simply cannot spare
those resources on a single project, especially if the project is
non-essential to the functioning of the entity running the machine.
Not only is it just plain wrong to run a MUD without permission, it
also predisposes sysadmins to saying no to people who ask them when
the resources are free.

If you cannot run it on your local machine, post a note on the
sites-wanted board at TMI-2.  Do not post to USENET newsgroups unless
you have a working MUD.  It does not need to be complete, but posting
notes saying "I have a cool idea, will someone give me a site" is
inappropriate, unless that idea is completely fleshed out with some
sweat in the form of work on paper and such.

Another avenue of finding a site is talking to local internet access
providers.  Often, they have extra small machines on which a MUD could
be run (sometimes for a fee).  The most expensive route is to buy your
own machine and your own Internet hookup.

*** IV.3 Can I charge players to play my MUD?
If you write the program from scratch AND you wrote your mudlib from
scratch and you have agreements with the coders who wrote areas on
your MUD, the answer, of course, is yes.  The above will take roughly
3-5 years of full-time work to accomplish as well :).

If you do not wish to go through 3-5 years of developing your own
program and mudlib, then your only choice is to use the DGD LPMud
program and pay its creator, Dworkin, a monthly fee.  You will also
have to develop your own mudlib, as no mudlib currently exists for DGD
which can be used commercially.

*** IV.4 Why can't I use any of the other programs or mudlibs?
They all come with some variation of the same copyright.  Since all
drivers except DGD were derived from LPMud 3.0, they all require a
copyright at least as strict as that one, which basically states that
you can use the program as you like, so long as you do not make a
profit off of its use.  Most current programs have much more strict
and explicitly copyrights.  On top of that, many of the mudlibs which
exist also have similar copyrights.  To require money of your players
is therefore a violation of international copyright laws.

*** IV.5 Our system needs upgrading, can't I get donations?
Yes, you can request that your players donate money as long as the end
of that money is to run the MUD and donations are not a prerequisite
for play on the MUD.  In other words, they must be donations, not
fees.

*** NOTE ***
I am not a lawyer, nor am I the author of all the MUD code out
there...  Therefore, keep in mind that what I am saying about
copyrights is my interpretation and not binding upon ANY of the
program or mudlib authors out there.  For reference to what is binding
with respect to my code, see the copyright notice which accompanies
it.

*** IV.6 I have a site, now how do I choose a program/mudlib?
Some people have a favourite mudlib, and therefore go at building
their own MUD from the angle of using that mudlib.  Others have a
favourite program and start from that angle.  Others simply want to
start a MUD fast, while others want to really tinker with it and make
it their own.  The following is a rough guide to what is out there:

*** NOTE ***
In this section, I make two uses of the word "native".  In one sense,
I use the word alone when referencing whether a mudlib is "native to"
a particular driver, meaning that it was written to work specifically
with that driver.  The opposite of native in this context is
non-native.  The other use is in the sense of "native mode", meaning
LPMud 3.0 style.  Native mode is often identified through the use of
the mapping data type, UID security, and other 3.0 features.  The
opposite of native mode is compat mode, which means LPMud 2.4.5
compatible.

*** Programs (drivers) ***
CD
Generally considered a slow driver, however it is designed to work
very closely with the CD-lib.  Therefore tests showing the CD driver
to be slower are not necessrily fair as sole factors since they are
mudlib-independent tests.  The CD-lib is considered a well designed
lib which is often a factor which leads people to choose this program.
To see a CD program MUD, visit Genesis.

DGD
DGD is built on the belief that small is good.  This is absent of much
of the extra baggage which exists in all other drivers since it was
created from scratch.  It is still relatively early in its development
cycle, has no mudlibs native to it, and documentation is sparse.  It
does support compile time LPC->C compiling, meaning that when you
compile the driver you can have some of your LPC files converted to C
and compiled with the driver.  In addition, unlike other LPMud
programs, it is disk-based, meaning you can run a huge MUD on
virtually no RAM.  You therefore never need to reboot or save objects.
Dark has written intermud support for DGD which can be gotten
separately from the driver.

LPC4
Maintained by Profezzorn, it supports a scripting feature that allows
you to execute LPC files as atomic programs without running the MUD in
the traditional sense.  In addition it features lambda closure types
which are actually understandable to most people.  It is designed for
speed through the philosophy of creating large numbers of efuns to
perform CPU intensive work.  It runs only in native mode.  I know of no MUDs
using this driver in practice.  LPC4 also has socket efuns with TCP support.

LPMud
Considered the fastest of all the LPMud drivers, it supports both
compat mode mudlibs (like LPMud 2.4.5) and native mode mudlibs (like LPMud
3.0).  It also has lambda closures which are beyond general ease of
comprehension.  There are few (if any) mudlibs in wide release native
to this program.

MudOS
The most feature-filled of the LPMud drivers, this one comes with TCP
support for mudlib objects allowing you things like WWW, finger, SMTP,
USENET, and other such access to Internet resources from inside the
mud.  It also comes with a choice of well-developed mudlibs native to
the program.  It does not support compat mode (thus does not support
LPMud 2.4.5 mudlibs), and is not as fast as LPMud.  It is not much,
however, to hack a LPMud 2.4.5 MUD to work with MudOS.

Urimud
Urimud is descended directly from LPMud 2.4.5, as opposed to the other
LPMud's (except DGD, which is created from scratch), which are all
descended from LPMud 3.0.  Its most prominent feature is that it can
handle running multiple MUDs on a single process.

*** mudlibs: ***

CD-lib
I am told this is a very well-designed mudlib.  Some features of it
are an enhanced sense of reality through player recognition (you must
make the acquaintance of players before knowing who they are) and UDP
intermud communications.
Runs under: CD (native)

Discworld
Advanced command parsing system and user interface, as well as many
concepts you will not see in other mudlibs for any program.  Too many
frogs and wombles.
Runs under: MudOS with DW patches (native)
	"The DW patches are supposedly going to be incorporated
	into MudOS..." -Rust

Heaven 7
Runs in both compat and native modes with autoconfiguration for
whichever driver you are chosing.  Since it runs under 3 different
drivers, you have the advantage of portability.  Security under native
mode is questionable, and it does not take full advantage of any one driver.
Runs under: LPMud 3.1.2 (native), LPMud 3.2 (non-native), MudOS (non-native)

Lil
A small, essentials only mudlib.  Designed basically to give you
examples of files as they must minimally be for the MudOS driver to
run.  Only useful if you plan really to write something totally from
scratch.
Runs under: MudOS (native)

LPMud 2.4.5
The most well-known mudlib in existence.  It is rather simple, not the
best design, but if you know it, it is useful.  Also, the widest range
of drivers support it. Good for putting up and running a MUD quickly.
It is very ancient and inferior in design, flexibility, and
functionality to modern mudlibs.
Runs under: DGD (non-native), LPMud 3.2(non-native), LPC4 (non-native)

Nightmare 3.2
Perhaps I should let someone else write this?
Nightmare is good for getting a mud up and run quickly for those who
are not necessarily experts and has an easy to handle intermud system.
Ithas a limbed-combat system, however, this system is not the most
effecient and is considered difficult to modify.  Also comes with WWW
support Just to be clear about everything, however, I wrote this lib,
so understand from which point of view I am commenting.
Runs under: MudOS 0.9.19 (native), patches exist for LPMud 3.2 (non-native)

TMI-2 1.1.1
Generic, designed for those who want to tinker around with their
mudlib rather than get a MUD up in no-time flat.  Designed to be
easily modified and comes with a full-range of intermud support as
well WWW support.  Features include the ability to take over monster
bodies.
Runs under: MudOS 0.9.19 (native)

TubMUD
Very intricate, and, according to Rust, "it is beautiful if you can
figure it out."  Intended more for Tub wizards to run at home than for
wide-release.
Runs under: LPMud 3.2 (native)

If I have missed a lib, or stated something incorrect about your
program or mudlib, or simply ommitted something, don't go flaming me.
Email me the correct information so I can include it in the FAQ.  I
did my best to be fair in this, but in simply undertaking this task I
have opened myself up to flames from anyone who I might have gotten
wrong or simply does not like what i said.  So please be gentle, and
understand I mean no malice or ill-will anywhere in there!

*** IV.7 Where can I find all this stuff?
The following are important ftp sites:

*** NOTE *** 
The sites listed are PRIMARY sites.
First try a site on your side of the Atlantic before attempting to
download across the ocean.  If you have any troubles looking for
something, always check out the following ftp sites for LPMud junk:
	ftp.actlab.utexas.edu
	bat.cs.hut.fi
	ftp.ccs.neu.edu
	ftp.lysator.liu.se
	nightmare.winternet.com

programs:
CD:		ftp.cd.chalmers.se
DGD: 		ftp.lysator.liu.se	/pub/lpmud/drivers/dgd
LPC4:		ftp.lysator.liu.se	/pub/lpmud/drivers/profezzorn
LPMud 3.2:	ftp.tu-bs.de		/pub/games/lpmud/3.2@xxx
MudOS: 		ftp.actlab.utexas.edu
Urimud:		ftp.netcom.com		/pub/urimud

mudlibs:
CD:		ftp.cd.chalmers.se
Discworld: 	ftp.ccs.neu.edu
Lil: 		ftp.actlab.utexas.edu
LPMud 2.4.5:	ftp.lysator.liu.se
Nightmare: 	nightmare.winternet.com	/pub/mud/mudlibs/MudOS/Nightmare
TMI-2: 		ftp.ccs.neu.edu

*** IV.8 Help! I can't get my driver to compile, what should I do?
Thanks to Rust for putting together an answer for this question.

First of all, learn how to redirect stderror to a file if you don't
already know how, or at least find a computer where you can cut and
paste.  Then, you have 3 options for getting these errors to a more
experienced driver person:
    a) You can try TMI-2, very often there is someone listening to the wiz
	channel who may be able to solve your problem, or at the very least
	you can post it on your target driver's board there, where it
	will be seen by knowlegeable people fairly quickly.
    b) You can post it to this newsgroup, but don't cross post, and it
	probably wastes a lot more bandwidth on this newsgroup than on
	TMI-2.
    c) you can mail the maintainers of your driver:
	3.2: amylaar@meolyon.hanse.de
        MudOS: tim@hollebeek.hep.upenn.edu, apang@bix.com
        CD: jacob@dd.chalmers.se
        DGD: dworkin@cd.chalmers.se
        LPC4: hubbe@lysator.liu.se
        URIMUD: urimud@netcom.com

For 3.2 and mudOS help, and probably DGD and URI help as well, you're
probably more likely to get a timely response by posting on the proper
board on TMI-2, since the creators and the people who use their drivers
tend to congregate there.  For LPC4, your best bet is direct mail, for
CD, either direct mail or visiting Genesis and mailing Tintin et al,
and for DGD you might also want to visit the pattern: 
        epsilon.me.chalmers.se 6047

*** IV.9 Can a MUD program run on DOS?
Yes, most of the programs have DOS binaries available.  In addition,
most of the mudlibs have had their files arranged and ported so they
fir in the FAT 8.3 naming scheme.  If you wish to allow others access
to the MUD over modem lines, be sure to get the comdrv17.com file with
your program and mudlib.  For those who choose mudlibs with colours in
them, the current batch of drivers was compiled in such a way that the
drivers do not send output through ANSI.SYS (thus no colour).

*** IV.10 Can a MUD run under AmigaOS? OS/2? Windows NT? etc...?
These are the ports of which I am aware:

AmigaOS:
	DGD
	LPMud 3.2

Atari:
	DGD
	LPMud 3.2

System 6 & 7:
	MacMud 3.2 which is LPMud 3.1.2 (MacTCP required)

OS/2:
	LPMud 3.2
	MudOS (Pinkfish, where is this?)

Windows NT:
	Ha ha ha ha!  Nothing runs on Windows NT!

**********

Please mail corrections or additions to the address in my .signature.

