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

Настройка Nightbreak и управление контентом

Эта страница является общим руководством по настройке плагинов, управляемых Nightbreak.

Оно напрямую применяется к:

  • EliteMobs
  • BetterStructures
  • FreeMinecraftModels
  • EternalTD
  • ResurrectionChest
  • WorldCannon

Эти плагины теперь разделяют один и тот же общий жизненный цикл:

  1. Установите плагин и все обязательные зависимости.
  2. Запустите сервер один раз, чтобы были сгенерированы файлы и меню.
  3. Выполните команду первоначальной настройки плагина, если она есть.
  4. Привяжите токен Nightbreak с помощью /nightbreaklogin <token>.
  5. Используйте меню настройки плагина для просмотра, установки, включения, отключения и обновления контента.
  6. Используйте команды массовой загрузки/обновления плагина, когда хотите ускорить начальную настройку.

Что именно предоставляет MagmaCore

MagmaCore — это общий слой за управляемым Nightbreak потоком. Он предоставляет:

  • общую команду /nightbreaklogin <token> (право nightbreak.login, по умолчанию OP)
  • общую команду /nightbreaklogout для отвязки сервера от его аккаунта Nightbreak (право nightbreak.login, по умолчанию OP)
  • общую команду /logify для выгрузки текущего лога сервера на mclo.gs (право logify.*, по умолчанию OP)
  • общую команду /nightbreak plugins для просмотра каталога плагинов Nightbreak (право nightbreak.plugins, по умолчанию OP)
  • общее хранилище токенов в plugins/MagmaCore/nightbreak.yml
  • общие примитивы меню настройки, используемые меню настройки плагинов
  • общие проверки доступа, версий и загрузок Nightbreak
  • общую логику массовой загрузки, которая скачивает файлы в папку imports владеющего плагина
  • общий «входящий» список изменений, который сообщает администраторам прямо в игре, что у плагина или установленного пакета контента есть непрочитанные заметки о выпуске (см. Уведомления об изменениях Nightbreak)
  • стандартный набор подкоманд, который каждый управляемый Nightbreak плагин регистрирует под своей корневой командой (см. ниже)

/nightbreaklogin, /nightbreaklogout, /logify и /nightbreak регистрируются один раз на сервер тем из управляемых Nightbreak плагинов, который первым загружает MagmaCore, поэтому они доступны независимо от того, какой плагин «владеет» ими в данный момент.

Общие стандартные подкоманды

Приведённые ниже подкоманды не пишутся каждым плагином. MagmaCore регистрирует одни и те же реализации под той корневой командой, которую объявляет плагин (/em, /bs, /fmm, /etd, …), поэтому они ведут себя одинаково везде.

ПодкомандаЧто делаетПраво
setupОткрывает меню настройки плагина. Только для игроков.право настройки плагина
initializeОткрывает меню первичной настройки для игроков, если плагин регистрирует этот процесс. Предустановленные режимы не обязательны; FreeMinecraftModels тоже регистрирует команду. Сверяйтесь со страницей команд каждого плагина.право initialize плагина
recommendedpluginsПоказывает рекомендуемые сопутствующие плагины (меню в игре, список в чат из консоли).право настройки плагина
downloadpluginupdateЗагружает только jar обновления плагина. Без контента.право администратора плагина
downloadallЗагружает обновление плагина, а затем весь доступный контент.право администратора плагина
downloadallcontentЗагружает весь доступный контент, без обновления плагина. Регистрируется только плагинами, поставляющими пакеты контента.право настройки плагина
updatecontent (псевдоним updateallcontent)Загружает обновления только для уже устаревшего контента. Регистрируется только плагинами, поставляющими пакеты контента.право настройки плагина
forcereinstallcontent <package|all>Повторно загружает контент через обычный путь аутентифицированного импорта и перезагрузки, даже если установленная версия уже актуальна. all охватывает каждый пакет, который загружен, установлен или устарел; если файлы пакета полностью отсутствуют, укажите его slug напрямую. Регистрируется только плагинами, поставляющими пакеты контента.право администратора плагина

Конкретный узел прав за каждой колонкой выбирается плагином, поэтому имена узлов смотрите на странице самого плагина. initialize — это поток начального руководства; он не заменяет меню настройки или команды управления контентом.

Поскольку downloadall начинается с обновления плагина, он останавливается до этапа контента, если у аккаунта нет токена или аутентификация токена не удалась. Сначала исправьте токен, затем запустите команду заново.

Автоматические обновления

Каждый управляемый Nightbreak плагин записывает один общий ключ в собственный config.yml:

nightbreak:
autoDownloadPluginUpdates: false

Когда задано true, этот плагин через несколько минут после запуска автоматически загружает:

  • доступный jar обновления плагина и
  • файлы обновлений для любых устаревших пакетов контента, которыми он управляет.

Загруженные обновления плагина и контента используются после перезапуска сервера — ничего не подменяется на лету на работающем сервере. Настройка по умолчанию равна false, поэтому «из коробки» вы остаётесь на внутриигровой кнопке обновления.

Автоматические загрузки jar плагина требуют одновременно действительного токена аккаунта и активного членства сторонника на Patreon у привязанного аккаунта Nightbreak. Без них загрузка отклоняется, и плагин логирует причину. Загрузки также проверяются: у jar сверяется контрольная сумма и проверяется, что это настоящий артефакт плагина, прежде чем он помещается в папку update сервера, а при неудачной проверке файл отбрасывается вместо установки.

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

MagmaCore также имеет отдельную систему инициализации при запуске плагина, но это не то же самое, что документированные здесь команды initialize, ориентированные на игрока.

Рекомендованный порядок действий для владельцев серверов

1. Сначала установите плагин

Поместите jar-файл плагина и все необходимые обязательные зависимости в plugins/, затем запустите сервер один раз.

2. Выполните процесс первоначальной настройки

Если плагин предоставляет команду initialize, используйте её первой. Текущие меню предназначены для того, чтобы:

  • отметить первоначальную настройку как завершённую
  • направить вас к привязке аккаунта Nightbreak
  • направить вас к текущему меню настройки
  • уточнить, когда ручной импорт всё ещё допустим

Открывает меню первичной настройки для игроков, если плагин регистрирует этот процесс. Предустановленные режимы не обязательны; FreeMinecraftModels тоже регистрирует команду. Сверяйтесь со страницей команд каждого плагина.

3. Привяжите свой аккаунт Nightbreak

Перейдите на страницу аккаунта Nightbreak, получите серверный токен и выполните:

/nightbreaklogin <token>

Токен используется совместно через MagmaCore, поэтому один привязанный токен может использоваться всеми совместимыми плагинами MagmaGuy на этом сервере.

4. Используйте меню настройки для повседневного управления контентом

Меню настройки являются текущим первоисточником для:

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

Если у вас есть привязанный токен, меню настройки — рекомендуемое место для установки и обновления контента.

5. Используйте массовую установку/обновление, когда нужна скорость

Используйте команду downloadall, когда хотите быстро настроить сервер, и команду updatecontent, когда хотите обновить всё устаревшее.

Общий массовый загрузчик пытается загрузить только пакеты, управляемые Nightbreak, которые:

  • имеют slug Nightbreak
  • доступны для привязанного токена
  • ещё не загружены или отмечены как устаревшие

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

Общие концепции

Загружено и установлено

Пакет может существовать локально, не будучи включённым. Точное значение немного варьируется в зависимости от плагина, но состояние в меню настройки важнее, чем наличие zip-файла в imports.

Массовые загрузки также попадают в ту же папку imports плагина, которая используется ручным импортом, до завершения этапа импорта/перезагрузки, специфичного для плагина.

Контент с учётом доступа

Меню настройки теперь могут различать контент, который:

  • доступен для вашего токена
  • необходимо приобрести или разблокировать
  • установлен
  • установлен лишь частично
  • загружен, но отключён
  • устарел

Ручной импорт по-прежнему допустим

Плагины, управляемые Nightbreak, по-прежнему поддерживают рабочие процессы ручного импорта. Ручной импорт теперь является запасным путём, а не путём по умолчанию. См. Ручной импорт и внутриигровое управление.

Плагины, не использующие этот поток

Не каждый плагин в этой вики использует загружаемый контент, управляемый Nightbreak.

  • BetterFood не использует управление пакетами Nightbreak
  • ResourcePackManager управляет ресурс-паками, а не DLC-пакетами Nightbreak

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

ResurrectionChest и WorldCannon не являются исключениями — оба объявляют пакеты контента, оба регистрируют общие подкоманды для контента и оба используют общий импортёр, поэтому они также принимают вручную помещённые zip-архивы пакетов. См. Ручной импорт и внутриигровое управление.