1.3 DimensioneX Configuration

1.3.1      System folder

All the game engine settings are kept in the DimensioneX’s system folder.

This folder is usually located on your server, and it is something like the following:

 

tomcat/webapps/dimx/WEB.INF/system

 

As it stands, the system folder is located inside the webserver’s (Tomcat’s) tree.

 

Notice: The dimensionex system folder location have been designed to be un-accessible by the internet users.

 

Normally, all the content inside the WEB-INF folder is kept hidden and it cannot be accessed. If yours is a public installation, please verify that this URL does bring a NOT FOUND error:

 

http://yourserver/dimx/WEB-INF/system/dimensionex.properties

 

If the content of dimensionex.properties is visible, instead, then you have to find an alternate, suitable place to use a system folder.

 

1.3.1.1     Using an alternate system folder

You have to follow this procedure in case your system folder contents is accessible via a web browser.

 

  1. Identify a folder that is outside the web content tree, and which is still accessible and writable by you
  2. Configure the web.xml file in your DimensioneX installation (WEB-INF folder) so that it contains the following base parameter configuration (notice: this example works for Tomcat 4.1 only – for different tomcat versions, please check out Tomcat docs):
  <servlet>
    <servlet-name>multiplayer</servlet-name>
    <servlet-class>cleoni.adv.multiplayer</servlet-class>

         <init-param>
            <param-name>base</param-name>
            <param-value>/path/to/custom/dimx_system/</param-value>
        </init-param>
  </servlet>
  1. Restart the server. Try accessing a DimensioneX game and check out its debug.log
  2. Verify from the first log messages that the system is not “guessing” the system folder, but it is using the “base” setting you have just placed in the web.xml file. (If it does not read the setting, consult Tomcat documentation for info about how to store config parameters, and repeat)
  3. Verify that, when connected to a test game, you can do a [Save Game], that is: the game engine should be enabled to write into your moved system folder. If not, give proper access rights for folder reading, opening (execute access on the folder) and writing (in a few cases you have to make the folder world-writable). Consult your server administrator in case of doubts.

 

1.3.1.2      Server Settings

There is a configuration file named dimensionex.propeties whose settings affect ALL game slots. This configuration file determines how the whole DimensioneX server will work.

To configure your DimensioneX server, open with a text editor the file: dimensionex.properties located in the tomcat/webapps/dimx/WEB.INF/system folder.

 

Modify these settings only when you have some confidence with DimensioneX.

 

adminPasswd Specifies the server’s administrator password. This can be requested for some special actions in the the maintenance page.
serverType Possible values*: public | local

Specifies whether yours is a public or local server. On the basis of this setting, the game engine will automatically choose the right IMAGESFOLDER for the loaded game (make sure you used IMAGESFOLDER_PUBLIC and IMAGESFOLDER_LOCAL).

If it’s a local server, the game’s HTMLCOUNTER tag will be ignored.

Default setting is public (standard behaviour)

savingDir Folder to be used for saving game profiles and hall-of-fame files.

By default this setting is (blank), so the base DimensioneX system folder will be used. Set it just in case you want to save game profiles into an alternate folder.

Please use normal slashes “/” on Windows systems

Notice: If you are using mySQL db (see below), the game profiles will be saved in it and this setting will be ignored.

msgRefreshRate Number of seconds between refreshes of the chat window.

Zero means “no refresh”.

Default value is 5 seconds

navigatorUrl URL of the navigator DimensioneX servlet

you specify it if automatic detection in your DimensioneX installation fails.

dbdriver Java class of the JDBC driver for accessing the game profiles database.

Default is: com.mysql.jdbc.Driver

dbhost Host running a mySQL database for game profiles

Default is (none). Usually you specify localhost

dbport Not used yet, but it will be in future releases. It is the port at which the database service is accessible. Leave blank for standard port.
dbname Name of the database which holds the game profiles.
dbuser User ID capable of USAGE (SELECT, INSERT, UPDATE, DELETE) and CREATE TABLE on the specified database.
dbpass Password of the above user

 

*Note: The pipe sign ( | ) is used here to separate possible values but should not be typed in the configuration file.

 

1.3.3      Game Settings

There is a configuration file for each server slot, named worldnavN.propeties. This configuration file affects the way the game slot will work, and first of all selects the game file to be loaded at startup.

To configure a game slot, open with a text editor the file: worldnavN.properties (N is the server slot to which the game should be associated). This file must be located in the tomcat/webapps/dimx/WEB.INF/system folder.

 

Note: The pipe sign ( | ) is used here to separate possible values but should not be typed in the configuration file.

 

Setting example Meaning
worldFile=World3.dxw

or, as well,

worldFile=http://www.domain.com/path/to/worldfile.dxw

Fundamental.
Tells DimensioneX which is the file (that is, the game) to be loaded at startup. The game file should be placed in the same folder as the configuration file.Alternatively, if your PC is connected to the network, you can also specify an URL which will cause the DXW game file to be fetched and loaded automatically at startup.
debugTo=file

debugTo=console

debugTo=none

Tells where the engine output goes.

file: If you specify “file” then the output goes to the file:

debug.log
so it is easier to understand where problems occurred.

Note: Beware, remember you have to delete the log file sometimes, otherwise it will waste more and more space!

console: the output goes to the console (small window on the server’s screen)

none: No debug information is produced, except for errors and explicit debug prints produced with the Debug instruction at run-tim.
This setting allows the game to run at maximum speed and it is recommended for production or unattended servers.

msgsFile=msgs_eng.properties Specifies the messages file.

DimensioneX has already the messages file for several languages.
If no file is specified, DimensioneX displays messages in English.

You may edit the messages file for translation of messages and buttons in your own language.

adminPasswd= Specifies the game’s administrator password, the one requested by administrator page and the maintenance page.
debugMode= If you set it to 1, you will have extra-fast login into the game (to be used as a time-saver when building or debugging games).

Note: this setting can be detected in the game by means of the $WORLD.debugmode variable

clientFile=standard.client |leftctrl.client |bannerized.client Specifies the client file to be used. This file is just a HTML template defining the client’s frame. The default is structured in three frames, commands on the right, messages console with space for 3 messages.

You may use another, or design your own and specify it here.

Please note a 4-frame, banner-supporting client, is provided.

clientScript=client.script Specifies the client script file to be used. This file is supposed to contain a full SCRIPT tag to be inserted in the clientFile automatically by the engine.
tickLength=30 Optional.

Specifies how often, in seconds, a “tick” happens (see also:
onTick event).
By default, this value is set to 30.

journal= Optional.

Specifies a full path to a file in the local filesystem, this file will be used as a Journal file from the Journal instruction. See also Instructions->Journal or Producing RSS Feed

hideSourcePath= Optional.

In case of errors, the path to the game source will be shown by default.

If you set this one to 1, game source path will never be shown to the users. This is recommended if the game source has to be protected.

analytics=<script src=”http://www.google-analytics.com/urchin.js” type=”text/javascript”></script><script type=”text/javascript”>_uacct = “UA-XXXXXX-1″;_udn=”none”;_ulink=1;urchinTracker();</script> Optional.

You can use this setting to specify a full Google Analytics script which will be inserted in every display of the controls (ctrls) frame.

Don’t place line breaks (all on a single line).
This setting will allow Google Analytics to “see” users spending time in your game and track the playing time with more accurateness. This is also believed to give your game a better Google positioning in the SERPs and a better view on players behaviour.

Of course the ctrls frame should refresh sometimes for this to work well.

tracing=0
tracing=1
Optional.

This setting works in cojunction with the server’s database (see Basics->Configuration->Server settings->dbname in this document). If set to 1 (on), the game engine writes trace values in the database. This data is valuable statistic information for studying how the game is being used, e.g. for research purposes.

Please note that the same information can be extracted from the debug text file via a regular expression text pattern.

Default value is 0 (off, no tracing)

If the database is not configured or not connected, this setting will be ignored.

disableAutoRestore= Optional.

When set to 1, disables the AutoRestore feature.

Default value is null (AutoRestore enabled)

stopwords=<,>,*,fuck,idiot Optional.

Comma-separated list of forbidden words/symbols.

Each “stopword” cannot be used inside nicknames (beware what you type, don’t be too restrictive!). Also, the same words will be used for the WORLD.MUTING system (see) to avoid bad words to be used inside the chat system.

 

1.3.4      Local Language files

Most messages displayed by the game engine are taken from a language file named msgs_eng.properties. If you develop a game in local language, you will want to use or define a new local language file.

Please be sure to read also section 1.4.2 – Developing in local language (non-english), page 25.

1.3.4.1     Syntax

Language files are Java properties files. That is, they are expressed in the form

 

setting name= setting value

 

Empty lines are allowed, comments are marked with an initial “#” sign.

Here is a list of valid settings for language files.

 

1.3.4.2     Text Format

For these language files, both ANSI ASCII and UTF-8 text formats can be used. UTF-8 is the recommended one, although .properties files for Java programs normally need to be written using ANSI ASCII.

 

If you are defining a local language file, you should save this file in UTF-8 and write values as you would like to read them on the screen. If you find it more comfortable to use ANSI ASCII, then do so, but remember to set the encoding=ansi setting as explained below.

 

1.3.4.3     Settings

 

charset (Mandatory)

Specifies the charset to be used.

encoding=ansi (Optional)

Specify this line if the messages file is in ANSI ASCII text. Please note that all message values need to be encoded using the native2ascii utility, unless they all use letters of the plain english alphabet.

If this setting is missing, the game engine assumes the properties file is saved with the UTF-8 format.

displaymode=special (Optional)

Tells the game engine to use an alternate, special display mode. Specify this line if the charatcters don’t show up correctly in the browser.

Please use it as a last-chance option (adjust charset first!)

If this line is missing, the game engine uses the normal display mode.

cmdNNN Defines text for game commands.

NNN is a three-digit number such as 123,065,008

If missing, the english text is used.

msgNNN Defines text for game commands.

NNN is a three-digit number such as 123,065,008

If missing, the english text is used.

 

1.4 Developing a game
How DimensioneX works - 5

Leave a Reply

Your email address will not be published. Required fields are marked *