Для владельцев, которые не хотят однажды утром найти разрушенный спавн, чужого админа или сервер, лежащий под ботами. Здесь база, которую стоит закрыть до открытия.
Правильная схема на Velocity:В server.properties бекендов ставится online-mode=false, а параметр bungeecord в spigot.yml должен быть false: он нужен только для старого BungeeCord.
С modern forwarding бекенд сам не пустит подключение без правильной подписи, но закрытые порты - второй слой, и он нужен. Если прокси и бекенды на одной машине, пусть бекенды слушают только локальный адрес (server-ip=127.0.0.1 в server.properties). Если на разных, фаервол должен пропускать к ним только IP прокси. Проверьте с другого компьютера, что напрямую к бекенду подключиться нельзя.
В offline-mode ник никак не проверяется, и под ником администратора может зайти кто угодно. Offline-сервер без плагина авторизации - открытая дверь. Нужен плагин регистрации и входа по паролю, например AuthMe Reloaded или nLogin, и стоять он должен до открытия, а не после первого взлома. Настройка: AuthMe в справочнике. Аккаунты администрации в таком режиме защищайте особо: длинные уникальные пароли, которые нигде больше не используются.
Граница у таких плагинов простая. Они отсекают ботов, которые подключаются по протоколу Minecraft. От DDoS-атаки, которая просто забивает канал трафиком, плагин не спасёт, тут нужна защита на стороне хостинга. Спрашивайте о ней при выборе.
Модераторам и хелперам права выдаются группами в LuckPerms: ровно то, что нужно для работы, например кик, мут, бан, проверка блоков через CoreProtect. Если модератора взломают, ущерб ограничится его правами. Как собрать группы: LuckPerms в справочнике.
Ещё пара мест, которые часто забывают:
/co inspect включает режим проверки: кликаете по блоку и видите его историю. rollback откатывает действия игрока за указанное время, restore возвращает откат, если ошиблись с параметрами.
Вопросы по теме — пишите ниже, ответим.
Прокси и закрытые бекенды
Частая дыра в сетях серверов: бекенд (лобби, выживание) доступен напрямую по своему порту. На бекенде стоит online-mode=false, потому что проверку игроков делает прокси. Если до бекенда можно достучаться в обход прокси и он не защищён, любой зайдёт под ником администратора.Правильная схема на Velocity:
- В velocity.toml включить modern forwarding.
- На каждом Paper-бекенде включить поддержку Velocity и указать тот же секрет.
- Закрыть порты бекендов от внешнего мира.
Код
# velocity.toml
bind = "0.0.0.0:25565"
online-mode = true
player-info-forwarding-mode = "modern"
forwarding-secret-file = "forwarding.secret"
[servers]
lobby = "127.0.0.1:30066"
survival = "127.0.0.1:30067"
try = ["lobby"]Код
# config/paper-global.yml на каждом бекенде
proxies:
velocity:
enabled: true
online-mode: true
secret: 'строка из forwarding.secret'С modern forwarding бекенд сам не пустит подключение без правильной подписи, но закрытые порты - второй слой, и он нужен. Если прокси и бекенды на одной машине, пусть бекенды слушают только локальный адрес (server-ip=127.0.0.1 в server.properties). Если на разных, фаервол должен пропускать к ним только IP прокси. Проверьте с другого компьютера, что напрямую к бекенду подключиться нельзя.
online-mode и авторизация
online-mode=true на прокси или на одиночном сервере значит, что каждого игрока проверяют серверы Mojang, и зайти под чужим ником нельзя. Это самый надёжный вариант.В offline-mode ник никак не проверяется, и под ником администратора может зайти кто угодно. Offline-сервер без плагина авторизации - открытая дверь. Нужен плагин регистрации и входа по паролю, например AuthMe Reloaded или nLogin, и стоять он должен до открытия, а не после первого взлома. Настройка: AuthMe в справочнике. Аккаунты администрации в таком режиме защищайте особо: длинные уникальные пароли, которые нигде больше не используются.
Боты и флуд
Бот-атака на Minecraft-сервер - это сотни фейковых подключений: занимают слоты, спамят в чат, нагружают сервер. Фильтровать их нужно как можно раньше, на уровне прокси. Для Velocity есть антибот-плагины, например Sonar или LimboFilter: они проверяют подключение до того, как игрок попадёт на бекенд.Граница у таких плагинов простая. Они отсекают ботов, которые подключаются по протоколу Minecraft. От DDoS-атаки, которая просто забивает канал трафиком, плагин не спасёт, тут нужна защита на стороне хостинга. Спрашивайте о ней при выборе.
OP по минимуму, права через LuckPerms
OP даёт всё и сразу, включая команды плагинов, о которых вы давно забыли. Чем меньше людей в ops.json, тем лучше. В идеале там только владелец.Модераторам и хелперам права выдаются группами в LuckPerms: ровно то, что нужно для работы, например кик, мут, бан, проверка блоков через CoreProtect. Если модератора взломают, ущерб ограничится его правами. Как собрать группы: LuckPerms в справочнике.
Ещё пара мест, которые часто забывают:
- RCON (enable-rcon в server.properties) выключен, если он не нужен. Если нужен, то длинный пароль в rcon.password и порт, закрытый фаерволом для всех, кроме ваших адресов.
- Панель хостинга, SSH и почта владельца - с надёжными паролями и двухфакторной защитой, где она есть. Взлом панели обходит всю защиту внутри игры.
Плагины только из проверенных источников
«Слитые» платные плагины - главный источник бекдоров. Внутрь встраивают код, который по секретной команде в чате выдаёт OP, качает чужие файлы или превращает сервер в часть ботнета. Узнаёте вы об этом, когда уже поздно.- Качайте с официальных площадок: Modrinth, Hangar, SpigotMC, GitHub-релизы автора.
- Платный плагин покупайте у автора. Это защита, а не только честность.
- Не ставьте jar «от знакомого с форума» без проверки.
- Если на сервере появился OP, которого никто не выдавал, считайте сервер скомпрометированным и проверяйте все плагины, а не только последний установленный.
Бэкапы
Бэкап понадобится не «если», а «когда». Сохраняйте миры, папку plugins с конфигами и данными, базы данных. Храните копии не только на той же машине: если умрёт диск или сервер взломают, локальный бэкап пропадёт вместе с ним. И хотя бы раз проверьте восстановление. Бэкап, который не разворачивается, бэкапом не считается.CoreProtect: откат гриферов
CoreProtect записывает, кто что сломал, поставил и забрал из сундуков. Если грифер прошёлся по спавну, весь мир откатывать не нужно:Код
/co inspect
/co lookup u:Nick t:2h
/co rollback u:Nick t:2h r:#global
/co restore u:Nick t:2h r:#globalВопросы по теме — пишите ниже, ответим.