Issue: Player entities are streamed in, but not streamed out.
Since one of the last updates there are a lot of kicks with the reason "replication stalled".
09:18:45.221 RPL (E): Reliable channel's order sequence appears to be stalled. Terminating connection. identity=0x00000000 09:18:45.221 RPL (E): Reliable channel's order sequence appears to be stalled. Terminating connection. identity=0x00000001 09:18:45.221 RPL (E): Reliable channel's order sequence appears to be stalled. Terminating connection. identity=0x00000013
We already tried every possible combination of different values for network start parameters nwkResolution, staggeringBudget, streamingBudget, streamsDelta.
No positive impact could be archived by tuning these settings.
When checking if it has something to to do with inventory-operations like putting items in vehicles or taking it out we recognized a lot of these errors in the client log:
14:06:21.615 INVENTORY (W): A move of an item has been proceeded, but the source storage is NULL. OR 16:39:30.428 INVENTORY (W): A move of an item has been proceeded, but the target storage is NULL.
During replicating these errores we could find out that it seems that player entities are streamed in but not streamed out.
This means if two players spawn out of streaming range from each other they did not have knowlege about the oposite entity.
When the distance lowers and they come in streaming range the entities gets streamed in like it should be.
But if the distance increases the entities wont be deleted! That means once a player entity was streamed to another player it exists forever and gets full updates.
First, this leads to huge network traffic.
Second, since streaming (out) works for vehicles it also leads to massive problems if a player put items in a vehicle that does not exist on other clients. The other player recognized that a item was put in a storage he did not have and gets the full vehicle streamed in. One frame after the server deletes the vehicle again since its out of streaming range for him. So if someone put 30 mags in a vehicle, the vehicle will be streamed and deleted 30 times.
This problem also occurs if you go into gamemaster. Every player will be streamed in since streaming gets disabled for the gm-user. If the gm gets out of the console all players are still existing.
We also tried most of the RplCommands to hotfix this issue and to force something like an update for the entity.
But the only thing that seems to work is, if you change the parent entity of a player. In this case the player entity gets deleted on all other players if its out of streaming range.