Although Orion and Oracle is the environment for the current code, a few minor changes in the deployment descriptors, and the Xiris Mud should run on the application server of your choice.
The Xiris MUD source has been developed using the Orion Server, version 1.5.2. Orion is the application server that Oracle has re-branded as Oracle9iAS and is noted for being fast and good for development. I chose Orion because I can compile and deploy new applications automatically and this greatly speeds the time cycles for my EJB development. For more information on Orion see http://www.orionserver.com.
Download the Oracle database, standard edition from http://www.oracle.com. I chose Oracle for my database because it is the de-facto standard for enterprise applications.
Also download a file called “classes12.zip”. This zip file is actually a jar containing the lightweight JDBC client and is required for connecting to the server.
The shell environment described is Cygwin and the shell is the BASH shell. This environment is much more consistent wth UNIX environments and is my own environment. If you are familiar with the Windows shell, it should be simple to translate the commands. Download Cygwin from http://sources.redhat.com/cygwin.
You will need ant version 1.3 or greater, as well as the optional commands in Ant.
JavaCC is used by the server to parse the Mud commands. The command grammar is listed in CommandParse.jj. Download JavaCC from http://www.webgain.com/products/java_cc.
TOAD is a useful tool for managing Oracle data directly. Download a free version of TOAD from http://www.quests.com.
To configure Orion, drop the tools.jar from your JDK into the Orion’s main directory (The directory that contains orion.jar).
Drop the “classes12.zip” into the lib directory. Orion is nice in that whatever you put in the lib directory will be available to the running application.
In the config directory, edit the file “application.xml” and change the tag for the data sources to the following:
<data-sources path="data-sources-oracle.xml" />
Now drop in the following xml file that specifies your Oracle configuration.
<?xml version="1.0"?>
<!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://www.orionserver.com/dtds/data-sources.dtd">
<data-sources>
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="Oracle"
schema="database-schemas/oracle.xml"
location="jdbc/OracleCoreDS"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="muddy"
password="muddy"
url="jdbc:oracle:thin:@:1521:stlouis"
inactivity-timeout="30"
/>
</data-sources>
You will want to change your username, password, and url values to point to your own system.
Add the mud “ear” file into the server.xml file.
<application name="mud"
path="file:///D:/owlmountain/mud/build/mud-orion.ear" />
Some database tables will be created automatically when you startup Orion. Others are not created. This section guides you through creating the entire schema used for Mud.
The following tables should be created automatically.
The counter table is used by an Orion component for generating unique row ids.

Unlike traditional Muds, Xiris MUD uses polygon data to describe the world. This will make it easier to implement sophisticated graphics and an interface similar to the shrink-wrap gaming world. The data for the polygons must be imported into the database. Use the two following commands to do it.
java
com.owlmountain.graphics.dao.CreateSvgMap MUD_GREENDRAGON \
file:///d:/owlmountain/mud/resources/greendragon.svg
java
com.owlmountain.graphics.dao.CreateSvgMap MUD_THARBAD \
file:///d:/owlmountain/mud/resources/tharbad.svg
Note that you will have to change d:/owlmountain/mud to the home directory of your MUD tree. Following the import, the two following tables should be loaded up with feature and point data.

The area schema maps the base polygon database to Entities that are active in the game. Area data corresponds to the AreaBean and its dependant data access objects MudFeatureDAO, MudEntranceDAO, and MudEdgeDAO. To set up the test areas, use the following two programs:
java com.owlmountain.mud.ejb.entity.junit.CreateTharbad
java com.owlmountain.mud.ejb.entity.junit.CreateGreenDragon
These two commands create an example of an outdoor area (Tharbad) and an indoor area (The Green Dragon). They also add a couple of npcs. You should run these before running any of the unit tests for the EJB portion of the application.

The being data contains information relevant to beings, whether they are characters, npcs, or other denizens of the Mud. The Being entity stores the active information such as current location, hit points, etc. The MudBeingStats object contains the “permanent” characteristics of the being.

The event queue contains sets of events referenced by the ID. The game is run by processing events on the event queue.
