Page MenuHomeFeedback Tracker

Streaming of player entities is broken
Closed, ResolvedPublic

Description

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.

Details

Severity
Major
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Category
General

Event Timeline

RamBob created this task.Aug 28 2023, 2:45 PM
Geez changed the task status from New to Confirmed Internally.Aug 29 2023, 11:08 AM

Fixed internally, fix will be merged as soon as possible.

Geez closed this task as Resolved.Aug 29 2023, 1:26 PM
Geez claimed this task.