LambdaMOO is a network-accessible, multi-user, programmable, interactive
system well-suited to the construction of text-based adventure games,
conferencing systems, and other collaborative software. Its most common use,
however, is as a multi-participant, low-bandwidth virtual reality, and it is
with this focus in mind that I describe it here.

Participants (usually referred to as players) connect to LambdaMOO using
Telnet or some other, more specialized, client program. Upon
connection, they are usually presented with a welcome message explaining
how to either create a new character or connect to an existing one.
Characters are the embodiment of players in the virtual reality that is
LambdaMOO.

Having connected to a character, players then give one-line commands that are
parsed and interpreted by LambdaMOO as appropriate. Such commands may cause
changes in the virtual reality, such as the location of a character, or may
simply report on the current state of that reality, such as the appearance of
some object.

The job of interpreting those commands is shared between the two major
components in the LambdaMOO system: the server and the database.
The server is a program, written in a standard programming language, that
manages the network connections, maintains queues of commands and other tasks
to be executed, controls all access to the database, and executes other
programs written in the MOO programming language. The database contains
representations of all the objects in the virtual reality, including the MOO
programs that the server executes to give those objects their specific
behaviors.

Almost every command is parsed by the server into a call on a MOO procedure,
or verb, that actually does the work. Thus, programming in the MOO
language is a central part of making non-trivial extensions to the database
and thus, the virtual reality.

In the next chapter, I describe the structure and contents of a LambdaMOO
database. The following chapter gives a complete description of how the
server performs its primary duty: parsing the commands typed by players.
Next, I describe the complete syntax and semantics of the MOO programming
language. Finally, I describe all of the database conventions assumed by the
server.

Note: This manual describes only those aspects of LambdaMOO that are
entirely independent of the contents of the database. It does not describe,
for example, the commands or programming interfaces present in the LambdaCore
database.