🌐Planet Rubia


Discover the wind planet Rubia. Belts and inserters work differently on Rubia, leading to unique building challenges not seen on any other planet. Your whole factory must go with the wind as a never-ending barrage of waste is hurled at your base.

Content
5 days ago
2.0
15.6K
Factorio: Space Age Icon Space Age Mod
Planets Logistics Trains Environment Mining Manufacturing Power

b [Other Mod’s Bug] Multiplayer Desync

a month ago

See Topic For Further Info: https://forums.factorio.com/viewtopic.php?t=129860

I have a multiplayer save going on with a friend of mine and Rubia was one of the modded planets we had installed (Alongside a number of other mods). After an update around 07-10, our game would desync as soon as either player attempted to open the logistics window. It took days of testing and log analysis to try to pin the mod causing the issue, but when Rubia and its required dependencies were disabled, the desync stopped occurring.

My personal line of opinion here is the planet mod itself is not to blame, but rather whatever changes occurred in version 0.69.10 or 0.69.11 of machine-upgrades. I can provide any necessary log files, .json tables of the script instances between client/server, mod lists, etc. as needed to help address this issue such that we may resume playing Rubia.

a month ago
(updated a month ago)

Thank you for the report. I am sorry you are having a desync. This is very bizzarre. Could you include more details on exactly what you were doing at the time of the desync?

Also, it is impossible for machine upgrades to desync by itself (or even just with Rubia). This almost certainly requires another mod (in addition to Rubia) being installed at the same time. I am suspicious that this has to do with one of the many other mods being installed at the same time.

——

I poked around your save file, and got more details from your forum post. I do not know any system on Rubia that would even touch the logistic network view you mentioned. Unfortunately, I would need to get together a MP party to actually recreate this and even confirm if it is actually Rubia’s fault. This is going to take me potentially days to find someone to properly test with, and coordinate.

Since you have a very large number of mods on this save file, would you potentially see if you can reproduce this bug with only Rubia installed?

What I can tell you is that it is highly unlikely that Machine Upgrades causes this desync, as it doesn’t interface with any logi-nets or logistic UI. Rubia at least listens to UI changes, but the behavior on all the modern versions of Rubia don’t touch logistic connectivity iirc.

a month ago

Sure. The desync itself only started occurring when me and my friend loaded up our save file (as normally) after the mod updates. The desync occurred within a minute of my friend joining my game. Neither of us had done any action at that point, all I did was open up the logistics window about a minute after he joined and then the desync occurred.

I am in agreement that Rubia itself is likely not to blame here, as I did a fairly thorough investigation myself. There were quite a few mismatched client/server items in the script tables generated by the report around a number of other mods (Maraxsis, remote-rc, ballistic-missile, rocket-cargo-insertion, etc.), however, as mentioned, the desync stopped occurring once Rubia and its dependencies were disabled, so something in one of the dependencies is likely not playing nice with another installed mod or has unsafe code involved in it.

I'll keep digging around myself to see if I can get a more replicable situation, but I appreciate you looking into it.

a month ago
(updated a month ago)

Consider reporting this to S6X, the author of rocket cargo insertion. Rubia directly depends on that mod. She may know more.
———
EDIT: This bug has not been replicated, and I don’t really have anything else to go off of to even prove that MUpgrades is actually the cause here. So I’m closing this.

a day ago

Wanted to provide an update on this topic, I'm still in the investigation stage, but I think I've narrowed the desync source to one of two (Or perhaps both) mods:

  1. Castra
  2. Freezer (https://mods.factorio.com/mod/freezer)

For Castra, the original planet mod seems to have been abandoned by Bartz, but I have been working on a series of personal updates for me and my friend group (https://github.com/Phantom139/castra). While working on code changes, I found a ton of runtime code that was potentially multiplayer unsafe, relying on math.random() calls that in some places were non-deterministic and could lead to a desync when players generated different seeded values. I need to do testing with only Rubia and Castra (With and without) my changes to verify this suspicion.

For the freezer mod (And why I think this may be the true source), it only has a small bit of runtime code, but it does have the one on_gui script call that would result in the desync only occurring when opening a dialog menu. As for the why, I suspect the code intended to force the freezer to not allow gui events (Setting player.opened = nil) is something that cannot be safely resolved on the server / client translation side of things. Perhaps estgamer could have accomplished this with something at the prototype stage to be more safe, but I don't know completely.

I need to do more testing with my friend group once I put in some adjustments to the Freezer mod to see if it completely resolves this issue. I will respond here once I have done more work on this front.

a day ago

Thanks for the response. Given there’s no evidence of Rubia’s involvement here, I’m marking this as resolved.

New response