
Строим Мульти-Серверную Сеть Minecraft с SimpleCloud
theSimpleCloud/SimpleCloud
Простой альтернативный вариант для других систем Minecraft Cloud
Посмотреть на GitHub ↗Управление несколькими серверами Minecraft - боль. Будь то небольшой фракционный сервер с лобби или полноценная сеть с десятью игровыми режимами, управление отдельными экземплярами съедает время и ресурсы. SimpleCloud - легковесная платформа, которая берет на себя эту работу.
Что делает SimpleCloud
SimpleCloud - платформа оркестрации серверов Minecraft, написанная на Kotlin. По-человечески: это центральный хаб, позволяющий создавать, управлять и контролировать несколько экземпляров серверов Minecraft из одного места. Вместо SSH в коробки и запуска серверов индивидуально, вы получаете панель, где можно запускать и останавливать серверы, настраивать и отслеживать, что происходит.
Поддерживает основные программы для серверов Minecraft - Spigot, BungeeCord и Velocity -, поэтому вы не завязаны на одну экосистему. И разработан так, чтобы быть легковесным, что означает, что для запуска не нужна мощная установка. Проект имеет 170 звезд на GitHub и лицензирован под MIT, поэтому нет привязки к поставщику или загадочной лицензии.
Кому это нужно
Если вы запускаете одиночный сервер выживания для друзей, пропустите этот раздел.
Но если вы пытаетесь управлять сетью - возможно, лобби-сервер, который разделяет игроков на мини-игры, или хаб с разными игровыми режимами на отдельных экземплярах -, SimpleCloud значительно снижает накладные расходы на управление. Владельцы серверов любят его, потому что не нужно SSH в несколько коробок или писать bash-скрипты для обработки базовых операций. Хотите перезапустить сервер? Нажмите кнопку. Запустить новый экземпляр? Готово. Отслеживать количество игроков в вашей сети? Всё есть.
Другой аспект: конкуренция. Сети с хорошей инфраструктурой чувствуются более отзывчивыми для игроков. Быстрые перезапуски, хорошее балансирование нагрузки, меньше сбоев - всё это складывается. Если вы пытаетесь конкурировать с устоявшимися серверами, наличие настроенной операции - реальное преимущество.
Начало работы
Установка проста. Загрузите последний релиз (v2.8.1 на момент написания) со страницы проекта SpigotMC или GitHub:
wget https://github.com/theSimpleCloud/SimpleCloud/releases/download/v2.8.1/SimpleCloud-v2.8.1.zip
unzip SimpleCloud-v2.8.1.zip
cd SimpleCloud./start # Для Windows: start.batВсё. Мастер настройки проведет вас через начальную конфигурацию.
Вам потребуется как минимум Java 8, идеально Java 11 или новее, если вы на свежей сборке. По памяти SimpleCloud рекомендует 2 ГБ минимум с 2 виртуальными ядрами как базовый уровень. Если вы запускаете实际ные игровые серверы поверх менеджера, увеличьте это.
После запуска менеджера вы можете подключить обертку (то, что фактически запускает ваши серверы Minecraft). Есть внутренний модуль обертки, который можно автоматически загрузить с менеджером. Панель доступна по http://dashboard.simplecloud.app - вам просто нужно указать IP вашего сервера и порт модуля REST (по умолчанию 8585). Имя пользователя и пароль находятся в modules/rest/users.json.
На самом деле, это одна из тех вещей, которые стоит изменить в первый день. По умолчанию учетные данные... не секретные. Измените их, прежде чем выложить это в интернет.
Система модулей
Настоящая сила SimpleCloud - в её модульной архитектуре. Она поставляется с рядом модулей, которые можно включать или выключать в зависимости от того, что нужно вашей сети.
Модуль подписей: размещает таблички в вашем лобби, показывающие статус сервера. Количество игроков обновляется в реальном времени. Это то, что делает вашу сеть более отполированной.
Модуль разрешений: управляйте ролями и разрешениями на всей вашей сети вместо управления на уровне каждого сервера. Синхронизируйте разрешения модератора один раз, и они будут установлены повсеместно.
Модуль прокси: обрабатывает балансировку нагрузки и распределение игроков по вашим серверам. Поддержка Velocity здесь также солидна, поэтому если вы думаете о смене программного обеспечения прокси, инфраструктура уже есть.
Модули хаба и уведомлений: сохраняйте игроков подключенными к вашему лобби (хаб), уведомляйте их, когда серверы готовы (уведомление). Модули чата и вкладок позволяют синхронизировать чат и списки игроков по серверам. Просто стандартные вещи, но они встроены и просто работают.
Ещё есть REST API и поддержка MongoDB/SQL, если вы хотите подключить это к своей инструментации. Модуль Статистика отслеживает данные, о которых вам важно знать. А также модули NPC и Placeholder для косметических вещей - разместите NPC на вашем хабе, используйте плейсхолдеры в сообщениях (например, %player_name%).
Настоящие подводные камни
Настройка проста, но есть несколько вещей, которые вас спутают.
Первое: убедитесь, что версия Java последовательна на всех ваших серверах и в менеджере. Мешать версии Java приведет к странным ошибкам сериализации, которые займут часы отладки. Просто выберите одну и придерживайтесь её.
Второе: панель работает локально сразу, но если вы доступаетесь к ней удаленно, вам нужно открыть порт модуля REST в вашей брандмауэре. Не выкладывайте это без аутентификации - SimpleCloud использует имя пользователя и пароль, а не OAuth. Измените значения по умолчанию.
Третье: шаблоны - реальная функция здесь, но документация по их построению скудна. Вы будете учиться методом проб и ошибок. Тестируйте шаблоны локально, прежде чем развертывать их на живых серверах.
Четвертое: если вы мигрируете из ручного управления серверами, не ожидайте готовой совместимости. Вам придется экспортировать свойства сервера, данные мира и плагины, прежде чем импортировать их в SimpleCloud. Вот дело, это не больно, просто не автоматично.
Альтернативы, о которых стоит знать
Если SimpleCloud не подходит, есть другие варианты. Kubernetes - это излишество для небольших сетей, но масштабируется до огромной инфраструктуры - большинство людей не нуждаются в нём. Paper имеет хорошие документы по настройке сети, если вы хотите сделать это вручную. CloudNet - еще одна облачная платформа с более крупным сообществом, хотя она сложнее в настройке.
Преимущество SimpleCloud - в её простоте. Она делает то, что вам нужно, без сложности Kubernetes или нагрузки полноценных корпоративных решений. Для сетей среднего размера (5-20 серверов) это часто золотая середина.
Вы можете использовать SimpleCloud для управления бэкэндом довольно сложной сети. Если вы хотите, чтобы ваш хаб-сервер имел кастомные косметические элементы, вы обрабатываете это с помощью плагинов и, возможно, генератора текста для форматированных объявлений. А если вы продаёте косметику (например, скины или косметические предметы), экосистема плагинов работает хорошо с SimpleCloud.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


