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.
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!)
- 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]
- 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)
- Atlantis
- MudClient.app (free trial, paid app) [MCCP]
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]
- 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)
Server apps that allow a web client to connect to a mud/telnet server:
- mud-web-proxy (fork from MudPortal, just the proxy server, updated to allow wss/telnet)
- websocket-to-tcp-tunnel (ChatTheatre proxy server, ws/telnet)
- 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.
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.
- Original MUD1 source code for the DEC PDP-10 mainframe.
- Chronology of the original MUD variants, by Richard Bartle.
- British Legends, home of the MUD1 game.
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.
- Family tree.
- Some documentation and source code for AberMUD5 in http://ftp.linux.org.uk.
Released by Jim Aspnes in 1989, running on Unix and written in C.
- Family tree.
- Source code of v1.5.5 on the Internet Archive.
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.
- MUCK Manual (alt link).
- Fuzzball MUCK server source code.
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.
- Documentation in the moo-cows web.
- List of MOO games in moolist.
- LambdaMOO was created in 1990 by Pavel Curtis (source code in sourceforge).
- Stunt, a set of extensions to the LambdaMOO server.
- ToastStunt, forked from stunt and being worked on.
- LambdaMOO Programming repository, collects and updates numerous MOO guides in one place, from the original server to ToastStunt.
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.
- Family tree.
- LPMud Timeline 1979-1995, by George Reese (Descartes of Borg), in the now defunct rpgmud.com (link to the Internet Archive Wayback Machine). Stored in this repository.
- LPMud FAQ (1995), by George Reese (Descartes of Borg). Link to the lpmuds.net web. Also stored in this repository converted to markdown.
Some language documentation:
- LPC documentation for LDMud.
- LPC Basics and Intermediate LPC, written for LPMud by George Reese (Descartes of Borg).
- Self Conscious DGD, book about LPC for DGD written by Noah Gibbs.
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.
- Source code not found in any repository, but the MUDBytes files archives seems to have some versions uploaded.
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.
- Code repository (fork).
- History of MudOS (recovered file from some driver distributions).
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.
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.
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).
- Official code repository.
- Self Conscious DGD, book about LPC for DGD written by Noah Gibbs.
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.
- Family tree.
- DikuMUD.com.
- DikuMUD Wiki.
- DikuMUD gamma source code (the original release), DikuMUD alpha source code (newer than gamma), and DikuMUD2 source code, all with LGPL license.
- DikuMUD III source code, using HTML, websockets and Discord integration, being worked on, LGPL license.
- The DikuMUD Omnibus Github repository stores more than a hundred Diku-related software projects.
Some well-known derivatives of DikuMUD: CircleMUD (web, source), MERC, Envy, ROM, SMAUG, GodWars, AwakeMUD (web, source).
Some information about some modern drivers/game engines/codebases created long time after the original MU* games.
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.
Created by Bo Zimmerman in 2000, created 100% in Java. Supports any JDBC/ODBC database, includes built-in web server. Apache License.
- Some info taken from the tintin/mudhalla protocols and standards documentation.
- The Mudlet wiki has a main page about all the supported protocols that could be useful too.
- CryoSphere MUD has a page about MUD client/server interaction with some more useful information.
Directly transmit the mud client's input, required for BBSes, *NIX servers, Roguelike MUDs, and interaction with other console software.
Connect to *NIX servers and BBSes using TELOPT negotiations.
Displays both client and server side text interfaces.
Negotiate About Window Size. Sends the mud client's window size to the server. RFC 1073.
There are two RFCs about telnet negotiation: 854 and 855. Some of the next protocols are implemented as telnet options, expanding on these two.
Generic Mud Communication Protocol. GMCP is implemented as a Telnet option. Uses JSON syntax to define structured and typed data.
- Tintin documentation.
- IronRealms documentation.
- IronRealms Nexus documentation.
- GMCP Additions.
- Mudlet documentation for Discord.
Mud Client Protocol. An attempt to provide a standard message format on which to build MUD-based client-server applications.
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.
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.
Mud Server Link Protocol. Allows the creation of clickable links in the client side. MSLP is negotiated by using the MTTS standard.
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.
Mud Terminal Type Standard. Transparant and straight forward standard for Mud Clients to communicate their terminal capabilities. See also MNES.
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.
MUD eXtension Protocol.
MUD Sound Protocol.
MUD Client Media Protocol. A standard for loading, playing and stopping media files with MUD clients over GMCP that is intended to modernise MSP.
Chat format. Similar to MMCP but not compatible.
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.
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.
Similar to ATCP, Aardwolf includes a hidden channel of information that you can access.
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.
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.
Communication protocol. TO DO.
- Roy Trubshaw, co-creator of MUD1.
- Richard Bartle, co-creator of MUD1, writer of Designing Virtual Worlds. Personal page.
- Alan Cox, co-creator of AberMUD and Linux kernel maintainer for several years.
- Michael Seifert, co-creator of DikuMUD.
- Pavel Curtis, creator of LambdaMOO.
- r/MUD, Reddit's MUD subreddit.
- The MUD Discord.
- The MUD Coders Guild, 2016-2020 blog and Slack community.
- Deathlogs. MUD PvP logs.
- Grapevine, MUD listing and web client.
- Vineyard, MUD hosting service, listing their hosted MUDs.
- Game Scry, MUD listing.
- Mud Portal, MUD listing and forums.
- Mud Bytes, MUD listing and forums.
- Top Mud Sites, defunct MUD listing, now read-only.
- The Mud Connector, MUD listing.
- MudVerse, MUD listing.
- MUD MSSP Stats, new listing using MUDs MSSP protocol information.
- MUDs Wiki in fandom.com.
- The MUD Coders Guild Awesome-Mud list. Awesome list, in the same fashion as this one.
- MUD historical society is a github organization with a lot of repositories of old codebases.
- Mudhalla, home of the Tintin client, MUD listing, protocols documentation.
- Mudlet wiki. Protocols documentation.
- 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).
- 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".