MUSH

In multiplayer online games, a MUSH (a backronymed variation on MUD most often expanded as Multi-User Shared Hallucination, though Multi-User Shared Hack, Habitat, and Holodeck are also observed) is a text-based online social medium to which multiple users are connected at the same time. MUSHes are often used for online social intercourse and role-playing games, although the first forms of MUSH do not appear to be coded specifically to implement gaming activity. MUSH software was originally derived from MUDs; today's two major MUSH variants are descended from TinyMUD, which was fundamentally a social game. MUSH has forked over the years and there are now different varieties with different features, although most have strong similarities and one who is fluent in coding one variety can switch to coding for the other with only a little effort. The source code for most widely used MUSH servers is open source and available from its current maintainers.

A primary feature of MUSH codebases that tends to distinguish it from other multi-user environments is the ability, by default, of any player to extend the world by creating new rooms or objects and specifying their behavior in the MUSH's internal scripting language.

The programming language for MUSH, usually referred to as "MUSHcode" or "softcode" (to distinguish it from "hardcode" – the language in which the MUSH server itself is written) was developed by Larry Foard. TinyMUSH started life as a set of enhancements to the original TinyMUD code. "MUSHcode" is similar in syntax to Lisp.

Roleplay
Traditionally, roleplay consists of a series of "poses". Each character makes a "pose" – that is, writes a description of speech, actions, etc. which the character performs. Special commands allow players to print OOC (out of character) messages, distinguished by a prefixed string from IC (in character) action. This medium borrows traits from both improvisational stage acting and writing. Roleplaying is one of the primary activities of MUSHes, along with socializing.

There is nothing in the code base that restricts a new MUSH from being a traditional hack-and-slash MUD-style game. However, the earliest uses of MUSH servers were for roleplaying and socializing, and these early trends have largely governed their descendants.

Administration
All MUSH servers provide a flag that, when set on a player, bestows the ability to view and modify nearly everything in the game's database. Such players are usually called Wizards, and typically form the basis for the MUSH administration.

Software
Maintainers and developers of MUSH servers have traditionally shared ideas with one another, so most MUSH servers include concepts or code developed originally in other servers. There is particular interest in ensuring that common MUSHcode features work similarly across servers.

PennMUSH, TinyMUSH, TinyMUX and RhostMUSH are all open-source MUSH servers