Phantasmal MUD Lib for DGD

Phantasmal Site > DGD > DGD Reference Manual (legacy) > Introduction

1 Introduction

This is a book about a piece of software. It's an explanation of how to use a powerful tool. The book assumes you have a certain amount of experience and ability at computer programming. If you're not already much of a programmer, it assumes that you're willing to learn.

DGD is an interpreter and network server for a language called LPC. LPC is based on C but it has object-oriented extensions. So in concept the language is a bit like Java, Objective C or C++. Unlike those languages, LPC was designed for a game environment and used there for many years. Its history as a game scripting language caused it to evolve in some very different directions than those other C-based languages.

Since LPC is C-based, you'll do best if you already have a certain amount of background in the C language. You'll also do just fine if you know a bit of a C-like language such as C++ or Java. If you need to learn C then "The C Programming Language" by Brian Kernighan and Dennis Ritchie makes a fine companion volume to this book. It's one of the first books on C and one of the best.

DGD has a strong background for code security. Specifically, DGD and the LPC language are designed to allow people of questionable skill and intent to run their own code on your server without crashing it or disrupting what you're doing. DGD includes many configurable limits on execution time, stack depth, object size and operation privilege. Most of these limits are very carefully designed and very well thought-out.

LPC comes from the LPMUD community originally. Even projects like DGD and Pike that have begun to grow outside the MUD community still reflect that origin in many ways. This book, like DGD itself, attempts to be a hybrid. It is written to be maximally useful to those who are building a MUD or similar game on top of DGD. But everything written here should be useful in one way or another for non-game applications. The topic is DGD and LPC, and there's also a dose of MUDs and their implementation.

There are several forms of special text that you'll see in this book. Anything that you type to DGD will be written like this: grant andy access. Filenames, including Windows-style and Unix-style, are written as /usr/bin/perl or C:\Programs\DGD\doc\kfun. Sample output from DGD to you is written like this: DGD version 1.2p4. New terms in the index will appear like this. If you don't see any different formatting above then your edition of this book doesn't mark them specially. Variables and keywords in DGD's dialect of LPC will be written as variable. Generic code that doesn't quite fit into any of the above categories will be written like this.

This book will try to use phrases like "he or she" and abbreviations like s/he where appropriate. However, they are omitted in places for brevity or to improve the clarity and flow of the text. In no case is any slight meant to any genders not explicitly mentioned in a particular passage. Players of any race, religion, creed, lifestyle, gender, color, accent, nationality, education level, shoe size and condiment preference are heartily welcomed.

Next —>
Setting Up DGD