На сервере, который обрабатывает и рассылает пакеты сразу по приходу, действия тормозящего игрока, пришедшие пачкой, выполняются подряд и немедленно.
Почему Запросы умений и перемещения от тормозящего игрока приходят пачкой → Следствие Сервер выполняет их по порядку сразу при получении и тут же рассылает всем → На экране Другие видят, как этот игрок применяет несколько умений в одно мгновение или движется как в ускоренной перемотке
Основной ответственный Команда разработки · Разработка сервера · Совместно Команда разработки · Разработка клиента
Команда разработки: задачи
Сервер: выполнять действия с интервалами по прикреплённому времени ввода (время принимать только в допустимых пределах) либо принимать пришедшие пачкой действия и выполнять их по очереди с минимальным интервалом (глобальный кулдаун), не проверять кулдаун только по времени прихода (нормальный ввод «съедается»). Клиент: прикреплять к действиям время ввода.
На графике
Высоко только у некоторых · интервалы выполнения действий по игрокам
Где смотреть
Писать в лог сервера по игрокам время прихода и выполнения действий и время ввода от клиента (если есть), сравнивать интервалы выполнения и ввода. Заодно смотреть интервалы прихода пакетов этого игрока в захвате пакетов на стороне сервера
Подтверждает
Интервалы ввода нормальные, а приход и выполнение на сервере сбиты в группы с промежутками в несколько ms, и эти моменты совпадают со временем жалоб других игроков на перемотку
Опровергает
Если в группы сбиты уже интервалы по времени ввода, проблема в клиенте или в макросе. Если на сервере интервалы выполнения ровные, а сбитыми они выглядят только на чужих экранах, причина в подключении того, кто смотрит
Deterministic LockstepGaffer On Games Если применять ввод сразу по приходу, даже при отправке с частотой 60 Hz интервалы неравномерны и результат скачет