Не работает команда server bungeecord

server command dont work #242

Comments

p-w-b commented Mar 30, 2013

Hi, when trying to use commands that is in BungeeCord, many of them dont work. If i use /server Server1 it only say that server say Server1, it dont move to Server1, /server should return a list of servers attach to BungeeCord, but /server dont do anything. But i can use /send username Server1
Its seems like some of the commands isnt going in to BungeeCord??

The text was updated successfully, but these errors were encountered:

md-5 commented Mar 30, 2013

Works fine for everyone else

p-w-b commented Mar 30, 2013

no it doesnt.
Spawn dont work, i can use setspawn but when type /spawn nothing happens, nothing on the server console or bungeecord console. I did see another post that spwan dont work.

Читайте также:  Как настроить спутниковую антенну континент самостоятельно

p-w-b commented Mar 30, 2013

ok, its not BungeeCord problem 🙂 Its BungeeSuite, if i remove BungeeSuite server command works 🙂

ghost commented Mar 15, 2014

Well I just installed BungeeCord and it says Unknown Command when I do /server or /glist and when I do /glist in BungeeCord Console it says Survival]: (0) Lobby]: (0) when im on the server.

ghost commented Mar 15, 2014

Could it be the server hub i have?

Thinkofname commented Mar 15, 2014

You need to connect through Bungee, not directly to the server. Please use http://www.spigotmc.org/forums/bungeecord.21/ for help instead of posting on year old issues

ghost commented Mar 15, 2014

O sorry I joined with my reg ip

ghost commented Mar 15, 2014

ghost commented Mar 15, 2014

ghost commented Mar 15, 2014

What do you mean Connect through Bungee?

Thinkofname commented Mar 15, 2014

Please use http://www.spigotmc.org/forums/bungeecord.21/ for help instead of posting on year old issues

ghost commented Mar 15, 2014

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

BungeeCord и Minecraft: Проблемы безопасности и опасности

Коротко о Bungee

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 — общее пространство, куда попадают игроки для выбора игрового сервера и режима

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Установка BungeeCord

DemonEkb

Administrator

Здравствуйте! В этой статье хочу описать вам, как можно подробно, описать BungeeCord и его установку!

BungeeCord представляет из себя сервер-связку для переключения между серверами без использования меню. Это значит, что вы можете перемещаться между серверами посредством команды в игре (/server [имя]). Bungee оснащён своими правами (permissions).

Установка:
1. Подключимся к FTP через FileZilla. И очистите всё, что там находится.
2. Скачайте BungeeCord (ссылка внизу).
3. Положите скачанный BungeeCord.jar в корень.
4. В панели управления войдите в конфиги, найдите «Minecraft Template» и напротив нажмите на «[редактировать]«. В поле «Core» пропишите «BungeeCord«.
5. Запустите сервер и через 1-2 минуты пропишет команду «end» в консоли.
6. Настроим конфиг:
Открываем 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:AnotherBungee 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-ForcedHost# Онлайн мод. Ну, тут как с сервером
online_mode:true
Не забудьте изменить ип:порт, замените NICK на 3 строчке на свой ник. Чтобы добавить сервер, просто скопируйте от 45 строчки до 49. Не забудьте изменить ип:порт и название сервера.

7. Запустим сервера и потом сервер с bungeecord.

Дополнительные настройки:
Давайте разберёмся с конфигурациями сервера (не bungeecord). В bukkit.yml желательно отключить ping-packet-limit (значение -1), иначе не справится прокси сервер. ВНИМАНИЕ! Вначале нужно запустить сервера, а только потом bunngecord сервер! ЗАПОМНИТЕ! Сервер запускать можно кнопкой, а останавливать нужно командой «end» в консоли и кнопкой остановки сервера.

Заходим в Minecraft и подключаемся к серверу bungeecord, указанному в default_server. По-хорошему, всё должно работать. А теперь пишем /server [название второго сервера] и вуаля! Вы уже на втором.

Источник

Оцените статью