# LPMud

LPMud, abbreviated LP, is a family of multi-user dungeon (MUD) server software. Its first instance, the original LPMud game driver, was developed in 1989 by Lars Pensjö (the LP in LPMud). LPMud was innovative in its separation of the MUD infrastructure into a virtual machine (termed the driver) and a development framework written in the programming language LPC (termed the mudlib).

## Development

Lars Pensjö had been an avid player of TinyMUD and AberMUD. He had wanted to create a world with the flexibility of TinyMUD and the style of AberMUD but did not want to have sole responsibility for creating and maintaining the game world. He once said, "I didn't think I would be able to design a good adventure. By allowing wizards coding rights, I thought others could help me with this." The result was the creation of a new, C-based, object-oriented programming language, LPC, that made it simple for people with minimal programming skills to add elements like rooms, weapons, and monsters to a virtual world.
To accomplish his goal, Lennart Augustsson convinced Pensjö to write what today would be called a virtual machine, the LPMud driver. The driver managed the interpretation of LPC code as well as providing basic operating system services to the LPC code. By virtue of this design, Pensjö made it more difficult for common programming errors like infinite loops and infinite recursion made by content builders to harm the overall stability of the server. His choice of an OO approach made it easy for new programmers to concentrate on the task of "building a room" rather than programming logic.
Pensjö created Genesis in April 1989 as the first implementation of the LPC language, and therefore the first LPMud, in which the developer (commonly known as a wizard within the MUD) could code their own objects.
Pensjö's work has been extended or reverse engineered in a number of projects:
* LPMud 3.2, better known as the Amylaar driver, after its lead developer, Jörn "Amylaar" Rennecke
* MudOS
* DGD, Dworkin's Game Driver, a conceptual rather than code derivative of LPMud developed by Felix "Dworkin" Croes
* SWLPC, Shattered World's fork of LPMud 2.4.5
Though an LPMud server can be used to implement nearly any style of game, LPMuds are often thought of as having certain common characteristics as a genre, such as a mixture of hack and slash with role-playing, quests as an element of advancement, and "guilds" as an alternative to character classes.

## LPMud talkers

LPMud was used as the basis for the first Internet talker, Cat Chat, which opened in 1990.

## TMI Mudlib

The TMI Mudlib from The Mud Institute was an attempt to create a framework driven mudlib for the MudOS LPMud driver. It consisted of many contributors to MudOS as well as people who became influential in the LPMud community. When TMI began work in 1992, a mudlib was generally packaged with both an LPMud driver and a complete world built on top of the mudlib. As a framework-driven mudlib, the goal of the TMI mudlib was to provide only examples for world objects and place the burden of building a working world on the game developers using TMI.
TMI implemented the first InterMUD communications network, when MudOS added network socket support in 1992.
In 1992, MIRE, a multi-user information system producing customised newspapers was built based on a modified TMI driver.
In 1993, the TMI-2 mudlib was used to create PangaeaMud, an academic research project designed as an interactive geologic database tool.
Notable MUDs based on TMI-derived mudlibs include The Two Towers set in Tolkien’s universe and Threshold.

## Server software

MudOS is a major family of LPMud server software, implementing its own variant of the LPC (programming language). It first came into being on February 18, 1992. It pioneered important technical innovations in MUDs, including the network socket support that made InterMUD communications possible and LPC-to-C compilation.
FluffOS started as a collection of patches of last unreleased version of MudOS, FluffOS has evolved into an independent and enhanced project, providing a powerful platform for crafting interactive and immersive virtual worlds.
Genocide was an important development testbed for MudOS from 1992 to 1994, but switched back to the main LPMud branch, citing speed concerns.