- Supports version
- 1.8.✘
- 1.9.✘
- 1.10.✘
- 1.11.✘
- 1.12.✘
- 1.13.✘
- 1.14.✘
- 1.15.✘
- 1.16.✘
- 1.17.✘
- 1.18.✘
- 1.19.✘
- 1.20.✘
- 1.21.✘
- Official page
- https://builtbybit.com/resources/15709/
- Translation
- https://black-minecraft.com/resources/2014/
Описание плагина LPX:
LPX нацелен на защиту вашего сервера на пакетном уровне, он не затрагивает ничего, связанного с ванильной механикой, поэтому он не защищает от лаг-машин из редстоуна, дюпов или незаконных творческих предметов. Он также не защитит вас от DDoS, ботов и эксплойтов на уровне прокси, поскольку работает только на инстансах с патрубками!Особенности плагина LPX:
- ✅Avoid NettyCrashers, предотвращает блокировку netty-потоков эксплойтами без использования форков;
- ✅Dependency Free, не требует никаких зависимостей;
- ✅ Частые обновления при обнаружении новых эксплойтов;
- ✅ Высокая настраиваемость, простая и подробная конфигурация в стиле античит;
- ✅ GUI/файлы для последних предупреждений;
- ✅ Регистратор пакетов в консоли и автоматическое ведение журнала для тяжелых пакетов
- ✅ 1.8-1.20 Совместимость с бумагой и сопутствующими вилками;
- ✅ Совместимость с API или полуавтоматической системой;
- ✅ AntiCheat-Fix блокирует несколько пакетов, из-за которых анти-читы заставляют сервер использовать много CPU;
ПОЧЕМУ ИМЕННО ПЛАГИН LPX?
- Уникальное решение для устранения NETTY CRASHERS, одного из типов эксплойтов, который влияет не на TPS сервера, а на потоки Netty. NettyCrasher заставляет потоки Netty быть занятыми, когда пакет декодируется, поэтому сервер не может обрабатывать последующие пакеты в течение некоторого времени, не позволяя новым игрокам присоединиться к серверу и выбивая по таймауту несколько игроков в сети.
- Smooth Packet Limiter, Обычно антиэксплойты не поощряют использование ограничителей пакетов, поскольку это может привести к проблемам с плохим соединением игроков. В LPX реализован точный способ подсчета спамерских пакетов и полностью рабочая система VL для предотвращения ложных срабатываний, когда игроки отстают. В случае обнаружения ложных флагов конфиг можно легко отредактировать, чтобы исправить их.
- Совместимость с принтером/Schematica. Обычно плагины-ограничители пакетов вызывают проблемы несовместимости с этими модами, в LPX же реализована очень полезная автоматическая система, которая определяет, когда игрок начал использовать режим принтера, и гарантирует отсутствие ложных киков. Также есть возможность использовать API.
- Продвинутый логгер пакетов, если ваш сервер атакован пакетным эксплойтом, вы можете регистрировать каждый пакет, отправленный любым игроком, чтобы понять, какой тип эксплойта он использовал, и мы сможем исправить это в течение нескольких дней. Логгер пакетов можно отключить и настроить.
- Простая и подробная настройка, вы можете редактировать практически все, пока обнаруживаете ложные флаги, вы можете выбрать включение/отключение пинков для каждой проверки, включение/отключение определенных проверок и изменение КАЖДОГО значения, используемого в коде.
Конфигурация плагина LPX:
YAML:
license: "null"
# Используйте эту настройку, если вы находитесь в Китае
force-fallback: false
messages:
main-color: "&5" # Основной цвет
second-color: "&d" # Второй цвет
prefix: "%main-color%LPX >>" # Префикс для всех сообщений
kick: "&cВы отправляете подозрительные пакеты." # Сообщение при кике игрока
kick-alert: "%prefix% %second-color%%player% &7был кикнут" # Уведомление об кике
no-permission: "%prefix% &cНедостаточно прав &7(%permission%)" # Нет прав
invalid-arguments: "%prefix% &cНеверные аргументы!" # Неверные аргументы
injection-failure: "%prefix% &cСбой при внедрении!" # Ошибка внедрения
update-found: "%prefix% &aНайдена новая версия!" # Обновление найдено
null-address: "%prefix% &cВы подключаетесь с некорректным адресом!" # Сообщение при некорректном адресе
alerts:
permission: "lpx.alerts" # Разрешение на получение оповещений
format: "%prefix% %second-color%%player% &7нарушил %main-color%%check% %type% &7(%vl%/%max-vl%)" # Формат оповещений
hover:
- "%main-color%Описание:" # Описание при наведении
- "%second-color%%description%"
- ""
- "%main-color%Информация: %infos%"
- ""
enabled: "%prefix% &aОповещения включены" # Оповещения включены
disabled: "%prefix% &cОповещения отключены" # Оповещения отключены
options:
# Включите, если есть фейковые игроки, вызывающие ошибки при внедрении
# ВНИМАНИЕ: Игроки смогут заходить даже при сбоях внедрения
silent-failures: false
# Кикать игроков при возникновении исключений в их обработчиках
kick-on-exception: true
# Защита от эксплойтов с предметами, которые нагружают Netty
# Доступные значения:
# ALL (отключить декодирование для всех предметов)
# BOOKS (отключить только для книг) (ПО УМОЛЧАНИЮ)
# NONE (поведение Vanilla)
disable-item-decoding: BOOKS
# Скрывать вывод команды /lpx
hidden-command: false
# Игроки с правами "lpx.bypass" будут игнорировать проверки
bypass-permission: false
# Поддержка игроков с Geyser (Bedrock Edition)
geyser: false
# Проверка доступности обновлений
# Разрешение: "lpx.update"
check-updates: true
# Включить загрузку bStats (https://bstats.org/plugin/bukkit/LPX/9156)
bstats: true
# Включить задачу сброса уровня нарушений (VL)
clear-task:
enabled: true
# Интервал в секундах
delay: 300
printer:
# Включить, если сервер поддерживает мод принтера/схем
automatic: false
# Уменьшите это значение, если игроки не входят в режим принтера
place-threshold: 10
# Время ожидания после выхода из режима принтера
disable-delay: 3000
# Игроки с разрешением будут получать уведомления принтера
alerts: true
# Разрешение на уведомления принтера
permission: "lpx.alerts.printer"
join: "%prefix% %second-color%%player% &7вошел в режим принтера (%mode%)" # Вход в режим принтера
leave: "%prefix% %second-color%%player% &7вышел из режима принтера" # Выход из режима принтера
mechanics:
# Минимальное время повторного использования портала в Нижний мир (-1 для отключения)
nether-portal-delay: 1000
# Максимальная скорость стрелы (-1 для отключения)
max-arrow-velocity: 15
# Защита от истребления овец (-1 для отключения)
shears-cooldown: 500
# Закрывать инвентарь при разрушении блока
break-close-inventory: false
# Защита от эксплойтов с красной пылью (BETA)
trapdoor-rail-redstone: true
# Задержка перед открытием контейнеров (в мс, -1 для отключения)
interact-container-delay: 100
alerts:
# Сохранять оповещения в файл
store: true
# Количество дней хранения оповещений
days: 14
# Название сервера для интеграции API
server: unnamed
# Задержка перед отправкой новых оповещений после наказания (в мс)
punish-delay: 1000
debug: false # Включить отладку
# Если включено, LPX будет искать config.yml в ../config/config.yml
external-config: false
discord:
enabled: false # Включить интеграцию с Discord
url: "" # Вебхук URL
color: "#00FFFF" # Цвет сообщений
content:
- "**Игрок**: %player%"
- "**Проверка**: %check% %type%"
- "**VL**: %vl%/%max-vl%"
- "**Информация**: %infos%"
- "**Описание**: %description%"
packet-logger:
# Логировать пакеты, которые обрабатываются дольше указанного времени (в наносекундах)
# Пример: 5000000нс = 5мс, -1 для отключения
heavy-packet-threshold: 5000000
enabled: false # Включить логирование пакетов
# Режимы: whitelist, blacklist
# Режим whitelist: логируются только указанные игроки
# Режим blacklist: логируются все, кроме указанных
player-mode: whitelist
players:
- Ytnoos # Список игроков для логирования
# Режимы: whitelist, blacklist
# Режим whitelist: логируются только указанные пакеты
# Режим blacklist: логируются все, кроме указанных
packet-mode: blacklist
packets:
- PLAYER_FLYING
- PLAYER_POSITION
- PLAYER_POSITION_AND_ROTATION
- PLAYER_ROTATION
- KEEP_ALIVE
- ANIMATION
- WINDOW_CONFIRMATION
checks:
netty:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
# Если установлено в automatic, то максимальное значение ниже примет одно из этих значений в зависимости от версии вашего сервера
# 1.8 = 8448
# 1.12 = 24576
# >=1.13 = 98304
automatic: true
# Вы можете установить это значение на более низкие числа (4096, 8192, 12228) для более строгой защиты
max: 98304
window:
a:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
buffer:
max: 3
multiply: 0.25
decay: 1
b:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
buffer:
max: 3
multiply: 0.25
decay: 1
c:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
d:
enabled: true
punish: true
max-vl: 2
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
item:
a:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
b:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 50
max-modern: 100
c:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
remove-ascii: true
d:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max-bytes: 255
resolved-tolerance: 3
resize: true
e:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
clear: true
occurrences:
- "translate,3"
- "with,3"
- "extra,15"
- "{,15"
f:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
replace: true
creative:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
b:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 127
min: 0
c:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 3000
d:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 16384
e:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
blacklist:
- "run_command"
- "translation.test.invalid"
f:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 64
g:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
place:
a:
enabled: true
punish: true
max-vl: 10
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
buffer:
max: 5
multiply: 0.5
decay: 1
options:
max: 100
b:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 70
c:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
buffer:
max: 5
multiply: 0.5
decay: 1
options:
max: 50
flood:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете слишком много пакетов. :<'
options:
max: 1100
b:
enabled: true
punish: true
max-vl: 6
min-vl: 3
punish-commands:
- 'lpx kick %player% &cВы отправляете слишком много пакетов. >:'
options:
# Следующие строки представлены 2 или 3 параметрами:
# НазваниеПакета | Макс. пакетов | Интервал (мс) | Периоды | Предупреждения
# "ANIMATION,50,500,5,2" означает, что проверка будет срабатывать, когда игрок отправляет 50 пакетов ANIMATION в интервале 500 мс 2 раза в течение периода (5*500 мс)
limits:
- "ANIMATION,50,500,5,2"
- "USE_ITEM,60,1000,5,2"
- "PLAYER_BLOCK_PLACEMENT,14,100,6,3"
- "CLICK_WINDOW,20,200,10,4"
- "CREATIVE_INVENTORY_ACTION,20,200,10,4"
- "PLAYER_POSITION,40,100,5,3"
- "PLAYER_ROTATION,40,100,5,3"
- "PLAYER_POSITION_AND_ROTATION,40,100,5,3"
- "CRAFT_RECIPE_REQUEST,15,1000,2,1"
- "TAB_COMPLETE,40,1000,2,1"
- "INTERACT_ENTITY,20,600,5,2"
- "CHAT_COMMAND,5,500,5,2"
- "PLAYER_DIGGING,40,500,6,3"
- "UPDATE_SIGN,2,300,6,2"
c:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете слишком много пакетов. :o'
options:
max: 10
reset-interval: 100
max-periods: 6
max-warnings: 3
big-threshold: 2048
d:
enabled: true
punish: true
max-vl: 4
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете слишком много пакетов. o:'
options:
max: 10
big-threshold: 2048
max-big: 6
f:
enabled: true
punish: true
max-vl: 2
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете слишком много пакетов. :$'
options:
max: 8
position:
a:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
b:
enabled: true
punish: true
max-vl: 6
min-vl: 1
buffer:
max: 2
multiply: 0.5
decay: 0.05
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
delay: 2000
hard: false
ignore-fly: true
c:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 15000
d:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 100000
payload:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
b:
enabled: true
punish: true
max-vl: 2
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
delay: 1000
max: 15
c:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
d:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
e:
enabled: true
punish: true
max-vl: 1
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
f:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
g:
enabled: true
punish: true
max-vl: 5
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
book:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max: 15
tab:
a:
enabled: true
punish: true
max-vl: 10
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
starts:
- "/to "
- "//to"
- "/calc "
- "//calc"
contains:
- "targetoffset"
- "for("
- "^(."
- "*."
b:
enabled: true
punish: false
max-vl: 1
min-vl: -1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
max-length: 256
characters:
- "["
- "]"
- "{"
- "}"
- "@"
- "="
- "nbt"
command:
a:
enabled: true
punish: true
max-vl: 3
min-vl: 1
punish-commands:
- 'lpx kick %player% &cВы отправляете подозрительные пакеты.'
options:
commands: # CREDITS TO: https://github.com/2lstudios-mc/ExploitFixer
# WorldEdit exploit
- "//calc"
- "//calculate"
- "//eval"
- "//evaluate"
- "//solve"
# HolographicDisplays exploit
- "/hd readtext"
- "/holo readtext"
- "/hologram readtext"
- "/holograms readtext"
- "/holographicdisplays readtext"
# PermissionsEx exploit
- "/pex promote"
- "/pex demote"
- "/promote"
- "/demote"
- "/execute"
# Multiverse exploit
- "/mv ^"
- "/mv help ^"
- "/mvhelp ^"
- "/mv <"
- "/mv help <"
- "/mvhelp <"
- "/$"
Команды и права плагина LPX:
/lpx alerts - lpx.alerts - Получение предупреждений/lpx reload - lpx.reload - Перезагрузить конфигурацию
/lpx gui - lpx.gui - Открыть графический интерфейс пользователя
/lpx clear - lpx.clear - Очистить старые журналы пакетов
/lpx kick <НикИгрока> <Сообщение> - lpx.kick - Принудительно закрыть соединение с игроком
Права плагина LPX:
lpx.alerts.printer - Получать оповещения о принтереС чем несовместим плагин LPX:
- ProtocolLib < 5.0.0
- Images и Denizen в определенных ситуациях
- Arclight
Установка плагина LPX:
- Скачайте плагин.
- Выключите сервер
- Переместите файл .jar в папку /plugins/ вашего сервера.
- Запустите сервер.
- Готово.