Chapter 0 – Installation and Setup

Overview

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.

Downloading the Prerequisite Software

Downloading JDK 1.4 and JDK 1.3

Obtaining Orion

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.

 

Obtaining Oracle

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.

 

Cygwin

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.

 

Ant

You will need ant version 1.3 or greater, as well as the optional commands in Ant.

JavaCC

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 (Optional)

TOAD is a useful tool for managing Oracle data directly.  Download a free version of TOAD from http://www.quests.com.

 

Configuring Orion

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.

Connecting Orion to Oracle

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" />

 

Database Tables and Configuring Default Data

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.

Counter

The counter table is used by an Orion component for generating unique row ids.

 

Base Polygon Database

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.

 

Area Schema

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.

 

Being Schema

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.

 

Event Queue

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