Как сделать фейк онлайн bungeecord

Добавил пользователь Дмитрий К.
Обновлено: 04.10.2024

✔️ Наша команда специалистов подготовила для Вас обучающий видео урок на тему: " Как настроить BungeeCord на сервере Майнкрафт? ".

BungeeCord - это ядро сервера MineCraft, которое представляет из себя прокси-сервер, для объединения нескольких серверов в один, для переключения между разными игровыми серверами Майнкрафт без выхода в меню игры, а сразу на сервере. Обычно BungeeCord не имеет никаких привычных функций как op set и тд, так как в этом нет необходимости, он служит только посредником для входа в другие игровые сервера, для объединения целого проекта в 1 ip адрес.

Переключение между серверами обычно происходит командой /server nameserver1 и /server minigame , либо другими в зависимости от поставленных плагинов.

Если у Вас есть 2 сервера, например мини-игры и еще какой-то мод, благодаря BungeeCord ядру, Вы можете сделать единый вход на сервера, вместо двух разных IP по которым нужно было бы подключаться. Мы заходим на BungeeCord и далее уже выбираем какой конкретно сервер нас интересует, выглядит это всё как переход между мирами. BungeeCord корректно работает с серверами на ядре Spigot при настройках в конфиге " bungeecord: true " и " online-mode=false ", за остальные ядра информации нет.

BungeeCord также служит как ядро с защитой от атаки ботами, так как имеет возможность фильтровать все входящие подключения (разумеется благодаря плагинам) никак не влияя на основной игровой сервер.

❗️ ❗️ На нашем хостинге, тариф BungeeCord стоит всего 35 рублей в месяц, на этом тарифе запрещено запускать любые другие ядра кроме BungeeCord, хоть это и является доступным, но никакое другое ядро сервера корректно работать не будет, панель не определит его как запущенный!

ЗАКРЫТИЕ ПОРТОВ НА СЕРВЕРЕ

Все наши ноды связаны локально и мы проводим процедуру выдачи " локальных " IP адресов, которые будут доступны только между нодами, т.е даже если сервер bungee и lobby на разных нодах, они будут доступны друг для друга, но lobby будет доступен только для bungee локально, а bungee будет доступен полностью для всех, что исключает возможность обхода авторизации. При этом RCON доступ возможно оставить доступным для lobby сервера, по обычному внешнему адресу, например для выдачи донатов.

Всё что требуется, это создать запрос в поддержку о необходимости локальных адресов для связи bungee.

После этого в config.yml сервера bungee указывайте полученные локальные IP адреса других серверов, вместо обычных.

Подробнее смотрите в видео ролике:

✅ ПОДПИШИСЬ НА НАШ YOUTUBE КАНАЛ ✅


❗️ ❗️ КАК ЗАКАЗАТЬ СЕРВЕР МАЙНКРАФТ СМОТРИТЕ - ЗДЕСЬ ❗️ ❗️

ПРОМО-КОД НА СКИДКУ 15%: ready-steady-go

BungeeCord — прокси-сервер, позволяющий игровым проектам объединять несколько серверов Minecraft с возможностью быстрого переключения игроков между ними.

В этой статье я поделюсь опытом работы с ядром, расскажу о проблемах с безопасностью на использующих его серверах, а так же дам несколько простых советов, которые, возможно, помогут предотвратить взлом такого сервера.

Коротко, где чаще всего используется BungeeCord:

Наиболее распространенные уязвимости таких серверов:

  • Неконтролируемый доступ к командам прокси-сервера
  • Обход сервера авторизации
  • Подмена данных игрока
  • Уязвимости модулей промежуточных серверов

Как это работает

Большинство проектов под управлением BungeeCord представляют из себя следующую цепочку серверов (которые могут располагаться хоть на одном IP с разными портами, хоть на машинах в разных частях мира).

Proxy

Казалось бы, тут все просто — но нет.

Чем нам это грозит?

Что же произошло? Все просто: Неизвестный вошел в игру под никнеймом нашего разработчика и, игнорируя требования сервера авторизоваться, ввел команду, которая обрабатывается самим Прокси-сервером, а значит не может быть предотвращена даже для неавторизованных пользователей.

image

Как предотвратить?

Простейший способ предотвращения подобных ситуаций — отключение всех внутренних команд ядра и обнуление любых прав на этом этапе. Даже для разработчика. Тем более для разработчика.

Сервер авторизации

Второй этап в цепочке — сервер, на котором игрок регистрируется и авторизуется.

Именно тут наш пользователь впервые почувствует твердую кубическую землю под своими геометрическими ногами.

Чаще всего сервера этого этапа выглядят примерно так:

  • Небольшой участок земли в бескрайнем пространстве пустого мира, где игрок стоит до успешной (или не очень) авторизации
  • Базовые плагины:
    SkinsRestorer - плагин, восстанавливающий скин игрока, пропавший из-за использования прокси
    Любой плагин авторизации (иногда собственный, но чаще один из популярнейших)
    Плагин, перенаправляющий игроков на следующий этап (иногда это делает плагин авторизации)
    Плагин, ограничивающий выполнение циклов обновления мира (отключение AI живых существ, смены погоды и времени суток, запрет обновления блоков и пр.)
    Плагин, скрывающий игроков друг от друга
    AutoSaveWorld для удобного взаимодействия с загруженными плагинами и миром
  • Отсутствие какого-либо контроля прав
  • Отсутствие любых систем защиты от уязвимостей ядра или самой игры

Основная проблема на этом этапе — чрезвычайные права для игроков. Редко кто-то занимается их настройкой, ведь воспользоваться ими сможет только авторизованный игрок, а при авторизации игрока сразу перенаправляет на следующий этап.

Чем нам это грозит?

В некоторых случаях игрок может предотвратить перенаправление на другой сервер после авторизации: Зачастую быстрые переподключения к игровому серверу предотвращаются ядром или плагинами того сервера. Так, при переподключении игрока сразу после успешной авторизации, сервер на следующем этапе может отклонить подключение и авторизованный игрок останется на сервере авторизации.

Далее игрок, имеющий повышенные права, спокойно узнает список установленных у нас плагинов (/plugins), а далее, узнавая их возможности с имеющимися у него правами, начинает свое темное дело.

Приведу два примера, которые встречал лично далеко не единожды.

Пример первый. Доступ к ASW.

AutoSaveWorld — крайне полезный, а вместе с тем и опасный плагин для любого сервера. Его возможности в моем пересказе, кратко:

  • Автоматическое сохранение мира
  • Автоматический бекап мира
  • Очистка мира по заданным настройкам
  • Подключение, перезагрузка и отключение плагинов без перезапуска игрового сервера (/asw pmanager)
  • Запуск, остановка и управление порожденными процессами (/asw process)

Нет, это не ошибка. На огромном количестве серверов и правда стоит плагин, позволяющий запустить любой процесс, имея соответствующий доступ, который некоторые сервера предоставляют всем игрокам на этом этапе.

Пример второй. Безобидный SkinsRestorer.

SkinsRestorer — крайне популярный плагин, использующийся на огромном количестве серверов. В основном он используется для восстановления пропавших из-за использования прокси скинов, но так же имеет возможность установки собственных. Именно эта возможность и является потенциальной уязвимостью.

С помощью команды /skin можно не только загрузить скин другого игрока с его никнеймом, но и установить собственный, указав адрес изображения (/skin URL). Опасность этой команды заключается в том, что изначально доступ к ней предполагается для игроков (а не только при неправильной настройке прав, как в случае с ASW).

Как же это можно использовать? Загрузка изображения по указанному адресу — обычный GET-запрос. Запрос, выполняемый с самого сервера.

Вариантов дальнейшего использования множество — начиная с обращения к закрытому API (например, выдачи доната), доступ к которому предоставляется для определенных IP-адресов, заканчивая обычным флудом.

image

Как предотвратить?

Предотвратить подобное можно, ограничивая права игроков (что рекомендуется делать на любом сервере), блокировать все возможные команды кроме команд авторизации и регистрации, а так же запретить установку собственного скина по URL (рекомендую сделать это на всех серверах)

Hub — общее пространство, куда попадают игроки для выбора игрового сервера и режима

image

Чаще всего Хабы, как и основные игровые сервера, уникальны для каждого сервера, но некоторые проблемы безопасности для них едины.

Прямое подключение

Подключаясь к этому серверу напрямую (к его IP), игрок может миновать предыдущие этапы, в том числе авторизацию

Чем нам это грозит?

Пропустив этап авторизации, игрок может пользоваться всеми правами пользователя, никнейм которого использован для подключения

Как предотвратить?

Большинство ядер сервера имеет встроенную настройку, блокирующую подключение без использования BungeeCord. Например, Spigot в spigot.yml:


Если Вы используете эту настройку — обязательно прочитайте следующий пункт!

Подмена данных игрока

Практически все ядра серверов, блокирующие прямое подключение к серверу (в том числе Spigot), имеют активную уязвимость, связанную с подменой данных игрока через собственный BungeeCord-сервер: Игрок ставит свой прокси-сервер с перенаправлением подключений на наш основной игровой сервер, таким образом ядро игрового сервера определяет, что для подключения используется BungeeCord и доверяет всем данным, передаваемым с него (IP прокси на совпадение с IP сервера в таком случае не проверяется)

Чем нам это грозит?

Чаще всего таким образом подменяются: IP игрока (обход сессий и получение доступа к чужому аккаунту) и UUID (используется некоторыми плагинами и самим сервером для идентификации игрока, обход контроля прав и доступ к правам других игроков).

При использовании BungeeCord необходимо исправлять самостоятельно, иначе это может позволить злоумышленнику получить доступ не только к аккаунтам игроков, но и к возможностям администраторов!

Как предотвратить?

Предотвратить это проще всего закрытием лишних портов для сторонних подключений, а => любой возможности подключения к серверу в обход Proxy-сервера.

Рекомендуется закрытие для внешнего подключения всех портов всех серверов кроме основного BungeeCord-сервера!

📙 ► В этой статье вы узнаете: *Как настроить BungeeCord сервера*!

| ► Что такое BungeeCord?
║Коротко о BungeeCord — это ядро для управления сервером, разработанное командой SpigotMC и предназначенное для соединения нескольких серверов Minecraft вместе. BungeeCord действует как прокси-сервер между клиентом игрока и подключенными серверами Minecraft и даёт возможность быстрого переключения игроков между ними.

| ► Зачем нужен BungeeCord?
║С помощью BungeeCord можно объединять несколько серверов Minecraft и ║защитить сервер от DDOS аттак!

| ► Системные требования для запуска BungeeCord?

║Для запуска и настройки BungeeCord у вас должно быть не менее двух доступных серверов Minecraft.

  • Один сервер используется в качестве прокси (ОЗУ: 512Мб; ЦПУ: 1 ядро; ПЗУ: 4 Гб)
  • Второй сервер обычно действует как ”хаб“ или ”лобби“ (ОЗУ: 512Мб; ЦПУ: 1 ядро; ПЗУ: 4 Гб)
  • N-сервер - дополнительные серверы обычно используются для реального игрового процесса

Теперь пожалуй приступим к настройке BungeeCord

Для начала нам нужно скачать готовые BungeeCord сервера:

✅ BotFilter, Auth (По желанию), Lobby

В нашем случае вы узнаете как настроить BotFilter, Lobby и Ваш сервер.

► Пожалуй перейдём к настройке:

1. Скачиваем готовые BungeeCord сервера по ссылке ниже

2. Открываем файл BungeeCord.zip, далее переносим папки: *BungeeCord, Lobby* на рабочий стол.
3. Открываем папку BungeeCord, далее открываем файл config.yml

priorities:

- lobby ( Это сервер на который вас будет направлять после проверки )

host: localhost ( IP Адрес BungeeCord сервер / ЗДЕСЬ НЕЛЬЗЯ УКАЗЫВАТЬ ДОМЕН! )

ip_forward: true ( Здесь обязательно должно стоять значение true )

online_mode: false ( Проверка на лицензию, при значении false - выключена )

| И переходим к самим серверам


servers:

lobby:

motd: ''

address: IP ( Здесь указывате цифровой IP адрес сервера lobby )

restricted: false

survival: ( Это название можете поменять )

motd: '' ( Это не обязательно заполнять, так как motd не будет видно )

address: IP ( Здесь указывате цифровой IP адрес вашего главного сервера )

restricted: false

| ► И так, вроде бы с этим разобрались, теперь переходим к серверу Lobby:

1. Открываем папку Lobby
2. Открываем файл spigot.yml
3. Ищем строку bungeecord: false - Меняем значение false на true

| ► Так же это нужно проделать с вашим основным сервером!

| ► Запуск:

Заходим в Minecraft и подключаемся после проверки к серверу, указанному survival.

По-хорошему, всё должно работать.

| ► Как сделать переход с сервера Lobby на Ваш основной сервер ( suvival )

Это можно осуществить с помощью NPC или меню ( плагин DeluxeMenus )

Поясняю

- '[connect] anarchy' - С помощью левой кнопки мыши вас подключит к серверу anarchy ( Конфиг взят с сервера с анархией )

- '[connect] anarchy' С помощью правой кнопки мыши вас подключит к серверу anarchy ( Конфиг взят с сервера с анархией )

| ► Так-же вы можете настроить BotFilter на сервере BungeeCord!

1. Открываем папку BotFilter
2. Открываем файл config.yml
В конфиге будет всё написано, что и как настраивать!

Готово! Вы настроили BungeeCord сервер и сервер lobby, теперь чтобы зайти на сервер вам нужно заходить через IP адрес BungeeCord сервера! Советую сделать какой нибудь переход с сервера Lobby на Ваш в виде NPC или Меню.

После установки всего необходимого для работы программного обеспечения давайте приступим к загрузке сервера.



Далее нам нужно загрузить ядро BungeeCord в данную папку (или можете создать отдельную под каждый сервер). Для загрузки последней версии BungeeCord мы будем использовать официальный сайт: тык .




Теперь давайте запустим сам сервер. Вы можете это сделать при помощи SH-скрипта , либо ручного запуска через аргументы Java .










Теперь рассмотрим вариант установки серверов полностью через консоль SSH . Создаем каталог в корневой папке для наших серверов, а затем переходим в него:





Создадим новый каталог для игрового сервера, на котором смогут играть пользователи, переходим в него:






Этот параметр отвечает за время, в течение которого игрок должен присоединится к серверу, в противном случае пользователь будет отключен.

Позволяет установить время в миллисекундах, в течение которого BungeeCord будет хэшировать количество игроков на сервере, по умолчанию этот параметр выключен.

Если настройка включена, то когда игрок использует BungeeCord-команду , действие будет отображаться в консоли.

Настраивает порог сжатия сети, обычно настраивается, если хостинг находится далеко от центральной аудитории сервера.

Отвечает за возможность подключения через лицензионную версию игры. Отключите, если хотите сделать сервер пиратским.

В данной категории настраиваются серверы, которые взаимодействуют с BungeeCord, это мы рассмотрим подробнее чуть позже.

Если параметр restricted включен, то к серверу смогут подключиться только игроки, у которых есть право bungeecord.server.[имя сервера] .

Активирует службу GameSpy4 , которая позволяет получать информацию о сервере. Настройка порта для использования производится в строке query.port .

Будет ли используемый IPv4-адрес указывать на localhost-сервера ? Эта функция бесполезна, если Ваш сервер не имеет нескольких IP-адресов .

Связан с настройкой priorities . Если установлено значение true, то игрок будет подключаться к приоритетным серверам. В случае false игрок будет возвращен на последний сервер.

Количество времени в миллисекундах, которое должно пройти, прежде, чем игрок сможет подключиться к серверу снова.

Случайно сгенерированный код для проверки статистики на сайте MCStats . Не изменяйте это значение, чтобы не утерять статистику.

Количество входов на сервер, которые игрок может сделать в течение времени, указанного в параметре connection_throttle .

Читайте также: