View Issue Details

IDProjectCategoryLast Update
0024654AI War 2Gameplay IssueApr 7, 2021 4:53 pm
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product VersionBeta 2.768 RAM Reduction 
Fixed in VersionBeta 2.770 Multiplayer Metal 
Summary0024654: Problems from 4/3 MP session
DescriptionSession was 1 host and 2 clients, playing on Steam P2P.

First thing to note, we regularly had people take 30 seconds or so trying to connect, and we needed to retry each client's connections several times. The only errors there I saw were
These errors looked like
4/3/2021 9:29:44 PM 2.768 CLIENT Attempting Steam P2P connection to host.
4/3/2021 9:29:59 PM 2.768 CLIENT STEAM P2P NETWORKING: Client P2P connection to host failed: Timeout
4/3/2021 9:32:19 PM 2.768 SINGLEP Multiplayer Connection Time Taken: Establishing_Connection - 154.8s
<we saw a number of these errors, but it would generally work in the end. Our session ended when someone was unable to reconnect (but it was also his bedtime so it was a good error)>

client 0 errors
4/3/2021 10:12:35 PM 2.768 CLIENT Error, received 241 items in external pattern DarkSpireData when that pattern is only supposed to contain 1; the extra items will be ignored (parsing the non-ignored items may cause errors if the pattern implementation is not expecting the right types, etc) ExternalDataHeader: EXTERNAL DATA - Squad

4/3/2021 10:12:35 PM 2.768 CLIENT ERROR: Missing ArcenExternalDataPattern for EXTERNAL DATA - Squad with namespaceName '???'
...
  at Arcen.Universal.ArcenExternalDataLookup.DeserializeExternalDataFrom (Arcen.Universal.ArcenDeserializationBuffer Buffer, System.String ExternalDataHeader, System.Boolean IsForPartialSyncDuringMultiplayer) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, System.Boolean IsForNetworkSync) [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at AIWar2NetworkSync.Client_AcceptDivergenceDataFromHost (Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.AIWar2Networking.HandleMessage (System.Int64 UniqueMessageIDFromSender, System.Boolean IsFromSelfWithoutNetwork, System.UInt32 senderNetworkID, Arcen.Universal.ArcenNetworkMessageType CoreNetworkMessageType, Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.Universal.ArcenNetworkMessageHandler.HandleMessage (System.Boolean IsFromSelfWithoutNetwork, System.UInt32 senderNetworkID, Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0


4/3/2021 10:12:35 PM 2.768 CLIENT Exception in Client_AcceptDivergenceDataFromHost-DivergencesSection: debugStage: 7000 Exception: System.Exception: Canary code fail at ThSeus. Code above it is the real problem.
  at AIWar2NetworkSync.Client_AcceptDivergenceDataFromHost (Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00afe] in <3fcdebcb44cb408e8add747e9c667b15>:0

...
4/3/2021 10:12:36 PM 2.768 CLIENT Exception hit during DoSuccessfulCompletionLogic_CalledFromMainSimOnly debug code 500 System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.External.BaseHackingImplementation.DoSuccessfulCompletionLogic_CalledFromMainSimOnly (Arcen.AIW2.Core.GameEntity_Squad TargetOrNull, Arcen.AIW2.Core.Planet planet, Arcen.AIW2.Core.GameEntity_Squad Hacker, Arcen.AIW2.Core.ArcenSimContext Context, Arcen.AIW2.Core.HackingType type, Arcen.AIW2.Core.HackingEvent Event) [0x000f7] in <9deb82b136cf48e886d540e9a6d37577>:0


...
4/3/2021 10:12:36 PM 2.768 CLIENT Exception hit during DoSuccessfulCompletionLogic_CalledFromMainSimOnly debug code 500 System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.External.BaseHackingImplementation.DoSuccessfulCompletionLogic_CalledFromMainSimOnly (Arcen.AIW2.Core.GameEntity_Squad TargetOrNull, Arcen.AIW2.Core.Planet planet, Arcen.AIW2.Core.GameEntity_Squad Hacker, Arcen.AIW2.Core.ArcenSimContext Context, Arcen.AIW2.Core.HackingType type, Arcen.AIW2.Core.HackingEvent Event) [0x000f7] in <9deb82b136cf48e886d540e9a6d37577>:0

....
4/3/2021 10:25:39 PM 2.768 CLIENT Not fatal - just a warning: Client_AcceptDivergenceDataFromHost: Error in faction index sent: -1. Abandoning rest of sync fix data from this cycle.
4/3/2021 10:25:40 PM 2.768 CLIENT Exception hit during DoSuccessfulCompletionLogic_CalledFromMainSimOnly debug code 500 System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.External.BaseHackingImplementation.DoSuccessfulCompletionLogic_CalledFromMainSimOnly (Arcen.AIW2.Core.GameEntity_Squad TargetOrNull, Arcen.AIW2.Core.Planet planet, Arcen.AIW2.Core.GameEntity_Squad Hacker, Arcen.AIW2.Core.ArcenSimContext Context, Arcen.AIW2.Core.HackingType type, Arcen.AIW2.Core.HackingEvent Event) [0x000f7] in <9deb82b136cf48e886d540e9a6d37577>:0
4/3/2021 10:25:40 PM 2.768 CLIENT DoEntitySecondLogic for NecromancerFlagship debug code 80 exception System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.Core.GameEntity_Squad.DoEntitySecondLogic_FromSimBGThread (Arcen.AIW2.Core.ArcenSimContext Context) [0x00caf] in <3fcdebcb44cb408e8add747e9c667b15>:0
...4/3/2021 10:46:51 PM 2.768 CLIENT OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim error at debugStage 600, Error: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.Universal.ArcenOverLinkedList`1[ItemType].RemoveLessEfficent (ItemType Item) [0x0001a] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.Fleet+Membership.RemoveEntity (Arcen.AIW2.Core.GameEntity_Squad Entity, System.Boolean IsDuplicateRemovalCheck) [0x00001] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.GameEntity_Squad.ClearForReturningToPool () [0x00095] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.GameEntity_Squad.ReturnToPool () [0x00001] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.World_AIW2.UnregisterEntity (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00038] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.GameEntity_Squad.OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim (Arcen.AIW2.Core.InstancedRendererDeactivationReason Reason) [0x00064] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 10:46:51 PM 2.768 CLIENT OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim error at debugStage 200, Error: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.Universal.ArcenOverLinkedList`1[ItemType].Contains (ItemType Item) [0x00019] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.EntityCollection.Contains (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00012] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.PlanetFaction.RemoveEntity (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00001] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.GameEntity_Squad.OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim (Arcen.AIW2.Core.InstancedRendererDeactivationReason Reason) [0x0001c] in <3fcdebcb44cb408e8add747e9c667b15>:0

....
4/3/2021 11:13:08 PM 2.768 CLIENT OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim error at debugStage 200, Error: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.Universal.ArcenOverLinkedList`1[ItemType].Contains (ItemType Item) [0x00019] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.EntityCollection.Contains (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00012] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.PlanetFaction.RemoveEntity (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00001] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.GameEntity_Squad.OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim (Arcen.AIW2.Core.InstancedRendererDeactivationReason Reason) [0x0001c] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 11:13:08 PM 2.768 CLIENT OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim error at debugStage 200, Error: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.Universal.ArcenOverLinkedList`1[ItemType].Contains (ItemType Item) [0x00019] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.EntityCollection.Contains (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00012] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.PlanetFaction.RemoveEntity (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00001] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.GameEntity_Squad.OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim (Arcen.AIW2.Core.InstancedRendererDeactivationReason Reason) [0x0001c] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 11:13:08 PM 2.768 CLIENT OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim error at debugStage 200, Error: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.Universal.ArcenOverLinkedList`1[ItemType].Contains (ItemType Item) [0x00019] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.EntityCollection.Contains (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00012] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.PlanetFaction.RemoveEntity (Arcen.AIW2.Core.GameEntity_Squad Entity) [0x00001] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.Core.GameEntity_Squad.OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim (Arcen.AIW2.Core.InstancedRendererDeactivationReason Reason) [0x0001c] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 11:13:08 PM 2.768 CLIENT OnlyInMapgenOrInActuallyGettingRidOfEntities_ImmediatelyRemoveFromSim error at debugStage 200, Error: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.Universal.ArcenOverLinkedList`1[ItemType].Contains (ItemType Item) [0x00019] in <6c11abc379514bbcba37ce113fdaa9c0>:0

......


And then on client 1

4/3/2021 7:42:32 PM 2.768 CLIENT GameEntity_Squad deserialization error at stage 4000 from serialized version 2.768 loading into new version 2.768, error: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at Arcen.Universal.ArcenDeserializationBufferModern.ReadString_Condensed (System.String FieldNameForErrors) [0x001e9] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, System.Boolean IsForNetworkSync) [0x00536] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 7:42:32 PM 2.768 CLIENT Error while loading world sent from host: System.Exception: Internal error and null world: The savegame you are trying to load had the following fatal error: GameEntity_Squad deserialization error at stage 4000 from serialized version 2.768 loading into new version 2.768, error: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at Arcen.Universal.ArcenDeserializationBufferModern.ReadString_Condensed (System.String FieldNameForErrors) [0x001e9] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, System.Boolean IsForNetworkSync) [0x00536] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.Universal.UniversalMessageHandler.HandleMessage (System.Int64 UniqueMessageIDFromSender, System.Boolean IsFromSelfWithoutNetwork, System.UInt32 senderNetworkID, Arcen.Universal.ArcenNetworkMessageType CoreNetworkMessageType, Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00d70] in <6c11abc379514bbcba37ce113fdaa9c0>:0
....
4/3/2021 7:43:08 PM 2.768 CLIENT GameEntity_Squad deserialization error at stage 19000 from serialized version 2.768 loading into new version 2.768, error: System.ArgumentNullException: Value cannot be null.
Parameter name: key
  at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00008] in <9577ac7a62ef43179789031239ba8798>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].ContainsKey (TKey key) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at Arcen.Universal.ArcenSparseLookup`2[K,T].SetItemForKey (K Key, T Item) [0x00001] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenSparseLookup`2[K,T].set_Item (K key, T value) [0x00001] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, System.Boolean IsForNetworkSync) [0x00f4e] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 7:43:08 PM 2.768 CLIENT Error while loading world sent from host: System.Exception: Internal error and null world: The savegame you are trying to load had the following fatal error: GameEntity_Squad deserialization error at stage 19000 from serialized version 2.768 loading into new version 2.768, error: System.ArgumentNullException: Value cannot be null.
Parameter name: key
  at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00008] in <9577ac7a62ef43179789031239ba8798>:0
  at System.Collections.Generic.Dictionary`2[TKey,TValue].ContainsKey (TKey key) [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at Arcen.Universal.ArcenSparseLookup`2[K,T].SetItemForKey (K Key, T Item) [0x00001] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenSparseLookup`2[K,T].set_Item (K key, T value) [0x00001] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.GameEntity_Squad.DeserializedIntoSelf (System.Int32 primaryKeyID, Arcen.AIW2.Core.GameEntityTypeData typeData, Arcen.AIW2.Core.Planet Planet, Arcen.Universal.ArcenDeserializationBuffer Buffer, System.Boolean HideErrors, System.Boolean IsLoadingTemplate, System.Boolean IsForNetworkSync) [0x00f4e] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.Universal.UniversalMessageHandler.HandleMessage (System.Int64 UniqueMessageIDFromSender, System.Boolean IsFromSelfWithoutNetwork, System.UInt32 senderNetworkID, Arcen.Universal.ArcenNetworkMessageType CoreNetworkMessageType, Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00d70] in <6c11abc379514bbcba37ce113fdaa9c0>:0
....

4/3/2021 7:43:17 PM 2.768 CLIENT ArcenUI_Window.OnUpdateWindow Error: System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.External.Window_InGameSidebarShips+customParent.OnUpdate () [0x001fe] in <9deb82b136cf48e886d540e9a6d37577>:0
  at Arcen.Universal.ArcenUI_CustomUI.OnUpdate_Subclass (System.Single DeltaTime) [0x00073] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenUI_Element.UpdateFromUI (System.Boolean ShouldDoFullUpdate, System.Single DeltaTime) [0x000f4] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenUI_Window.OnUpdateWindow (System.Single AddedDeltaTime, System.Boolean InvertMouseWheelUIScrolling, System.Int32 scrollSpeedForMouseUI) [0x00173] in <6c11abc379514bbcba37ce113fdaa9c0>:0
<Lots of copies of this error>

....
4/3/2021 8:09:46 PM 2.768 CLIENT SwapFleetMemberWithEmpty: Fleet.Membership 'Raider' could not be found!
4/3/2021 8:12:15 PM 2.768 CLIENT Not fatal - just a warning: Client_AcceptDivergenceDataFromHost: Error in faction index sent: -1. Abandoning rest of sync fix data from this cycle.
4/3/2021 8:12:15 PM 2.768 CLIENT Exception hit during DoSuccessfulCompletionLogic_CalledFromMainSimOnly debug code 500 System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.External.BaseHackingImplementation.DoSuccessfulCompletionLogic_CalledFromMainSimOnly (Arcen.AIW2.Core.GameEntity_Squad TargetOrNull, Arcen.AIW2.Core.Planet planet, Arcen.AIW2.Core.GameEntity_Squad Hacker, Arcen.AIW2.Core.ArcenSimContext Context, Arcen.AIW2.Core.HackingType type, Arcen.AIW2.Core.HackingEvent Event) [0x000f7] in <9deb82b136cf48e886d540e9a6d37577>:0
4/3/2021 8:12:15 PM 2.768 CLIENT DoEntitySecondLogic for NecromancerFlagship debug code 80 exception System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.Core.GameEntity_Squad.DoEntitySecondLogic_FromSimBGThread (Arcen.AIW2.Core.ArcenSimContext Context) [0x00caf] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 8:12:35 PM 2.768 CLIENT Arcen.AIW2.External.DarkSpireExternalData: Tried to initialize Parent object as World, but type was Arcen.AIW2.Core.GameEntity_Squad
4/3/2021 8:12:35 PM 2.768 CLIENT Error, received 241 items in external pattern DarkSpireData when that pattern is only supposed to contain 1; the extra items will be ignored (parsing the non-ignored items may cause errors if the pattern implementation is not expecting the right types, etc) ExternalDataHeader:.....
4/3/2021 8:12:35 PM 2.768 CLIENT Arcen.AIW2.External.DarkSpireExternalData: Tried to initialize Parent object as World, but type was Arcen.AIW2.Core.GameEntity_Squad


4/3/2021 8:12:35 PM 2.768 CLIENT Exception in Client_AcceptDivergenceDataFromHost-DivergencesSection: debugStage: 7000 Exception: System.Exception: Canary code fail at ThSeus. Code above it is the real problem.
  at AIWar2NetworkSync.Client_AcceptDivergenceDataFromHost (Arcen.Universal.ArcenDeserializationBuffer buffer) [0x00afe] in <3fcdebcb44cb408e8add747e9c667b15>:0
4/3/2021 8:12:36 PM 2.768 CLIENT Exception hit during DoSuccessfulCompletionLogic_CalledFromMainSimOnly debug code 500 System.NullReferenceException: Object reference not set to an instance of an object
  at Arcen.AIW2.External.BaseHackingImplementation.DoSuccessfulCompletionLogic_CalledFromMainSimOnly (Arcen.AIW2.Core.GameEntity_Squad TargetOrNull, Arcen.AIW2.Core.Planet planet, Arcen.AIW2.Core.GameEntity_Squad Hacker, Arcen.AIW2.Core.ArcenSimContext Context, Arcen.AIW2.Core.HackingType type, Arcen.AIW2.Core.HackingEvent Event) [0x000f7] in <9deb82b136cf48e886d540e9a6d37577>:0

....
And these are very interesting
4/3/2021 9:14:24 PM 2.768 CLIENT Null handler for messages! 242
4/3/2021 9:14:47 PM 2.768 CLIENT Null handler for messages! 147
4/3/2021 9:14:54 PM 2.768 CLIENT Null handler for messages! 44
4/3/2021 9:15:19 PM 2.768 CLIENT STEAM P2P NETWORKING: Client P2P connection to host failed: Timeout
4/3/2021 9:16:11 PM 2.768 CLIENT Error:called SendMessageToHost when socket was off
  at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity, System.DateTime Timestamp) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, Arcen.Universal.Verbosity Verbosity) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenSocket.SendMessageToHost (Arcen.Universal.ArcenSerializationBuffer buffer, Arcen.Universal.ArcenNetworkSendLogEntry LogEntry, Arcen.Universal.NetChannel Channel) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at AIWar2NetworkSync.Client_SendAnyFullSyncRequestsToTheHost () [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.External.SimPlannerImplementation.DoActualSimStep (System.Boolean& stalledWaitingOnConnections, System.Boolean& mayUpdateVisuals, System.String& reasonForNoVisualUpdates) [0x00000] in <9deb82b136cf48e886d540e9a6d37577>:0
  at Arcen.AIW2.Core.Engine_AIW2.ProcessSimStep (System.Boolean& stalledWaitingOnConnections, System.String& reasonForNoVisualUpdates) [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.Universal.Engine_Universal.OnUpdateFromMainThread () [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.ArcenGameControllerBase.BaseUpdate () [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at ArcenGameController.Update () [0x00000] in <a814eda7cca44b38a72e36c2c007e3ee>:0

4/3/2021 9:16:11 PM 2.768 CLIENT Error:called SendMessageToHost when socket was off
  at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity, System.DateTime Timestamp) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.DebugLogDestination Destination, Arcen.Universal.Verbosity Verbosity) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.Universal.ArcenSocket.SendMessageToHost (Arcen.Universal.ArcenSerializationBuffer buffer, Arcen.Universal.ArcenNetworkSendLogEntry LogEntry, Arcen.Universal.NetChannel Channel) [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at AIWar2NetworkSync.Client_SendAnyFullSyncRequestsToTheHost () [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.AIW2.External.SimPlannerImplementation.DoActualSimStep (System.Boolean& stalledWaitingOnConnections, System.Boolean& mayUpdateVisuals, System.String& reasonForNoVisualUpdates) [0x00000] in <9deb82b136cf48e886d540e9a6d37577>:0
  at Arcen.AIW2.Core.Engine_AIW2.ProcessSimStep (System.Boolean& stalledWaitingOnConnections, System.String& reasonForNoVisualUpdates) [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at Arcen.Universal.Engine_Universal.OnUpdateFromMainThread () [0x00000] in <6c11abc379514bbcba37ce113fdaa9c0>:0
  at Arcen.AIW2.Core.ArcenGameControllerBase.BaseUpdate () [0x00000] in <3fcdebcb44cb408e8add747e9c667b15>:0
  at ArcenGameController.Update () [0x00000] in <a814eda7cca44b38a72e36c2c007e3ee>:0
TagsNo tags attached.

Activities

Bummeri

Apr 4, 2021 5:08 am

reporter   ~0061005

I think this was discussed in discord:
https://discord.com/channels/240637654717300736/753611766046523572/827994373270274058

We were also trying to play using steam p2p.

Bummeri

Apr 4, 2021 5:11 am

reporter   ~0061006

We were not able to continue the game even after multiple tries as Badger was.

Chris_McElligottPark

Apr 7, 2021 3:27 pm

administrator   ~0061033

The swap fleet membership bug, but also some others that are potential and related:

* Various fleet-edit commands could throw errors on multiplayer clients, sometimes just due to order of operations of the sync cycle. This is one of those problems that is less of an outright bug and more of an order of operations issue. We now have it set up so that if the client finds that the situation is impossible to update properly, it just silently ignores those problems. It will have the correct data within 5 seconds, but odds are fair that the reason it has a problem is that it already has the correct data.

Chris_McElligottPark

Apr 7, 2021 3:35 pm

administrator   ~0061034

* "P2P connection to host failed" should now do a better job of actually letting the player know that this happened, as well as stopping them from endlessly waiting to connect after it already timed out, etc.
** This won't solve any underlying issues (nor can it), because those are typically network-oriented or Steam-oriented, but it will eliminate the confusion and allow for a quicker retry.

Chris_McElligottPark

Apr 7, 2021 3:39 pm

administrator   ~0061035

* Fixed an exception that could happen on MP clients in DoSuccessfulCompletionLogic_CalledFromMainSimOnly().

Chris_McElligottPark

Apr 7, 2021 3:46 pm

administrator   ~0061037

* Fixed a couple of threading issues that could come up in our linked list classes in multiplayer in particular.

Chris_McElligottPark

Apr 7, 2021 3:51 pm

administrator   ~0061038

* Fixed some indexing errors that could happen in deserializing ships in multiplayer at times. Honestly if these were having an exception in this way, then there was already a more serious error that already happened. But we may as well not have this also erroring on us.

Chris_McElligottPark

Apr 7, 2021 3:58 pm

administrator   ~0061039

* When an exception happens during deserialization of a condensed-style string, the game now gives a much more coherent response. It looks likely that a few canaries were giving exceptions during the attempt at even reading the canary.

Chris_McElligottPark

Apr 7, 2021 4:04 pm

administrator   ~0061041

* Fixed a couple of potential exceptions that could happen in Window_InGameSidebarShips if your game was in an invalid state.

Chris_McElligottPark

Apr 7, 2021 4:06 pm

administrator   ~0061042

* Fixed a couple of annoying error messages that could pop up if you WERE just connected in multiplayer, and some last commands were being sent, but you just left MP either willingly or because of a disconnect.

Chris_McElligottPark

Apr 7, 2021 4:53 pm

administrator   ~0061043

Okay! All of the things in this are fixed, with two exceptions. Those are two larger topics, so I am handling them separately:

1. There is still a bug in there with deserializing squads. I don't know where. I will be instrumenting that with more canaries for network-specific code, and we'll have the answer (or something closer to an answer) after your next session (or sooner if someone else or I run into it before you do).

2. Fragmented messages get garbled and lost, which is what Bummeri was running into. Any savegames larger than about 430kb won't get to the far side. I'm treating that as a separate issue, and it should be solved before your next MP session.

All of the other bits are fixed, or were downstream from those two. Thanks!

Issue History

Date Modified Username Field Change
Apr 3, 2021 11:33 pm BadgerBadger New Issue
Apr 3, 2021 11:33 pm BadgerBadger Status new => assigned
Apr 3, 2021 11:33 pm BadgerBadger Assigned To => Chris_McElligottPark
Apr 4, 2021 5:08 am Bummeri Note Added: 0061005
Apr 4, 2021 5:11 am Bummeri Note Added: 0061006
Apr 7, 2021 3:27 pm Chris_McElligottPark Note Added: 0061033
Apr 7, 2021 3:35 pm Chris_McElligottPark Note Added: 0061034
Apr 7, 2021 3:39 pm Chris_McElligottPark Note Added: 0061035
Apr 7, 2021 3:46 pm Chris_McElligottPark Note Added: 0061037
Apr 7, 2021 3:51 pm Chris_McElligottPark Note Added: 0061038
Apr 7, 2021 3:58 pm Chris_McElligottPark Note Added: 0061039
Apr 7, 2021 4:04 pm Chris_McElligottPark Note Added: 0061041
Apr 7, 2021 4:06 pm Chris_McElligottPark Note Added: 0061042
Apr 7, 2021 4:53 pm Chris_McElligottPark Status assigned => resolved
Apr 7, 2021 4:53 pm Chris_McElligottPark Resolution open => fixed
Apr 7, 2021 4:53 pm Chris_McElligottPark Fixed in Version => Beta 2.770 Multiplayer Metal
Apr 7, 2021 4:53 pm Chris_McElligottPark Note Added: 0061043