Перейти к основному содержимому

1 запись с тегом "vps"

Посмотреть все теги

· 2 мин. чтения
Kirsik

В статье будет рассказан мой опыт разворачивания Minecraft сервера в 2024 году, и о том, почему Velocity-плагин является единственным вариантом для деплоя серверов.

Статья основана на данной статье с Хабра.

velocity

Первая итерация сервера

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

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

2b2t Итог: На иллюстрации разрушенная база на самом старом сервере Minecraft 2b2t, нечто подобное произошло и на моём сервере

Вторая итерация сервера

Для минимизации поисковых было принято решение установить модули для регистрации и капчи.

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

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

Также обнаружилась важная проблема:

Итог: получили более токсичных читеров, но уменьшили количество вхождений на сервер от поисковых роботов.

Третья (финальная) итерация

2b2t

Каждый блок представляет собой сервер:

  • nginx является web сервером, позволяет отсекать трафик с определнных зон по IP (в данный момент данный механизм не задействован, но в перспективе можно будет сегрегировать доступ по регионам)
  • Сервер для капчи, как и все последующие блоки, является minecraft-сервером, служит лишь для прохождения капчи. Отсекает поисковых роботов от дальнейшего погружения по серверам.
  • Сервер для авторизации: Представляет собой коробочное решение из плагина Velocity, плюсом относительно других плагинов является хранение данных в выделенной SQL-бд, что в дальнейшем позволяет добавить регистрацию и авторизацию через web-сайт. Также был добавлен плагин из LimboAuth для 2FA авторизации через Телеграмм.
  • Сервер лобби - позволяет выбрать на каком сервере играть, при этом тестировать плагины на тестовых серверах, не влияя на геймплей на основных.

Итог

Velocity и LimboAuth дают практически ультимативный функционал для разворачивания инфраструктуры для своих серверов. Из издержек стоит отметить большое потребление оперативной памяти (в моём случае в простое сервера потребляют 14 гигабайт ОЗУ на Ubuntu22).

Также существуют уязвимости, связанные с дефолтной БД для Velocity (MySQL), которые решаются ограничением запросов с определенного ip-адреса.

меч