daleken/
daleken/data/notes/
daleken/data/player/
daleken/data/system/poses/
daleken/doc/Homepage/images/
daleken/log/
<html>
<head>
<title>Configuring the Mud</title>
<link rel="stylesheet" type="text/css" href="doc.css"
      title="Documentation Standard Style">
</head>
<body bgcolor="#ffffff">

<table class="main" width="600" border="0">
<tr><td>
<div align="right">
DalekenMUD 1.12 documentation.
<br>Updated 7 June 2000.
<br>Based on original Envy 2.2 documentation.
</div>
</td></tr>

<tr><th class="heading">
<h1>Configuring the Mud</h1>
</th></tr>

<tr><td>
<p>The mud has certain characteristics you may wish to change.  Provided
is a excerpt from <code>const.h</code>.</p>

<pre>
#define MAX_SKILL               345     /* Number of skills             */
#define MAX_CLASS               23      /* Total number of classes      */
#define AVAIL_CLASS             5       /* Number of base classes       */
#define NUM_MULTI_CLASS         5       /* Should be the same as above  */
#define MAX_RACE                41      /* Number of races              */
#define MAX_BOARD               8       /* Notice boards for notes      */

#define MAX_LEVEL               1000    /* Absolute maximum level       */
#define L_OVL               MAX_LEVEL   /* Overlord                     */
#define L_MAS                   900     /* Master                       */
#define L_MBLD                  850     /* Master Builder (Architect)   */
#define L_SEN                   800     /* Senior                       */
#define L_JUN                   700     /* Junior                       */
#define L_ARCH                  650     /* Archangel                    */
#define L_APP                   500     /* Apprentice                   */
#define L_BLD                   400     /* Builder                      */
#define L_ANG                   300     /* Angel                        */
#define LEVEL_IMMORTAL          L_ANG
#define LEVEL_HERO              250     /* Maximum player level         */
#define L_HER                   LEVEL_HERO

#define PULSE_PER_SECOND            4
#define PULSE_VIOLENCE            (  3 * PULSE_PER_SECOND )
#define PULSE_MOBILE              (  7 * PULSE_PER_SECOND )
#define PULSE_TICK                ( 30 * PULSE_PER_SECOND )
#define PULSE_AREA                ( 60 * PULSE_PER_SECOND )
#define PULSE_DB_DUMP             ( 1800* PULSE_PER_SECOND )    /* 30 minutes */
</pre>

<p>These variables are the most frequently changed items from within DalekenMud.</p>

<p><code>MAX_SKILL</code> defines the number of skills present in the game.
Skills are defined in a static table in <code>const.c</code>.  If you were to
add any new skills, you should modify this number.  See 
<a href="skill.html">skill.txt</a> for more information.</p>

<p><code>MAX_CLASS</code> defines the number of classes present in the game.
Classes are defined in a static table in <code>const.c</code>.  If you were
to add any new classes, you must modify this number.  See 
<a href="class.html">class.txt</a> for more information.  When a base class
is added also increase <code>AVAIL_CLASS</code> and
<code>NUM_MULTI_CLASS</code>, <code>MAX_CLASS</code> will increase by the new
value of <code>AVAIL_CLASS</code> as you have to cover all combinations of
class.</p>

<p><code>MAX_RACE</code> defines the number of classes present in the game.
Races are defined in a static table in <code>const.c</code>.  If you were to
add any new classes, you must modify this number.  See 
<a href="race.html">race.html</a> for more information.</p>

<p><code>MAX_LEVEL</code> defines the number of levels that can be present in
the game.<p>

<p><code>PULSE_PER_SECOND</code> is the number of game_loop_* cycles required to denote 1
real second.  This is an approximation.  There is no need to change this
number, unless you think that the game would benefit from a shorter or longer
time between updates.</p>
<ul>
  <li>shorter time: <code>PULSE_PER_SECOND</code> is increased, this can
     cause a slightly higher processor load but the game runs more
     smoothly.</li>
  <li>longer time: <code>PULSE_PER_SECOND</code> is decreased, the game can
     look a bit jumpy, only do this if you are worried about processor load.
  </li>
</ul>

<p><code>PULSE_VIOLENCE</code> is the number of game pulses required for one
combat round.  See <code>violence_update()</code> in <code>fight.c</code>.
You might want to change the modifier to your needs to make combat faster or
slower.  Keep in mind that combat spam is the leading cause of network
traffic in the mud.</p>

<p><code>PULSE_MOBILE</code> is the number of game pulses required for each
mobile activity loop.  This is used as the base time for timing the events on
mobiles that perform actions..  You might want to change the modifier to make
non-combat mobile actions faster or slower.</p>

<p><code>PULSE_TICK</code> is the approximate number of game pulses required
for each game "tick".  The game modifies this number by some random number to
defeat robot timers and other mudclients which rely on tick intervals.  See
<code>update_handler()</code> in <code>update.c</code>.  You might want to
change the modifier to make the game time go faster or slower.</p>

<p><code>PULSE_AREA</code> is the approximate number of game pulses required
for each area to reset.  The game modifies this number by some random number
and player occupation modifiers to defeat robot timers and other mudclients
which rely on tick intervals.  See <code>area_update()</code> in
<code>db.c</code>.  You might want to change the modifier to make areas repop
faster or slower.  At the moment this is set to a minute, which is a handy
sort of interval.</p>

<p>If you were to change these numbers or anything in <code>const.h</code>,
be sure to <code>make clean</code> and recompile the entire mud.</p>
</td></tr>

<tr><th class="heading">
<h2>The SYSINFO.TXT File</h2>
</th></tr>

<tr><td>
<p>This file contains commonly changed variables used in the running of the
DalekenMUD server.  These values are likely to be updated frequently.  This
file follows the format of the area files.</p>
<dl>
<dt>Name</dt>
<dd>
The name of the mud that is running.
</dd>
<dt>Version</dt>
<dd>
The major version number of the codebase.  Reflects comprehensive changes to
the source of the server.
</dd>
<dt>Minor</dt>
<dd>
The minor version number of the server, this reflects significant changes to
the code.
</dd>
<dt>Build</dt>
<dd>
This is the build number, this is automatically generated by the
<code>buildupdate</code> script.
</dd>
<dt>SaveAt</dt>
<dd>
This is the level at which new characters can save (default is 2).
</dd>
<dt>PFile</dt>
<dd>
This is the player file version.
</dd>
<dt>Date</dt>
<dd>
Automatically generated by <code>buildupdate</code>, the last time that the
code was compiled.
</dd>
<dt>Platform</dt>
<dd>
Automatically entered by <code>buildupdate</code>, this is the platform that
is running.
</dd>
<dt>Flags</dt>
<dd>
These values reflect options for the server.
  <dl>
  <dt>reboot</dt>
  <dd>
  This signifies that the server will reboot when its time has run out, (see
  the Hour and Minute values below).
  </dd>
  <dt>logall</dt>
  <dd>
  When this is set, the server will log all commands.
  </dd>
  <dt>wizlock</dt>
  <dd>
  This is used to lock characters out who aren't wizified.
  </dd>
  <dt>verbose</dt>
  <dd>
  Area files saved by the server will contain additional helpful comments.
  </dd>
  <dt>saveall</dt>
  <dd>
  Whenever a database dump is made, all area files will be saved instead of
  just the changed ones.
  </dd>
  <dt>ispell</dt>
  <dd>
  Enable the use of the ispell addon.
  </dd>
  <dt>fortunes</dt>
  <dd>
  Enable the use of the fortune program to generate quotes.
  </dd>
  </dl>
</dd>
<dt>Dictionary</dt>
<dd>
This is the file that is used for the ispell dictionary.
</dd>
<dt>Hour</dt>
<dd>
This value is the time (in hours) until the server will be automatically
rebooted or shutdown.  Reboot or shutdown depends on whether the reboot flag
is set above.
</dd>
<dt>Minute</dt>
<dd>
The minute value for automatic reboot/shutdown.
</dd>
</dl>
</td></tr>
</table>
</body>
</html>