Mar 16th 2023, 18:31:28
Apologies for the craziness yesterday; fyi the timeline was thus:
1) Server had a power failure; sadly, the battery backups failed *last month* and I was still trying to find where I can actually buy replacement batteries without having ridiculous shipping from the US
2) The country_events table had been corrupted due to improper shutdown; this meant that anything that generated an event (like, that would show up in the list on the main window) crashed part way; where depends on the exact code path; this resulted in some things being finalized, and others not
3) I brought up the bots, and they were erroring all over the place because of this, but I assumed the errors were w/ the bots; after about 30 mins of messing around with this, it was brought to my attn that it was actually a game problem;
4) I took the game offline, repaired the table, and brought it back
----
Then:
5) It came to our attention that some kills had been made with infinite turns; and that the market was screwy
So, because this was unique, it was decided that we'd del the countries that abused "infinite turns" bug, and resurrect the countries that had been killed; because there's not actually a way to do that with any sort of tool, I did it badly, and one of them was "re-killed" while it was kindof half-undead. So I resurrected it again.
Now, today, I looked into the market transactions, and we identified 3 countries that used "infinite spend" bug to buy out the market. I believe they'll be deleted.
Now, couple clarifications...
"Infinite" turns/spend bugs: Because of the way the bug happened, basically the events that were supposed to be recorded crashed the process; these typically are finalized *before* the playing country is saved. As far as I can tell, this effectively means that countries were able to spend their money over and over again (or use their turns/attacks), without actually getting any of the changes applied to their country. So, they bought bushels, but didn't *GET* the bushels; and didn't lose any money. BUT, the countries from whom bushels were purchased GOT money, and had their bushels purchased. But they would not get a notification about it.
Similarly with attacks. Because if they had, the turn/whatever would also have been removed.
As for whether or not we should have resurrected the countries in question; as it was a result of an exploit, and it SEEMED like a clean fix (the first time), it was decided that we could do that without affecting much. The subsequent kill complicated matters, but I figured since I'd kindof botched it the first time, it would be more fair to fix it than not. Zero hour decisions are hard sometimes.