MustaphaTR / Romanovs-Vengeance

Romanov's Vengeance is an OpenRA mod based on Red Alert 2.
GNU General Public License v3.0
260 stars 30 forks source link

Frequent multiplayer sync errors with release 20211126 #77

Closed kienanstewart closed 2 years ago

kienanstewart commented 2 years ago

I don't see a syncreport.log generated anywhere, despite the suggestion there is one. Is it normally produced?

Out of 3 games, all 3 desynced within 10-15 minutes (3 AIs, 3 human players)

Eg.

[2021-12-05Txx:xx:xx] Game started                                                                       
Exception of type `System.InvalidOperationException`: Out of sync in frame 14507.                        
 Compare syncreport.log with other players.
   at OpenRA.Network.OrderManager.OutOfSync(Int32 frame) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Network/OrderManager.cs:line 70
   at OpenRA.Network.OrderManager.ReceiveSync(ValueTuple`3 sync) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Network/OrderManager.cs:line 139
   at OpenRA.Network.NetworkConnection.OpenRA.Network.IConnection.Receive(OrderManager orderManager) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Network/Connection.cs:line 306
   at OpenRA.Sync.<>c__DisplayClass13_0.<RunUnsynced>b__0() in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Sync.cs:line 166
   at OpenRA.Sync.RunUnsynced[T](Boolean checkSyncHash, World world, Func`1 fn) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Sync.cs:line 190
   at OpenRA.Sync.RunUnsynced(Boolean checkSyncHash, World world, Action fn) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Sync.cs:line 167
   at OpenRA.Game.InnerLogicTick(OrderManager orderManager) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Game.cs:line 628
   at OpenRA.Game.LogicTick() in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Game.cs:line 643
   at OpenRA.Game.Loop() in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Game.cs:line 810
   at OpenRA.Game.Run() in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Game.cs:line 863
   at OpenRA.Game.InitializeAndRun(String[] args) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Game/Game.cs:line 295
   at OpenRA.Launcher.Program.Main(String[] args) in /home/runner/work/Romanovs-Vengeance/Romanovs-Vengeance/engine/OpenRA.Launcher/Program.cs:line 32
MustaphaTR commented 2 years ago

I don't see a syncreport.log generated anywhere, despite the suggestion there is one. Is it normally produced?

SyncReport generation is a server setting and it is disabled by default. We are aware of a desync issue in SP, possible happens in RV too. We think it is AI related (as we don't get any desyncs in usual PvP MP games), but we haven't found the actual reason yet.

dnqbob commented 2 years ago

It is fixed now. Related to https://github.com/OpenRA/OpenRA/issues/19930 And fixed by https://github.com/OpenRA/OpenRA/pull/20084