SmartlyDressedGames / Unturned-3.x-Community

Community portion of the Unturned-3.x repo. If you have access to the source code you can find it here:
https://github.com/SmartlyDressedGames/Unturned-3.x/
88 stars 18 forks source link

[BUG] The building is invisible #3017

Closed hksz closed 2 years ago

hksz commented 2 years ago

The server uses the map "Arid".

This error occurs after I limit the number of people in the group Please see the video

Map Archive:https://drive.google.com/file/d/1T_9omcv7c3pC7E6KxcUKXHMH_o7OjRj2/view?usp=sharing

Video:https://youtu.be/iEDIkYuXBbI

Logs:ArgumentException: length at System.Array.Copy (System.Array sourceArray, System.Int32 sourceIndex, System.Array destinationArray, System.Int32 destinationIndex, System.Int32 length) [0x000c3] in :0 at SDG.Unturned.BarricadeManager+<>c__DisplayClass174_1.b__1 (SDG.NetPak.NetPakWriter writer) [0x0027f] in <6ab79326407b459b8aa2fe38e5d4a480>:0 at SDG.Unturned.ClientStaticMethod.Invoke (SDG.NetTransport.ENetReliability reliability, SDG.NetTransport.ITransportConnection transportConnection, System.Action`1[T] callback) [0x00007] in <6ab79326407b459b8aa2fe38e5d4a480>:0 at SDG.Unturned.BarricadeManager.SendRegion (SDG.Unturned.SteamPlayer client, SDG.Unturned.BarricadeRegion region, System.Byte x, System.Byte y, SDG.Unturned.NetId parentNetId, System.Single sortOrder) [0x000e4] in <6ab79326407b459b8aa2fe38e5d4a480>:0 at SDG.Unturned.BarricadeManager.onRegionUpdated (SDG.Unturned.Player player, System.Byte old_x, System.Byte old_y, System.Byte new_x, System.Byte new_y, System.Byte step, System.Boolean& canIncrementIndex) [0x001c2] in <6ab79326407b459b8aa2fe38e5d4a480>:0 at (wrapper delegate-invoke) .invoke_void_Player_byte_byte_byte_byte_byte_bool&(SDG.Unturned.Player,byte,byte,byte,byte,byte,bool&) at SDG.Unturned.PlayerMovement.updateRegionAndBound () [0x0008b] in <6ab79326407b459b8aa2fe38e5d4a480>:0 at SDG.Unturned.PlayerMovement.simulate (System.UInt32 simulation, System.Int32 recov, System.Int32 input_x, System.Int32 input_y, System.Single look_x, System.Single look_y, System.Boolean inputJump, System.Boolean inputSprint, System.Single deltaTime) [0x00000] in <6ab79326407b459b8aa2fe38e5d4a480>:0 at SDG.Unturned.PlayerInput.FixedUpdate () [0x008a5] in <6ab79326407b459b8aa2fe38e5d4a480>:0

(Filename: Line: 0)

hksz commented 2 years ago

My location on the map 20220202194422_1

SDGNelson commented 2 years ago

Do you have any plugins which modify Steam items or spawn/modify/patch barricades? It looks like the display case item is in a bad state.

hksz commented 2 years ago

Do you have any plugins which modify Steam items or spawn/modify/patch barricades? It looks like the display case item is in a bad state. Timed save references your code if (Level.info != null && Level.info.type == ELevelType.SURVIVAL) { foreach (SteamPlayer steamPlayer in Provider.clients) { if (steamPlayer != null && !(steamPlayer.player == null)) { steamPlayer.player.save(); } } VehicleManager.save(); BarricadeManager.save(); StructureManager.save(); ObjectManager.save(); LightingManager.save(); GroupManager.save(); } if (Dedicator.isDedicated) { SteamWhitelist.save(); SteamBlacklist.save(); SteamAdminlist.save(); }

hksz commented 2 years ago

Do you have any plugins which modify Steam items or spawn/modify/patch barricades? It looks like the display case item is in a bad state.

Also I have a plugin for backing up "Structure" and "Barricade" data Can also be used to recover "Structure" and "Barricade"

This is my storage format

"StructureData": [ { "Id": 59204, "Health": 400, "Angle_x": 135, "Angle_y": 135, "Angle_z": 0, "Group": 112589994979229698, "Owner": 76561199029166697, "Point_x": -1187.21, "Point_y": 25.2666016, "Point_z": -902.7539 }, { "Id": 59209, "Health": 400, "Angle_x": 135, "Angle_y": 135, "Angle_z": 0, "Group": 112589994979229698, "Owner": 76561199029166697, "Point_x": -1190.21, "Point_y": 27.3916016, "Point_z": -899.7539 } ]

"BarricadeData": [ { "Id": 59218, "Health": 100, "Angle_x": 135, "Angle_y": 119, "Angle_z": 0, "Group": 0, "Owner": 76561198863236254, "Point_x": -1685.19531, "Point_y": 13.0048828, "Point_z": -1267.18359, "State": "AAAAAAAAAAA=" }, { "Id": 59231, "Health": 15, "Angle_x": 135, "Angle_y": 25, "Angle_z": 0, "Group": 0, "Owner": 76561198863236254, "Point_x": -1681.44043, "Point_y": 14.3959961, "Point_z": -1264.05322, "State": "AA==" } ]

hksz commented 2 years ago

Do you have any plugins which modify Steam items or spawn/modify/patch barricades? It looks like the display case item is in a bad state.

I did not perform a restore backup before the problem occurred At first I thought it was a module problem As far as I know before I limited the group size, they had more than 6 members And some of the roadblocks disappearing were reported by some players after the group was limited in number So does this have any relevance to the group where the roadblock is located

hksz commented 2 years ago

Do you have any plugins which modify Steam items or spawn/modify/patch barricades? It looks like the display case item is in a bad state.

Through my investigation, I found that it was caused by a "State" error in one of the roadblocks (State array < 17).

I could not find the specific roadblock. But I solved it by saving the "State" of these categories (storage, storage_wall, sign, sign_wall, sentry, sentry_freeform, manequin, oil, generator, oxygenerator, tank, farm, stereo, cage, spot, bed)

For roadblocks other than these, "State" will restore the default value

hksz commented 2 years ago

Do you have any plugins which modify Steam items or spawn/modify/patch barricades? It looks like the display case item is in a bad state.

Through my investigation, I found that it was caused by a "State" error in one of the roadblocks (State array < 17).

I could not find the specific roadblock. But I solved it by saving the "State" of these categories (storage, storage_wall, sign, sign_wall, sentry, sentry_freeform, manequin, oil, generator, oxygenerator, tank, farm, stereo, cage, spot, bed)

For roadblocks other than these, "State" will restore the default value

I hope this doesn't make me lose some part of the roadblock data

SDGNelson commented 2 years ago

Sorry, since your plugin is overriding the savedata whether any data is lost depends how your plugin handles it. Glad to hear that you found the problem though!