Lich Logo
Home     Screenshots     Download     FAQ     Donate     Links

What is "The Lich"?

Lich is an open source scripting engine for text-based MUDs. It is not a complete front-end in and of itself: it operates much like a proxy server and communicates with the user through their chosen front-end (effectively giving the appearence of expanding the front-end's features with its own). It includes a slightly altered, extended, embedded version of the Ruby interpreter. This means it allows you to write and run scripts for a text-based MUD in the Ruby language.

The name of the application is a play on what for awhile was a standard naming scheme of Simutronics MUD applications: originally "The Wizard" was written, then an unofficial open source project called "The Warlock," and then a proprietary front-end also by the name of "The Warlock."  The program needed a name and Lich (which is of course an undead Mage in AD&D) followed suit; there's no more reasoning behind the name than that.

Why Ruby and not (Python/Perl/Java/etc.)?

In the interest of saving time, I can sum it up by saying: I used Ruby because it's a personal preference of mine and the interpreter requires very little modification to function fully in an embedded environment.

What games/front-ends does it work with?

It was designed to be compatible with any text-based MUD and any front-end. Unfortunately that probably doesn't mean it really will work with any MUD and any front-end; it's worked with any I've tried it with, but there are thousands out there and it probably won't work with all of them. When used with any game that's compatible with Simutronics' The Wizard and/or StormFront, it automatically tracks a multitude of character and status information so that it's available to scripts without them having to check for it themselves. If you use it with any game that does not send status information in these formats, status tracking would have to be implemented by a script (since Lich can run hundreds of scripts simultaneously, advanced files that implement features of their own end up like "plugins" for the program.)

It currently does not support compressed streams of any kind (including MCCP, MUD Client Compression Protocol) -- it's necessary to disable compression or things go very awry.

What operating systems does it work with?

Currently, Windows and Linux (and presumably any other x86/x86-64 machine running a UNIX-based OS that supports ELF binaries). The goal of the project has always been to be as close to universally compatible as is feasible, but since the author is developing it on a Linux system, new features tend to focus on functionality in *NIX platforms first.

Someday I may actively maintain a Macintosh binary package as well as the Linux and Windows ones, but at this point the only way to run the program on a Mac is to compile it yourself or run the Windows binary with Wine or a similar application.

What's the technical summary of the program?

Lich is a cross-platform multithreaded interpreter meant primarily for use with text-based MUDs.  It's written in a combination of C/C++ and Ruby; its primary goal is to provide a flexible application that can accomplish automated tasks of any complexity level.  It's designed to be capable of supporting anything a user wants it to do, from novice scripters to professional programmers.

The application natively supports the Ruby language, the Simutronics "Wizard" scripting format (including its StormFront expansions), and in a UNIX-based environment also allows scripts to be written in any arbitrary language by means of interfacing with an independent and unrelated external interpreter.

Other features of note include...

This website, its contents, and all other material collectively referred to as "The Lich Project" is copyright © 2005-2008 Murray Miron. Hosting provided by Logo