Как защитить сервер Minecraft от лаг-машин на стойках для брони (Armor Stands)
Как защитить сервер Minecraft от лаг-машин на стойках для брони (Armor Stands)

Приветствую, коллеги-администраторы! Решил собрать в один пост информацию об одном из старых, но всё еще рабочих способов «уронить» TPS на сервере — использовании стоек для брони (Armor Stands). Тема заезженная, но админы-новички до сих пор часто на этом горят.
Важное примечание: Этот материал написан исключительно в ознакомительных целях для администраторов и владельцев серверов. Я не призываю к вредительству, а наоборот — разбираю механику, чтобы вы понимали, как защитить свои проекты от подобных атак.
Как это устроено
Всё строится на том, что стойка — это не блок, а сущность (entity). Для сервера она почти как моб, только без ИИ. Проблема в том, что движок игры обязан просчитывать её состояние 20 раз в секунду. Чем больше стоек — тем больше вычислений .
Схема создания лаг-машины обычно выглядит так:
- Массовый спавн: С помощью обычных раздатчиков в один блок запихивают сотни или тысячи стоек. Игра это позволяет, и в одной точке скапливается критическая масса объектов.
- Движение: Чтобы нагрузить процессор по максимуму, стойки не просто ставят, а заставляют двигаться. Чаще всего их кидают в воду или на пузырьки от песка душ. Сервер начинает сходить с ума, пытаясь обсчитать координаты и постоянные столкновения (коллизии) всей этой кучи объектов между собой .
- Автоматизация: Всё это зацикливают через простейший генератор на обсерверах, чтобы машина работала автономно .
В интернете полно гайдов по таким постройкам. Там их часто комбинируют с редстоун-пылью, чтобы вдобавок к лагам сервера просаживать еще и FPS у игроков, которые находятся рядом.
Как защитить сервер на уровне ядра (Paper/Purpur)
Самый простой и эффективный способ — отключить обработку стоек на уровне ядра сервера. Это не удаляет стойки, но перестаёт их просчитывать, что снимает нагрузку .
В файле paper-world-defaults.yml (или paper.yml) измените следующие настройки :
entities:
armor-stands:
do-collision-entity-lookups: false
tick: false
Что это даёт:
tick: false— стойки перестают «тикать», то есть их положение и состояние больше не обновляются 20 раз в секунду.do-collision-entity-lookups: false— отключает проверки столкновений между стойками и другими сущностями .
Важно: Это может повлиять на некоторые механики, где стойки используются для декора или в плагинах. Но для большинства серверов это небольшая цена за стабильный TPS.
Плагин OneArmorStand — радикальное решение
Если вы админ, пускать это на самотек нельзя. Можно копаться в конфигах, но есть более радикальное и эффективное решение .
Для борьбы с такими «строителями» существует плагин OneArmorStand. Его логика проста и понятна: он разрешает иметь всего одну стойку на одного игрока. Создать лаг-машину становится физически невозможно, так как спамить сущностями не получится . Обычным игрокам это может немного ограничить возможности декора, но для серверов с упором на выживание или анархию это небольшая цена за стабильный TPS.
Где скачать OneArmorStand
Скачать плагин OneArmorStand можно по ссылке:
Установка OneArmorStand
Требования: Spigot / Paper / Purpur, версия Minecraft 1.20.x или выше, Java 21 .
- Скачивание: Скачайте файл
OneArmorStand.jarпо ссылке выше. - Загрузка на сервер: Остановите сервер командой
/stopв консоли, поместите файл в папкуplugins/, запустите сервер . - Проверка: В консоли должно появиться сообщение:
[OneArmorStand] OneArmorStand включен! Каждый игрок может иметь только 1 стойку.
Команды и права OneArmorStand
| Команда | Описание |
|---|---|
/armorstand | Показать список доступных команд |
/armorstand remove | Удалить свою стойку |
/armorstand info | Показать информацию о своей стойке |
| Команда | Описание |
|---|---|
/asl reload | Перезагрузить конфигурацию |
/asl status | Показать статус плагина |
onearmorstand.admin— доступ к административным командамonearmorstand.bypass— игнорирование ограничения на одну стойку
Настройка конфигурации
После первого запуска в папке plugins/OneArmorStand/ создаётся файл config.yml. Его можно редактировать для изменения сообщений и других параметров .
messages: already-have: "&cУ вас уже есть стойка! Используйте /armorstand remove чтобы удалить её." placed: "&aВы поставили свою стойку!" removed: "&eВаша стойка была уничтожена." protection: protect-others: true sounds: play-on-deny: true deny-sound: "minecraft:entity.villager.no"
Плагин ArmorStand-Limiter
Альтернативное решение — плагин ArmorStand-Limiter. Он не запрещает стойки полностью, а ограничивает их количество в чанке или блоке .
Это гибкий подход: обычные постройки не страдают, но лаг-машина, где в одном блоке сотни стоек, автоматически чистится .
Возможности ArmorStand-Limiter :
- Ограничение количества стоек в блоке и/или чанке
- Проверка мира, типа стойки и её имени для гибкой настройки
- Автоматическая проверка загруженных чанков по таймеру
- Реакция на падение TPS — если сервер начинает тормозить, плагин сам проверяет и чистит стойки
- Отключение движения стоек от поршней или воды при превышении лимита в чанке
- Запрет спавна стоек через раздатчики
- Уведомления в игре, Discord, Telegram и консоль при удалении стоек
| Команда | Описание |
|---|---|
/asl | Перезагрузка конфига (право: armorstandlimiter.reload) |
/asl check <chunk> | Проверка количества стоек в чанке |
/asl clear <chunk> | Удаление всех стоек в чанке |
Альтернативы для комплексной защиты
Если вы ищете более масштабное решение, есть плагины, которые защищают от всех видов лаг-машин :
hAntiLagMachines
Плагин для защиты от различных типов лаг-машин, включая поршневые машины со стойками для брони .
Модуль «Piston and armor stand protection» :
- Отслеживает спавн стоек для брони
- Проверяет конструкции с поршнями
- Очищает стойки и части машин (поршни, наблюдатели, красные блоки)
- Создаёт подробные логи с координатами и именами игроков
Требования: Java 17+, Spigot/Paper/Purpur 1.16+ .
Anarchy Stabilizer
Плагин для серверов с высоким уровнем хаоса, например, анархия или фракции. Предоставляет инструменты для управления стойками и другими сущностями .
- Запрет установки стоек (prevent_placement)
- Удаление стоек при установке (remove_on_placement)
- Периодическая очистка всех существующих стоек (с осторожностью!)
- Ограничение количества стоек в чанке
/as reload — перезагрузить конфигурацию
Заключение
Если вы админ и столкнулись с лаг-машинами на стойках для брони, не паникуйте. Выберите один из способов защиты :
| Способ | Для кого | Плюсы |
|---|---|---|
| Настройка ядра | Админы с доступом к конфигам | Бесплатно, работает без плагинов |
| OneArmorStand | Серверы выживания, анархия | Радикально решает проблему |
| ArmorStand-Limiter | Серверы, где важны стойки для декора | Гибкая настройка, сохраняет функциональность |
| hAntiLagMachines | Крупные проекты со сложными угрозами | Комплексная защита от всех лаг-машин |
Надеюсь, этот разбор сэкономит вам время и нервы. Если знаете другие проверенные плагины против таких машин — пишите в комментариях!
💬 Комментарии (1)
🔒 Войдите, чтобы оставить комментарий