Author Topic: My server stayed up for 25 days.  (Read 1480 times)

My server finally crashed :D

Quote
From: Friday, July 22, 2016 at 11:11:58 AM
To: Tuesday, August 16, 2016 at 1:51:55 PM
Result: 25 days, 2 hours, 39 minutes and 57 seconds

The duration is 25 days, 2 hours, 39 minutes and 57 seconds
Alternative time units

25 days, 2 hours, 39 minutes and 57 seconds can be converted to one of these units:

    2,169,597 seconds
    36,159 minutes (rounded down)
    602 hours (rounded down)
    25 days (rounded down)
    3 weeks (rounded down)
    6.86% of 2016

It was running mostly default add-ons.  No autosavers or anything.

"Dipper pines fan" caused 2588 of these errors while he was on there.  I have no idea what he was doing.
Code: [Select]
base/server/scripts/allGameScripts.cs (10113): Unable to find object: '' attempting to call function 'getId'
BackTrace: ->ProjectileData::onExplode

It stopped recording in the log at this point:
Code: [Select]
Got Connect challenge Request from 81.159.186.186:28050
Got connect request from 81.159.186.186:28050
  net name = Blockhead208668
AUTHCHECK: Blockhead208668 = internet client -> internet server, regular auth
Got Connect challenge Request from 81.159.186.186:53632
Got connect request from 81.159.186.186:53632
  net name = Blockhead208669
AUTHCHECK: Blockhead208669 = internet client -> internet server, regular auth
Auth Init Successfull: Blockhead208669
CADD: 132202 81.159.186.186:53632
 +- bl_id = 208668
 +- no auto admin
Posting to master server
Auth Init Successfull: Blockhead208668
CADD: 132200 81.159.186.186:28050
 +- bl_id = 208667
 +- no auto admin


where can i get this viagra for my server?

It probably crashed on a runtime error. I've gotten those before when people try to connect/disconnect from my server sometimes.

I've posted this before, but the post must have been lost in the Great Coding Help Culling of 2015.

Blockland stores time in a 32-bit signed integer.  The maximum positive value this data type can store is 2,147,483,647.  Now, last time I made a very broad, sweeping statement that all of the ways you could get the simtime used this value at their core.  I don't actually know if this is true, but it would amaze me if it were not.  For one thing, it would mean that $Sim::Time would rapidly build up inaccuracies and deviate wildly from the correct value.

Assuming, however, that it is true, and every possible way you can get the simtime uses the same 32-bit integer at their core, then all of them will eventually overflow at the same time as the game passes 2147483647 milliseconds of uptime.  With some basic arithmetic, we know that this occurs after:

24 days, 20 hours, 31 minutes, 23 seconds, and 647 milliseconds.


After this period, any scripts or code that use getSimTime() or $Sim::Time and aren't designed to be Ragnarok-proofed against simtime suddenly jumping to -2147483648 milliseconds will probably experience glitches.  These can range from momentary bizarreness at the discontinuity, or extremely long-lived glitches that last until the simtime reaches a value of 0 milliseconds again, after 24 days, 20 hours, 31 minutes, 23 seconds, and 648 milliseconds.  In theory, at this point, all of the problems would stop occurring for another 2147483647 milliseconds.

In theory, anyway.  I don't think anyone's ever hosted a server for 50 continuous days without restart.  If anyone wants to try, go for it; I'd be interested to see if the problems actually did stop or if they continued indefinitely.

Interesting.  I wonder if schedules would stop working.

I wish I could have been there near the end.

This brings up an interesting question. How long could you keep up a blockland server?

This brings up an interesting question. How long could you keep up a blockland server?
24 days, 20 hours, 31 minutes, 23 seconds, and 647 milliseconds.



this does not answer his question. You answered it on how long it has been done, but not how long possible

this does not answer his question. You answered it on how long it has been done, but not how long possible
Theoretically, as long as nothing essential to the game not crashing calls getSimTime(), a lot longer than 24 days


apparently red_guy's old server was up for a whole year? I heard that that was the record for the longest server ever hosted, but maybe its' the longest server ever managed, which at this point, would go to boss battles anyway.

pretty sure red_guy's would auto-restart. i'm sure it went down for crashes and maintenance.

My server stays up for a day then closes, then opens again, then closes.
............................. ............................. ^.......................................V
............................. ............................. ...<<<<<<<<<<<<<<<<<

I think a server could go on until the host died and the host had no family members or friends to take over.