mu*index
reading
theme
REFERENCE
Hand-written, single-author, and versioned in git. The prose here is ours; every
number beside it was measured by the crawler and is recomputed on each request.
This is not a wiki, and there is no way to edit it from this page.

START HERE
  How to connect
    /reference/connecting
    A host, a port, and telnet. What the address on a game page means and what
    to do with it.
  MUSH, MUD, MUCK, MOO — what the words mean
    /reference/mush-mud-muck-moo
    Four words for four traditions, none of which is a genre. What they actually
    tell you.
  You want collaborative roleplay
    /reference/collaborative-roleplay
    If what you are after is writing scenes with other people, this is the short
    path — the codebases to look for, a client that will not fight you, and what
    to expect on your first night.

CODEBASES
  AresMUSH
    /reference/codebases/aresmush
    A modern roleplay server written in Ruby, with a web front end and scene
    tools built in rather than softcoded.
  CircleMUD
    /reference/codebases/circlemud
    The DikuMUD derivative that was documented well enough to teach with.
    Enormously forked; still running.
  CobraMUSH
    /reference/codebases/cobramush
    A PennMUSH fork with its own division and power model. Small deployment,
    still answering.
  CoffeeMUD
    /reference/codebases/coffeemud
    A MUD server in Java, with the largest MSSP report of anything we have
    probed and an unusually broad protocol surface.
  DikuMUD
    /reference/codebases/dikumud
    The root of the combat-MUD family. Levels, classes, equipment and area files
    — and a licence that shaped a generation of derivatives.
  Evennia
    /reference/codebases/evennia
    A Python framework rather than a finished game. Two Evennia games can have
    nothing in common but the plumbing.
  FluffOS
    /reference/codebases/fluffos
    The maintained MudOS successor, and the driver most surviving LPMud games
    run on. The game is written in LPC, not in C.
  MOO
    /reference/codebases/moo
    Object-oriented, edited entirely from inside, and as much a research and
    teaching platform as a game engine.
  MUCK
    /reference/codebases/muck
    A TinyMUD descendant with its own Forth-like in-game language, and a social
    culture distinct from the MUSH side.
  PennMUSH
    /reference/codebases/pennmush
    The most widely deployed MUSH server. Softcode, a long release history, and
    one of only two codebases in our survey that answer both MSSP and a
    pre-login WHO.
  RhostMUSH
    /reference/codebases/rhostmush
    A MUSH server known for a deep permissions model and a large built-in
    function set. No MSSP; answers a pre-login WHO.
  ROM
    /reference/codebases/rom
    Merc's best-known descendant, and the combat engine a large share of
    nineties MUDs were built on.
  SMAUG
    /reference/codebases/smaug
    A Merc derivative built for large themed worlds, with deities, planes and an
    area set several times the size of its parent's.
  tbaMUD
    /reference/codebases/tbamud
    The maintained continuation of CircleMUD, and the usual answer to "I want to
    start a Diku-style MUD today".
  TinyMUSH
    /reference/codebases/tinymush
    The ancestor of the MUSH line, still running games. It taught this crawler
    that its own negotiation bytes can break the next command it sends.
  TinyMUX
    /reference/codebases/tinymux
    The other big MUSH server. Softcode close enough to PennMUSH's to argue
    about, no MSSP at all, and a pre-login WHO that works.

CLIENTS
  Atlantis
    /reference/clients/atlantis
    A macOS-only client, long-lived and long in beta. Its scripting is
    documented as no longer working, which is the one honest "no" in this
    section.
  BeipMU
    /reference/clients/beipmu
    A Windows client aimed at the MUSH side of the hobby, with screen-reader
    support in the output window and Pueblo rather than MXP.
  Blightmud
    /reference/clients/blightmud
    A modern terminal client in Rust, with Lua scripting, built-in
    text-to-speech and a screen-reader mode that announces itself to the server.
  Mudlet
    /reference/clients/mudlet
    Cross-platform, Lua-scripted, and the client with the most thoroughly
    documented screen-reader support in this section.
  MUSHclient
    /reference/clients/mushclient
    The long-established Windows client. Five scripting languages, a plugin
    architecture that most of its protocol support lives in, and a release
    history that has slowed.
  Potato MUSHclient
    /reference/clients/potato
    A cross-platform Tcl/Tk client written for MUSH players. Good encoding
    support, and a documentation set that says nothing at all about most
    protocols.
  TinTin++
    /reference/clients/tintin
    A terminal client with its own scripting language, on every platform
    including phones, and a documented screen-reader mode.
  TinyFugue
    /reference/clients/tinyfugue
    The classic UNIX terminal client. Upstream has not released since 2007; a
    maintained fork carries it forward.
  VIP Mud
    /reference/clients/vipmud
    A commercial Windows client built for blind players from the ground up. It
    names seven screen readers — and publishes almost nothing about its protocol
    support.

PROTOCOLS
  ATCP
    /reference/protocols/atcp
    GMCP's predecessor. Out-of-band data with a looser payload, largely
    superseded, and still negotiated by servers that never removed it.
  CHARSET
    /reference/protocols/charset
    RFC 2066's telnet option for agreeing an encoding. The reason a game's
    accented names survive the trip, and the source of some subtle failures when
    it is absent.
  GMCP
    /reference/protocols/gmcp
    The Generic Mud Communication Protocol — structured JSON messages alongside
    the text, and the out-of-band channel most modern clients build against.
  MCCP
    /reference/protocols/mccp
    Stream compression. Cheap, widely deployed, and the protocol that produced
    the most instructive bug in this project's history.
  MSDP
    /reference/protocols/msdp
    The Mud Server Data Protocol — the same job as GMCP, done with a compact
    binary encoding and a discovery mechanism GMCP lacks.
  MSP
    /reference/protocols/msp
    The MUD Sound Protocol — the server names a sound file and the client plays
    it. Old, simple, and easy to confuse with two other things.
  MSSP
    /reference/protocols/mssp
    The Mud Server Status Protocol — how a game tells a crawler about itself.
    Everything it reports is declared, not measured, and this site keeps the two
    apart.
  MXP
    /reference/protocols/mxp
    The MUD eXtension Protocol — HTML-like markup in the text stream, giving
    clickable links, images and forms. Widely specified, unevenly implemented.
  Pueblo
    /reference/protocols/pueblo
    The older HTML-in-a-MUD scheme, from the client of the same name. Still
    supported by MUSH-side clients, and routinely confused with MXP.
  TLS
    /reference/protocols/tls
    Encrypted connections. Usually a separate port rather than a negotiated
    upgrade, and the one capability on this site we verify by connecting rather
    than by asking.
  TTYPE and MTTS
    /reference/protocols/ttype
    How a client tells a server what it is and what it can do — including, if
    the client chooses to say so, that a screen reader is in use.