Phantasmal MUD Lib for DGD

Phantasmal Site
Phantasmal API
Archive
DGD
Getting DGD
Game Design Issues
The Kernel Library
LPC
Writing a Library
Changing LPC
Object Cleanup
⁄cmd vs wiztool
Conditional Inheritance
Object Database
Distribute a State Dump?
Designing Driver Objs
FTPD
GurbaLib
HTTPD
State Dumps
Heaven7
InterMUD3
Interrupt Call
Designing AUTO Objs
Misc Issues
NFS
Object Binding
Object Management
Other Net Services
Persistent MUDLibs
Player vs Body
Precompiling
Reimplementing From Scratch
Releasing Code
Rlimits
Script Delays
Misc Security
Outgoing Email
So You Want To...
Start from Scratch?
Supplementary Documentation
Telnet Protocol
Using the Kernel
Using Melville
Using Phantasmal
WebDAV
Which License
What Does It Do?
DGD LPC Reference
Running a MUD
Skotos
CSharp vs DGD
Contributing to DGD
DGD Glossary
Java vs DGD
DGD MUDs
Miscellaneous DGD
MudOS vs DGD
Slush Bucket
Why Use DGD?
Design
Development
Innsmouth MUD
Phantasmal Operation
Setup
Test module index
Phantasmal Tutorials
Comparison to Other Libs
Credits
Current Features
History
Installing Baseline Phantasmal
About

Can I Distribute my MUD Library as a State Dump?

In DGD, you can restore from a State Dump, so a MUD Library author could conceivably get his MUD running, then dump state, and distribute the state dump rather than packaging up his source files. (Note: this is mostly a thought exercise, though you may be able to find a use for it).

Obviously, such a distribution would require very good documentation (and⁄or a copy of the source files) so that the consumers of the library would know how to use it.

There are obvious issues — without source, it would be difficult for consumers of the MUD Library to upgrade objects, since they would have to replace them entirely. Only a very stable library could reasonably do this. Further, the library would have to allow essentially any functionality to be possible so that it didn't prevent later development. Thus, a design similar to the Kernel Library would be useful in making this possible.

Since destructing the MUD Library's objects could potentially be disastrous (remember, no source means that you can't upgrade a library when an object that inherits it wants to be upgraded), you'd want to strongly restrict such activities.

Since the consumer of the MUD Library has only the running copy of his data, presumably he would need to do a state dump as well rather than saving in any form. By definition, a MUD Library that is distributed by statedump would need to be persistent.

An alternative to the no-source method would be to distribute a MUD Library which has the source embedded in an in-game database of source code. This would allow files to exist on disk only long enough to edit them, and potentially not even that long since DGD can compile an object from string data. MOO and Cold have similar functionality, but this way, being fully text-based, would save the details of indentation and whatnot that those servers don't.