Добро пожаловать на Craft‑Bukkit

Всё о Minecraft серверах: гайды, команды, скачивание сборок и полезные советы для администраторов и игроков.

Лаг-машины в Minecraft: что это такое, как они работают и как защитить сервер

wergio 26.07.2026 01:55 13
Лаг-машины в Minecraft: 6 типов конструкций, убивающих TPS сервера, и методы защиты.

Введение: оружие массового поражения TPS

Лаг-машина (lag machine) — это конструкция, созданная специально для перегрузки сервера. Она генерирует огромное количество событий, которые сервер должен обработать: обновление блоков, движение предметов, спавн мобов, жидкостные расчёты. Одна лаг-машина способна уронить TPS сервера с 20 до 5 и сделать игру неиграбельной для всех. В этом гайде я расскажу, какие бывают лаг-машины, как они работают и как защитить от них сервер.

Тип 1: Редстоун-мигалка (Redstone Clock Lag)

Принцип работы: Зацикленная редстоун-схема, которая переключается каждый тик (20 раз в секунду). Каждое переключение вызывает обновление блоков вокруг. Одна мигалка не страшна, но 100 мигалок в одном чанке создают 2000 обновлений в секунду. Сервер тратит процессорное время на обработку этих обновлений вместо игровой логики.

Как определить: В отчёте Spark/Timings красные чанки с высокой нагрузкой от Redstone Wire.

Как защититься:

  • Установите плагин AntiRedstoneClock — автоматически отключает слишком быстрые мигалки.
  • В paper.yml: redstone-implementation: ALTERNATE (менее точный, но быстрее).
  • Ограничьте частоту редстоуна: max-redstone-clocks-per-tick: 16.

Тип 2: Водопад из воронок (Hopper Lag)

Принцип работы: Сотни воронок, соединённых в цепь. Каждая воронка каждый тик проверяет, есть ли предмет для передачи. Тысяча воронок = тысяча проверок каждый тик = падение TPS на 5-10 пунктов.

Как определить: В отчёте Spark — высокий процент «Hopper tick».

Как защититься:

  • В paper.yml: hopper-transfer-limit: 8 (ограничить количество предметов за тик).
  • Установите лимит воронок на чанк через плагин.
  • Используйте плагин AntiHopperLag.

Тип 3: Песчаная пушка (Falling Block Lag)

Принцип работы: Тысячи блоков песка/гравия, подвешенных на факелах. Когда факелы убираются, все блоки начинают падать одновременно. Сервер должен просчитать физику каждого блока: столкновения, превращение в предметы, взаимодействие с другими блоками. 10 000 падающих блоков могут крашнуть сервер.

Как определить: Краш сервера с ошибкой «Ticking falling block».

Как защититься:

  • В paper.yml: max-entity-collisions: 8 (ограничить столкновения сущностей).
  • Установите плагин AntiFallingBlockLag.

Тип 4: Ферма бронированных стоек (Armor Stand Lag)

Принцип работы: Сотни стоек для брони (Armor Stands) в одном чанке. Каждая стойка — это Entity, которое сервер должен рендерить и отслеживать. Стойки с бронёй создают дополнительную нагрузку из-за NBT-данных. Тысяча стоек = значительное падение TPS.

Как определить: /spark health → раздел «Entities» → много Armor Stands.

Как защититься:

  • Установите плагин ArmorStandLimiter — ограничивает количество стоек на чанк/игрока.
  • В paper.yml: armor-stand-tick: false (стойки не обсчитываются каждый тик, только при взаимодействии).
  • Периодически очищайте стойки: /kill @e[type=armor_stand,distance=..50].

Тип 5: Лавовая ферма (Liquid Update Lag)

Принцип работы: Лава и вода, текущие по сложному лабиринту. Каждый блок текущей жидкости проверяет соседей и обновляет своё состояние. Гигантский лавовый поток может создавать десятки тысяч обновлений в секунду.

Как защититься:

  • Отключите растекание жидкостей (см. предыдущую статью).
  • В paper.yml: lava-flow-speed: 10 (замедлить растекание).

Тип 6: Вагонетки-убийцы (Minecart Lag)

Принцип работы: Сотни вагонеток на замкнутом круге рельсов. Каждая вагонетка — это Entity, которое движется, проверяет коллизии и обновляет позицию. Тысяча вагонеток создают огромную нагрузку.

Как защититься:

  • В paper.yml: minecart-max-speed: 8 (ограничить скорость).
  • Плагин EntityLimiter — ограничить количество вагонеток на чанк.

Сравнительная таблица лаг-машин

ТипНагрузка на TPSСложность постройкиЛегко ли обнаружитьМетод защиты
Редстоун-мигалкаСредняяНизкаяДа (Spark/Timings)AntiRedstoneClock
ВоронкиВысокаяСредняяДа (Spark)hopper-transfer-limit
Падающие блокиКритическаяСредняяДа (перед крашем)max-entity-collisions
Стойки брониСредняяНизкаяДа (Spark Entities)ArmorStandLimiter
ЖидкостиВысокаяСредняяДа (визуально)lava-flow deny
ВагонеткиСредняяСредняяДа (Spark)EntityLimiter

Как быстро найти лаг-машину на сервере

  1. Измерьте TPS: /tps — если ниже 18, на сервере проблема.
  2. Запустите Spark-профайлер: /spark profiler start --timeout 120.
  3. Посмотрите отчёт Timings: /timings paste — красные чанки = лаг-машины.
  4. Проверьте количество Entity: /spark health → раздел Entities. Если Armor Stands, Minecarts или Hoppers исчисляются тысячами — найдите чанк и удалите их.
  5. Телепортируйтесь в проблемный чанк и уничтожьте лаг-машину.

💡 Совет профи

Настройте автоматический мониторинг и алерты. Плагин Plan записывает историю TPS. Если TPS падает ниже 15 — отправляется уведомление в Discord. Вы заходите на сервер, запускаете Spark, находите лаг-машину за 2 минуты и уничтожаете её. А для предотвращения установите лимиты на все типы Entity в paper.yml и bukkit.yml — это не даст построить лаг-машину в принципе.
← К списку статей

💬 Комментарии (0)

⏳ Все комментарии проходят модерацию

🔒 Войдите, чтобы оставить комментарий

😊 Пока нет комментариев. Будьте первым!