1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Структура серверов при использовании Velocity (BungeeCord)

Тема в разделе "Помощь", создана пользователем SmashDestroy, 11 дек 2022.

  1. Автор темы
    SmashDestroy

    SmashDestroy Активный участник Пользователь

    Баллы:
    63
    Всем привет.

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

    Допустим, я имею следующую структуру серверов:
    1. Velocity
    2. Сервер авторизации
    3. Сервер-лобби
    4. Игровой сервер

    1. Velocity
    Тут ничего особо и не скажешь. При подключении к серверу Velocity перекидывает игрока на сервер авторизации.

    2. Сервер авторизации
    На сервере авторизации у меня стоит плагин авторизации и плагин, запрещающий выполнять некоторые команды.
    Команды авторизации не требуют пермишенов, а все команды, кроме команд из плагина авторизации типа "/register" и "/login", запрещены, поэтому плагинов типа LuckPerms на сервере авторизации нет.
    После подключения к серверу авторизации игроку выдается некоторое время на, собственно, авторизацию. И в случае успешного прохождений оной его перекинет на сервер-лобби.

    Вопрос:
    Можно ли в действительности обойтись без плагинов на пермишны (LuckPerms и тп), если исполнение игроком любых команд, кроме команд из "белого списка", запрещено? Даже игрок с ОПкой не может вызывать ничего кроме команд из плагина авторизации.

    Вопрос:
    Какие способы для защиты от ботов сейчас актуальны?
    Я знаю, что есть плагины на капчу (например, когда капча генерируется на карте). Действенный ди это способ для защиты сервера?
    Нужно ли ставить какие-либо плагины для защиты на непосредственно сервер Velocity (при условии, что на сервере авторизации уже установлен, например, плагин на капчу)?

    3. Сервер-лобби
    На сервере-лобби нет плагина на авторизацию. Потому что я подразумеваю, что на сервер-лобби игрок может попасть только прохождения авторизации на сервере авторизации (напрямую по IP на сервер-лобби игроку не дает подключиться "velocity: true" в настройках сервера).

    Вопрос:
    Правильно ли я думаю, что минуя сервер авторизации на сервер-лобби не попадешь?
    Я читал о том, что к BungeeCord-серверам можно было подключаться, используя свой "поддельный" прокси-сервер. Но у Velocity есть "forwarding.secret", который должен исключить возможность подключения с поддельного прокси-сервера.

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

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

    4. Игровой сервер
    Сюда игрок может попасть только из лобби.
    На этом сервере тоже нет плагина на авторизацию, но на этом сервере я уже начинаю использовать плагин на пермишны, потому что появляется много функционала, доступ к которому нужно разграничивать.
     
    Последнее редактирование: 11 дек 2022
  2. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    В целом нет никакого смысла создавать под авторизацию отдельный сервер. LimboAuth предоставляет регистрацию и авторизацию в отдельном виртуальном пустом (лимбо) сервере. Там есть всё что нужно.

    LimboFilter и включенная в нем Framed-captcha. На данный момент есть только 1 боты которые данный тип защиты проходят и те не в открытом доступе и только у 2 людей. Ну а если поднастроить такую капчу, да так чтобы ИИ не смогло распознать текст в 90% случаях о ботах можешь забыть вовсе.

    Пункт 2 моего гайда. Там всё четко расписано. Modern и BungeeGuard тебе в помощь. Если же у тебя VDS или Dedicated - гайд по защите и использованию VDS а именно пункты о закрытии портов (статья 2 сообщение 2 раздел пункт 1) тебе в помощь.
     
  3. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Не зря делал собственно. Вноси раазрешения, коих не должно быть ни у кого из игроков и если кто-то их получит - его ждёт кара. Гарантированная, неотвратимая и непробиваемая.
     
  4. Автор темы
    SmashDestroy

    SmashDestroy Активный участник Пользователь

    Баллы:
    63
    Да, большое спасибо.
    Я Велосити скачал именно после того, как увидел твою тему. До этого использовал Бангикорд.
    Но второй пункт твоего гайда подводит никаких итогов по проделанной работе, там только инструкция по настройке.

    Допустим, я правильно настроил и Велосити, и сами сервера, и закрыл порты этих серверов от внешних подключений.
    Теперь я полностью защищен от уязвимостей, типа подключений с фейкового прокси и т.п.?
     
  5. Автор темы
    SmashDestroy

    SmashDestroy Активный участник Пользователь

    Баллы:
    63
    Спасибо за совет по поводу плагина, но там много ненужного для меня функционала, как и в других плагинах авторизации, на которые я натыкался.
    Поэтому я решил написать свой. Тем более это дает огромные возможности в плане кастомизации, которые мне очень нужны, и которых не получить при использовании чужих наработок.

    В целом для меня нет разницы, где держать неавторизованного игрока.
    Изначально я разрабатывал сервер "монолитным", пока узнал про БангиКорд. То есть игрок в состоянии авторизации просто стоял в основном и единственном мире сервера (за исключением ада и енда) , и просто не мог выполнять никаких действий.

    А по поводу смысла создания отдельного сервера под авторизацию у меня сейчас появился вопрос:
    Чтобы запретить игроку двигаться и т.п., пока он не авторизуется, в плагине я настраивал листенеры и обрабатывать необходимые ивенты.
    Хоть проверка на авторизацию и отмена ивента в случае ее отсутствия не требуют много времени на выполнение, но все таки какое-то, пусть и небольшое, время они отнимают.
    Получается, если мы устанавливаем плагин авторизации (а соответственно и листенеры) на основной сервер, то это отнимает у сервера лишние ТПСы (речь не про LimboAuth, а про обычные плагины, типа AuthMe).
    Верно?



    Спасибо.
    Судя по таблице сравнения LimboFilter с другими плагинами на защиту от ботов, он очень хорош в своем деле.

    А как вообще выполняется атака ботами?
    Я имею в виду атаку, когда боты заходят на сервер и проходят капчу.
    Какие действия они начинают выполнять в случае успешного прохождения капчи? Просто пытаться взаимодействовать с окружающим миром?

    На серверах ведь есть лимит по онлайну.
    Например, на условном сервере максимально можно зайти 50-ти игрокам. Как пятьдесят ботов смогут заставить сервер лагать?
     
  6. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    OverwriteMC
    Он не ненужный уж поверь на слово.

    Любой плагин обрабатывает те или иные события. Нет никакой причины думать, что запрет на движения сделает твой сервер лагучим. Если только ты запускаешь его не на калькуляторе из 90х.

    1 вариант - пускают кучу ботов и ждут пока не упадешь. но так никто не делает т.к. а) дорого б) в большинстве случаев бесполезно
    2 вариант - пускают ботов которые проходят капчу а эти боты наводят шороху на сервере т.к. умеют всё что хочешь.

    Делают что хотят. Могут кучу пакетов послать (само ядро и ViaVersion в целом спасают, но если ботов будет много - серверу будет плохо). Могут рекламить в чате всякий мусор. Могут тупо ходить за игроками. Как атакер захочет.

    Ну смогут конечно, если начнут массово пакеты вредоносные слать. Другое дело что могут заходить бесконечно, пока 10К проксей не кончится. А сервер без игроков - такое себе развлечение.
     
  7. Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Можно поднять тонну прокси-серверов и залоадбалансить их DNS-ом.
     

Поделиться этой страницей