Hi! I’m the developer of CoopFoundry, a multiplayer (co-op) mod for Captain of Industry 0.8.7. It now has a dedicated server.
CargoHelicopter is a great mod, and several players would like to use it in co-op. Unfortunately, it currently causes desyncs. In our tests, games went out of sync as long as a helicopter was on the map. The desyncs stopped once we removed it.
In co-op, every machine runs the same simulation, so every machine must make exactly the same decisions at the same simulation step. From what we observed:
- the mod’s patches are applied from a Unity MonoBehaviour shortly after load, so the timing differs between machines (a dedicated server has no Unity frame loop at all);
- helicopters behave as trucks for the logistics system, so a slightly different state on one machine makes a vehicle pick a different path or job;
- a helicopter left without a heliport seems to end up in a state that makes this worse.
Would you be willing to share the source code, or to work with me on making it co-op compatible? The changes would most likely be small: apply the patches at load instead of from a MonoBehaviour, and make sure every decision depends only on the simulation state, not on frame time or the local UI. I’d send you any changes for review, and nothing would be published without your agreement.
Thanks a lot for your work!