Learn · modules
Что такое фейковый лаг в Minecraft? Объяснение задержки пакетов
Поддельный лаг задерживает пакеты передвижения игрока и выпускает их резком выбросом, что приводит к расхождению его позиции с сервером. Вот как это работает и почему это может привести к бану.
Что такое «фейковый лаг» в Minecraft?
«Фейковый лаг» — это боевой модуль, встречающийся в некоторых чит-клиентах для Minecraft, который удерживает исходящие пакеты перемещения игрока вместо отправки их каждый тик, а затем выпускает всю очередь сразу. Нормальное соединение постоянно сообщает о позиции, поэтому копия сервера о том, где находится игрок, отслеживает его реальное положение. «Фейковый лаг» намеренно нарушает эту связь: игрок продолжает идти и сражаться нормально на своем экране, в то время как сервер задерживает более старую позицию, а когда очередь наконец-то очищается, все остальные видят рывок или короткое телепортирование вместо плавного движения.
Привлекательность заключается в разрыве, который он создает. Пока пакеты удерживаются, запись позиции сервера отстает от реальности, и атаки, направленные на эту старую позицию, не попадают в вас настоящего. Когда всплеск происходит, вы возвращаетесь в то место, где на самом деле находитесь, и рассинхронизация закрывается.
Как работает «фейковый лаг»
Обычный клиент отправляет пакет перемещения примерно раз в тик, поэтому запись сервера о позиции игрока редко отстает от реальности более чем на долю секунды. «Фейковый лаг» перехватывает эти исходящие пакеты, помещает их в очередь и удерживает очередь закрытой в течение короткого периода времени вместо того, чтобы выпускать их немедленно.
Пока идёт удержание, ничего не меняется в опыте самого игрока. Он по-прежнему нормально ходит, прыгает и раскачивается на своём экране. Заморожена только точка зрения всех остальных: сервер и любой наблюдающий игрок застывают в последней позиции, которая успела быть зафиксирована до начала удержания. Когда удержание заканчивается, заблокированные пакеты высвобождаются одновременно, и игрок кажется резко перескакивающим или дергающимся в свою реальную позицию, вместо того чтобы просто дойти до неё.
Большинство реализаций ограничивают продолжительность удержания. Если разница между реальной и сообщаемой позицией становится слишком большой, сервер либо возвращает игрока к разумной позиции, либо полностью отменяет движение, так что модуль, по сути, обменивает приобретённую рассинхронизацию на заметность рывка.
Почему люди используют это в бою
Окно рассинхронизации создаёт проблему наведения для противников. Во время удержания они наводятся на последнюю известную позицию, которая теперь отстаёт от вашего реального местоположения на несколько тиков. Атаки приземляются в пустое пространство. В тот момент, когда рывок отправляет заблокированные пакеты, и вы мгновенно перемещаетесь в свою реальную позицию, окно закрывается, но вы получаете один или два кадра неуязвимости в бою.
В длительном удержании эффект более драматичен. Игрок может заикаться назад или вбок на несколько блоков с точки зрения всех остальных зрителей, что делает его гораздо сложнее поразить снарядами или оружием ближнего боя, требующим точного прицеливания.
Фейковый лаг против Блинка
Фейковый лаг часто относят к Блинку, поскольку оба являются модулями манипулирования пакетами, которые создают разрыв между реальным положением игрока и тем, что было сообщено серверу. Механизм, лежащий в основе, отличается, и то же самое касается того, как это выглядит на экране другого человека.
| Аспект | Фейковый лаг | Блинк |
|---|---|---|
| Поведение пакетов | Задерживает пакеты движения, а затем выпускает их залпом | Приостанавливает соединение, а затем возобновляет его |
| Визуальный эффект | Заикание или короткий телепорт | Заморозка, а затем мгновенный переход в новую позицию |
| Что эксплуатируется | Сервер хранит устаревшее положение, пока клиент продолжает двигаться | Сервер не получает обновлений во время приостановки |
| Маркер обнаружения | Внезапный всплеск пакетов движения после удержания | Разрыв соединения, за которым следует немедленное обновление |
Они относятся к одной категории проблем, но используют разные рычаги. Фейковый лаг никогда не прекращает общение с сервером, он просто общается с задержкой и сразу всем. Блинк прекращает общение вообще и возобновляет разговор, когда решит.
Обнаружение и риск
Ложный лаг существует для того, чтобы сместить реальное положение игрока от того, что зафиксировал сервер, а внезапный рывок сразу после задержки — это именно та закономерность, на которую рассчитаны античиты на стороне сервера. Постоянство всплесков пакетов после задержек, паттерн прерывистого движения в нескольких боях, невозможные переходы позиции: всё это признаки, на которые обращает внимание хороший античит.
Это обнаруживаемый чит, дающий преимущество в игровом процессе и несущий такой же риск бана, как и любое другое нарушение синхронизации позиции. Не стоит воспринимать его как средство исправления или сокрытия плохого соединения, рассматривайте его как модуль, создающий очевидный паттерн при использовании.
FAQ
Оно меняется при отправке пакетов движения, а не от того, как игрок двигается на своем экране. Пакеты задерживаются и выпускаются вместе, в результате чего запись сервера о позиции отстает от реальной.
Нет. Высокий пинг — это реальная сетевая задержка, находящаяся вне контроля игрока. Фейковый лаг — это намеренный паттерн задержки на стороне клиента, который обычное соединение никогда не произведет само по себе.
Нет. Оно открывает временный разрыв между реальным положением и тем, что зафиксирован сервером, что может затруднить попадание по игроку во время удержания, но не блокирует урон напрямую, а сам рывок легко обнаруживается.
Фейковый лаг постоянно отправляет пакеты с задержкой и затем посылает их залпом. Блинк полностью прерывает соединение и возобновляет его после. Оба вызывают рассинхронизацию позиции, но разными способами, на уровне пакетов.