Настройка ResourcePackManager
Эта страница описывает настройку для одиночного (отдельностоящего) сервера. Если вы держите сеть BungeeCord / Velocity, следуйте Прокси-сети — вы устанавливаете тот же ResourcePackManager.jar на прокси, но он генерирует собственный конфиг и играет роль на стороне прокси.
ResourcePackManager 2.x поставляется как единственный универсальный jar. Ровно тот же ResourcePackManager.jar запускается на бэкендах Bukkit/Paper И на прокси Velocity / BungeeCord — он автоматически определяет платформу по загрузчику, под которым работает. Больше нет отдельных файлов resourcepackmanager-velocity-*.jar / resourcepackmanager-bungee-*.jar, которые нужно было бы извлекать. Если бэкенд работает за прокси и у него нет сохранённого или полученного из Floodgate сетевого ключа, RSPM выкладывает копию собственного jar в plugins/ResourcePackManager/proxy-extension/ResourcePackManager.jar для установки на прокси.
Дескриптор бэкенд-плагина объявляет Bukkit API 1.21.4, поэтому сервер Bukkit/Paper должен быть на Minecraft 1.21.4 или новее. Встроенное расширение Geyser для кастомных сущностей рассчитано на Geyser 2.11+.
Рекомендуемая настройка (отдельностоящая)
- Положите
ResourcePackManager.jarв папкуplugins/вашего сервера. (Это тот же jar, который вы бы использовали на прокси Velocity / BungeeCord — отдельных прокси-jar нет.) - Запустите сервер один раз, чтобы сгенерировались папки конфига, миксера, чертежей и выходных файлов.
- Определитесь, нужно ли вам:
- самостоятельный хостинг (по умолчанию включён)
- резервный бесплатный авто-хостинг MagmaGuy (по умолчанию включён)
- принудительное принятие клиентом
- ручные кастомные паки в папке миксера
- Выполните
/rspm reloadпосле изменения конфига или после ручного добавления кастомных паков.
С настройками по умолчанию RSPM сначала проверяет самостоятельный хостинг. Если проверка не проходит или этот способ недоступен, он пробует удалённый хостинг MagmaGuy. Если оба способа не сработают, новый URL пака не будет опубликован.
Успешная публикация отмечается строкой в консоли. После неё проверьте итоговый статус и загрузку пака настоящим клиентом:
[ResourcePackManager] Resource pack is live via self-hosting — http://play.example.com:25566/rspm.zip
RSPM намеренно держит консоль тихой — он сообщает результат, а не каждый шаг, и не предупреждает об условиях, из которых восстанавливается сам (неудачная проверка self-host с последующим успешным откатом — это успех, а не сбой). Если что-то нужно продиагностировать, выполните /rspm verbose on (или задайте verboseLogging: true в config.yml) и перезагрузите. См. Устранение неполадок.
Папки, которые создаёт RSPM
Внутри plugins/ResourcePackManager/:
| Папка | Для чего она |
|---|---|
mixer/ | Кладите сюда готовые .zip-паки, чтобы они попали в объединение. Ссылайтесь на них в priorityOrder по точному имени файла, включая .zip. |
resource_pack/ | Кладите сюда распакованный пак (дерево папок с assets/, pack.mcmeta, ...). RSPM запакует его и объединит под записью приоритета ResourcePackManager, которая стоит наверху дефолтного priorityOrder. |
blueprint/ | Содержит дефолтные pack.png и pack.mcmeta, которые RSPM вносит в объединение. Отредактируйте их, чтобы изменить иконку собранного пака или описание в его pack.mcmeta; папка перепаковывается в blueprint.zip при каждом запуске. |
output/ | Готовые артефакты: ResourcePackManager_RSP.zip, а также ResourcePackManager_Bedrock.zip и rspm_geyser_mappings.json, когда их произвело преобразование в Bedrock. |
compatible_plugins/ | По одному YAML на каждую поддерживаемую интеграцию с плагином. |
data_compliance/ | Куда /rspm data_compliance_request записывает свою загрузку. |
proxy-extension/ | Создаётся на бэкенде за прокси, если нет сохранённого или полученного из Floodgate сетевого ключа. Содержит копию работающего ResourcePackManager.jar для установки на прокси. Сохранившаяся папка не означает, что связь с прокси всё ещё отсутствует. |
geyser-extension/ | Создаётся при включённой автоматической установке расширения, если Floodgate установлен локально, а Geyser-Spigot отсутствует. Скопируйте jar в extensions/ внешнего Geyser по точному пути из консоли: он может находиться в update/. Экспорт jar сам по себе не настраивает доставку пака внешним Geyser. |
Основные команды
/rspm setup— открывает игровое GUI-меню настройки (статус обновления плагина, рекомендуемые плагины, переключатель автоматических обновлений и кнопку с информацией и кликабельными ссылками на вики, Discord и токен вашего аккаунта Nightbreak)/rspm recommendedplugins— показывает общее меню рекомендуемых плагинов Nightbreak/rspm downloadpluginupdate— скачивает доступное обновление ResourcePackManager к следующему перезапуску/rspm downloadall— скачивает все доступные обновления, которые предоставляет этот плагин (сейчас это обновление ResourcePackManager)/rspm applypluginupdate— регистрируется общим набором команд Nightbreak, но RSPM всегда отказывает в ней:ResourcePackManager updates need a server restart: its Geyser extension only loads when Geyser starts.Чтобы применить скачанное обновление, перезапустите сервер./rspm reload— повторно запускает инициализацию и планирует подготовку пака; если пак не изменился, существующая регистрация хостинга может использоваться повторно/rspm status— печатает полный диагностический дамп: состояние пака, режим хостинга, отпечаток сетевого ключа, интеграции/rspm verbose [on|off]— включает или выключает подробное диагностическое логирование, не открываяconfig.yml. Без аргумента переключает. Выбор записывается обратно вverboseLoggingвconfig.yml, поэтому переживает перезапуски. Псевдоним —/rspm verboselogging./rspm itemsadder configure— автоматически настраивает ItemsAdder для хостинга через RSPM (см. ниже)/rspm itemsadder dismiss— навсегда отключает предупреждение ItemsAdder для UUID вашего игрока/rspm data_compliance_request— загружает все удалённо хранящиеся данные этого сервера
Корневая команда — /resourcepackmanager, с псевдонимом /rspm. Команды обновления и рекомендуемых плагинов выше — это общие команды MagmaCore/Nightbreak, регистрируемые RSPM.
Права:
/rspm setupи/rspm recommendedpluginsтребуютresourcepackmanager.setup./rspm setupдоступна только игрокам, потому что открывает GUI инвентаря./rspm downloadpluginupdate,/rspm downloadall,/rspm applypluginupdate,/rspm reload,/rspm status,/rspm verbose,/rspm itemsadder <configure|dismiss>и/rspm data_compliance_requestтребуютresourcepackmanager.*.
ItemsAdder
Текущий предпочтительный путь для ItemsAdder больше не является исключительно ручным.
Используйте:
/rspm itemsadder configure
Этот помощник обновляет соответствующие настройки ItemsAdder, запрашивает пересоздание пака и ждёт, пока RSPM объединит новый экспорт. Конкретно он:
- устанавливает
resource-pack.hosting.no-host.enabled: true - отключает
protection_1,protection_2иprotection_3вresource-pack.zip.protect-file-from-unzip - устанавливает
resource-pack.zip.compress-json-files: false(RSPM нужен несжатый, поддающийся разбору модельный JSON для миксера и Bedrock-конвертера) - запускает
/iareloadчерез 20 тиков, затем/iazipещё через 100 тиков - ждёт, пока watchdog RSPM подхватит пересозданный экспорт ItemsAdder и завершит объединение, затем сообщает
RSPM merged the regenerated ItemsAdder export. Use /rspm status to check hosting.Если объединение не удаётся, он сообщает, что экспорт не удалось объединить, и RSPM повторяет попытку.
Помощник не перезагружает ResourcePackManager. Он не запускается, пока ещё не завершена предыдущая настройка, и останавливается без сохранения, если config.yml ItemsAdder меняется во время редактирования. Если ItemsAdder отклоняет /iareload или /iazip, выполните эту команду вручную. Сообщение об объединении подтверждает объединение, а не хостинг: после него проверьте /rspm status и загрузку настоящим клиентом.
Если ItemsAdder уже настроен на размещение собственного пака (self-host, external-host или lobfile), помощник останавливается и сообщает, что сначала нужно вручную отключить хостинг в ItemsAdder.
Поддержка Bedrock / GeyserMC
RSPM преобразует поддерживаемые ресурсы собранного Java-пака в Bedrock-пак для GeyserMC. Поддерживаемые определения предметов формата 1.21.4+ могут поступать от любого плагина, включая FreeMinecraftModels. Поддержка 3D-предметов, брони и снаряжения не означает, что преобразуется любой узел модели, предикат или вариант брони.
bedrockConversionEnabled по умолчанию true, но для преобразования нужны обнаруженная целевая среда Bedrock и поддерживаемые ресурсы. Для первой установки и новых определений может потребоваться перезапуск Geyser.
Для отдельностоящего сервера преобразование запускается, когда выполняется любое из: Geyser-Spigot установлен на этом сервере, Floodgate установлен на этом сервере, или RSPM обнаружил режим прокси (см. Прокси-сети).
Если Geyser-Spigot установлен локально и geyserExtensionAutoInstall включён, RSPM устанавливает или подготавливает обновление того же ResourcePackManager.jar в plugins/Geyser-Spigot/extensions/ как расширение Geyser. Для загрузки нового или подготовленного расширения нужен перезапуск. Чтобы кастомная сущность отобразилась, создающий её плагин должен пометить Java-сущность через мост, определения должны быть зарегистрированы, а клиент должен загрузить соответствующий пак. Значение geyserExtensionAutoInstall: false в config.yml прекращает будущую автоматическую установку и подготовку обновлений, но не удаляет установленное расширение и не отменяет уже подготовленное обновление. См. Расширение Geyser и кастомные сущности.
См. Преобразование в Bedrock / Geyser для полного конвейера, путей вывода и поз предмета в руке.
Проверка настройки
Если публичная доставка должна использовать HTTPS, оставьте автоматический хостинг включённым и настройте selfHostExternalUrl для обратного прокси. См. HTTPS и обратные прокси.
Запустите /rspm status в консоли или от имени op. Вывод разделён на секции:
- Сведения о плагине — версия и режим развёртывания: отдельный сервер или бэкенд сети. На сетевом бэкенде также печатаются короткий несекретный отпечаток сетевого ключа и его источник: получен от прокси, сохранён на сервере, взят из ключа Floodgate или ещё не задан.
- Java-пак — собран ли пак, размер и префикс SHA1
- Bedrock-пак — преобразован ли пак, присутствуют ли маппинги и почему преобразование было пропущено
- Хостинг — активный способ доставки: самостоятельный, удалённый или ещё не готов; URL для клиентов, определённый внешний хост, автоматически обнаруженный публичный IP, а также результат последней проверки собственного хостинга с причиной сбоя
- Установка на прокси — напоминание, что сетевой прокси использует тот же
ResourcePackManager.jar; скопируйте его в папкуplugins/прокси - Интеграции — обнаруженные Floodgate / Geyser-Spigot и число игроков онлайн
После появления URL подключитесь настоящим клиентом, примите пак и проверьте отображение модели. Для Bedrock переподключитесь после обновления пака; новые определения могут требовать перезапуска Geyser. Статус и сообщения о публикации не подтверждают, что клиент загрузил и правильно отображает ресурсы.
Если что-то выглядит не так, см. Устранение неполадок.
Куда идти дальше
- FAQ — частые вопросы
- Преобразование в Bedrock / Geyser — детали конвертера
- Расширение Geyser и кастомные сущности — установка расширения и требования к версии Geyser
- Самостоятельный хостинг — встроенный HTTP-сервер, разрешение портов
- Прокси-сети — если вы держите BungeeCord / Velocity
- API — регистрация пака вашего плагина из кода