Streaming
Streaming отправляет игроку только сущности поблизости. Сервер делит пространство на квадратные shards размером shard_size и пересчитывает видимость каждые streaming_tick_rate_ms.
streaming_visibility_radius измеряется в shards, а не GTA units. Его увеличение расширяет окружение каждого игрока и повышает network/client load.
Жизненный цикл stream
Когда entity становится видимой, клиент получает snapshot и событие *StreamIn. Пока она видима, приходят авторитетные изменения. При выходе из радиуса выполняется *StreamOut, а локальное native-представление может быть удалено.
Client wrappers имеют два identifiers:
id— локальный ID wrapper, который может переиспользоваться;remoteId— server/network ID для общего replicated metadata API.
У Player один сетевой id. handle удалённого игрока равен 0, когда игрок известен runtime, но не streamed.
Dimensions создают дополнительную границу видимости. Одна только дистанция не может stream сущность из другого dimension.