Configurable Nukes & ICBMs


Makes most/many aspects of the atomic/nuclear bomb configurable, and affected by quality, as well as allows for the weaponization of rocket-silos: introduces an atomic/nuclear warhead, "Rods from God", the "Jericho" warhead, the "Mjölnir" warhead, ICBMs (Intercontinental Ballistic Missiles), IPBMs (Interplanetary Ballistic Missiles), and ISBMs (Interstellar Ballistic Missiles): why shouldn't rocket-silo rockets be used offensively?

Content
6 days ago
2.0
1.22K
Combat Circuit network Manufacturing Cheats

b [0.8.4 - Fixed] Possible desync

7 days ago

I'm running a multiplayer server and just updated this mod, and then some time later we got a random desync that was fixed by restarting the server. I don't have the ability to test the mod in isolation right now, so I don't know for sure if this mod is the cause, but it is suspicious that we had zero desyncs until updating this mod to the latest version, so I think it's worth investigating. I'll provide our save file for that purpose: https://qimg.techjargaming.com/f/rW0ekqpT.zip

7 days ago

Update: I can confirm that while the first join after a restart works, it immediately desyncs for any subsequent joins. I suspect you are not handling the creation/removal of some on_nth_tick events correctly, as I've seen this exactly kind of behavior previously in a different mod.

Hello! Apologies for the issue, but thanks for the report! Thank you as well for including your save, much appreciated. Will be looking into the issue and hope to have a fix out as soon as I reasonably can.

7 days ago
(updated 7 days ago)

An update: I have been able to reproduce and confirm the issue you reported with my own personal server with only Space-Age (and its dependencies) and this mod (and its dependency) present. Not quite sure at the moment what the root cause is, but am continuing to investigate. Thanks again for the report.

7 days ago

That's great! Glad you're able to reproduce it. Thinking about it now though, I remember that the desync message didn't mention anything about events. If it was the on_nth_tick thing I mentioned above, I would have gotten a specific message for it. It only reported a generic desync so it must be something a bit more obtuse.

7 days ago

The fact that it desyncs immediately upon rejoin tells me one thing though: it almost assuredly is caused by some state that isn't being persisted through save/load.

So, I believe I have found a/the root issue: it appears to be my use of math.random when calculating the time_to_live tick when caching data - that is, when I commented out/removed the math.random portion for each line where something could be cached, I was not immediately desynced and was able to successfully join a server that already had another player on it.

Not sure why/what it is exactly about using math.random there that's causing the problem, but I will continue to investigate and hope to have a workable fix out as soon as I reasonably can.

Thanks again for bringing this to my attention, much appreciated!

With the release of version of 0.8.4, this issue should be fixed.

Please do let me know if you encounter any other issues.

New response