한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Анатомия игровых лагов › Проблемы только у части игроков

Управление монстром у тормозящего клиента Monster movement delegated to a player client

ID причины pt-mob-control · Основной ответственный Команда разработки · Разработка сервера

Открыть карточку в основной версии с иллюстрациями и экспериментами →

В некоторых играх, чтобы снизить нагрузку на сервер, расчёт перемещения монстров поручают клиенту одного из ближайших игроков. Если у этого игрока плохое подключение, монстр странно движется на экранах у всех.

Почему Сервер поручает расчёт перемещения монстра клиенту ближайшего (или пришедшего первым) игрока → Следствие Отчёты этого игрока о результатах приходят на сервер с опозданием или пачками → На экране Только этот монстр на экранах всех вокруг замирает и телепортируется. У самого игрока, которому поручен монстр, всё нормально

Симптомы
Телепортация, Микрофризы, Перемотка
Факторы
Джиттер, Потери
У кого
Странно выглядит один персонаж, Одна локация или канал
Когда
Всегда, Изредка, случайно
Ответственные
Основной ответственный Команда разработки · Разработка сервера
Команда разработки: задачи
Передавать управление игроку с хорошим подключением (по пингу и потерям), сразу забирать управление на сервер, если отчёты прекратились, важных монстров вроде боссов рассчитывать на сервере.
На графике
Высоко только у некоторых · интервал отчётов о позиции по монстрам (по клиентам, у которых управление)
Где смотреть
Записывать на сервере для каждого монстра, у какого клиента управление, а также интервал отчётов, RTT и потери этого клиента. Интервалы прихода пакетов от этого клиента видны и в захвате пакетов на стороне сервера
Подтверждает
Управление всеми странно двигающимися монстрами у одного и того же игрока, его отчёты приходят неравномерно или прерываются, а после передачи управления другому игроку всё сразу приходит в норму
Опровергает
Если так же дёргаются и монстры, которых рассчитывает сам сервер, причина в задержке тика сервера или в подключении того, кто смотрит. Если после передачи управления рывки остаются, это расхождение расчёта пути при синхронизации команд
Чем проверить
Нужны логи и метрики игрового сервера или клиента
Подробнее
Игрок, которому поручен монстр, никаких проблем не замечает, поэтому жалобы приходят только в виде «с монстром что-то не так». Если странное поведение одного и того же монстра видят все, кроме одного игрока, сначала проверяют, у кого управление этим монстром.

Источники

  1. Authority (Netcode for GameObjects 2.5) Unity
    В модели распределённого авторитета каждый экземпляр игры (клиент) отвечает за часть сетевых объектов и рассчитывает их
  2. Distributed authority topologies (Netcode for GameObjects 2.5) Unity
    Если полномочия распределены между клиентами, единой симуляции нет, и игра уязвима для читов

Смотрите также

Тот же слой: Проблемы только у части игроков

Причины с тем же симптомом (Телепортация) на других слоях

Карточка в основной версии с иллюстрациями и экспериментами