Multiplayer icon indicating copy to clipboard operation
Multiplayer copied to clipboard

Desync Because Gravship Abort Landing Generates Maps On Different Tiles Sometimes

Open Tick-git opened this issue 4 months ago • 1 comments

Label: 1.6, Odyssey, Bug, low prio, Desync

Not game-breaking - resync works fine.

Reproduce:

  • Use gravship to fly to an anchored map
  • Press abort landing
  • Sometimes the map tile is different on clients and therefore the map itself.
  • This does not happen 100% of the time.

This is most likely the part that produces the different maps: WorldComponent_GravshipController.AbortLanding calls: layer.FastTileFinder.Query(query, null, null, default(FastTileFinder.TileQueryParams)).RandomElementWithFallback(PlanetTile.Invalid)

https://github.com/rwmt/Multiplayer/blob/8b9b44e3e2040302565c3a17b581e65b2e66019a/Source/Client/Syncing/Game/SyncMethods.cs#L430 Setting the context reduced the issue, but I haven’t looked into why.

Tick-git avatar Aug 22 '25 15:08 Tick-git

https://github.com/rwmt/Multiplayer/blob/fd405999f7a08a992acddea6c1108f94297f6646/Source/Client/Patches/GravshipTravelSessionPatches.cs#L284-L304

I post the harmony patch details, because I'm not sure what happens with the link above when the file gets changed. [HarmonyPatch(typeof(WorldComponent_GravshipController), nameof(WorldComponent_GravshipController.LandingEnded))]

I think this might be the same problem. I haven’t checked whether the Rand is still necessary here, or what the original reason was for adding it. (not added by me)

Tick-git avatar Aug 23 '25 10:08 Tick-git