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

· 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-адреса.

меч

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

Интернет проник во все сферы жизни, при этом платформа ibm-pc до сих пор остаётся наиболее популярной платформой для создания контента и поглощения игрового контента.

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

Также стоит отметить, что компьютер должен быть красивым, но при этом и функциональным (например, при добавлении RGB подсветки, она должна быть функциональной, а не светить рандомными цветами радуги).

Данная статья призвана привить чувство вкуса к сборке, а также подсветить все подводные камни в столь "простом" деле, как сборка IBM-PC.

velocity

Подбор комплектующих

Процессор

Мощность процессора обычно связана с количеством транзисторов и архитектурой, и если анализ архитектуры - дело сложное и не укладывается в рамки данной статьи, то очевидно, что следует взять процессор с максимальным количеством транзисторов.

Чем меньше размер транзистора, тем больше их помещается на кремниевом кристалле, тем мощнее железо.

За размер транзисторов отвечает такой параметр, как техпроцесс: чем меньше количество "нанометров (нм)", тем он мощнее и при этом потребляет меньше электроэнергии.

Важное замечание!
TDP (тепловыделение) процессора
не должно превышать 100 ватт!

Отметим, что по причине высокого энергопотребления нельзя рассматривать Core i9, Core i7 k ревизий, Ryzen 9.

Список рекомендуемых CPU: Core i7, Core i5, Ryzen 7, Ryzen 5.

Охлаждение CPU

Забываем про водяное охлаждение. Оно не способно быть безшумным, поэтому покупается максимально большая башня (не забываем, что она должна будет влезть в корпус).

Пример правильной башни: Башня биквайт

При этом, рекомендуется установить её не так, как показано на иллюстрации выше, об этом подробнее в разделе о корпусе.

Материнская плата

Стоит обратить внимание на подсистему питания процессора: материнская плата

на иллюстрации они показаны красным цветом, на правильной материнской плате данные элементы должны быть накрыты радиаторами: материнская плата

Также, на материнской платы должны отсутствовать какие-либо вентиляторы, ниже приведён пример неудачной материнской платы из-за наличия вентилятора: материнская плата

Оперативная память

Не менее 32 гигабайт, частота должна быть не менее 3600мгц на начало 2024 года. Рекомендуется рассматривать ОЗУ на стандарте DDR5.

В случае сборки сервера можно не смотреть на частоту, но объем должен быть не менее 64 гигабайт.

Постоянная память

Категорически запрещается устанавливать HDD накопители.

Рекомендуется приобретать Samsung NVMe с максимально доступным по бюджету объемом (в моём случае Samsung 980Pro 2Tb). Стоит отметить, что радиатор на NVMe необходим, в связи с высоким нагревом.

Блок питания

Пассивные либо полу-пассивные варианты бренда Seasonic.

ToDo

Статья будет завершена позднее:

  • Осталось подобрать корпус
  • Объяснить как правильно закупать подсветку
  • По корпусу - конвекция горячего воздуха
  • Корпус куб и чувство прекрасного (с красной подсветкой)
  • Конец статьи
  • Размышления о стальной раме и пластиковых обвесах для корпусов + 3D принтере

меч