Skip to content

A curated list of MUD development resources, tools, and apps.

Notifications You must be signed in to change notification settings

maldorne/awesome-muds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 

Repository files navigation

Awesome MUDs

Awesome

A curated list of MUD development resources, tools, and apps.

Inspired by the awesome list thing.

If you want to add anything to this list, please open an issue or a pull request.

Contents

Clients

List of clients you can use to connect to different MUDs, grouped by operating system. Includes a list of MUD protocols the client is compatible with (although it can be an incomplete list, help is welcome!)

Multiplatform

  • Mudlet [Linux, MacOS, Windows], [GMCP, MSSP, MCMP, MSP, ATCP, Aardwolf's 102, MSDP, MXP, MMP, Discord GMCP, GMCP Authentication]
  • Blightmud [Linux, MacOS], [TLS, GMCP, MSDP, MCCP2]
  • Tintin++ [Android, iOS, Linux, MacOS, Windows] [GMCP, MCCP, MCCP3, MSDP, MSLP, MSSP, MTTS, MMCP, NAWS, MNES]
  • KildClient [Linux, Windows], [SSL, MCCP, MCCP2, MMCP, zChat]
  • TinyFugue [Linux, MacOS, Windows], [MCCP]
  • TinyFugue Rebirth [Linux, MacOS, Windows], [GMCP, ATCP]
  • AxMud [Linux, Windows], [MXP, GMCP, MSDP, MNES, MTTS]
  • Tortilla MUD client (completely in russian) [Windows XP and above, Linux and MacOS via Wine], [MCCP, MSDP, MTTS]
  • KBTin (Tintin++ fork) [Linux, MacOS, BSD] [MCCP, TLS]

Windows

  • Avalon Mud Client
  • CMUD (free trial, paid app) [MXP, MSP, MCP, MCCP, ATCP]
  • zMUD 7.21 (free trial, paid app, last version of CMUD precursor, unmaintained) [MXP, MCP, MCCP]
  • zMUD 3.62 (last free version of zMUD, very old, unmaintained)
  • Portal
  • MUSHclient [MXP, MCCP, MMCP, MTTS]
  • BeipMU [TLS, MCMP]
  • WinTin (supports Tintin++ scripting language, unmaintained in its webpage, but Tintin++ releases has updated windows versions)
  • GMud32 (very old, unmaintained)
  • Putty (generic telnet and ssh client, without MUD features)

MacOS

Linux

Mobile

Abandoned projects

Links to old abandoned open source mud client projects, maybe something useful in there:

  • MudWalker (unmaintained, abandoned) [MacOS] [MCP]
  • GGMud (unmaintained, abandoned) [Linux, MacOS, Windows] [MCCP]
  • Lyntin (unmaintained, abandoned) [Made in Python, probably multiplatform]
  • XpertMud (unmaintained, abandoned) [Linux, Windows]

Web Clients

  • MudPortal (web client and proxy server ws/telnet) [MCCP, MXP, MSDP, GMCP, ATCP, MTTS]
  • mud-web-client (fork from MudPortal, just the web client, updated to allow wss)
  • Mudslinger (fork, fork) (original code seems to be gone, the links are forks) (web client and proxy server) [MXP]
  • Grapevine
  • DecafMUD (very old, unmaintained)

Web Proxies

Server apps that allow a web client to connect to a mud/telnet server:

Codebases and drivers

  • Full chronology of the most important MUDs and codebases in the Wikipedia.
  • Online World Timeline on Raph Koster's web page, shows a chronology of everything related to online worlds, including MUDs.

MUD1

MUDs evolved from the original game (created in 1978 in the University of Essex by Roy Trubshaw and Richard Bartle), in families of related games, mainly based in the technologies used to implement them.

AberMUD

Created in 1987 at the Aberystwyth University, was the first popular open source MUD. Ported to C in 1988 in AberMUD2, and published as GPL in AberMUD V. It inspired the next three major codebases: TinyMUD, LPMud and DikuMUD.

TinyMUD

Released by Jim Aspnes in 1989, running on Unix and written in C.

MU*, sometimes called Tiny family, is an abbreviation which refers collectively to a family comprising: TinyMUD, MUSH, MOO, TinyMUCK. It has its own wiki.

Main variations: PennMUSH, TinyMUSH, TinyMUX and RhostMUSH.

  • Lots of code and documentation on MUSHCode.

Written by Stephen White in 1990. Later that year, he released MOO.

Written by Stephen White in 1990, derived from TinyMUCK, with object oriented design. Pavel Curtis did substantial modifications to MOO code, creating LambdaMOO, which was hosted at Xerox PARC.

LPMud

Released by Lars Pensjö in 1989, trying to combine the extensibility of TinyMUD with the adventures of AberMUD. He designed the LPC language (from Lars Pensjö C) and the driver/interpreter, trying to make the process of extending the game easier, separating the Mud in two different parts: the driver which acts as a virtual machine/interpreter/runtime (programmed in C), and the mudlib which implements the game code (programmed in LPC and executed by the driver). Some old games still being played today started here: Genesis, BatMUD, NannyMUD, Discworld, etc.

Some language documentation:

Drivers

LPMud

After Lars Pensjö retired from LPMud development, Joern Rennecke (Amylaar) took over development of the LPMud driver and produced the 3.2 series of LPMud. This is sometimes known as the Amylaar driver.

MudOS

Another group of people started working from the LPMud v3.0 in 1992, and renamed it to MudOS, which will have several versions until 2003. (mudos.org, its original webpage is defunct, but you can find some of the last versions in the maldorne repository, and use them with Docker). It could use sockets at mudlib level (with LPC code), which allowed to create a TCP intermud network. This protocol evolved until Intermud 3.

FluffOS

In parallel to the last versions of Mudos (the last one was v22.2b14, 2003), the Discworld developers forked it and renamed it as FluffOS. Still maintained. It had versions 1.0 to 1.36, 2.0 to 2.27, and since 3.0 the maintainer is Yucong Sun, and major versions has been released with the names FluffOS 2017 and 2019.

LDMud

Lars DĂĽning continued the development of the LPMud driver renaming it to LDMud (but keeping the Amylaar version numbers, so starting with 3.2.2). LDMud is still being maintained.

CD MUD
DGD

Felix 'Dworkin' Croes developed in 1993 DGD (Dworkin Game/Generic Driver), not derived from LPMud (so not using the same license) but compatible with LPC language. Still maintained, and open source since v1.4 (2010).

DikuMUD

Inspired by AberMUD and LPMud, created in 1990/91 at DIKU (Datalogisk Institut Københavns Universitet —the department of computer science at the University of Copenhagen—) in Copenhagen, Denmark.

Some well-known derivatives of DikuMUD: CircleMUD (web, source), MERC, Envy, ROM, SMAUG, GodWars, AwakeMUD (web, source).

Modern drivers

Some information about some modern drivers/game engines/codebases created long time after the original MU* games.

Evennia

Created by Greg Taylor in 2006, Samuel "Griatch" Regandell took over the project in 2011. Modern library for creating online multiplayer text games in pure Python. Coding is done using normal Python modules imported into the server at runtime. BSD license.

CoffeeMud

Created by Bo Zimmerman in 2000, created 100% in Java. Supports any JDBC/ODBC database, includes built-in web server. Apache License.

Protocols

Generic protocols for remote connections

Character Mode

Directly transmit the mud client's input, required for BBSes, *NIX servers, Roguelike MUDs, and interaction with other console software.

TELNET

Connect to *NIX servers and BBSes using TELOPT negotiations.

VT100

Displays both client and server side text interfaces.

NAWS

Negotiate About Window Size. Sends the mud client's window size to the server. RFC 1073.

Specific protocols for MUDs

There are two RFCs about telnet negotiation: 854 and 855. Some of the next protocols are implemented as telnet options, expanding on these two.

GMCP

Generic Mud Communication Protocol. GMCP is implemented as a Telnet option. Uses JSON syntax to define structured and typed data.

MCP

Mud Client Protocol. An attempt to provide a standard message format on which to build MUD-based client-server applications.

MCCP

Mud Client Compression Protocol version 2 and 3. MCCP2 is implemented as a Telnet option. Allows a MUD server to compress output to the receiving client using the zlib compression library. Created in 1998, MCCP version 2 was created in 2000. In 2019 MCCP version 3 was created as a separate protocol.

MSDP

Mud Server Data Protocol. MSDP is implemented as a Telnet option. Developed in 2009, provides a standardized way to define typeless variables, arrays, tables, and commands. MSDP over GMCP offers standardized generic event handling besides sending structured data.

MSLP

Mud Server Link Protocol. Allows the creation of clickable links in the client side. MSLP is negotiated by using the MTTS standard.

MSSP

Mud Server Status Protocol. MSSP is implemented as a Telnet option. Protocol for MUD crawlers to gather detailed information about a MUD, including dynamic information like boot time and the current amount of online players. See also GSGP.

MTTS

Mud Terminal Type Standard. Transparant and straight forward standard for Mud Clients to communicate their terminal capabilities. See also MNES.

MMCP

Mud Master Chat Protocol for instant messaging and file transfers over private P2P connections. Is a decentralized chat protocol which allows MUD clients to communicate with each other over a TCP/IP connection.

MXP

MUD eXtension Protocol.

MSP

MUD Sound Protocol.

MCMP

MUD Client Media Protocol. A standard for loading, playing and stopping media files with MUD clients over GMCP that is intended to modernise MSP.

zChat

Chat format. Similar to MMCP but not compatible.

GSGP

Game Scry Game Protocol. GSGP is a standardized JSON structure which you can make available for GameScry or other sites to ping for real-time data about a game, its active players, leaderboards, etc. See also MSSP.

ATCP

Achaea Telnet Client Protocol. Using TELNET code 200, was implemented by cMUD in 2008. In 2010 evolved to ATCP2 using TELNET code 201. Was later renamed to GMCP. Achaea, Aardwolf, MUME, Avatar, Gensis, and MUSHclient provide package definitions modeled after the ATCP2 draft.

Aardwolf's 102

Similar to ATCP, Aardwolf includes a hidden channel of information that you can access.

MNES

Mud New Environment Standard. Implemented as a Telnet option. Seeks to supplement MTTS by providing a straightforward way to use the NEW-ENVIRON telnet option to exchange and update various client and server settings.

MMP

Mud Mapping Protocol. IronRealms protocol as a way to export our in game map data so that clients (or players) can easily access and download this data.

Intermud

Communication protocol. TO DO.

People

Community

Discussion

Player competition

MUD listings

Links

Technical Documentation

  • Mudhalla, home of the Tintin client, MUD listing, protocols documentation.
  • Mudlet wiki. Protocols documentation.

Others

  • Titans of Text, podcast, 33 episodes during 2019-2020.
  • 50 Years of Text Games, the original content of the book about text games, first published as a newsletter in Substack, free to read.
  • Terra Nova, defunct collaborative blog for academics and professionals in game studies, focused primarily on the study of virtual worlds (2003-2014).

Papers

  • Players Who Suit MUDs, a refereed paper which appeared in Volume 1, Issue 1 of the Journal of MUD Research, June, 1996. By Richard Bartle. Also known by its full title as "Hearts, Clubs, Diamonds, Spades: Players Who Suit MUDs".