✔️Наша команда специалистов подготовила для Вас обучающий видео урок на тему: «Как настроить BungeeCord на сервере Майнкрафт?».
BungeeCord — это ядро сервера MineCraft, которое представляет из себя прокси-сервер, для объединения нескольких серверов в один, для переключения между разными игровыми серверами Майнкрафт без выхода в меню игры, а сразу на сервере. Обычно BungeeCord не имеет никаких привычных функций как op set и тд, так как в этом нет необходимости, он служит только посредником для входа в другие игровые сервера, для объединения целого проекта в 1 ip адрес.
Переключение между серверами обычно происходит командой /server nameserver1 и /server minigame, либо другими в зависимости от поставленных плагинов.
Если у Вас есть 2 сервера, например мини-игры и еще какой-то мод, благодаря BungeeCord ядру, Вы можете сделать единый вход на сервера, вместо двух разных IP по которым нужно было бы подключаться. Мы заходим на BungeeCord и далее уже выбираем какой конкретно сервер нас интересует, выглядит это всё как переход между мирами. BungeeCord корректно работает с серверами на ядре Spigot при настройках в конфиге «bungeecord: true» и «online-mode=false», за остальные ядра информации нет.
100% СПОСОБ! Как настроить BungeeCord для Майнкрафт. Связка серверов.
BungeeCord также служит как ядро с защитой от атаки ботами, так как имеет возможность фильтровать все входящие подключения (разумеется благодаря плагинам) никак не влияя на основной игровой сервер.
❗️ ❗️ На нашем хостинге, тариф BungeeCord стоит всего 35 рублей в месяц, на этом тарифе запрещено запускать любые другие ядра кроме BungeeCord, хоть это и является доступным, но никакое другое ядро сервера корректно работать не будет, панель не определит его как запущенный!
ЗАКРЫТИЕ ПОРТОВ НА СЕРВЕРЕ
Все наши ноды связаны локально и мы проводим процедуру выдачи «локальных» IP адресов, которые будут доступны только между нодами, т.е даже если сервер bungee и lobby на разных нодах, они будут доступны друг для друга, но lobby будет доступен только для bungee локально, а bungee будет доступен полностью для всех, что исключает возможность обхода авторизации. При этом RCON доступ возможно оставить доступным для lobby сервера, по обычному внешнему адресу, например для выдачи донатов.
Всё что требуется, это создать запрос в поддержку о необходимости локальных адресов для связи bungee.
После этого в config.yml сервера bungee указывайте полученные локальные IP адреса других серверов, вместо обычных.
Подробнее смотрите в видео ролике:
✅ ПОДПИШИСЬ НА НАШ YOUTUBE КАНАЛ ✅
❗️ ❗️ КАК ЗАКАЗАТЬ СЕРВЕР МАЙНКРАФТ СМОТРИТЕ — ЗДЕСЬ ❗️ ❗️
ПРОМО-КОД НА СКИДКУ 15%: ready-steady-go
Источник: my.hosting-minecraft.ru
BungeeCord — Мультисервер майнкрафт, объединение нескольких серверов в один
Итак, всем привет дорогие пользователи ru-minecraft, и сегодня я покажу вам отличную вещь, под названием BungeeCord. Что же это такое? Как я сказал выше, это представляет себе сервер связку для объединения серверов minecraft для большого мультисервера, такие как HiveMc и Mineplex.
Итак, как я уже и говорил выше это файл для создания мультисервера minecraft. Здесь вы можете объединить сразу несколько серверов майна и позволяет сделать вам очень большой сервер. Так же BungeeCord помогает в проблеме, если у вас кончился лимит создания миров.
/alert
bungeecord.command.alert
Выдает предупреждение для всех пользователей, подключенных к BungeeCord. Цвет коды могут использоваться с h скроет все форматирование по умолчанию, что позволяет полностью настроить сообщений.
/bungee
Код: [Выделить]
Показывает, какой версии BungeeCord настоящее время выполняется.
/glist
bungeecord.command.list
Показывает список всех игроков подключеных к BungeeCord.
/greload
Код: [Выделить]
bungeecord.command.reload
Заново загружает конфигурационный BungeeCord. Как Bukkit команду перезагрузки, это не предназначено для использования на регулярной основе, и может привести к неожиданному поведению, однако она будет перезагрузить все серверы
bungeecord.command.ip
Показывает IP адрес проигрывателя, подключенного к BungeeCord.
/perms
Показывает все разрешения, которые у вас есть, и все группы, которые вы посещаете
/send
bungeecord.command.send
Отправляет указанного игрока(игроков) на указанный сервер
/server [server]
bungeecord.command.server
При использовании с аргументом, переносит вас на указанный сервер. При использовании без параметров, отображает список серверов
Итак, установка не очень лёгкая, вам придётся хорошо потрудится, чтобы установить BungeeCord.
1)Для установки вам потребуется новая папка. Советую вам назвать её «Сервер BungeeCord» чтобы было легче.
2)Скидываем туда скаченный BungeeCord
3)Создаём в папке новый текстовый документ и прописываем вот это:
java -jar BungeeCord.jar
4)Сохраняем тестовый документ .bat формат
5)После установки в папке появятся файлы. вам нужно открыть файл под именем config.yml. Его желательно открывать Notepad++
# Группы пользователей
groups:
eskander:
— admin
# Лимит игроков на BungeeCord сервере. -1 = выключено
player_limit: -1
stats: 09766011-684e-4af3-ab12-69532a998ade
# Права каждой группы пользователей
permissions:
default:
— bungeecord.command.server
— bungeecord.command.list
admin:
— bungeecord.command.alert
— bungeecord.command.end
— bungeecord.command.ip
— bungeecord.command.reload
listeners:
# Если искомый командой /server сервер не найден, игрок будет перенаправлен на этот сервер
— fallback_server: lobby
# Максимальне количество игроков на обоих серверах (действует только при включённом player_limit)
max_players: 1
# IP адрес сервера
host: 0.0.0.0:25577
# Размер таблицы игроков, всплывающей при нажатии TAB (зависит от tab_list)
tab_size: 60
# Включить ли при заходе игрока попадание его на fallback_server, независимо от точки отключения?
force_default_server: false
# Немного магии, лучше не трогать
texture_size: 16
# Два значение: GLOBAL_PING — показывает игроков на всех объединённых серверах; SERVER — на котором находишься
tab_list: GLOBAL_PING
# Описание сервера в списке серверов
motd: Another Bungee server
# Сервер, на который попадает игрок при первом подключении (лучше использовать то же значение, что и в fallback_server)
default_server: lobby
forced_hosts:
pvp.md-5.net: pvp
# Значение в МИЛИСЕКУНДАХ! АвтоКик, если клиент не может достучаться до сервера
timeout: 30000
# Ваши сервера, подключённые к BungeeCord.
# Заметтье, что порты у всех должны отличатся друг от друга
servers:
# Название сервера
lobby:
# IP адрес сервера
address: localhost:25565
restricted: false
# Сообщение дня сервера (выводится при переходе на него)
motd: Just another BungeeCord — Forced Host
# Онлайн мод. Ну, тут как с сервером
online_mode: true
Источник: ru-minecraft.ru
BungeeCord и Minecraft: Проблемы безопасности и опасности
BungeeCord — прокси-сервер, позволяющий игровым проектам объединять несколько серверов Minecraft с возможностью быстрого переключения игроков между ними.
В этой статье я поделюсь опытом работы с ядром, расскажу о проблемах с безопасностью на использующих его серверах, а так же дам несколько простых советов, которые, возможно, помогут предотвратить взлом такого сервера.
Коротко, где чаще всего используется BungeeCord:
- Сервера с несколькими игровыми режимами (в том числе, сервера с мини-играми)
- Сервера с высокой нагрузкой и необходимостью распределения онлайна
- Сервера, использующие защиту от бот-атак на основе BotFilter (характерный признак такого сервера — «проверка на падение» или капча при входе)
Наиболее распространенные уязвимости таких серверов:
- Неконтролируемый доступ к командам прокси-сервера
- Обход сервера авторизации
- Подмена данных игрока
- Уязвимости модулей промежуточных серверов
Как это работает
Большинство проектов под управлением BungeeCord представляют из себя следующую цепочку серверов (которые могут располагаться хоть на одном IP с разными портами, хоть на машинах в разных частях мира).
Proxy
Первый этап — собственно, это и есть сам сервер, к которому подключаются игроки. Он не имеет точки спавна или игровых миров — его задача перенаправить подключившегося к следующему этапу.
Казалось бы, тут все просто — но нет.
Основную прелесть, а вместе с тем и проблему на этом этапе составляет само перенаправление — сервер не просто редиректит игрока к другому IP, а выполняет роль промежуточного сервера.
Проще говоря, все команды, которые игрок отправляет, все пакеты синхронизации, каждое сообщение в чате сначала обрабатывается именно тут.
Чем нам это грозит?
Объясню на гипотетическом примере: Наш разработчик Drygok, доблестно выполняя свою работу, имеет на серверах права, близкие к максимальным. Он прекрасно защитил свой аккаунт собственной системой авторизации — сложный пароль, двухфакторная аутентификация, да еще и привязка к конкретному диапазону IP-адресов его провайдера, после чего со спокойной душой выходит с сервера, но через 10 минут все игроки «вылетают», а сервера останавливаются потому что кто-то выполнил команду /end от его имени.
Что же произошло? Все просто: Неизвестный вошел в игру под никнеймом нашего разработчика и, игнорируя требования сервера авторизоваться, ввел команду, которая обрабатывается самим Прокси-сервером, а значит не может быть предотвращена даже для неавторизованных пользователей.
Как предотвратить?
Простейший способ предотвращения подобных ситуаций — отключение всех внутренних команд ядра и обнуление любых прав на этом этапе. Даже для разработчика. Тем более для разработчика.
Сервер авторизации
Второй этап в цепочке — сервер, на котором игрок регистрируется и авторизуется.
Именно тут наш пользователь впервые почувствует твердую кубическую землю под своими геометрическими ногами.
Чаще всего сервера этого этапа выглядят примерно так:
- Небольшой участок земли в бескрайнем пространстве пустого мира, где игрок стоит до успешной (или не очень) авторизации
- Базовые плагины:
SkinsRestorer — плагин, восстанавливающий скин игрока, пропавший из-за использования прокси
Любой плагин авторизации (иногда собственный, но чаще один из популярнейших)
Плагин, перенаправляющий игроков на следующий этап (иногда это делает плагин авторизации)
Плагин, ограничивающий выполнение циклов обновления мира (отключение AI живых существ, смены погоды и времени суток, запрет обновления блоков и пр.)
Плагин, скрывающий игроков друг от друга
AutoSaveWorld для удобного взаимодействия с загруженными плагинами и миром - Отсутствие какого-либо контроля прав
- Отсутствие любых систем защиты от уязвимостей ядра или самой игры
Основная проблема на этом этапе — чрезвычайные права для игроков. Редко кто-то занимается их настройкой, ведь воспользоваться ими сможет только авторизованный игрок, а при авторизации игрока сразу перенаправляет на следующий этап.
Чем нам это грозит?
В некоторых случаях игрок может предотвратить перенаправление на другой сервер после авторизации: Зачастую быстрые переподключения к игровому серверу предотвращаются ядром или плагинами того сервера. Так, при переподключении игрока сразу после успешной авторизации, сервер на следующем этапе может отклонить подключение и авторизованный игрок останется на сервере авторизации.
Далее игрок, имеющий повышенные права, спокойно узнает список установленных у нас плагинов (/plugins), а далее, узнавая их возможности с имеющимися у него правами, начинает свое темное дело.
Приведу два примера, которые встречал лично далеко не единожды.
Пример первый. Доступ к ASW.
AutoSaveWorld — крайне полезный, а вместе с тем и опасный плагин для любого сервера. Его возможности в моем пересказе, кратко:
- Автоматическое сохранение мира
- Автоматический бекап мира
- Очистка мира по заданным настройкам
- Подключение, перезагрузка и отключение плагинов без перезапуска игрового сервера (/asw pmanager)
- Запуск, остановка и управление порожденными процессами (/asw process)
Нет, это не ошибка. На огромном количестве серверов и правда стоит плагин, позволяющий запустить любой процесс, имея соответствующий доступ, который некоторые сервера предоставляют всем игрокам на этом этапе.
В таком случае какой-нибудь /asw process start QQHABR rm -rf / (НЕ ВЫПОЛНЯЙТЕ ЭТУ КОМАНДУ!) будет наименьшей из проблем. Думаю, рассказывать, что может сделать «взломщик» с доступом к терминалу, не стоит.
Пример второй. Безобидный SkinsRestorer.
SkinsRestorer — крайне популярный плагин, использующийся на огромном количестве серверов. В основном он используется для восстановления пропавших из-за использования прокси скинов, но так же имеет возможность установки собственных. Именно эта возможность и является потенциальной уязвимостью.
С помощью команды /skin можно не только загрузить скин другого игрока с его никнеймом, но и установить собственный, указав адрес изображения (/skin URL). Опасность этой команды заключается в том, что изначально доступ к ней предполагается для игроков (а не только при неправильной настройке прав, как в случае с ASW).
Как же это можно использовать? Загрузка изображения по указанному адресу — обычный GET-запрос. Запрос, выполняемый с самого сервера.
Вариантов дальнейшего использования множество — начиная с обращения к закрытому API (например, выдачи доната), доступ к которому предоставляется для определенных IP-адресов, заканчивая обычным флудом.
Как предотвратить?
Предотвратить подобное можно, ограничивая права игроков (что рекомендуется делать на любом сервере), блокировать все возможные команды кроме команд авторизации и регистрации, а так же запретить установку собственного скина по URL (рекомендую сделать это на всех серверах)
Hub
Hub — общее пространство, куда попадают игроки для выбора игрового сервера и режима
Чаще всего Хабы, как и основные игровые сервера, уникальны для каждого сервера, но некоторые проблемы безопасности для них едины.
Прямое подключение
Подключаясь к этому серверу напрямую (к его IP), игрок может миновать предыдущие этапы, в том числе авторизацию
Чем нам это грозит?
Пропустив этап авторизации, игрок может пользоваться всеми правами пользователя, никнейм которого использован для подключения
Как предотвратить?
Большинство ядер сервера имеет встроенную настройку, блокирующую подключение без использования BungeeCord. Например, Spigot в spigot.yml:
settings: bungeecord: true
Если Вы используете эту настройку — обязательно прочитайте следующий пункт!
Подмена данных игрока
Практически все ядра серверов, блокирующие прямое подключение к серверу (в том числе Spigot), имеют активную уязвимость, связанную с подменой данных игрока через собственный BungeeCord-сервер: Игрок ставит свой прокси-сервер с перенаправлением подключений на наш основной игровой сервер, таким образом ядро игрового сервера определяет, что для подключения используется BungeeCord и доверяет всем данным, передаваемым с него (IP прокси на совпадение с IP сервера в таком случае не проверяется)
Чем нам это грозит?
Чаще всего таким образом подменяются: IP игрока (обход сессий и получение доступа к чужому аккаунту) и UUID (используется некоторыми плагинами и самим сервером для идентификации игрока, обход контроля прав и доступ к правам других игроков).
При использовании BungeeCord необходимо исправлять самостоятельно, иначе это может позволить злоумышленнику получить доступ не только к аккаунтам игроков, но и к возможностям администраторов!
Как предотвратить?
Предотвратить это проще всего закрытием лишних портов для сторонних подключений, а => любой возможности подключения к серверу в обход Proxy-сервера.
Рекомендуется закрытие для внешнего подключения всех портов всех серверов кроме основного BungeeCord-сервера!
Источник: habr.com