Learn · modules

Что такое "тик" в Minecraft? Модуль Packet-Buffer

Блинк — это сетевой модуль, который буферизует ваши исходящие пакеты, чтобы сервер удерживал вас в замороженном состоянии, пока вы перемещаетесь локально, а затем выгружает всё сразу.

TRtrolPublished 3 min read

Blink — это сетевой модуль, встречающийся в некоторых утилитарных клиентах Minecraft, который перехватывает ваши исходящие пакеты и удерживает их вместо отправки в момент генерации. Пока буфер удерживается, сервер продолжает отрисовывать вас в той позиции, которую он последний раз получил, даже если ваш клиент продолжает двигаться, сражаться или строить в реальном времени. Когда буфер отпускает, все пакеты, сгенерированные во время удержания, достигают сервера одновременно, и ваше реальное положение мгновенно догоняет. Это манипуляция пакетами, а не трюк с отображением, и серверы с хорошей системой логирования могут заметить разницу.

Привлекательность Blink ситуативна. Если вы вот-вот окажетесь под давлением, исчезновение из поля зрения сервера на секунду, пока вы готовитесь к контратаке, может сработать. В командном бою исчезновение и повтовное появление могут создать окно рассинхронизации. Проблема в том, что реальный лаг выглядит иначе, и античиты это знают.

Обычный клиент отправляет непрерывный поток пакетов движений и действий. Сервер обновляет ваше состояние на основе каждого из них в тот момент, когда они приходят. Blink перехватывает этот поток и блокирует его на некоторое время, не давая ему уйти. Локально ничего не меняется. Вы продолжаете двигаться, махать, ставить блоки — чем бы вы ни занимались — и ваш экран отображает всё это. Сервер просто не получает новых данных, поэтому он удерживает вас в последней полученной позиции. Освободите буфер, и все пакеты, которые вы поставили в очередь во время задержки, сразу же дойдут до сервера, мгновенно возвращая ваше реальное состояние в исходное положение.

  1. Удерживайте буфер

    Прекратите отправку исходящих пакетов с вашего клиента.

  2. Действуйте локально

    Перемещайте, сражайтесь, стройте или используйте предметы, как обычно отображаются на вашем экране.

  3. Освободите буфер

    Отправьте всё сразу одним импульсом.

  4. Зафиксировать положение

    Ваше состояние мгновенно синхронизируется с сервером.

Мерцание против Ложного Задержки

Оба модуля задерживают пакеты, но по разным причинам и на разную продолжительность.

Ложная ЗадержкаМерцание
Поведение пакетовЗадерживаются, затем сбрасываются залпомПолностью приостанавливаются, не передаются по частям
СоединениеОстаётся активным на протяжении всего времениЗамирает на всю продолжительность
Типичная продолжительностьПолсекунды в боюБолее длительные задержки, секунды или больше
ЦельКратковременная рассинхронизация в боюИсчезновение с точки зрения сервера

Ложная Задержка создана, чтобы выиграть полсекунды в бою. Мерцание создано, чтобы ты перестал существовать с точки зрения сервера на более длительное время.

Часто задаваемые вопросы