ResourcePackManager (RSPM)
ResourcePackManager erkennt, führt zusammen, hostet und verteilt Ressourcenpakete von unterstützten Plugins sowie manuell bereitgestellte Pakete. Er kann das zusammengeführte Java-Paket außerdem in ein Bedrock-Ressourcenpaket umwandeln, damit GeyserMC-Spieler dieselben benutzerdefinierten Inhalte wie Java-Spieler sehen, und bietet erstklassige Unterstützung für BungeeCord-, Waterfall- und Velocity-Proxy-Netzwerke.
Was er tut
- erkennt unterstützte Plugin-Pakete und führt sie gemäß
priorityOrderzusammen - betreibt einen eigenen eingebauten HTTP-Server, sodass er das zusammengeführte Paket selbst hosten kann (kein externer Datei-Host erforderlich)
- kann auf MagmaGuys kostenloses Hosting (Auto-Host) zurückfallen, wenn Selbst-Hosting nicht machbar ist
- kann die Verwendung des Pakets erzwingen oder optional anbieten
- überwacht Paketänderungen und führt automatisch neu zusammen, sobald sich die Quellen stabilisieren
- wandelt das zusammengeführte Java-Paket in ein Bedrock-Ressourcenpaket für GeyserMC um
- funktioniert auf Proxy-Netzwerken: jedes Backend erzeugt sein eigenes Bedrock-Paket, das Proxy-Plugin holt sie ab, führt sie zusammen und liefert das Ergebnis über Geyser aus
Architektur im Überblick
RSPM v2 ist ein Multi-Modul-Maven-Build, wird aber als einzelne Jar ausgeliefert: ResourcePackManager.jar. Diese eine Jar enthält das Bukkit-/Paper-Plugin, das Velocity-Plugin und das BungeeCord-/Waterfall-Plugin gleichzeitig — Minecraft lädt jeweils den Einstiegspunkt, der zur laufenden Plattform passt. Es gibt keine separaten ResourcePackManager-Velocity.jar-/ResourcePackManager-BungeeCord.jar-Dateien und keinen proxy-extension/-Ordner mehr.
Dieselbe Jar spielt je nachdem, wo du sie ablegst, zwei Rollen:
- Als Backend-Plugin (auf jedem Paper-/Spigot-Backend) — mischt Java-Pakete, führt den Bedrock-Konverter aus, hostet das Paket, stellt einen kleinen HTTP-Server bereit und sendet Pakete an Java-Clients.
- Als Proxy-Plugin (auf einem Velocity- oder BungeeCord-/Waterfall-Proxy) — holt das Bedrock-Paket und die Mappings jedes Backends ab, führt sie zu einem einzigen netzwerkweiten Paket zusammen und liefert es über das Geyser des Proxys an Bedrock-Clients aus.
Ein eigenständiger Server benötigt die Jar nur auf dem Backend. Ein Proxy-Netzwerk benötigt dieselbe Jar auf jedem Backend UND eine Kopie auf dem Proxy.
Wenn das Backend eine lokale Geyser-Spigot-Installation erkennt, legt es zusätzlich eine gebündelte ResourcePackManager-GeyserBridge.jar in Geyser-Spigot/extensions/ ab (eine Geyser-Erweiterung, kein separates Plugin), damit Geyser die benutzerdefinierten Bedrock-Entities von RSPM darstellen kann.
Hosting-Optionen
Drei Auslieferungspfade, die automatisch in dieser Reihenfolge gewählt werden, wenn autoHost: true gesetzt ist:
- Selbst-Hosting zuerst (
preferSelfHost: true, Standard) — RSPM startet einen eigenen HTTP-Server, führt eine Kette von Plausibilitätsprüfungen durch (Nicht-LAN-Adresse, Localhost-Selbsttest, externer Erreichbarkeitstest über magmaguy.com) und kündigt Clients die lokale URL an. Keine Bandbreitenkosten für MagmaGuy. - Remote-Auto-Host als Fallback — falls eine Selbst-Hosting-Prüfung fehlschlägt, lädt RSPM das Paket auf MagmaGuys CDN unter
magmaguy.com/rsp/hoch und kündigt stattdessen diese URL an. - Erzwungenes Selbst-Hosting (
selfHostForce: true) — überspringt beide Prüfungen und den Remote-Upload vollständig. Hauptsächlich für Tests.
Wenn autoHost: false ist, schreibt RSPM die zusammengeführte ZIP-Datei nach plugins/ResourcePackManager/output/ und du übernimmst sie von dort.
Siehe Selbst-Hosting für den vollständigen Auslieferungs-Entscheidungsbaum, die Port-Auflösung und die Erkennung des externen Hosts.
Java-zu-Bedrock-Konvertierung
Der Bedrock-Konverter ist nicht mehr ausschließlich für FreeMinecraftModels gedacht. Er durchläuft jede Items-Definitionsdatei im Format 1.21.4+ (assets/<namespace>/items/*.json) im zusammengeführten Paket und erzeugt Bedrock-Geometrien, Attachables und Inventarsymbole für jedes Plugin, das sie geliefert hat:
- Bedrock-Spieler sehen 3D-Items, benutzerdefinierte Rüstungen und modellierte Ausrüstung für jedes Plugin, dessen Paket das Items-Definitionsformat 1.21.4+ verwendet.
- Texturen benutzerdefinierter Rüstungen werden auf Bedrock-Spielern dargestellt, indem die Vanilla-Rüstungsgeometrie mit der Java-Textur als sichtbarer Schicht kombiniert wird.
- Inventarsymbole für 3D-Items werden softwareseitig aus dem Java-Modell über die
display.gui-Transformation gerendert. - Das Bedrock-Paket wird live pro Bedrock-Session über Geysers API ausgeliefert, sodass Textur- und Modellanpassungen den nächsten beitretenden Bedrock-Spieler ohne Serverneustart erreichen. Custom-Item-Mappings erfordern weiterhin einen Neustart, da Geyser sie beim Boot registriert.
- Zwölf benutzerseitig einstellbare Stellschrauben für Anzeige-Offsets gehaltener Items (sechs Ego-, sechs Drittperson) in
bedrock_display_offsets.yml.
Aktuelle Integrationen
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
Jede Integration wird nur aktiv, wenn das Plugin installiert ist und der konfigurierte lokale Pfad oder die Remote-URL nutzbar ist. Das Plugin erkennt außerdem beim Start Geyser (Geyser-Spigot auf einem Backend, Geyser-Velocity / Geyser-BungeeCord auf einem Proxy) und verdrahtet die Bedrock-Paketauslieferung mit der jeweils gefundenen Variante.
Wie es weitergeht
- Einrichtung — Betreiber-Workflow für einen eigenständigen Server
- Proxy-Netzwerke — Schritt-für-Schritt-Einrichtung für BungeeCord / Waterfall / Velocity
- Selbst-Hosting — eingebauter HTTP-Server, Port-Auflösung, Erkennung des externen Hosts
- Bedrock-/Geyser-Konvertierung — was konvertiert wird, Stellschrauben
- FAQ — häufige Fragen
- Fehlerbehebung — was zu prüfen ist, wenn etwas nicht funktioniert
- API — Pakete aus deinem eigenen Plugin registrieren