FOnline2 - the oldest continuously running MMO built on the fan-made FOnline SDK recently reverted the server to an older backup, destroying the player base in the process. What caused the reversion? Time-space had broken.
FOnline2 was using an unsigned integer to store its tick variable - the amount of in-game seconds that had passed since the server had first launched. Events and NPC movement is tied to these ticks. After X amount of ticks, new encounters appear on the world map. After X amount of ticks, NPC Y moves to position Z. After X amount of ticks, an elevator runs out of power.
Integer overflows are responsible for Gandhi infamously being a nuke-happy dictator. And in FOnline2, it completely broke the game.
Because cooldowns for items and player skills are tied to tick, when the integer overflowed, a few things happened:
- Players became inflicted with every possible ailment
- Players had every possible boost
- Dungeon elevators were permanently broken, trapping logged-off players in unescapable dungeons
- In-game farms could never produce
- In-game resources simply stopped respawning
Server operators reverted to a month-old backup as a stop-gap effort to hold down the fort until the engine developer issued a patch. But in doing so, it shattered the game’s community. Now, less than 8% of their playerbase remains.
One wonders what interesting ways the upcoming Fallout 76 will break. Regardless of engine, regardless of platform, these easily avoided bugs continue to pop up. Because gaming, gaming never changes.