FAQ по Resource Pack Manager
Если ответа на ваш вопрос здесь нет, сначала проверьте другие страницы ResourcePackManager на боковой панели.
Какие команды сейчас доступны в ResourcePackManager?
На бэкенде (Paper / Spigot) поверхность команд, реализованных в коде:
/rspm setup— открывает игровое GUI-меню настройки (статус обновления плагина, рекомендуемые плагины, переключатель автоматических обновлений, ссылки на вики / Discord / аккаунт Nightbreak)/rspm recommendedplugins— показывает общее меню рекомендуемых плагинов Nightbreak (или текстовый список в консоли)/rspm downloadpluginupdate— скачивает доступное обновление ResourcePackManager к следующему перезапуску/rspm downloadall— скачивает все доступные обновления, которые предоставляет этот плагин (сейчас это обновление ResourcePackManager)/rspm applypluginupdate— часть общего набора команд Nightbreak; RSPM всегда отказывает в ней, потому что его обновления требуют перезапуска сервера (его расширение Geyser загружается только при запуске Geyser)/rspm reload— пересобирает и пере-хостит собранный пак/rspm status— полный диагностический дамп (состояние пака, режим хостинга, отпечаток сетевого ключа, интеграции)/rspm verbose [on|off]— включает или выключает подробное диагностическое логирование. Без аргумента переключает. Результат записывается обратно вverboseLoggingвconfig.yml, поэтому сохраняется между перезапусками. Также принимается как/rspm verboselogging./rspm itemsadder configure— настраивает ItemsAdder для хостинга через RSPM/rspm itemsadder dismiss— навсегда отключает предупреждение ItemsAdder для UUID вашего игрока/rspm data_compliance_request— загружает все удалённо хранящиеся данные этого сервера
Корневая команда — /resourcepackmanager, с псевдонимом /rspm. Команды обновления и рекомендуемых плагинов выше — это общие команды MagmaCore/Nightbreak, регистрируемые RSPM.
MagmaCore также регистрирует следующие команды верхнего уровня, которые не являются подкомандами /rspm:
/nightbreaklogin <token>и/nightbreaklogoutсохраняют или удаляют общий токен аккаунта Nightbreak на сервере. Обе требуютnightbreak.login(по умолчанию op). См. Привязка аккаунта Nightbreak./nightbreak pluginsоткрывает каталог плагинов Nightbreak и требуетnightbreak.plugins(по умолчанию op)./logifyвыгружает текущий лог сервера на mclo.gs и требуетlogify.*(по умолчанию op)./resourcepackmanagerchangelog [dismiss|disable]показывает администраторам непрочитанные заметки о выпусках ResourcePackManager. См. Уведомления об изменениях.
Тот плагин Nightbreak, который загружается первым, регистрирует /nightbreaklogin, /nightbreaklogout, /nightbreak и /logify для всего сервера.
Права на бэкенде:
/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.*.
На прокси-плагине (Velocity / BungeeCord) существуют только диагностические команды:
/rspm status— снимок состояния на стороне прокси: список бэкендов, результаты загрузки по каждому бэкенду, состояние объединённого пака, обнаружение Geyser/Floodgate/rspm debug bedrock [on|off]— Velocity и BungeeCord. Переключает подробные строки лога[RSPM-BedrockDebug]отGeyserBinderдля диагностики случаев «Bedrock-игрок подключился, но не увидел пак». Сбрасывается в off при перезапуске прокси. Запуск без аргумента печатает текущее состояние.
На Velocity прокси-команды принимают resourcepackmanager.command.status или resourcepackmanager.*. BungeeCord регистрирует точный узел resourcepackmanager.command.status; плагин прав всё же может удовлетворить его через раскрытие wildcard. Консоль может запускать эти команды. Вывод безопасен для распространения — сетевой ключ появляется только как короткий односторонний хеш-отпечаток, никогда сам ключ, и токены не печатаются — поэтому щедрая выдача прав приемлема.
Какие плагины сейчас поддерживаются?
ResourcePackManager поставляется с готовыми записями интеграции для этих плагинов:
- BackpackPlus
- BetterHUD
- BetterStructures
- CannonRTP
- EliteMobs
- EternalTD
- FreeMinecraftModels
- InfiniteVehicles
- ItemsAdder
- MegaBlockSurvivors
- MMOInventory
- ModelEngine
- Nexo
- Nova
- Oraxen
- RealisticSurvival
- ResurrectionChest
- ValhallaMMO
- vane-core
Эти интеграции активируются только если плагин установлен и его настроенный локальный путь или удалённый URL пригодны для использования.
У каждой интеграции есть собственный YAML-файл конфигурации в plugins/ResourcePackManager/compatible_plugins/. Там можно настраивать isEnabled, pluginName, localPath, url, zips, cluster, additionalLocalPath и reloadCommand для каждого плагина. Параметр cluster указывает ResourcePackManager, что локальный путь следует рассматривать как каталог с несколькими подпапками ресурс-паков, которые должны быть объединены вместе.
Как исключить одну автоматическую интеграцию плагина?
Задайте isEnabled: false в файле этой интеграции в plugins/ResourcePackManager/compatible_plugins/, затем выполните /rspm reload (или перезапустите сервер). RSPM удаляет входные ресурс-паки, которые он сгенерировал или зарегистрировал для этой интеграции, включая её сгенерированные копии в миксере. Удаление плагина из priorityOrder не исключает его; оно лишь опускает этот пак на самый низкий приоритет. Чтобы исключить ZIP, добавленный вручную, удалите или переместите этот ZIP из папки mixer.
Совместим ли ResourcePackManager с ItemsAdder?
Да. ResourcePackManager включает встроенный помощник и предупреждение для ItemsAdder.
Если ItemsAdder установлен и его всё ещё нужно настроить для хостинга через ResourcePackManager, OP-игроки получают кликабельное предупреждение через несколько секунд после входа. Игроки, навсегда отключившие предупреждение, его больше не видят. Оттуда можно:
- выполнить
/rspm itemsadder configure, чтобы установитьresource-pack.hosting.no-host.enabled: true, отключить все три настройкиprotect-file-from-unzip, установитьcompress-json-files: false, запустить/iareload, затем/iazipи дождаться, пока RSPM объединит заново созданный экспорт (он сообщает об успехе или неудаче объединения; сам RSPM при этом не перезагружается) - выполнить
/rspm itemsadder dismiss, чтобы навсегда отключить это предупреждение для UUID вашего игрока
Если ItemsAdder уже настроен на размещение собственного пака через один из своих режимов хостинга, команда-помощник автоматически это не переопределяет. Она сообщит, что сначала нужно вручную отключить хостинг ItemsAdder.
Можно ли добавить собственный пак в объединение?
Да, и есть два места, куда его класть, в зависимости от того, что у вас есть.
Готовый .zip идёт в:
plugins/ResourcePackManager/mixer
Если вы хотите контролировать, какой пак выигрывает при конфликтах файлов, добавьте точное имя файла, включая .zip, в priorityOrder в plugins/ResourcePackManager/config.yml.
Распакованная папка пака (дерево assets/ плюс pack.mcmeta) идёт в:
plugins/ResourcePackManager/resource_pack
RSPM сам запаковывает эту папку и объединяет её под записью ResourcePackManager в priorityOrder, которая стоит наверху дефолтного списка — то есть по умолчанию её файлы побеждают в конфликтах против любого пака плагина. Опустите ResourcePackManager ниже по списку, если хотите, чтобы он проигрывал.
Связанная папка plugins/ResourcePackManager/blueprint содержит pack.png и pack.mcmeta, которые RSPM вносит в каждое объединение. Отредактируйте эти два файла, чтобы изменить иконку собранного пака или его описание в меню; папка перепаковывается в blueprint.zip при каждом запуске.
Пример:
priorityOrder:
- ResourcePackManager
- EliteMobs
- MyCustomPack.zip
Как работает приоритет?
priorityOrder — самый высокий приоритет наверху, самый низкий — внизу.
Для не-объединяемых файлов пак с более высоким приоритетом заменяет файл пака с более низким. Для объединяемых JSON-файлов ResourcePackManager объединяет содержимое вместо того, чтобы бездумно его заменять.
В коде объединяемыми сейчас считаются:
sounds.json- языковые файлы в
langилиlanguages - ванильные JSON моделей предметов в
minecraft/models/item(для них выполняется нерекурсивное объединение: между паками комбинируется только массивoverrides, тогда как остальная часть файла следует правилу «побеждает наивысший приоритет») - файлы атласов
- файлы шрифтов
- определения моделей предметов формата 1.21.4+ в
items/(формат-зависимое объединение: оставляет деревья предикатов нетронутыми, не рекурсирует слепо в узлы разных типов)
Для pack.mcmeta действуют особые правила: выбирается наибольший pack_format, а заявленные диапазоны форматов объединяются. Записи overlay для разных каталогов сохраняются вместе; при совпадении каталога побеждает запись с более высоким приоритетом. Каждый overlay сохраняет заданные автором formats, min_format, max_format и дополнительные метаданные. Единственное дополнение: Minecraft 1.21.9+ отклоняет список overlay, в котором один overlay достигает формата пака 64 или ниже, а другой не объявляет formats, поэтому, если в объединённом списке есть такой overlay, RSPM добавляет каждой записи, объявляющей только min_format/max_format, эквивалентный диапазон formats. В остальном RSPM не переписывает диапазоны overlay. Дополнительные поля в pack, overlays и объекте верхнего уровня сохраняются, если не конфликтуют со значением более высокого приоритета.
После объединения всех паков ResourcePackManager сливает источники базового атласа в overlay-файлы атласа. Это предотвращает случайное затенение overlay'ями записей базового атласа, когда Minecraft активирует overlay (например, ia_overlay_modern_atlas / ia_overlay_legacy_atlas от ItemsAdder).
Прочие JSON-файлы заменяются, а не объединяются.
Паки, не указанные в priorityOrder, всё равно включаются в объединение, но получают самый низкий приоритет.
Побайтово идентичные полные ZIP-входы дедуплицируются перед объединением, сохраняется первая (наивысшая по приоритету) копия. После объединения RSPM также чинит два распространённых дефекта Java-моделей: добавляет отсутствующую текстуру particle из первой конкретной текстуры модели, где это возможно, и ограничивает некорректные UV-координаты модели диапазоном Minecraft 0..16.
Пересобирает ли ResourcePackManager автоматически при изменении паков?
Да. Он отслеживает изменения в источниках поддерживаемых паков.
Когда отслеживаемый пак не меняется в течение 3 секунд, ResourcePackManager помечает его как стабильный. Как только все отслеживаемые паки стабильны, пересборка происходит немедленно. Во время этого перехода OP-игроки онлайн получают уведомление: «All resource packs are stable. Mixing and sending now.»
Пересборка, входные данные которой побайтово идентичны предыдущей, не выполняет повторное объединение. RSPM снимает отпечаток упорядоченного списка исходных паков (имя, размер, хеш содержимого) и сохраняет его рядом с выводом как .rspm_mix_fingerprint; когда отпечаток совпадает и все ожидаемые выходные файлы на месте, он публикует существующий zip заново вместо пересборки. Всё сомнительное — отсутствующий вывод, нечитаемый отпечаток, собранный ZIP, SHA-1 которого больше не совпадает, — проваливается в полную сборку. Именно поэтому /rspm reload, который ничего не меняет, может завершиться почти мгновенно и переиспользовать существующую регистрацию хостинга.
Если Java-входы не изменились, но сторону Bedrock нужно пересобрать (преобразование в Bedrock включено, а Bedrock-пака на диске нет, изменились bedrockConversionEnabled или Bedrock-цель, либо обновление конвертера меняет вывод Bedrock), RSPM сохраняет проверенный Java ZIP и повторяет только шаг Bedrock, поэтому байты и SHA-1 Java-пака остаются прежними.
При запуске RSPM проверяет сохранённый отпечаток и SHA-1 собранного ZIP ещё до того, как отслеживаемые плагины завершат инициализацию. Если они совпадают, Java-хостинг сразу начинается с сохранённого пака. Watchdog всё равно пересоберёт пак, если исходный пак позже изменится.
Учитывает ли watchdog инициализацию плагинов?
Да. Watchdog осведомлён о состояниях инициализации плагинов Magmacore.
- Он ждёт, пока все отслеживаемые плагины завершат инициализацию Magmacore, прежде чем начать проверки стабильности.
- Если плагин переходит в
INITIALIZINGво время работы watchdog, тот приостанавливается и сбрасывает отслеживание стабильности до завершения инициализации. Неудачные или неинициализированные необязательные интеграции не блокируют весь сборщик бессрочно. - Это предотвращает ложные срабатывания «нестабильно», которые иначе случались бы во время обычного запуска или перезагрузки плагина.
Как игроки получают итоговый пак?
Когда autoHost включён (по умолчанию) или когда selfHostForce явно его переопределяет, RSPM выбирает путь доставки и пушит этот URL каждому подключающемуся Java-игроку. Дерево решений:
- При
selfHostForce: trueпопробовать собственный хостинг без проверок доступности, в основном для тестирования. Проверка URL и запуск HTTP-сервера всё равно должны пройти успешно. - Иначе при
preferSelfHost: true(по умолчанию) иselfHostEnabled: trueпроверить адрес, сравнить образцы пака, скачанные через localhost и точный URL игрока, и потребовать внешней доступности через magmaguy.com. Выбрать собственный хостинг только после успешного прохождения всех проверок. - Если собственный хостинг не удался или отключён, повторно использовать или загрузить пак на
magmaguy.com/rsp/и объявить URL. Удалённый сбой может привести к включённому собственному хостингу, но с теми же проверками. Недоступная внешняя проверка запрещает автоматический собственный хостинг; при отказе обоих путей новый URL доставки не объявляется.
Как только URL получен, RSPM использует multi-pack API, поэтому сосуществует с другими паками, отправляемыми сервером. Текущий дескриптор Bukkit-плагина требует Minecraft 1.21.4 или новее.
Предложение пака при входе откладывается примерно на одну секунду. Ответ FAILED_DOWNLOAD или DISCARDED повторяется автоматически, до трёх попыток за сессию игрока; отклонённый игроком пак, некорректный URL или FAILED_RELOAD (не удалась собственная перезагрузка ресурсов клиента; проверьте latest.log этого клиента) не повторяются. Игроки Floodgate здесь пропускаются, потому что их Bedrock-пак доставляется через Geyser.
Если autoHost: false и selfHostForce: false, RSPM не пушит никакой URL — предполагается, что вы возьмёте zip из plugins/ResourcePackManager/output/ и будете раздавать его через свой конвейер.
См. Самостоятельный хостинг для полного дерева решений по доставке.
Можно ли хостить самостоятельно вместо встроенного авто-хоста?
Да — и с RSPM v2 встроенный HTTP-сервер является рекомендуемым путём самостоятельного хостинга. selfHostEnabled: true и preferSelfHost: true оба включены по умолчанию.
Если вы хотите хостить zip через свой собственный существующий веб-сервер вместо любого из встроенных путей:
- Установите
autoHost: false. - При желании установите
resourcePackReroutingв путь существующей папки относительно каталогаplugins. - Возьмите собранный пак из
plugins/ResourcePackManager/output/ResourcePackManager_RSP.zipи раздавайте его самостоятельно.
Если resourcePackRerouting задан, RSPM также записывает копию этого zip в папку перенаправления. Этот путь перенаправления разрешается относительно каталога plugins, и целевая папка должна уже существовать.
Есть ли команда для запроса хранимых данных хоста?
Да. Используйте:
/rspm data_compliance_request
Если у удалённого авто-хостинга magmaguy.com есть активная сессия, ResourcePackManager скачивает ответ в:
plugins/ResourcePackManager/data_compliance/data.zip
RSPM также записывает ReadMe.md в ту же папку data_compliance.
Если активной удалённой сессии нет (например, вы используете self-host), команда сообщит, что удалённых данных для запроса нет.
Какие параметры конфига доступны?
В plugins/ResourcePackManager/config.yml доступны следующие настройки:
Общие
priorityOrder— список, определяющий, какие паки побеждают в конфликтах файлов (наивысший приоритет первым)autoHost— авто-хостит ли ResourcePackManager и отправляет ли собранный пак (boolean, по умолчаниюtrue)forceResourcePack— принуждать ли игроков принять пак (boolean, по умолчаниюfalse)resourcePackPrompt— сообщение запроса, показываемое при предложении пака (по умолчанию"Use recommended resource pack?")resourcePackRerouting— необязательный путь к папке (относительноplugins), куда записать дополнительную копию собранного zipverboseLogging— выводить каждый шаг подготовки пака и рукопожатия хостинга (boolean, по умолчаниюfalse). По умолчанию выключено, чтобы в консоли был виден только итоговый результат; включайте при диагностике проблем объединения или хостинга./rspm verbose on|offпереключает этот же ключ во время работы и сохраняет его. Отдельно отbedrockConverterDebug, который охватывает конвейер Bedrock.nightbreak.autoDownloadPluginUpdates— скачивает ли RSPM собственные обновления плагина автоматически при запуске (boolean, по умолчаниюfalse; для применения скачанного обновления всё равно требуется перезапуск). Это вложенный ключ под секциейnightbreak:, а не ключ верхнего уровня — поиск голой строкиautoDownloadPluginUpdatesв config.yml найдёт её только с отступом подnightbreak:. Это тот же переключатель, что и в GUI/rspm setup. Автоматическое скачивание плагина требует действительного токена аккаунта Nightbreak и активной подписки сторонника на Patreon. RSPM не записывает общий ключnightbreak.applyPluginUpdatesWithoutRestartи никогда не применяет скачанное обновление без перезапуска, потому что его расширение Geyser загружается только при запуске Geyser.
Self-host
selfHostEnabled— можно ли использовать встроенный HTTP-сервер (boolean, по умолчаниюtrue)selfHostPort— порт собственного HTTP-сервера.-1(по умолчанию) рассчитываетmcPort + networkHttpOffset-v2. Явные и рассчитанные порты должны быть от1до65535.networkHttpOffset-v2— запасное смещение, добавляемое к порту Minecraft-сервера, когдаselfHostPort = -1. По умолчанию1(например, MC 25565 → HTTP 25566). В сети вам больше не нужно держать его синхронизированным с прокси: бэкенд автоматически объявляет прокси точный HTTP-порт, на который реально привязался, и прокси использует собственныйnetwork-http-offset-v2лишь как догадку до прихода этого объявления.selfHostExternalHost— публичное имя хоста или IP для доступа клиентов к собственному HTTP-серверу. По умолчанию пусто: адрес определяется автоматически.selfHostExternalUrl— полный публичный HTTP/HTTPS-адрес пака, включая путь, для обратного прокси. По умолчанию пусто. Заменяет объявляемый URL, не меняя локальный слушатель; адреса со встроенными учётными данными или фрагментами отклоняются.selfHostForce— пропускает все проверки исправности И удалённую загрузку, всегда использует self-host (boolean, по умолчаниюfalse— для тестирования).preferSelfHost— сначала попробовать self-host с проверками исправности перед откатом на удалённую загрузку (boolean, по умолчаниюtrue).
Bedrock
bedrockConversionEnabled— преобразовывать ли собранный Java-пак в Bedrock-пак для GeyserMC (по умолчаниюtrue)bedrockAutoDeployToGeyser— копировать ли файл кастомных маппингов Geyser в обнаруженную папку Geyser (по умолчаниюtrue)bedrockGeyserFolder— ручной путь к папке Geyser; пусто = авто-определениеbedrockConverterDebug— подробные строки лога по каждому предмету / каждой кости от Bedrock-конвейера (по умолчаниюfalse)geyserExtensionAutoInstall— устанавливать и обновлять универсальныйResourcePackManager.jarкак расширение Geyser, чтобы отображались кастомные Bedrock-сущности (по умолчаниюtrue). Установка вfalseпрекращает будущие установки и подготовку обновлений; это не удаляет jar расширения, который уже там лежит — удалите его вручную при остановленном Geyser. У прокси-плагина тот же переключатель под другим именем:geyser-extension-auto-install.
В более ранних версиях был также файл plugins/ResourcePackManager/bedrock_display_offsets.yml с настройками смещения предмета в руке. Он больше не читается: позы предмета в руке на Bedrock теперь берутся из трансформаций display Java-модели. См. Позы предмета в руке.
Намеренно нет опции конфига network-key — ни на бэкенде, ни на прокси. Вставка ключа вручную была крупнейшим источником ошибок конфигурации: опечатка молча ломала связь прокси↔бэкенд без единой ошибки где-либо.
Вместо этого ключом владеет прокси и раздаёт его:
- Прокси сначала читает действительный сохранённый
network-key, затем пробует вывести ключ изplugins/floodgate/key.pem, а если оба варианта недоступны, создаёт случайный ключ. Результат сохраняется в папке данных. При следующих запусках ключ используется, пока действителен; его потеря повторяет этот процесс и может воссоздать тот же ключ Floodgate. См. восстановление сетевого ключа. - Каждый бэкенд получает этот ключ по каналу плагин-сообщений
rspm:networkпри первом подключении к нему игрока, а затем сохраняет его в собственномdata.yml. Бэкенд, у которого уже есть ключ, игнорирует последующие выдачи — перенаправление бэкенда в другую сеть является действием администратора, а не тем, что может сделать сообщение. - Floodgate не нужен для связывания RSPM. Аутентификация Bedrock зависит от выбранного в Geyser режима; см. Floodgate и онлайн-аутентификация.
- Отдельностоящий (не за прокси) сервер генерирует и хранит собственный ключ, потому что он сам себе односерверная сеть.
/rspm status с любой стороны выводит короткий односторонний хеш-отпечаток ключа, но не сам ключ. Совпадение отпечатков указывает на общую сетевую идентичность. Для проверки соединения и доставки пака отдельно проверьте результаты загрузки.
Почему консоль такая тихая? Он вообще что-то делает?
Так задумано. Подготовка пака — это длинный конвейер: подготовить пак каждого участвующего плагина, объединить кластеры, дождаться, пока они перестанут меняться, смиксовать, преобразовать для Bedrock, передать результат хосту. Комментирование всего этого давало около шестидесяти строк в консоли на каждый запуск и хоронило те две вещи, которые кто-либо читает: получат ли игроки пак и что делать, если нет.
Поэтому обычная загрузка выводит одну строку:
[ResourcePackManager] Resource pack is live via self-hosting — http://play.example.com:25566/rspm.zip
Эта строка подтверждает публикацию URL для раздачи. Подключитесь с клиента и осмотрите известный пользовательский контент, чтобы проверить загрузку и отображение.
RSPM также намеренно не предупреждает об условиях, которые исправляет сам. Если проверка self-host не прошла и RSPM откатился на удалённый хостинг — это успех; консоль сообщает результат, а не обходной путь. Предупреждение о том, что уже обработано, читается как сбой и заставляет людей гоняться за несуществующей проблемой.
Чтобы увидеть полное повествование, выполните /rspm verbose on (или задайте verboseLogging: true в config.yml), а затем /rspm reload. Конкретно для Bedrock-конвертера используйте вместо этого bedrockConverterDebug: true.
Могут ли другие плагины регистрировать свои паки через код?
Да. ResourcePackManager предоставляет Java API для программной регистрации паков. Подробности см. на странице API.
Работает ли преобразование Bedrock только для FreeMinecraftModels?
Нет, больше не только. Текущий конвертер рекурсивно обрабатывает любой плагин, чей пак содержит определения предметов 1.21.4+ в assets/<namespace>/items/**/*.json. Это охватывает костные модели FreeMinecraftModels, снаряжение EliteMobs, кастомные предметы Oraxen/Nexo, кастомные комплекты брони и любой пак, который вы сами собираете в этом формате. Простые 2D-кастомные предметы выдаются как плоские иконки Bedrock; 3D-кастомные предметы выдают геометрию/attachables Bedrock и программно отрендеренную иконку инвентаря.
Нужно ли перезапускать сервер при каждом изменении Bedrock-пака?
Правки текстур и моделей существующих кастомных предметов видны следующему подключившемуся игроку Bedrock: RSPM раздаёт пак каждой сессии через API Geyser. Перезапустите процесс с Geyser, если изменились маппинги кастомных предметов или требуется зарегистрировать новые идентификаторы кастомных сущностей либо типы свойств. Регистрация выполняется при запуске. Повторный экспорт уже зарегистрированных идентификаторов с неизменными типами свойств сам по себе не требует нового перезапуска.
Работает ли ResourcePackManager на BungeeCord / Velocity?
Да. Установите один и тот же ResourcePackManager.jar на прокси и на каждый бэкенд, предоставляющий ресурс-паки. Jar содержит точки входа Bukkit, Velocity и BungeeCord. Бэкенд за прокси подготавливает копию в plugins/ResourcePackManager/proxy-extension/ResourcePackManager.jar, если ещё не получил сетевой ключ. Остальные зарегистрированные серверы могут работать без RSPM: обнаружение бэкендов не даёт им задерживать синхронизацию паков.
Работая как прокси-плагин, он объединяет преобразованный Bedrock-пак каждого бэкенда и раздаёт его Bedrock-клиентам через Geyser прокси. Доставка Java-пака по-прежнему обрабатывается каждым бэкендом напрямую — Java-клиенты видят паки конкретного бэкенда.
Шаги настройки, устранения неполадок и проверки описаны в Прокси-сети.