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

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

Ложные срабатывания проверок у абонентов одного провайдера Anti-cheat / movement validation false positives on bad ISPs

ID причины pt-isp-validation · Основной ответственный Команда разработки · Разработка сервера · Совместно Команда инфраструктуры · Сетевая инфраструктура

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

У игроков на подключениях с большим джиттером ввод приходит пачками и часто попадает под серверную проверку скорости и кулдаунов.

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

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

Источники

  1. Source SDK 2013: player.cpp Valve
    Бюджет команд, который копится каждый тик, не даёт превышать скорость. В комментарии разработчиков сказано, что более строгое ограничение даёт микрофризы и обычным игрокам
  2. RFC 2697: A Single Rate Three Color Marker IETF
    Token bucket: решение принимается по средней скорости и допустимому размеру всплеска
  3. Understanding Networked Movement in the Character Movement Component for Unreal Engine Epic Games
    При большой разнице меток времени клиента и сервера перемещение отбрасывается или обрабатывается процедурой устранения расхождения времени, расчёт идёт по серверному времени, что защищает от спидхака

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

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

Причины с тем же симптомом (Откидывание назад) на других слоях

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