A MUSH (sometimes said to be an abbreviation for Multi-User Shared Hack, Habitat, Holodeck, or Hallucination, though these are backronyms) is a text-based online social medium to which multiple users are connected at the same time. MUSH 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. 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. Another is the default lack of much player or administrative hierarchy imposed by the server itself. Over the years, both of these traits have become less pronounced, as many server administrators choose to eliminate or heavily restrict player-controlled building, and several games have custom coded systems to restore more of a hierarchal system.
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. It is fairly easy to learn. Most custom coding, for the sake of simplicity, security, and stability, is done in softcode rather than by directly modifying the hardcode.
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. In addition, due to this pressure, code updates have tended to emphasize improvements of value to the roleplayer. MUSH servers have one combat command out of the box, aptly called 'kill'. Despite the name, it simply gives a player a chance of killing another player dependent on how much OOC currency that player put into the effort. If successful, the 'killed' player is sent to his home and given some money for his trouble. If unsuccessful, nothing interesting occurs. This command is frequently disabled by server administrators as it is in practice not conducive to roleplay or theme.
A large number of roleplaying MUSHes have custom combat systems coded by their administrators. However, these are usually intended to provide a vehicle for roleplayed combat, and not as the main objective of the game. Many MUSHes with combat systems in fact discourage their players from using them.
Although MUSH servers do not impose strong administrative hierarchies, most MUSH games establish additional levels of management besides Wizards. Some do so on a purely organizational basis, naming some Wizards "Head Wizards" or "Junior Wizards" or assigning sphere of responsibility to Wizards, despite the technical equality of their abilities in the game world. Others provide finer-grained control over capabilities that can be assigned to players so that some players can be granted the ability to view, but not modify, the entire game world, or to perform limited modifications. Other levels of power can include added control over one's own character, or fewer limits on resources. PennMUSH, TinyMUSH, and TinyMUX include the "Royalty" flag, which gives a player the powers to do most anything that doesn't involve modifying the database. RhostMUSH has a wide array of staff flags that differ in many ways from its sister servers.
PennMUSH, TinyMUSH, and TinyMUX are open-source. Rhost is free, but not open-source. Some enthusiasts may exclude one or more of the above on the basis of distribution method, name, or parentage, but all are free-form MUSH servers. There are differences, but they are well-understood. Few players can tell them apart.