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

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

Стойки для брони как лаг-машина: почему они нагружают сервер и как это предотвратить

wergio 26.07.2026 01:55 10
Стойки для брони как лаг-машина в Minecraft: почему они нагружают сервер и как это исправить.

Введение: невинная декорация или оружие?

Стойки для брони (Armor Stands) кажутся безобидным декоративным элементом. Но в больших количествах они становятся мощной лаг-машиной. Каждая стойка — это Entity (сущность), которую сервер должен хранить в памяти, отслеживать её положение, проверять взаимодействия и отправлять данные клиентам. Стойка с бронёй создаёт дополнительную нагрузку из-за NBT-данных экипировки. В этом гайде я расскажу, почему стойки нагружают сервер, как найти «фермы стоек» и как ограничить их использование.

Почему стойки для брони нагружают сервер

  • Entity Count: каждая стойка — это Entity. Сервер имеет лимит на количество Entity в одном чанке. 100 стоек = 100 Entity. 1000 стоек = лаги.
  • NBT Data: стойка с бронёй хранит NBT-теги для каждого предмета экипировки. Это дополнительные данные, которые сервер загружает и сохраняет.
  • Рендеринг: сервер отправляет данные о каждой стойке всем игрокам в радиусе видимости. 50 игроков × 100 стоек = 5000 пакетов.
  • Взаимодействия: стойки проверяют столкновения с игроками, стрелами, другими Entity.

Как найти «ферму стоек» на сервере

  1. Выполните /spark health — посмотрите раздел «Entities». Если Armor Stands исчисляются сотнями или тысячами — проблема.
  2. Выполните /spark health --chunks — найдите чанки с аномальным количеством Entity.
  3. Телепортируйтесь в проблемный чанк: /tp X Y Z.
  4. Удалите лишние стойки: /kill @e[type=armor_stand,distance=..50].

Способы ограничения стоек для брони

Способ 1: Paper.yml (отключение тиков)

В файле paper.yml:

world-settings:
  default:
    armor-stand-tick: false

Это отключает еже-тиковое обновление стоек. Стойки перестают двигаться, проверять столкновения и обновлять позицию. Они становятся статичными — нагрузка падает до нуля. Но ломаются механизмы с движущимися стойками (редко используются).

Способ 2: Плагин ArmorStandLimiter

Бесплатный плагин, который ограничивает количество стоек на чанк и на игрока. Конфигурация:

limits:
  per-chunk: 10
  per-player: 20
  check-interval: 60  # Проверять каждые 60 секунд

Если игрок превышает лимит — лишние стойки автоматически удаляются.

Способ 3: Плагин EntityLimiter

Ограничивает не только стойки, но и все типы Entity (вагонетки, рамки, лодки). Настройка по типам:

limits:
  armor_stand: 15
  minecart: 10
  item_frame: 20
  boat: 5

Сравнительная таблица методов

МетодЭффективностьПобочные эффектыСложность
Paper armor-stand-tick: falseМаксимальнаяЛомает движущиеся стойкиНизкая
ArmorStandLimiterВысокаяНетНизкая
EntityLimiterВысокаяНетНизкая
Ручное удаление /killВременнаяНетНизкая

💡 Совет профи

Если вы используете стойки для декораций (манекены с бронёй на спавне), установите armor-stand-tick: false в Paper — они останутся на месте и будут выглядеть так же, но перестанут нагружать сервер. А для защиты от злоупотреблений добавьте ArmorStandLimiter с лимитом 10 стоек на чанк — этого достаточно для декора, но мало для лаг-машины.
← К списку статей

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

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

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

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