Welcome

This is the DolphinMUD User Manual. It explains (or at least, attempts to explain) all the important aspects of DolphinMUD from the ground up for the new user.

Welcome! If you are new to the game and perhaps even the concept of MUDs in general, proceed to the next page, What is DolphinMUD?. If you are an experienced Telnet user and you have an idea what MUDs are all about, you can connect directly to DolphinMUD using any Telnet client at dolphinmud.net:5999. Telnet over SSL is available on port 6900; this may change in the future.

Enjoy your stay in the Mansion of DolphinMUD!

— Nua, Archwizard of DolphinMUD

What is DolphinMUD?

DolphinMUD (pronounced, unsurprisingly, "Dolphin Mud") is a Multi-User Dimension, or MUD for short; a text-based multiplayer world. Unlike video games, which are more like movies, a MUD is similar to an interactive book. When you enter the MUD, the game describes your surroundings; for example:

    Gate
You stand before a small gate in a stone wall. The wrought iron bars 
and curlicues are heavily rusted; the slate pillars and crumbling walls
remain, crowded with lichen and moss and shimmering in the summer sun. 
Northward lies the mansion; to the south, long grassy lawns slope away 
into the distance.

Exits: north, south

You interact with the same via simple English commands. There are also a special set of commands used to communicate with other players; with these, you can chat and have fun in a text-based world to your heart's content.

DolphinMUD belongs to a special sub-category of MUDs, sometimes called MOOs (short for "MUD, Object Oriented"). In these MUDs, anyone can build their own rooms and change the descriptions of objects they own at will. They also gain a range of other quasi-magical powers: the ability to teleport and the ability to communicate telepathically, to name just two. There is no combat in DolphinMUD, and no health or gold; it is a game entirely based around descriptive writing and chatting. Rather than a "computer game", DolphinMUD might better be describes as a "social space": a place to hang out, have fun, and maybe learn a little programming along the way.

If this sounds like fun to you, read on to see how to join the server and start playing.

Getting Started

DolphinMUD, like most other MUDs, uses the Telnet network protocol. Telnet is a very old protocol, originally developed as a way to control computers remotely; it can do many other things, however (such as host MUDs!)

To connect to a Telnet server like DolphinMUD, you will need a Telnet client. Think of a Telnet client as being similar to a web browser like Firefox, but for text-based programs. Your Telnet client is your gateway to the world of DolphinMUD, just like your web browser is your gateway to websites.

  • If you are on a PC running Windows 7 or later, then we provide a Telnet client specifically designed to work with DolphinMUD, called PicoClient. Download and set it up here.
  • If you are running Linux, then odds are Telnet already comes preinstalled. If not, use your package manager to install the telnet package (sudo apt install telnet on Debian/Raspbian/Ubuntu/Mint, or sudo yum install telnet for CentOS/RHEL). Once telnet is installed, run the command telnet dolphinmud.net 5999 to connect.
  • If you are on a device running macOS, you can either install Telnet using Homebrew or (on some devices) Netcat may already be installed; if Netcat is available, use nc dolphinmud.net 5999.
  • If you are running Android, the Termux app includes a Telnet client. Simple open Termux and run this command telnet dolphinmud.net 5999. You should now be connected.

Once you have your Telnet client working and connected, you should see DolphinMUD's opening text appear:

                ----- Welcome to DolphinMUD -----

DolphinMUD is a world made of words by people from anywhere. You may 
not always like what you encounter; behave with appropriate caution. 
DolphinMUD is a social space, and its people are real people. Treat 
them accordingly. 

To log in, type "@login". To enter the MUD as a guest, type "@guest". 
To acquire an account, please fill out an application at 
dolphinmud.net/apply.

Please read and respect the rules at dolphinmud.net/rules.

In no event shall the authors or copyright holders by liable for any 
claim, damages, or other liability, whether in an action of contract, 
tort or otherwise, arising from, out of, or in connection with this 
service ("DolphinMUD") or the use thereof. By accessing this service, 
you confirm that you are of the age required by law. The authors and 
maintainers of DolphinMUD disclaim all responsibility for the 
statements and opinions which may be expressed on the service by the 
users of the service.

The lag is approximately 0 milliseconds.

From here, since you do not yet have an account, type @guest and press Enter. You will immediately be logged in as a guest user. As described in section 2, What is DolphinMUD?, the MUD will display a description of your surroundings:

    Gate
You stand before a small gate in a stone wall. The wrought iron bars 
and curlicues are heavily rusted; the slate pillars and crumbling walls
remain, crowded with lichen and moss and shimmering in the summer sun. 
Northward lies the mansion; to the south, long grassy lawns slope away 
into the distance.

Exits: north, south

From here, you can type what you want to do in simple English commands, pressing Enter after each one (called Return on some keyboards). Note that DolphinMUD is just a computer program, and not a particularly sophisticated one at that; its understanding of the English language is rudimentary at best. The most common forms of command in DolphinMUD are one-word commands or simple two-word commands, such as get lamp, eat donuts, and so forth. Using articles (like 'a' or 'the') in your command will almost always confuse the parser. When talking with other humans, be descriptive; when talking to the computer, be terse.

You will note, in the room description above, that the room has two exits. You can move in these directions by typing north or south. If you move north, DolphinMUD will display the description of your new surroundings:

    Courtyard
This is the central courtyard of the Mansion. A dry fountain adorns the
middle here, the marble of which has been partially shattered by the 
roots of a majestic oak bursting through the flagstones a little 
farther on. The path you are on continues north to the Mansion and 
south to the gate; to the west is an elegant herb garden of modest 
proportions, while to the east a set of slate steps descends down the 
hillside, curving to the north.

Exits: north, south, west

You may see another player. If you do, you can type examine <player's name> to get a description of them:

You see here: Nua

examine Nua

    Nua
You see a pale, tall man, dressed in a dark robe of nondescript blue 
which is covered in a faded star pattern. He carries a pointy hat under
one arm, rather awkwardly, as if ashamed to wear it.

You can interact with other players:

Nua: Hello!
Nua waves.

To speak, put an apostrophe (') in front of what you want to say:

'Hello Nua.

To perform an action (referred to in MUD-speak as emoting), put a colon (:) in front of the action you want to do. For example:

:waves

This will display to other users in the same room:

Guest waves.

Note that you can only talk to people who are in the same room.

If you want to leave the server, simply type @quit.

As a guest, you are limited to walking around, using objects that have already been made by other players, and chatting. If you want to create your own objects or rename yourself. You will need to get an account on DolphinMUD. This is the topic of the next section.

Acquiring an Account

To get your own account on DolphinMUD, you can apply by filling out the form here. Once you have an account, you will be able to make your own places and things in DolphinMUD.

All responses to the form are reviewed manually by real humans, so don't necessarily expect an instantaneous response. As soon as possible, an email will be sent to the provided address; the email will contain your new username and a randomly-generated password.

A few notes about the application form: we do collect your email address and real name. This is done to prevent spambots from making accounts, and to help encourage responsible behavior. We do not sell your address or real name (or anything else, for that matter).

Regarding username: your in-game name does not have to be your real name. In fact, it's best if it is different. Pick something interesting, memorable, and easy to type.

Please do not labor unnecessarily over the "Why do you want to join DolphinMUD?" question; the briefest of sentences - "This looks fun and I have an idea for a room", for example - is completely sufficient. Again, its main purpose is to try to discourage spambots.

Once you have created your account, it's time to log in for the first time. Connect to DolphinMUD as usual, but instead of typing @guest to enter the game as a guest character, type @login and press Enter. You will be prompted for your username and password, after which you will enter the world as usual.

The first command you should run after you have logged in is the @password command to change your login password:

@password <newpassword>

Put your new password in place of <newpassword>. Be sure to select a secure password. Also, do not reuse a password from another site! If you connect to DolphinMUD without using SSL, your password is transmitted in cleartext over the network; this is one of the unfortunate compromises of the Telnet protocol. If you use SSL, your password will be encrypted, but just in case you ever forget one day and log in via a non-SSL-encrypted connection (and then have a run of magnificently bad luck in which a hacker targets you and takes your password), make sure to only use this password with DolphinMUD.

Using Magic

After you have logged into DolphinMUD with your new account and broken it in a little, so to speak, you will probably want to make some new rooms to live in or change your character's appearance. In DolphinMUD, the commands to do this are grouped under the category of "magic" commands, because they modify the structure of the world.1 Magic commands in DolphinMUD are prefixed with the at sign (@) to indicate their nature. This chapter describes a few of the most common magic commands and how to use them.

If you examine yourself, using examine me, you will find yourself to be, well, rather plain:

You see swirling mists of possibility here.

You can fix this by setting the desc attribute on yourself. Attributes are pieces of text associated with a given object; the desc attribute of an object is what is shown when it is examined (or, if the object is a Room, the desc is printed when you enter that room.) To change your desc attribute, type the following command:

@attr me.desc=New description

Replace New description with a new description for yourself. This command changes the desc attribute on me to the text you typed.

Now that you are looking a bit more definite, how about you create a new room?

@newroom Name of Room

Replace Name of Room with the name you want to give the room. You will see a message like this:

Created new room: #97.

The #97 is the id of the room. Every item, player, room, and exit in DolphinMUD has its own ID. In any command, you can use the ID of the object instead of its name. For example, suppose you are object #149. To look at yourself, instead of typing examine self, you can instead type examine #149. In fact, you can only refer to an object by name when you are nearby; you can refer to objects by ID from anywhere in the MUD.

This is necessary right now, because when a new room is created, it isn't connected to any other room; the only way to get there is by teleporting. Use the @teleport command to teleport into your new room:

@teleport #ID

(Replace #ID with the object ID of the new room, of course). Once you have entered the new room, you will see that the description isn't very interesting:

You see swirling mists of possibility here.

You can change the description using the same command as before:

@attr #ID.desc=New description

Replace #ID and New description with the room's ID number and description, respectively. Note that if you are standing in the room, you can use here as a shorthand for it instead of typing out its ID:

@attr here.desc=New description

Connecting rooms

A room which you can only get into by teleporting is not very interesting. Most of the game's rooms are connected through exits; from the Gate, for example, you can go north to get into the Courtyard, or south to get to the Autumn Hillside. To connect your own rooms, you'll need the @connect command.

While standing in one of the rooms you want to connect, type the following:

@connect direction=#ID

This will create a new exit from the room you are in according to direction, leading to room #ID. For example, say you want to link two rooms #130 and #131. First, you should stand in room #130:

@tel #130

Next, you connect the two rooms so that #131 is northeast of #130:

@connect northeast=#131

Now you can type northeast in room #130 to go to #131; correspondingly, you can type southwest in room #131 to go back to #130.

Ownership

You can only run the @connect command in rooms you own. If you go to the Gate (#25) and type @details here, you will see something like the following:

@details here
ID: #25
Room:
  - north => 27 => #22 (Courtyard)
  - south => 32 => #31 (Autumn Hillside)
Name: Gate
Aliases: Gate
Contents:
========
	  Loc:    #0
	  Owner:  #1 (Nua)
	  Parent: #0
	  Flags: (none)

This room belongs to Nua; consequently, only he can use @connect from it. You can, however, run connect to a room you don't own while standing in a room you do. This is confusing, but important; without this, there would be no way for two different players to link their rooms together:

If player A stands in a room he owns and @connects to a room owned by player B, a one-way exit is created which is Blocked.

Thus, in the example above, suppose that room #131 is not owned by you, but is instead owned by UniqueBob. When you run the @connect command, it will succeed; however, if you try to go northeast, you will encounter the following message:

The way is blocked.

This is because the exit leads to a room that you do not own. If you now teleport to room #131, you will see that there is no corresponding southwest exit; UniqueBob will have to add that, by typing @connect southwest=#130 from his room. His exit will also be blocked; because the end goes into a room that you own, only you can unblock it. Each of you must unblock the other's exit. To do this, tell the other person the ID of the exit (it is reported when you run @connect; note that it is different from the ID of the room.) Then, the other person needs to run this command:

@clear #ID=Blocked

This will clear the Blocked flag on the exit with the given ID. The exit will now work as usual.

In general, you are only allowed to modify objects that you own. This prevents others from messing with your objects without your permission. To change the owner of an object, use the @chown command:

@chown object=player

This will make player the owner of object.

Creating Items

To make an item, use @newitem:

@newitem Item Name

This will create a new item in your inventory. To put it down, use drop <item>.

This item is an object just like any other, with its own ID, attributes, name, and so forth. You can modify its description using the same @attr command seen above:

@attr object.desc=New description

Creating Aliases

If you aren't in the same room with an object, you generally can't refer to it by name, only by ID, because it isn't "visible" to you. This gets annoying when you have a lot of objects that you want to keep track of. To help with this, there is an @alias command. Aliases are personal names for an object - that is, only you can use that name for the object, but you can use it from anywhere, even if the object isn't nearby. Think of it like a nickname; not everyone knows it, but it's a convenient personal shorthand for someone or something.

To create an alias, use the @alias command like so:

@alias name=object

This will make a new personal alias name which refers to object. For example, if you are standing in a room you just created, you can give it the alias home like this:

@alias home=here

This sets the alias home to the object you are standing in (here). Because aliases aren't shared between players, home can be different for each player. In fact, home is where you are teleported when you log out of the server, so it is important to set it up right!

Telepathy and Querying

Some of the most useful commands are those which let you interact with other players at a distance. The @msg command allows you to telepathically send a message to another player; the @who and @where commands will tell you a whether or not a player is online and where they are, respectively.

@msg player=some text

This sends some text to the other player:

Nua (telepathically): some text

It is advised that you be sparing and polite with your use of the @msg command; people don't appreciate being bothered frequently.

The @who command will report a player's ID and whether or not they are connect at the moment:

@who Nua
Nua (online) is #1

The @where command will report the whereabouts of a player:

@where Nua
Object #1 (Nua) is at #25 (Gate)

With these few commands, you should be able to get started building your corner of the world. There are several more commands not covered by this introduction; you should consult the Reference section of this manual for more information about these.

Have fun!

1

Not all magic changes the world; @teleport, for example, isn't really different from a move command. It is magic, though.

Command reference

These sections are currently incomplete; we are filling them inas fast as possible. If you have questions, feel free to ask Nua on the server.

@alias

@alias name=object

Assigns a personal alias to an object. This alias is not shared by any other player; two players can each have the name name pointing to a different object. For example, the home alias for each player points to their home location, where they are teleported automatically when they log out.

Examples

@alias home=here

@alias gate=#25

@attr

@attr object.attribute=value

@attr object.attribute=

Sets the attribute attribute on object to value. If value is not provided, as in the second form of the command, this deletes the attribute with the given name.

See the attribute reference for a list of available attributes and their meanings.

Examples

@attr here.desc=This is a small room.

@attr me.status_b=sitting on couch

@attr me.~home=

@chown

@chown object=player

Set the owner of object to player.

Examples

@chown #17=UniqueBob

@chown here=Nua

@clear

@clear object=flag

Clears (removes) a flag from object. See the flag reference for a complete list of available flags.

Examples

@clear #119=Blocked

@clear me=NoGifts

@clear here=RestrictedTel

@connect

@connect direction=room

This command creates a new exit from the room the player is standing in, going in direction, which exits into room. This command is not usable if the player's current location (where they are standing) is not a room that belongs to them.

If the target room is not owned by the player, the exit is still created but is set to Blocked; only the player who owns the destination can clear this flag.

If both the current room and the target room are owned by the player, and there isn't a previous exit already in the way, then @connect will create both 'directions' of travel; if room B is north of room A, then room A is south of room B.

The available directions are:

  • north
  • east
  • south
  • west
  • northeast
  • northwest
  • southeast
  • southwest
  • up
  • down
  • in
  • out

Examples

@connect up=#37

@connect southeast=#105

@destroy

@destroy object

Destroys the given object. You must be the owner of this object.

After the object is destroyed, its ID will not be reused.

@details

@details object

Displays some details about an object.

@hollow

@hollow item

This command makes the interior of an item "hollow"; that is, you can go inside the item by typing enter <item>.

It does not work on items that already have an interior.

Note that when you do this, the item and its interior room are separate objects. Destroying one does not destroy the other.

@msg

@name

@newitem

@newroom

@password

@quit

@set

@teleport

@where

@who

drop

drop object

Drops a held item.

enter

enter object

Enter an enterable object; that is, an object which has an inside which a player can get into. To get back from the object afterwards, use "out".

Examples

enter snowglobe

get

Synonyms: take

get object

Gets a given object and places it in the player's inventory. The object must not be Scenery or Fixed for this to work.

give

give object=player

Gives object to player. Fails if player has NoGifts set.

inventory

inventory

Synonyms: invent, inv, i

Lists the objects you are currently holding.

look

Attribute reference

This is a list of attributes you can set on objects and what they mean.

allow-tel.#ID: When set to any non-empty text, this attribute allows player #ID to teleport into a room that they would not normally be allowed into, because the room is RestrictedTel.

fget: This attribute is the message that is displayed to a player who tries to pick up the object when it is immovable (because it is Fixed or Scenery). By default, it displays Your efforts to move it are in vain.

xenter: Emoted when a player steps into a hollow object. Thus, if the attribute is leaps in and UniqueBob enters the object, the other players will see, UniqueBob leaps in.

enter: Printed when a player enters a hollow object.

desc: The object's description. Defaults to, You see swirling mists of possibility here.

status_a and status_b These are the "current status" of an object, displayed in parentheses next to its name (e.g. Nua (sleeping)). If both status_a and status_b are set, only status_b is shown. The only difference between them is that whenever you move, status_b goes away; status_a does not.

ltel: When set on a player, this is emoted right before you teleport somewhere. Defaults to vanishes in a puff of smoke.

atel: When set on a player, this is emoted right after you teleport somewhere. Defaults to appears in a puff of smoke.

wakeup: This is emoted when you wake up (i.e. log in).

sleep: This is emoted when you fall asleep (i.e. disconnect from the MUD).

blocked: When set on an exit, this is displayed to someone who tries to use the exit while it is flagged Blocked.

Flag reference

Below is a list of the flags you can place on objects using @set and @clear. Flags are on/off; unlike attributes such as desc, you don't set them to a specific piece of text.

You can use @details <object> to see what flags are set on it.

Available flags:

AnyConnect: Applies to rooms. When set, anyone can add their own exits and entrances to the room, without consulting the room's owner first.

AnyEdit: When set, anyone - even players who do not own the object - will be able to make changes to it.

Blocked: Applies to exits. When set, the exit cannot be traveled through. Blocked can only be set or cleared on an exit by the owner of the exit's destination.

Clean: Applies to rooms. When set, people aren't allowed to drop things inside.

Fixed: Applies to items. When set, the item cannot be picked up.

Light: The item can be teleported at a distance, even by players who don't own it.

NoGifts: Applies to players. When set on a player, other players won't be able to give that player gifts.

Private: Applies to players, rooms, and items. When set, players will not be able to see the item "from a distance".

RestrictedTel: Applies to rooms. When set on a room, only selected players will be able to teleport in.

Scenery: Applies to items. The item cannot be picked up, and it won't you up in the "You see here:" list when players type look in the room with the item.

Wizard: This player is a wizard. You can't set this flag on yourself; it can only be bestowed by another wizard.

Appendix A: DolphinMUD's Telnet Approach