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

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. Игровой сервер
Сюда игрок может попасть только из лобби.
На этом сервере тоже нет плагина на авторизацию, но на этом сервере я уже начинаю использовать плагин на пермишны, потому что появляется много функционала, доступ к которому нужно разграничивать.
 
Последнее редактирование:
1. Velocity
Тут ничего особо и не скажешь. При подключении к серверу Velocity перекидывает игрока на сервер авторизации.
Вопрос:
Можно ли в действительности обойтись без плагинов на пермишны (LuckPerms и тп), если исполнение игроком любых команд, кроме команд из "белого списка", запрещено? Даже игрок с ОПкой не может вызывать ничего кроме команд из плагина авторизации.
В целом нет никакого смысла создавать под авторизацию отдельный сервер. LimboAuth предоставляет регистрацию и авторизацию в отдельном виртуальном пустом (лимбо) сервере. Там есть всё что нужно.

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

Вопрос:
Правильно ли я думаю, что минуя сервер авторизации на сервер-лобби не попадешь?
Я читал о том, что к BungeeCord-серверам можно было подключаться, используя свой "поддельный" прокси-сервер. Но у Velocity есть "forwarding.secret", который должен исключить возможность подключения с поддельного прокси-сервера.
Пункт 2 моего гайда. Там всё четко расписано. Modern и BungeeGuard тебе в помощь. Если же у тебя VDS или Dedicated - гайд по защите и использованию VDS а именно пункты о закрытии портов (статья 2 сообщение 2 раздел пункт 1) тебе в помощь.
 
На этом сервере тоже нет плагина на авторизацию, но я уже начинаю использовать плагин на пермишны, потому что появляется много функционала, доступ к которому нужно разграничивать.
Не зря делал собственно. Вноси раазрешения, коих не должно быть ни у кого из игроков и если кто-то их получит - его ждёт кара. Гарантированная, неотвратимая и непробиваемая.
 
Пункт 2 моего гайда. Там всё четко расписано. Modern и BungeeGuard тебе в помощь. Если же у тебя VDS или Dedicated - гайд по защите и использованию VDS а именно пункты о закрытии портов (статья 2 сообщение 2 раздел пункт 1) тебе в помощь.
Да, большое спасибо.
Я Велосити скачал именно после того, как увидел твою тему. До этого использовал Бангикорд.
Но второй пункт твоего гайда подводит никаких итогов по проделанной работе, там только инструкция по настройке.

Допустим, я правильно настроил и Велосити, и сами сервера, и закрыл порты этих серверов от внешних подключений.
Теперь я полностью защищен от уязвимостей, типа подключений с фейкового прокси и т.п.?
 
В целом нет никакого смысла создавать под авторизацию отдельный сервер. LimboAuth предоставляет регистрацию и авторизацию в отдельном виртуальном пустом (лимбо) сервере. Там есть всё что нужно.
Спасибо за совет по поводу плагина, но там много ненужного для меня функционала, как и в других плагинах авторизации, на которые я натыкался.
Поэтому я решил написать свой. Тем более это дает огромные возможности в плане кастомизации, которые мне очень нужны, и которых не получить при использовании чужих наработок.

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

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



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

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

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

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

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

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

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