Register  |  FAQ  |  Search  |  Memberlist  |  Usergroups  |  Log in 
Reply to topic
 4 Byte Bug 
Lordlava
Greater God
Greater God

Joined: 16 Mar 2016
Posts: 1558
Location: The Land Down Under
Reply with quote
The server has been reset to hide the symptoms of the 4 Byte Bug.

Time is recorded with the game in Ticks where there are 18 Ticks to a second.
The Global Ticker is stored in a long integer (8 byte word) which is a very big number.
However, most data in the game is stored in integers (4 byte words). An integer has 32 bits less 1 for a sign bit. This means it can store a number up to 2^31 before it overflows. That is about 3.7 years of Ticks.
When the Tick field overflows, it goes negative which causes no end of problems within the game.

The first "great ticker event" happened sometime possibly in about 2009-11 where almost everything in the game that was time ("ticker") related stopped working.
I guess that Ishtar did not expect the game to run this long so he did not make the ticker field big enough.
Ticker fields are used all through the game to remember relative time events so to try to find and make them all big enough would have been a major and error prone activity.
My solution was to write a programme that just deducted a very large number off all ticker fields in the game and it bought another 3 years of life.
I last ran it in Jan 2017.
I also added a warning in the Server Info tab on the website which I check periodically. I did not know that any one actually looked at those pages on the server.
Congratulations to the two players who spotted the warning and brought it to my attention, Marky being the first.

_________________
The Lord of Molten Rocks
View user's profile Send private message
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT  
Page 1 of 1  

  
  
 Reply to topic