[MUD-Dev] Extensibility

Sean Middleditch elanthis at awesomeplay.com
Tue May 7 08:14:59 New Zealand Standard Time 2002

On Sun, 2002-05-05 at 16:42, Ben Chambers wrote:

> Is it possible to use the ability of Java to dynamically load
> classes to make it easier to add new features to your MUD without
> recompiling?  I was thinking that instead of having code snippet
> archives it would be cool if there was some source of expandable
> Java classes.  You know, if you want this new feature, simply
> download this .class file and load it into the server using the
> graphical front end.  Then simply reboot the server (this might
> not be necessary) and without recompiling or anything you have
> updated your server.
> I don't know if this were possible, but if it is I would probably
> attempt to implement it in my MUD which I am about to start
> writing any day now :)

Well, I had the same thing in my C++ MUD codebase.  Rather powerful
loadable extensions that could plug into a large number of parts of
the internal core, plus provide new features/expanded classes (like
item types and such), and so on.

I just recently ripped the entire thing out, however, for two really
good reasons - the extension system complicates development of the
core, and of adding new features.  Having to work within the
framework on the extension system vs. just adding the features to
the core slows things down.  Second of all, any decent MUD codebase
*needs* a scripting language of some kind - so long as you are using
a decent language, you can do everything with it that you can with
an extension system.  Then, maintaining the hooks and extensibility
options for both a script system and an extension system is a bit

Granted, Java may make things a little easier, since you aren't
bound by some of the language restrictions I had in C++... ~,^

I would recommend, tho, before putting too much effort into
designing your extension system, you make sure *you* really need it,
and that the same goals can't be accomplished with your scripting
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list