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