Sign in to follow this  
Farmerbob

Decay and a daily maintenance window

Daily maintenance to fix decay issues?  

30 members have voted

  1. 1. Do you think daily downtime is a good idea, to deal with decay, creature aging, births, etc.

    • Yes
      7
    • No
      22
    • Depends on how it's implemented - be nice to hear what you have to say below.
      1


Recommended Posts

Based on the reports of decay shenanigans I'm seeing, I'm wondering what the community's take would be on a daily maintenance window?

Say every day, one hour. Each day, the time of the maintenance downtime progresses one hour, so it would start at 8AM local time today, 9 AM tomorrow, 10 AM the next day.

During the maintenance window, decay occurs.

Sort of the opposite of EVE online, where every day resources refresh.

Share this post


Link to post
Share on other sites

You'd have to ask the devs how long it would really take. 30 minutes might be sufficient. Personally would want a static decay time... If it was done in off peak hours it'd effect less people than a rotating one would overall.


 


Side note: Reprogramming a mechanic like this is probably no trivial task. I really doubt it'd be worth the effort to implement from that point unfortunately. Not at this stage of the ballgame.


Share this post


Link to post
Share on other sites

You'd have to ask the devs how long it would really take. 30 minutes might be sufficient. Personally would want a static decay time... If it was done in off peak hours it'd effect less people than a rotating one would overall.

 

Side note: Reprogramming a mechanic like this is probably no trivial task. I really doubt it'd be worth the effort to implement from that point unfortunately. Not at this stage of the ballgame.

 

Static timing is painful.  That creates a population of people who know that their gameplay is going to be interrupted every single day.  While I liked the fact that EVE did their resource maintenance offline so the maintenance actually got done, the fact that it happened in the middle of my play time every day was one reason I quit playing EVE.

Share this post


Link to post
Share on other sites

Wouldn't this run into scaling issues? Indy/Chaos for example have a lot more items than the newer, smaller, servers. Xanadu will likely eventually have more items than Indy/Chaos due to it's size.


Also, why 1 hour per day? Why not 1/24th of a second every second, by spreading the work over the day and into such small units that they aren't noticeable? It gets the same amount of work done. I'd guess the main issue with decay right now is that either not enough time is available for it, compared to the amount of items, or it's so random that some items don't get hit by decay for a long time while others get hit by it frequently. If the latter is the case then maybe the system shouldn't be random. I assume each item has a primary key in the database, with some luck it's a number of some kind. If so, then why not just go down the list of items when doing decay, and remember which item should be done next? That way the randomness can be removed. If items still don't get decay often enough then clearly not enough time is available on that server for decay, compared to the amount of items. In that case capping the damage, which can be given to an item in one decay action, could help. From what I read in that other topic it seems like 100 damage can be applied in one action. Limit that to 50 and people will at least have a chance to repair stuff. Of course for things like dirt and other raw materials it can still be 100, you can always put those in storage bins.


Share this post


Link to post
Share on other sites

Wouldn't this run into scaling issues? Indy/Chaos for example have a lot more items than the newer, smaller, servers. Xanadu will likely eventually have more items than Indy/Chaos due to it's size.

Also, why 1 hour per day? Why not 1/24th of a second every second, by spreading the work over the day and into such small units that they aren't noticeable? It gets the same amount of work done. I'd guess the main issue with decay right now is that either not enough time is available for it, compared to the amount of items, or it's so random that some items don't get hit by decay for a long time while others get hit by it frequently. If the latter is the case then maybe the system shouldn't be random. I assume each item has a primary key in the database, with some luck it's a number of some kind. If so, then why not just go down the list of items when doing decay, and remember which item should be done next? That way the randomness can be removed. If items still don't get decay often enough then clearly not enough time is available on that server for decay, compared to the amount of items. In that case capping the damage, which can be given to an item in one decay action, could help. From what I read in that other topic it seems like 100 damage can be applied in one action. Limit that to 50 and people will at least have a chance to repair stuff. Of course for things like dirt and other raw materials it can still be 100, you can always put those in storage bins.

 

I said an hour per day.  It would probably be less, if the servers went into a dedicated maintenance mode, especially if they are all using SSD's for their databases.

 

Memory loading isn't that easy.  If you have ever tried to edit video on a machine while an active antivirus scan is happening, that's probably a good idea of what happens if you try to force updates on items while other things are happening.

 

Based on the descriptions of decay craziness I'm seeing elsewhere, decay is getting heavily deferred - probably due to the game only allowing itself to update decay under <x> circumstances (processor load?  memory load?)

 

Looking at this from the outside in, there's lots of ways I might be seeing this incorrectly, but the problem of crazy decay hitting in huge chunks rather than little bits incrementally is a real problem.

 

If you move decay code, creature birth and aging, and maybe even tree and crop growth into offline maintenance, those things will never again cause problems with server responsiveness when players are trying to play.

Edited by Farmerbob

Share this post


Link to post
Share on other sites

Decay should not be done in large discrete steps, it should be done semi continuously in the background.  With a priority event queue decay ticks get stuck in an event queue with everything else at a low priority, if the server is busy decays events get delayed a few milleseconds, seconds or even minutes, if the server is idle they get processed.  There's no real lag possible in that situation.   I don't know that's how Rolf is doing it but that's a fairly standard mechanism.


 


The video editing you mention isn't a good example, that's more of an I/O and memory bandwidth issue and isn't really related.


 


The big decay hits is almost certainly a bug IMO.  It's fairly obvious to me there is no issue in terms of processing capability with the server walking the DB in it's current form.  It certainly managed to decay some things relatively uniformly.  The problem is huge decay spikes on a few seemingly random items.  That's either a bug in item selection (e.g. some items are only getting queued once a month),  event queue insertion, always at bottom of queue and rarely triggering,,  weighting of which items get inserted in the event queue or a bug in the decay amount calculation e.g. a bug in calculating elapsed time across server resets. 


 


Obviously without seeing the code that's pure speculation but the symptoms are not consistent with simply insufficient resources nor am I aware of any significant server responsiveness issues.  Most of the lag is client based with a smattering of random network issues but in general the server side process is pretty smooth.  Years ago there was a huge issue with server lag:  Doors not opening, items not opening etc but not that's not really the case anymore.


Edited by belthize

Share this post


Link to post
Share on other sites

If you move decay code, creature birth and aging, and maybe even tree and crop growth into offline maintenance, those things will never again cause problems with server responsiveness when players are trying to play.

Tree, crop growth, creature birth and aging changes would create a very un-nature like and almost machine appearance to these items. I personally wouldn't care but I can see how it would negatively affect players.

 

 

Indy has 1738.4 kitems. Would it really be that resources intensive to access ~2 mil items and run a simplified decay check algorithm? It seems to me that an hour is a huge over estimate. Guess its better to error on exaggeration then to falsely trivialize.

 

 

I'd support shifting decay processing if it meant more nature tile checks (crop growth, tree growth, for/bot item creation, ext...) and improved AI. Right now I don't perceive any problems. Thus, the benefits gained would need to be significant in order to balance the obvious daily down time.

Share this post


Link to post
Share on other sites

I voted no, the reason being that before the decay fixes this past year this was not happening. For almost 5 years now i have, at the 1st of every month repared all items and fences when needed.  Every month the damage to both items and offdeed fences has been very consistant on 4 different deeds with a few very rare exceptions taking massive damage.   Now, as mentioned, damage is all over the place on everything, including fences, with many lost items.  Before I would want to see a fixed downtime I think a good look needs to be taken at the fixes that were done, to discover what changed to cause it.


Share this post


Link to post
Share on other sites

Lost a catapult on deed this week, it was only 24 Ql but I used and repaired after use 4 days ago and in the mean time a crappy one off deed was still there undamaged after a month...


Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this