NetGuard
NetGuard — плагин защиты Paper-серверов от packet flood, повреждённых пакетов, вредоносных payload и распространённых packet-based exploit’ов.
Плагин учитывает состояние соединения игрока: кратковременный лаг и высокий пинг не должны приводить к необоснованному наказанию, а подозрительный трафик ограничивается отдельно по категориям.
Защита сети
- Лимиты количества пакетов, размера пакета и общего объёма трафика.
- Защита от packet flood, повторяющихся запросов и перегрузки отдельных категорий.
- Проверка plugin messages, payload, brand, register/unregister и proxy channels.
- Проверка повреждённых и некорректно сформированных пакетов.
- Защита команд, completion-запросов, селекторов и вложенных структур.
- Отдельные лимиты для команд, completion, payload, книг, inventory и creative.
- Временная блокировка проблемной категории и автоматическое закрытие соединения при продолжении атаки.
Предметы и NBT
NetGuard проверяет legacy NBT и современные item components, включая книги, filtered pages, lore, названия, атрибуты, enchantments, bundle, fireworks, карты и контейнеры.
Ограничиваются глубина, размер и количество вложенных структур. Повреждённые, циклические и слишком большие данные блокируются до создания лишней нагрузки на сервер. Для вложенных предметов используется общий ограниченный бюджет проверки.
Стабильность игры
Плагин снижает последствия нестабильного соединения при перемещении, вращении, PvP, взаимодействии с блоками и контейнерами, creative-действиях, обмене предметами, транспорте и работе с нестандартными сущностями.
NetGuard не увеличивает reach, не исправляет читы и не делает подозрительные удары легитимными. Его задача — сохранить корректное поведение честных игроков при сетевых задержках.
Защита мира
Администратор может отдельно включить ограничение login flood, redstone overload, чрезмерного появления сущностей, некорректных dispense-векторов и взаимодействий с недействительными сущностями. Эти функции отключены по умолчанию и настраиваются под конкретные фермы, механизмы и прокси.
Сетевой контроль
NetGuard 1.2.0 добавляет собственный модуль управления доступом и портами:
- правила ALLOW/DENY для IPv4, IPv6 и CIDR;
- режим whitelist с приоритетом DENY;
- проверка IP игрока за BungeeCord/Velocity через адрес, опубликованный Bukkit;
- необязательная проверка физического адреса подключения;
- обнаружение совместимого UPnP-маршрутизатора;
- открытие TCP/UDP-портов и основного порта Minecraft;
- конечные аренды, мониторинг и восстановление собственных пробросов;
- IP-ограниченные mappings на совместимых IGD2-устройствах;
- защита от перезаписи и удаления чужих mappings.
Команды
Код:
/netguard status Общая статистика
/netguard security <игрок|UUID> Последние события безопасности
/netguard explain <игрок> История срабатываний
/netguard trace <игрок> [секунды] Ограниченная диагностика
/netguard top Статистика пакетов и нагрузки
/netguard selftest Локальная проверка правил
/netguard dupeip <игрок> Связанные аккаунты по сетевым данным
/netguard banshield <игрок> <время> Административная блокировка
/netguard reload Перезагрузка конфигурации
/netguard firewall status Состояние доступа и UPnP
/netguard firewall rules Список IP-правил
/netguard firewall allow <IP/CIDR> [порт] Разрешить адрес
/netguard firewall deny <IP/CIDR> [порт] Заблокировать адрес
/netguard firewall remove <IP/CIDR> [порт] Удалить правило
/netguard firewall mode open|whitelist Режим доступа
/netguard firewall ports list Список mappings
/netguard firewall ports open <порт> <TCP|UDP> [описание]
/netguard firewall ports restrict <IP> <порт> <TCP|UDP> [описание]
/netguard firewall ports close <порт> <TCP|UDP> [IP]
/netguard firewall ports check Проверить и восстановить mappingsКонфигурация
Основные файлы:
config.yml, security.yml, packets.yml, firewall.yml и lang/. Настраиваются лимиты пакетов, книг, NBT, payload, команд, inventory, creative, login flood, redstone, сущностей и сетевого доступа.Совместимость
- Все сервера на ядре spigot семейства
- Java 21+;
- PacketEvents 2.7.0;
- Geyser и Floodgate;
- совместимые сборки Purpur.
Установка
1. Установите PacketEvents.
2. Поместите
NetGuard.jar в папку plugins.3. Запустите сервер.
4. Настройте
config.yml, security.yml, packets.yml и firewall.yml.5. Выполните
/netguard selftest.6. Проверьте плагин на тестовой копии сервера.
Перед установкой на основной сервер рекомендуется проверить обычный игровой трафик, Bedrock-клиентов, контейнеры, creative, принтеры и кастомные предметы.
NetGuard работает на уровне PacketEvents и не покрывает атаки, происходящие до обработки Minecraft-пакета.