NebulaModTeam / nebula

A multiplayer mod for the game Dyson Sphere Program
GNU General Public License v3.0
847 stars 124 forks source link

Error when placing a lot of conveys or geothermals #704

Closed And1drew closed 1 month ago

And1drew commented 2 months ago

An error has occurred! Game version 0.10.30.23430 (Client) 2 Mods used: [NebulaMultiplayerMod0.9.8.8] [NebulaMultiplayerModApi2.0.0.228] System.IndexOutOfRangeException: Index was outside the bounds of the array. at BuildTool.GetPrefabDesc (System.Int32 objId) [0x0000e] in0 at BuildTool_Path.DeterminePreviews () [0x0008f] in0 at BuildTool_Path._OnTick (System.Int64 time) [0x00015] in0 at BuildTool._GameTick (System.Int64 time) [0x000cf] in0

We are running Nebula 0.9.8 with a manual installation—no other mods. My friend has been randomly placing conveyors on another world and getting the error above. Once it comes up he cannot place any conveyors until he quits and rejoins. I'm not sure if this is related but Immediately after I placed a geothermal another came up only on his side.

An error has occurred! Game version 0.10.30.23430 (Client) 2 Mods used: [NebulaMultiplayerMod0.9.8.8] [NebulaMultiplayerModApi2.0.0.228] NullReferenceException: Object reference not set to an instance of an object TurretComponent.Search_Default (PlanetFactory factory, PrefabDesc pdesc, System.Int64 gameTick);(0) TurretComponent.Search_Gauss (PlanetFactory factory, PrefabDesc pdesc, System.Int64 gameTick);(0) TurretComponent.Search (PlanetFactory factory, PrefabDesc pdesc, System.Int64 gameTick);(0) TurretComponent.InternalUpdate (System.Int64 time, System.Single power, PlanetFactory factory, SkillSystem skillSystem, PrefabDesc pdesc);(0) DefenseSystem.GameTick (System.Int64 tick, System.Boolean isActive);(0) GameData.GameTick (System.Int64 time);(0) GameMain.FixedUpdate ();(0)

Update:

An error has occurred! Game version 0.10.30.23430 (Host)
2 Mods used: [NebulaMultiplayerMod0.9.8.8] [NebulaMultiplayerModApi2.0.0.228] 
System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at BuildTool.GetPrefabDesc (System.Int32 objId) [0x0000e] in0 
  at BuildTool_Path.DeterminePreviews () [0x0008f] in0 
  at BuildTool_Path._OnTick (System.Int64 time) [0x00015] in0 
  at BuildTool._GameTick (System.Int64 time) [0x000cf] in0 

This time the error occurred on the host side.

starfi5h commented 1 month ago

the BuildTool.GetPrefabDesc error should be handled in Nebula v0.9.9 https://github.com/NebulaModTeam/nebula/blob/master/NebulaPatcher/Patches/Misc/Fix_Patches.cs