Resource Pack Manager – FAQ
Falls deine Frage hier nicht beantwortet wird, sieh zuerst die anderen ResourcePackManager-Seiten in der Seitenleiste durch.
Welche Befehle stellt ResourcePackManager derzeit bereit?
Auf dem Backend (Paper / Spigot) umfasst die im Code hinterlegte Befehlsoberfläche:
/rspm setup— öffnet ein In-Game-GUI-Einrichtungsmenü (Plugin-Update-Status, empfohlene Plugins, Umschalter für automatische Updates, Links zu Wiki / Discord / Nightbreak-Konto)/rspm reload— baut das zusammengeführte Paket neu auf und stellt es erneut bereit/rspm status— vollständiger Diagnose-Dump (Paket-Status, Hosting-Modus, Netzwerkschlüssel, Integrationen)/rspm itemsadder configure— konfiguriert ItemsAdder für das Hosting durch RSPM/rspm itemsadder dismiss— verwirft die ItemsAdder-Warnung für deine Spieler-UUID dauerhaft/rspm data_compliance_request— lädt alle remote gespeicherten Daten für diesen Server herunter
Der Hauptbefehl ist /resourcepackmanager, mit /rspm als Alias. Außerdem sind eine Handvoll gemeinsam genutzter MagmaCore-/Nightbreak-Unterbefehle registriert (z. B. /rspm recommendedplugins, /rspm downloadall), auf die die Schaltflächen im Einrichtungsmenü verweisen.
Backend-Berechtigungen:
/rspm setuperfordertresourcepackmanager.setupund ist nur für Spieler nutzbar (es öffnet eine Inventar-GUI)./rspm reload,/rspm status,/rspm itemsadder <configure|dismiss>und/rspm data_compliance_requesterfordern alleresourcepackmanager.*.
Auf dem Proxy-Plugin (Velocity / BungeeCord) existieren nur Diagnosebefehle:
/rspm status— Momentaufnahme der Proxy-Seite: Backend-Liste, Abrufergebnisse pro Backend, Status des zusammengeführten Pakets, Geyser-/Floodgate-Erkennung/rspm debug bedrock [on|off]— Velocity und BungeeCord. Schaltet ausführliche[RSPM-BedrockDebug]-Protokollzeilen desGeyserBinderum, um Fälle vom Typ „Bedrock-Spieler ist beigetreten, sah aber das Paket nicht" zu diagnostizieren. Wird bei einem Proxy-Neustart auf „aus" zurückgesetzt. Ohne Argument ausgeführt gibt der Befehl den aktuellen Zustand aus.
Proxy-Befehle prüfen resourcepackmanager.command.status oder resourcepackmanager.*. Die Konsole hat immer beide; Spieler benötigen die Berechtigungen über dein Berechtigungs-Plugin. Die Ausgabe kann gefahrlos geteilt werden — der Netzwerkschlüssel ist maskiert und es werden keine Tokens ausgegeben — daher sind großzügige Vergaben unproblematisch.
Welche Plugins werden derzeit unterstützt?
ResourcePackManager liefert vorgefertigte Integrationseinträge für folgende Plugins:
- BackpackPlus
- BetterHUD
- BetterStructures
- CannonRTP
- EliteMobs
- EternalTD
- FreeMinecraftModels
- InfiniteVehicles
- ItemsAdder
- MegaBlockSurvivors
- MMOInventory
- ModelEngine
- Nexo
- Nova
- Oraxen
- RealisticSurvival
- ResurrectionChest
- ValhallaMMO
- vane-core
Diese Integrationen wirken nur, wenn das Plugin installiert ist und der dort konfigurierte lokale Pfad oder die Remote-URL nutzbar ist.
Jede Integration hat ihre eigene YAML-Konfigurationsdatei unter plugins/ResourcePackManager/compatible_plugins/. Dort kannst du pro Plugin isEnabled, pluginName, localPath, url, zips, cluster, additionalLocalPath und reloadCommand anpassen. Die Option cluster weist ResourcePackManager an, den lokalen Pfad als Verzeichnis mit mehreren Unterordnern für Ressourcenpakete zu behandeln, die alle zusammen zusammengeführt werden sollen.
Ist ResourcePackManager mit ItemsAdder kompatibel?
Ja. ResourcePackManager enthält einen integrierten Helfer- und Warnablauf für ItemsAdder.
Wenn ItemsAdder installiert ist und noch für das Hosting durch ResourcePackManager angepasst werden muss, erhalten OP-Spieler einige Sekunden nach dem Beitritt eine klickbare Warnung. Spieler, die die Warnung dauerhaft verworfen haben, sehen sie nicht mehr. Von dort aus kannst du:
/rspm itemsadder configureausführen, umresource-pack.hosting.no-host.enabled: truezu setzen, alle dreiprotect-file-from-unzip-Einstellungen zu deaktivieren,compress-json-files: falsezu setzen,/iareloadund dann/iazipauszuführen und anschließend ResourcePackManager neu zu laden (~15 s später)/rspm itemsadder dismissausführen, um die Warnung für deine Spieler-UUID dauerhaft zu verwerfen
Wenn ItemsAdder bereits so konfiguriert ist, dass es sein eigenes Paket über einen seiner Hosting-Modi bereitstellt, überschreibt der Helfer-Befehl das nicht automatisch. Er weist dich an, das ItemsAdder-Hosting zuerst selbst zu deaktivieren.
Kann ich mein eigenes Paket zum Merge hinzufügen?
Ja. Lege deine .zip-Datei ab in:
plugins/ResourcePackManager/mixer
Wenn du steuern möchtest, welches Paket bei Dateikonflikten gewinnt, trage den exakten Dateinamen inklusive .zip in priorityOrder in plugins/ResourcePackManager/config.yml ein.
Beispiel:
priorityOrder:
- ResourcePackManager
- EliteMobs
- MyCustomPack.zip
Wie funktioniert die Priorität?
priorityOrder ist oben die höchste Priorität und unten die niedrigste.
Bei nicht mergebaren Dateien ersetzt das Paket mit höherer Priorität die Datei des Pakets mit niedrigerer Priorität. Bei mergebaren JSON-Dateien führt ResourcePackManager die Inhalte zusammen, statt sie stumpf zu ersetzen.
Der Code behandelt derzeit Folgendes als mergebar:
sounds.json- Sprachdateien unter
langoderlanguages - Vanilla-Item-Model-JSON unter
minecraft/models/item(diese erhalten einen nicht rekursiven Merge: nur dasoverrides-Array wird über Pakete hinweg kombiniert, während der Rest der Datei „höchste Priorität gewinnt" folgt) - Atlas-Dateien
- Schriftdateien
- Item-Modelldefinitionen im Format 1.21.4+ unter
items/(formatbewusstes Mergen: lässt Prädikatsbäume intakt und steigt nicht blind in andere Knotentypen ab)
pack.mcmeta wird auf besondere Weise zusammengeführt: das höchste pack_format gewinnt, supported_formats-Bereiche werden so erweitert, dass sie alle Pakete abdecken (unterstützt die Integer-, Zwei-Integer-Array- und {min_inclusive, max_inclusive}-Objektform), Overlay-Einträge werden kombiniert und nicht standardisierte Top-Level-Schlüssel (z. B. sodium) werden beibehalten. Overlay-Einträge werden für 1.21.9+ kompatibel normalisiert, indem die Felder min_format/max_format ergänzt werden, falls sie fehlen.
Nach dem Mergen aller Pakete führt ResourcePackManager die Quellen der Basis-Atlanten in die Overlay-Atlasdateien ein. Dadurch wird verhindert, dass Overlays die Basis-Atlaseinträge versehentlich verdecken, wenn Minecraft ein Overlay aktiviert (z. B. ItemsAdders ia_overlay_modern_atlas / ia_overlay_legacy_atlas).
Andere JSON-Dateien werden ersetzt, nicht zusammengeführt.
Pakete, die nicht in priorityOrder aufgeführt sind, werden trotzdem in den Merge einbezogen, erhalten aber die niedrigste Priorität.
Wird ResourcePackManager bei Paketänderungen automatisch neu gebaut?
Ja. Er überwacht die Quellen unterstützter Pakete auf Änderungen.
Wenn ein überwachtes Paket 3 Sekunden lang nicht mehr geändert wurde, markiert ResourcePackManager es als stabil. Sobald alle überwachten Pakete stabil sind, erfolgt der Remix sofort. Während dieses Übergangs werden Online-OP-Spieler benachrichtigt: „All resource packs are stable. Mixing and sending now."
Berücksichtigt der Watchdog die Plugin-Initialisierung?
Ja. Der Watchdog kennt die Magmacore-Initialisierungszustände von Plugins.
- Er wartet, bis alle überwachten Plugins ihre Magmacore-Initialisierung abgeschlossen haben, bevor er mit den Stabilitätsprüfungen beginnt.
- Wenn ein Plugin neu lädt, während der Watchdog läuft, erkennt der Watchdog die Zustandsänderung, pausiert, setzt das gesamte Stabilitätstracking zurück und wartet, bis das Plugin seine Neuinitialisierung abgeschlossen hat.
- Damit werden falsche „instabil"-Erkennungen vermieden, die sonst bei normalen Plugin-Start- oder Reload-Sequenzen aufträten.
Wie erhalten Spieler das endgültige Paket?
Wenn autoHost aktiviert ist (Standard), wählt RSPM automatisch einen Auslieferungspfad und schiebt diese URL an jeden beitretenden Spieler. Der Entscheidungsbaum lautet:
- Wenn
selfHostForce: true, immer selbst hosten (überspringt alle Prüfungen — hauptsächlich für Tests). - Andernfalls, wenn
preferSelfHost: true(Standard), zuerst Selbst-Hosting versuchen, drei Plausibilitätsprüfungen durchführen (aufgelöster Nicht-LAN-Host, Localhost-Selbsttest, externer Erreichbarkeitstest über magmaguy.com) und sich auf Selbst-Hosting festlegen, wenn alle drei bestehen. - Wenn das Selbst-Hosting fehlschlägt oder deaktiviert ist, das Paket auf
magmaguy.com/rsp/hochladen und diese URL ankündigen.
Sobald eine URL vorliegt, verwendet RSPM auf Minecraft 1.20.3+ die Multi-Pack-API, sodass es mit anderen vom Server gesendeten Paketen koexistiert. Auf älteren Versionen fällt es auf die ältere Single-Pack-Methode zurück, die jede vorhandene Zuweisung eines Server-Ressourcenpakets ersetzt.
Wenn autoHost: false, schiebt RSPM keine URL — es wird erwartet, dass du die ZIP-Datei aus plugins/ResourcePackManager/output/ nimmst und über deine eigene Pipeline ausspielst.
Siehe Selbst-Hosting für den vollständigen Auslieferungs-Entscheidungsbaum.
Kann ich selbst hosten, statt das eingebaute Auto-Hosting zu nutzen?
Ja — und seit RSPM v2 ist der eingebaute HTTP-Server der empfohlene Selbst-Hosting-Weg. selfHostEnabled: true und preferSelfHost: true sind beide standardmäßig aktiviert.
Wenn du die ZIP-Datei stattdessen über deinen eigenen, bestehenden Webserver hosten möchtest (also keinen der beiden eingebauten Wege):
- Setze
autoHost: false. - Setze optional
resourcePackReroutingauf einen vorhandenen Ordnerpfad relativ zum Verzeichnisplugins. - Nimm das zusammengeführte Paket aus
plugins/ResourcePackManager/output/ResourcePackManager_RSP.zipund hoste es selbst.
Wenn resourcePackRerouting gesetzt ist, schreibt RSPM außerdem eine Kopie dieser ZIP-Datei in den Reroute-Ordner. Dieser Reroute-Pfad wird relativ zum Verzeichnis plugins aufgelöst, und der Zielordner muss bereits existieren.
Gibt es einen Befehl, um gespeicherte Host-Daten anzufordern?
Ja. Verwende:
/rspm data_compliance_request
Wenn das magmaguy.com-Remote-Auto-Hosting eine aktive Sitzung hat, lädt ResourcePackManager die Antwort herunter nach:
plugins/ResourcePackManager/data_compliance
Wenn keine aktive Remote-Sitzung besteht (z. B. weil du selbst hostest), meldet der Befehl, dass keine Remote-Daten angefordert werden können.
Welche Konfigurationsoptionen sind verfügbar?
In plugins/ResourcePackManager/config.yml stehen folgende Einstellungen zur Verfügung:
Allgemein
priorityOrder— Liste, die steuert, welche Pakete bei Dateikonflikten gewinnen (höchste Priorität zuerst)autoHost— ob ResourcePackManager das zusammengeführte Paket automatisch hostet und sendet (boolean, Standardtrue)forceResourcePack— ob Spieler gezwungen werden sollen, das Paket anzunehmen (boolean, Standardfalse)resourcePackPrompt— die Hinweisnachricht, die beim Anbieten des Pakets angezeigt wird (Standard"Use recommended resource pack?")resourcePackRerouting— optionaler Ordnerpfad (relativ zuplugins), um eine zusätzliche Kopie der zusammengeführten ZIP-Datei zu schreibennightbreak.autoDownloadPluginUpdates— ob RSPM beim Start seine eigenen Plugin-Updates automatisch herunterlädt (boolean, Standardfalse; ein Neustart ist weiterhin erforderlich, um ein heruntergeladenes Update anzuwenden). Dies ist ein verschachtelter Schlüssel unter dem Abschnittnightbreak:, kein Top-Level-Schlüssel — wenn du in der config.yml nach einer nackten ZeileautoDownloadPluginUpdatessuchst, findest du sie nur eingerückt unternightbreak:. Dies ist derselbe Umschalter, der auch in der/rspm setup-GUI bereitgestellt wird.
Selbst-Hosting
selfHostEnabled— ob der eingebaute HTTP-Server verwendet werden darf (boolean, Standardtrue)selfHostPort— Port für den Selbst-Hosting-HTTP-Server.-1(Standard) leitet ihn automatisch alsmcPort + networkHttpOffset-v2ab. Auf eine beliebige positive Ganzzahl setzen, um einen expliziten Port zu erzwingen.networkHttpOffset-v2— Fallback-Offset, der zum Minecraft-Server-Port addiert wird, wennselfHostPort = -1. Standard1(z. B. MC 25565 → HTTP 25566). In einem Netzwerk musst du dies nicht mehr mit dem Proxy synchron halten: Das Backend kündigt dem Proxy automatisch den genauen HTTP-Port an, an den es tatsächlich gebunden hat, und der Proxy verwendet sein eigenesnetwork-http-offset-v2nur als Vermutung, bis diese Ankündigung eintrifft.selfHostExternalHost— öffentlicher Hostname oder IP, über den Clients deinen Selbst-Hosting-Server erreichen. Leer (Standard) = automatische Erkennung über api.ipify.org / checkip.amazonaws.com.selfHostForce— überspringt alle Plausibilitätsprüfungen UND den Remote-Upload, hostet immer selbst (boolean, Standardfalse— für Tests).preferSelfHost— zuerst Selbst-Hosting mit Plausibilitätsprüfungen versuchen, bevor auf den Remote-Upload zurückgefallen wird (boolean, Standardtrue).
Bedrock
bedrockConversionEnabled— das zusammengeführte Java-Paket in ein Bedrock-Paket für GeyserMC umwandeln (Standardtrue)bedrockAutoDeployToGeyser— die Datei mit den benutzerdefinierten Geyser-Mappings in den erkannten Geyser-Ordner kopieren (Standardtrue)bedrockGeyserFolder— manuelle Pfadüberschreibung für den Geyser-Ordner; leer = automatische ErkennungbedrockConverterDebug— ausführliche Protokollzeilen der Bedrock-Pipeline pro Item / pro Bone (Standardfalse)
Eine zweite Datei, plugins/ResourcePackManager/bedrock_display_offsets.yml, stellt zwölf benutzerseitig einstellbare Stellschrauben zur Feinjustierung der Position bereit, an der Bedrock-Spieler gehaltene Items relativ zu ihrer Hand sehen (sechs für die Egoperspektive, sechs für die Drittperson). Details siehe Bedrock-Konvertierung.
Es gibt absichtlich keine network-key-Konfigurationsoption. Der Schlüssel, der den Proxy mit seinen Backends verbindet, wird auf jeder JVM automatisch aus plugins/floodgate/key.pem abgeleitet. Floodgate verlangt ohnehin, dass diese Datei im gesamten Netzwerk identisch ist (für die Bedrock-Authentifizierung), sodass der abgeleitete Schlüssel überall automatisch übereinstimmt.
Können andere Plugins ihre Pakete per Code registrieren?
Ja. ResourcePackManager stellt eine Java-API für die programmatische Paketregistrierung bereit. Details siehe API-Seite.
Funktioniert die Bedrock-Konvertierung nur für FreeMinecraftModels?
Nein, nicht mehr. Der aktuelle Konverter verarbeitet jedes Plugin, dessen Paket Items-Definitionen im Format 1.21.4+ unter assets/<namespace>/items/*.json mitliefert. Das deckt FreeMinecraftModels-Bone-Modelle, EliteMobs-Ausrüstung, Oraxen-/Nexo-Custom-Items, eigene Rüstungssets und jedes Paket ab, das du selbst in diesem Format zusammenstellst. Reine 2D-Custom-Items werden als flache Bedrock-Symbole ausgegeben; 3D-Custom-Items erzeugen Bedrock-Geometrie/Attachables und ein softwaregerendertes Inventarsymbol.
Muss ich den Server bei jeder Änderung des Bedrock-Pakets neu starten?
Textur- und Modelländerungen an bestehenden Custom-Items werden für den nächsten beitretenden Bedrock-Spieler wirksam — RSPM stellt das Bedrock-Paket live pro Session über Geysers API bereit. Ein Neustart ist nur erforderlich, wenn sich das Set der Custom-Items ändert (neue hinzukommen oder bestehende entfernt werden), da Geyser seine Custom-Item-Identifikatoren beim Start registriert.
Funktioniert ResourcePackManager auf BungeeCord / Velocity?
Ja — das ist eine erstklassig unterstützte Topologie. Es ist überall dieselbe ResourcePackManager.jar: Lege sie auf jedes Backend und lege eine Kopie auf den Proxy. Die eine Jar bündelt die Einstiegspunkte für Bukkit, Velocity und BungeeCord/Waterfall, sodass sie korrekt lädt, egal ob der Host ein Backend oder ein Proxy ist. Es gibt keine separaten Proxy-Jars und keinen proxy-extension/-Ordner mehr.
Als Proxy-Plugin ausgeführt, führt es das konvertierte Bedrock-Paket jedes Backends zusammen und liefert es über das Geyser des Proxys an Bedrock-Clients aus. Die Java-Paketauslieferung erfolgt weiterhin direkt durch jedes Backend — Java-Clients sehen pro Backend ein eigenes Paket.
Einrichtungs-, Fehlerbehebungs- und Verifizierungsschritte findest du unter Proxy-Netzwerke.