Welcome Board Archive - Changes to 'Save' and so on

From LegendMUD
Jump to navigation Jump to search
From: Rufus         Title: Changes to 'Save' and so on              
                         Posted On: Monday, September 04 2017, 11:52AM
---------------------------------------------------------------------------
A couple changes you may have noticed:

1) We no longer allow equipping while over rent. 
2) Failed saves no longer tell you what you're going to lose.
3) We haven't had a 'friendly' crash in a while.

There's a reason for this -- as nice as the saved crashes are, 
many crashes happen because of memory corruption somewhere in 
data that is associated with a player character. Our safe crash 
code catches any crash, then cycles through the players, attempting 
to save them. It did this leveraging the function that saves and 
quits a player out of the game, which triggers removing references 
throughout the active memory of the entire mud. 

The chance of you crashing again while going through a 'safe' crash 
is pretty high. At that point, we just crash normally. The problem, 
for me, at least, is that it will often further corrupt the stack 
and make the original problem untraceable, masked, or otherwise 
very, very difficult to root out. 

So we turned safe crashing off.

Well, that's not very nice. Considering that saving characters was once 
incredibly expensive (especially druids... love you guys), I wondered 
what our impact might be after running some iostats on the drives we 
use.

Turns out we could save, and save often. So we do. We don't let you 
know, because we don't want to spam you, we save you every 10-20 
pulses. How often is that? between 2.5 and 4 seconds. And they're 
all safe saves, they save everything you have.

When you manually save, we let you know that you failed. But we also 
know we're not taking anything away, so we don't list anything. 

Barring losing anything, we made one small modification to the save 
code such that you couldn't equip while overrent at all (no leeway). 

We know people gather items for money runs and we want to facilitate 
that with additional support in the code. The optimal solution is 
a fair ways off (again, hi druids).

We didn't announce these changes initially because there's potential 
for abuse and we didn't want to do invoke any other restrictions.

So now you're on notice. What we did with the save code is a 
Very Nice Thing <tm> (c) (R). If we see people carrying around 
300,000 rent worth of stuff on a regular basis, we'll make 
additional modifications.

Enjoy the benefit... but know that there's some responsibility in your 
hands to keep it the way it is.

Long story short: All saves are successful. At most, you'll lose a 
few seconds of progress, ever, any more.