Author Topic: A Blockland Glitch I'd only like to share.  (Read 2960 times)

Okay, so this problem has only happened once but is so weird, that I have to share it.

So I was on my PC, some guy had just friended me and stuff. And later on, he tells me this:
Quote
[CHATTER]: Hey, I think there's something wrong with your server. Everytime I log in there, It doesn't seem to spawn anyone.
Meta_KnightX: There's like no one on though
[CHATTER]: I'm on it.
At first I thought he meant that no one was joining and he was the only one. When he said "I'm on it" I thought he meant he was onto inviting his friends to play on my server.

I just continued on.

Later, Va11Jr reported it to me:
Quote
Va11Jr: hey, meta. something going on your server, the starting problem, the time clock has stopped because it wont spawn us
Va11Jr: of the starting light
Him being more specific, I figured out that something was wrong.
Interested, I went on, and as it was said, I didn't spawn
I tried making it into the next track, but still didn't spawn.

So I left the minigame. Still didn't spawn.
I try going back to the minigame, and this appears (red text):

It appears that time BROKE.

I restarted my server and it fixed.

this appears to be happening because of getSimTime() overflowing, which is the time in MS, exceeds 2^31-1 after ~25 days and things get forgeted up

$Sim::Time stores the time in seconds, and as a float, so it may last longer before overflowing.

$Sim::Time stores the time in seconds, and as a float, so it may last longer before overflowing.
dont do this, floats might be able to in theory store more data but are far more inaccurate

You can use mCeil(%num) or mFloor(%num) to display all the numbers (unless it's way too large)

But yeah, the server can only last up to around 25 days before it starts goofing up.

But yeah, the server can only last up to around 25 days before it starts goofing up.
Interesting I never knew this.
So this is the case for all servers no matter what then?

Yup. That's why a lot of games have weekly/bi-weekly maintenance as well.

Oh, that's quite weird.

Was your server up for ~a month? Because that tends to happen after around that long.

dont do this, floats might be able to in theory store more data but are far more inaccurate
not really a problem if you only need second-level accuracy (eg slayer seconds to restart)

also what happened to torque storing everything as a string

not really a problem if you only need second-level accuracy (eg slayer seconds to restart)

also what happened to torque storing everything as a string

TorqueScript does not store everything as a string, it's just very eager to convert things to strings every time you pass a function argument, return a value from a function or copy variables without math

But yeah, the server can only last up to around 25 days before it starts goofing up.
The 24 day bug's little brother

Was your server up for ~a month? Because that tends to happen after around that long.
Yes, and appearently that is the first time my server has lasted that long.

Yeah you really should reset at least once a week. I had to reset my Falling Tiles server every time I hosted it because the mini game always started to get forgety after running for a while.

Blockland is like an old car, you have to maintain it or it'll sputter out on you.