[MUD-Dev] fault tolerance and character files

Bruce bruce at puremagic.com
Wed May 2 01:05:32 New Zealand Standard Time 2001

Kwon Ekstrom wrote:
> From: "Steven Fleischaker" <kuvasza at winterreach.com>

>> What sort of procedures do you all follow for ensuring character
>> files can be loaded and/or responding to when the files appear to
>> be corrupt?

> I'd say that if you were worried about keeping your files from
> corrupting, use RAID5.  What that does is write 3 bands across 3+
> hard drives, including a parity strip.  Using data from the
> surrounding drives, and the parity strip, it can reconstruct bad
> data, even if a whole hard drive fails (but not 2 drives)

This won't protect you against corruption in memory, an errant bug
nuking the data, power failures in the middle of writing out data,

Some things can be done here to help ensure that the storage method
used is transactional, such that data written out to disk is done in
such a way that unless everything worked, the last recorded version
will be used.  There are various ways of accomplishing this, including
log-structured storage or a transactional database.

There is little that can be done to protect against in-memory problems
that isn't something more widely addressed at preventing corruption in
general.  Lots of testing, using higher-level code whose
implementation is well tested, or using a safer language which is more
likely to prevent these types of errors from happening.  (Although
nothing here will prevent a logic or design flaw from damaging the

Keeping a lot of backups for some significant period of time as well
as transaction logs can be useful in re-creating data should something
terrible happen and it gets lost or destroyed.

I don't know of any MUD server that is at or near this level of

Additionally, I'm not personally inclined to put a lot of trust into a
single RAID unit, or any similar (and singular) data storage
facility. Disasters happen.  Multiple off-site backups should be
mandatory. :)

  - Bruce

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list