Table of Contents
Cyber Mudhole, version 0.1
©2025 by Mark Damon Hughes
cyberhole.online/mudhole/
Text licensed as CC BY-NC-SA Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license
Code licensed as BSD, see LICENSE.txt
The Multi-User Dungeon (MUD) was invented by Richard Bartle in 1978, though a few online chat dungeons preceeded it. Since then, a vast number proliferated into the 1990s, then mostly went dormant, while "MMO" (Massively Multiplayer Online) games took over.
The Mudhole is a trivial, throwback, old-school MUD, or MUSH (Shared Hallucination). While there may be some adventure/combat parts to this world, for the most part it is a social space, rooms standing in for chat rooms, items standing in for props you emote with.
The normal interface to the game is a terminal, and you type at the bottom, while text of what's happening scrolls in above it. Things can happen while you're not typing, but slowly (likely every half-second), not like a 60fps shooter.
When you connect, you are alone, in the Registry. You're asked to either create or connnect:
create NAME PASSWORD EMAILconn NAME PASSWORDFor example, create mdh 1234 mark@example.com (I have the same password on my luggage!). Some time later, I'm either told I can log in, or get email about it. From then on, I can conn mdh 1234
The password on these lines won't be kept or shown to anyone else.
If creation or connect succeeds, you're brought to The Lobby. From here, you can explore, and read this manual for commands and other hints.
To move around, n, e, s, w, u, d
As north, east, south, west, up, down.
Some rooms also have in to go in somewhere, out to go out.
If you get lost, you can always type home to return to The Lobby. Eventually you'll be able to set your home somewhere else.
To talk to other people, say something like this
Which shows up as NAME says, "something like this"
You can also use "shorter
To emote, emote dances in circles
Which shows up as NAME dances in circles
You can also :fingers a widget
To scheme in secret, whisper CONSPIRATOR You have the REPL ready?
Which only they see. You can also -CONSPIRATOR Read, eval, and print loop.
When you're done for the day,
afk I'll be back Friday afternoon
Sets an away message.
quit
Logs you out and removes your body from the game world until you return.
There is one pre-defined room: The Lobby. Everything must be attached to The Lobby to be walkable.
Wizards create new rooms with @dig, and once a player has their own rooms, they can also @dig.
UPPERCASE are things you fill in._ (underscore), or . (period), like Space_Hole.123. Special names me are for your own NAME, here for the current room, all for all relevant (usually items in inventory or here).{} and | in text may have special meanings, so avoid those.| (pipe). Each segment is a normal command, but may have some text replaced.@commands can be used on things you own, or by Wizards anywhere.TODO: Most of these commands don't work yet, they're aspirational.
| Command | Explanation |
|---|---|
| create NAME PASSWORD EMAIL | Create new player - don't forget your password! NAME and PASSWORD can only be 3-16 chars. Use @desc player me ... to describe yourself. |
| conn NAME PASSWORD | Connect with name & password. You will be moved to your home (Lobby if not set), unhidden, bak, players there will see "NAME appears". Told if you have private messages. |
| quit | Log out - you'll just stand there until AFK'd if you don't log out. |
| help | Tells you where this help is. |
| news | List news file. |
| TODO: who | Who's logged in, and where they are. |
| TODO: who NAME... | who for specific players. |
| Movement Commands | |
| n, e, s, w, u, d, in, out | Move in direction, if allowed from here. |
| TODO: home | Teleport to your home, or the Lobby if you haven't done @sethome. |
| TODO: warp ID | Warp to room ID, if it is set as a warp point. |
| Social Commands | |
| emote TEXT, :TEXT | Emote "NAME TEXT", like :dances. emits mdh dances. emote* or ::TEXT doesn't have the space, so you can ::'s beard grows longer is mdh's beard grows longer. |
| say TEXT, "TEXT, 'TEXT | Speak out loud to here. Note " or ' doesn't need a close quote. |
| TODO: afk TEXT | Mark yourself Away From Keyboard, any whisper or your name in text, gets responded with TEXT. |
| TODO: bak | Back At Keyboard, turn off afk |
| TODO: hide | Make yourself invisible to who. You can still be seen in the world! You always log in unhidden. |
| TODO: unhide | Make yourself visible to who. |
| TODO: mail | List your private mail. |
| TODO: mail NAME TEXT | Send private mail to player NAME, even if they're offline. |
| TODO: maildel N... | Delete private mail by number. |
| TODO: mailread N... | Read private mail by number. |
| TODO: mute | List everyone you're muting. |
| TODO: mute NAME | Quit hearing from player NAME. Nothing they directly generate will appear to you. |
| TODO: unmute NAME | Resume hearing from player NAME. |
| TODO: whisper NAME TEXT, -NAME TEXT | Telepathic message to player NAME, anywhere in the world. |
| Item Commands | |
| TODO: drink ITEMID | Drink an item here or in inventory. |
| TODO: drop ITEMID... | Drop one or more items from inventory to here. |
| TODO: eat ITEMID | Eat an item here or in inventory. |
| TODO: give ID... | Give item from inventory to another player. |
| TODO: i, inv, inventory | List your inventory. |
| look ID... | Look at players or items, or here if no IDs are given. |
| TODO: read ID... | Read a book here or in inventory. |
| TODO: take ITEMID... | Take one or more items here. |
| Special Commands | |
| TODO: @desc TYPE ID TEXT | Describe object TYPE ID as TEXT. |
| TODO: @examine TYPE ID | List all attributes of object TYPE ID. Wizards can see more attributes. |
| TODO: @examine TYPE ID ATTR... | List specified attributes of object TYPE ID. |
| TODO: @sethome | @sethome assigns here as your home, you will always appear there on login or when you type home. |
| TODO: @yes CODE | Respond yes to some important message. |
| TODO: @no CODE | Respond no to some important message. |