Если сервер слишком строго проверяет скорость перемещения, кулдауны и дальность, он отклоняет даже нормальный ввод, пришедший пачкой из-за джиттера.
Почему Жёсткие критерии вроде «расстояние, доступное за один тик» или «допуск по кулдауну 0 ms» → Следствие Если из-за джиттера две команды приходят в одном тике, это засчитывается как нарушение правил → На экране Откидывание назад, умение отклоняется, хотя кулдаун прошёл
Основной ответственный Команда разработки · Разработка сервера
Команда разработки: задачи
Проверять по накопленному лимиту (token bucket), давать запас на пинг и джиттер.
На графике
Случайные всплески · число отказов серверной проверки и коррекций позиции
Где смотреть
Писать в лог сервера для каждого отказа проверки и коррекции позиции причину, число команд этого игрока, пришедших в том тике, и интервал прихода после предыдущей команды
Подтверждает
Отказы и коррекции приходятся на моменты, когда в одном тике пришли 2 команды и больше, а суммарное перемещение и число применений за несколько секунд укладываются в правила
Опровергает
Если и в сумме за несколько секунд правила превышены, возможно, это реальное превышение скорости или чит. Если отказы приходятся на одного провайдера и вечернее время, смотреть причину «Ложные срабатывания проверок у абонентов одного провайдера»
Чем проверить
Нужны логи и метрики игрового сервера или клиента
Источники
Source SDK 2013: player.cppValve Бюджет обработки команд, который копится каждый тик (максимум sv_maxusrcmdprocessticks, 24 тика), позволяет принять команды, пришедшие пачкой. В комментарии разработчиков сказано, что при более строгом ограничении микрофризы получали и обычные игроки