Dworkin's Game Driver

Get Dworkin's Game Driver at SourceForge.net. Fast, secure and Free Open Source software downloads
Overview
History
FAQ
Download
Links

Overview

Dworkin's Game Driver is a reimplementation from scratch of LPmud. With DGD you can create a MUD server, or pretty much any kind of server, using a simple yet powerful programming language called LPC, which is similar to C and Java. Unlike other servers in the LPmud family, but like most other MUD servers, DGD has builtin persistence.

DGD runs on Windows, MacOS X and many Unix variants. It is small, fast and does not depend on other software. DGD 1.4 was released under the GNU Affero General Public License v3.

Unique features include:

  • a grammar-based string parser with lazy DFA and PDA generation, similar in functionality to lex and yacc
  • atomic functions: an error in atomically executed code rolls back all changes made by such code, preserving database consistency

Features unique within the LPMud family:

  • persistence: DGD preserves its state in a database and allows you to make snapshots
  • fully automatic garbage collection
  • objects can be recompiled in-place, allowing entire inheritance trees to be upgraded without a cold boot of the MUD
  • light-weight objects suitable for data abstraction. Unlike ordinary persistent LPC objects, light-weight objects do not have to be explicitly destructed, similar to objects in Java
  • objects can have types: object "/std/room" room;

History

In the beginning, Lars Pensjö created LPmud, and released the source code under a license that forbade commercial use. Many people contributed to LPmud, and the source code was quickly forked to create CD, MudOS (later FluffOS), Amylaar (later LDmud) and other variants.

The source code for DGD 1.0.a3, a reimplementation from scratch written by Felix A. Croes (aka Dworkin), was first released on 11 August 1993, under a license that permitted commercial use for a fee. Around 1995, some established LPmuds started converting to DGD, notably IgorMUD and PaderMud (later Xyllomer).

On 12 December 1995 (around the time of DGD 1.0.34), the rights to DGD were acquired by BeeHive Internet Technologies, Inc., which sold an exclusive license to ichat, inc. on 9 January 1996 (around the time of DGD 1.0.37). ichat, inc. quickly became the internet's premier web chat provider, using DGD to establish the first Yahoo! chatrooms.

ichat, inc. then became Acuity Corporation, which sold a sublicense to Skotos Tech on 5 February 1999 (around the time of DGD 1.1.50). Skotos used DGD to create a series of online games.

Acuity Corporation was later acquired by Quintus Corporation. On 29 March 2001 (around the time of DGD 1.2.14), the exclusive license was terminated due to the bankruptcy of that company.

On 6 August 2005 (around the time of DGD 1.2.111), the rights to DGD were assigned back to Dworkin B.V., Felix's company. On 3 February 2010, he released DGD 1.4 as open source.

Frequently Asked Questions about the Open Source Release

Q: Does DGD's AGPL license affect mudlibs?

A: No. Just like gcc's GPL license does not affect source code or compiled object code, MySQL's GPL license does not affect the database, and VirtualBox 's GPL license does not affect Windows on a virtual machine.
However, there is one murky case where the AGPL might apply. DGD allows you to precompile LPC objects to C, which are then compiled and linked with DGD. The compiled-to-C code might be affected by the AGPL. If this bothers you, don't use the precompilation feature.

Links

DGD Github project page

DGD mailing list

Anwers to other Frequently Asked Questions

Wiki page