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

Первая итерация сервера
Изначально, Minecraft сервер был открыт для мира, и доступен для всех желающих. Проблем не наблюдалось, база на спавне развивалась пока... на сервер не начали заходить рандомные игроки.
И это не было проблемой, пока не появились читеры и гриферы. На этом этапе я узнал, что существуют поисковые роботы, которые ищут незащищенные сервера и игроки, целью которых является разрушить постройки.
Итог: На иллюстрации разрушенная база на самом старом сервере Minecraft 2b2t, нечто подобное произошло и на моём сервере
Вторая итерация сервера
Для минимизации поисковых было принято решение установить модули для регистрации и капчи.
Решения из серии MCAuth и ему подобные не подошли по следующей причине: существуют читы, позволяющие перебирать пароли, либо заходить под другими участниками.
Очень частой картиной было видеть, как читер авторизовался под аккаунтом уже существующего человека, то есть решения в виде одиночных плагинов не удовлетворяли минимальным требованиям по безопасности.
Также обнаружилась важная проблема:
Итог: получили более токсичных читеров, но уменьшили количество вхождений на сервер от поисковых роботов.
Третья (финальная) итерация

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







