Page MenuHomeFeedback Tracker

Chest rig inventory bug on dedicated servers since update 2.18
Feedback, NormalPublic

Description

Chest rig inventory and interaction become broken when placed on ground and corpse.

Details

Severity
Major
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Operating System Version
multiple servers and clients. My client on 19045.4894, my private dedicated on 19045.5011
Category
Dedicated Server
Steps To Reproduce

On dedicated server.
Take chest rig from dead body on ground.
Place chest rig on ground.
Interact with inventory in chest rig.

Additional Information

In a basic vanilla test mission (1 blufor player, 4 opfor AI, Stratis Terrain), the interaction with the chest rig on the ground becomes broken. If the chest rig is picked up, the interaction with it's inventory works. If a chest rig is worn at mission start the interaction with it's inventory continues to work, even when placed on ground. Eventually, the ability to even pickup the chest rig (especially from dead body 'ground' inventory) also becomes broken and this happens quickly in more detailed missions like CO10 Escape and Recon OPs. This bug does not happen if the same missions are tested in the editor (so far). Tested with vanilla missions running no mods and missions using 10 - 20+ mods. On hosted public server and private box, with other players experiencing the same problem and have had confirmation from other outside source, non related.

Event Timeline

n0fg created this task.Oct 9 2024, 3:42 AM
n0fg added a comment.Oct 9 2024, 6:40 PM

After further testing, I can't reproduce this bug on Legacy build 2.16

dedmen added a subscriber: dedmen.Oct 10 2024, 3:02 PM

This was interesting.
We had a big issue with container entities being "leaked" and spamming server logs. So we fixed that.
Turns out, the inventory system requires entities to leak.

When you swap vest, its first unassigned from the dead body. The container entity is now not assigned to anything, its "leaked". So our fix to clean up leaked entities deletes it.
Then, the vest is assigned to the player, but the vest has been deleted on the server because it was leaked, the server cannot find it, and thinks the player doesn't have any vest. From now on the inventory is desynced.
Player doesn't care what server thinks when using its own "vest", so you don't notice that it doesn't network sync anymore.
When you drop it back on the ground, you drop a vest that doesn't exist.

Because the player doesn't "own" the vest now, it asks server for permission for every item to take out of the vest. But the vest doesn't exist on the server, so the server refuses.

The server cannot know that after the vest is unassigned, it would soon be re-assigned to someone else. If the vest were deleted, it would also be unassigned and then just not re-assigned afterwards.
There doesn't seem to be a feasible way to fix this properly, we will just have to let the entity leak and potentially spam logs with object not found messages..

n0fg added a comment.EditedOct 10 2024, 4:45 PM

Ah ok, so this will be happening across the board in missions where these circumstances arise, which I suppose is mostly PvE, hence why more people haven't mentioned it. I've seen the object not found spam in the logs and others mention it in the Faster discord, but I can't say as I've noticed too much of a negative impact when playing the game because of it, though that's usually with just a small group. Typical, stick your finger in a hole to plug one 'leak' and another one just appears. Thanks for the answer.

fix is on profiling branch tomorrow, serverside installation might be enough to fix it

n0fg added a comment.Oct 10 2024, 9:09 PM

Nice, cheers!

mrzorn added a subscriber: mrzorn.Oct 12 2024, 10:55 PM
dedmen changed the task status from New to Feedback.Oct 23 2024, 4:50 PM