What It Is

Den is/will be a peer-to-peer MUD system, theoretically supporting mutual suspicion between parts of its world.

Den's world model is currently room-based, insofar as it cares. I hope to eventually support coordinate systems and graphical UI — possibly losing the text UI — but not yet.

Den is definitely not useful or ‘interesting’ (other than being written in E, perhaps) yet. It is only an experiment in using E. It may or may not eventually become something more widely useful.

How to use it

rune -cpa src/ src/org/cubik/den/boot/den.e-awt

First run

-save <filename><yourNickname>

Further runs

-restore <filename>

Non-persistent

-once <yourNickname>

(You may need to increase the JVM's maximum heap or stack size. For Mac OS X, specify -J-Xmx500m -J-XX:ThreadStackSize=10240 before the other arguments to rune.)

Three windows will be opened.

The narrow one at the top contains commands for performing a checkpoint and some other systemwide functions.

A checkpoint will be performed when this window is closed (which also stops the program), or via the “Save” command in its World menu.

The second is the inspector, which lets you view and manipulate the state of objects making up the world. The <world> object has a name => object mapping for convenience in accessing important objects, and also lists all SturdyRefs currently existing, since they may need to be manually deleted. (This UI is clearly poor and I hope to replace it with something better soon.)

The third (to the right or overlapping the inspector) is the terminal, with which you control a character in text-mud style.

(The default world's “in” exit is a locked door, and to go through it you need to use the command “go 'in' with key”. (I need to write some documentation for the commands—for now, see org/cubik/den/ui/makeCommandInterpreter.emaker.))

Setting up cross-vat travel:

In the inspector window, select “Sturdy Entrance” from the “Make” menu. Choose the room which it will lead to, the name by which it will be known for later editing, and the message shown in that room when something arrives through it. Click Create.

Copy the cap:// URI from the resulting window.

In the other world/vat/Den-instance, select “Exit” from the “Make” menu. Choose the room in which it will be placed, the name in that room, and the message when something uses that exit. Select “Far” and paste in the cap:// URI from step 2. Click Create.