Re: Thought for the day

From: Tony Maro (tony@maro.net)
Date: 06/11/00


Okay, I'm a few days late...

> -----Original Message-----
> From: Circle Discussion List [mailto:CIRCLE@post.queensu.ca]On Behalf Of
> Del
> Sent: Wednesday, May 31, 2000 11:30 PM

> What if the mud was designed to maintain items in the rooms and mobs,
> vice a clean reboot each time and
> load everything from scratch?
> Mud reboots, loads all items and mobs effectively stored on disk. Then
> initiates a normal zone reset.
> That way on crashes, the mud continues the way it left off..

I've just gone into closed beta with a MUD I've been developing for over
4 years.

I actually have a separate server that handles storing and retrieving the
MUD organization on my internal LAN.  My total game is broken into multiple
servers that all interact through the main server.

Every 10 minutes, each server saves a copy of the running game to the main
server (exluding player MOB's which are saved in a different manner.)  These
copies of the game are compressed before being sent to the main server.

Think about this... if one of the physical machines running a mud segment
dies, all I do is power up a new machine and it DOWNLOADS THE MISSING ZONES
from the main server and starts them up.  If the main server database
crashes, each of the other servers will also have a backup copy that I can
restore from.

Also, I've programmed in a unique multi-threaded structure that actually
allows a single game tick to crash without affecting game play.  If a
game tick is running and experiences a crash (such as GPF or other), that
one tick terminates and next tick it picks right up...  If the problem
hasn't been fixed, after several ticks crashing in a row, it shuts down
entirely.  So, random glitches that cause the occassional crash don't
hurt things.

Corrupt objects in the game?  the save/load functions automatically clean
up any problems due to the unique way the objects are loaded/saved.  There
is no chance of a corrupt Player file or world file (short of HD crash.)

Okay... it's NOT circle based (in fact it's written as an NT service) but
I can safely say that YES, it is fully workable to have a game save itself
to a restore point.  I recommend making it do it every so often as a
"snapshot"
rather than every time an object changes.  This also keeps helps repetitive
crashes from happening (boot-crash-boot-crash-boot-crash...)

-Tony


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/10/01 PDT