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

Writing an FTPD in DGD

An FTPD can be an excellent alternative to providing your MUD coders with telnet access to your server (which can be insecure). You can either run an external FTPD which is restricted (via chroot()) to a particular subset of your filesystem and has its own restricted user list, or you can build an FTPD into your MUD and handle the security problems there.

Since standard DGD doesn't allow outgoing network connections, and standard FTP protocol requires them, you can't write an active FTP server in unpatched DGD. You choices are to apply the network patch to DGD or to write a passive-mode-only FTPD.

There are existing FTPD implementations in LPC, but none specifically for DGD. Still, you can adapt the FTPD from, say, TMI-2 to run under DGD, either with the network patch or by removing all code that would require outgoing connections.