[MUD-Dev] Resource management

Felix A. Croes felix at xs1.simplex.nl
Sat Sep 13 00:48:05 CEST 1997


clawrenc at cup.hp.com wrote:
> In <199709090625.BAA01336 at dfw-ix2.ix.netcom.com>, on 09/08/97 
>    at 11:27 PM, "Jon A. Lambert" <jlsysinc at ix.netcom.com> said:
>
>[...]
> >You
> >also mention your desire to be able to run queries into how many of
> >X where killed by means of Y, etc.  I've always wondered how 
> >effectively one could administrate a mud without any notion of what's
> >actually going one inside the world, especially these critical 
> >resources.  
>
> I'll note that I know of no current MUD servers (LP, DIKU, Tiny-*,
> MOO, Unter, Uber, Yama, DGD, OgHam, Merc, Interlude, Cool, ColdX etc)
> which have anything along this line of audit facilities.

DGD, or rather the kernel library (core database) that's included with DGD
has a generic resource management system.  Also, LambdaMOO has object size
quotas.


> >Muds as world simulations _must_ have administration 
> >tools for game balance. Otherwise you are completely dependent on 
> >player rumours, random snooping and logging.  I see a new thread 
> >here!  
>
> Verily.

The way I handle it:


The system keeps track of an arbitrary amount of resources per programmer.
Resources are divided in two different kinds, "normal" and "decaying".

Normal resources have two attributes, "current usage" and "maximum".
Resource usage can both increase and decrease, but not below 0 or above
the maximum.

Examples of normal resources (each maintained per programmer):

 - amount of rooms
 - amount of NPCs
 - total amount of objects
 - total value of all objects and money in the game
 - file quota


Decaying resources have four attributes, "current usage", "maximum",
"decay period" and "decay percentage".  Resource usage is only
increased, and decreases automatically by a certain percentage every
"decay period".  Usage may in some cases exceed the maximum.

Examples of decaying resources (per programmer):

 - ticks spent in all commands handled by this programmer's code
 - amount of money given out
 - amount of money collected
 - number of players killed by NPCs
 - number of NPCs killed by players


The resource system allows definition of new resources on the fly,
as well as removal of existing ones.  Anything can be made into a
resource, including the amount of programmer-defined resources.
All resources are defined system-wide, so each programmer has the
same resources, but imposed limitations may differ, and can be
adjusted on the fly.  The maximum for each resource may be "infinite".

Per programmer, resource usage measurement can be more fine-grained,
for instance per object.

It is up to the admin of the mud to use the resource management system
where needed, and to ensure that money cannot be brought into the game
without updating the relevant resources, etc.

Felix Croes



More information about the mud-dev-archive mailing list