ResourcePackManager (RSPM)
ResourcePackManager détecte, fusionne, héberge et distribue les packs de ressources des plugins pris en charge ainsi que des packs fournis manuellement. Il peut également convertir le pack Java fusionné en pack de ressources Bedrock afin que les joueurs GeyserMC voient le même contenu personnalisé que les joueurs Java, et il offre une prise en charge de première classe des réseaux proxy BungeeCord, Waterfall et Velocity.
Ce qu'il fait
- détecte les packs des plugins pris en charge et les fusionne selon
priorityOrder - exécute son propre serveur HTTP intégré pour pouvoir auto-héberger le pack fusionné (aucun hôte de fichiers externe requis)
- peut se replier sur l'hébergement gratuit de MagmaGuy (auto-hébergement distant) lorsque l'auto-hébergement n'est pas viable
- peut forcer l'utilisation du pack ou la proposer en option
- surveille les modifications des packs et refusionne automatiquement lorsque les sources se stabilisent
- convertit le pack Java fusionné en pack de ressources Bedrock pour GeyserMC
- fonctionne sur les réseaux proxy : chaque backend produit son propre pack Bedrock, le plugin proxy les récupère, les fusionne et sert le résultat via Geyser
Aperçu de l'architecture
RSPM v2 est un build Maven multi-module, mais il est livré sous forme de jar unique : ResourcePackManager.jar. Ce jar unique contient à la fois le plugin Bukkit/Paper, le plugin Velocity et le plugin BungeeCord/Waterfall — Minecraft charge le point d'entrée correspondant à la plateforme sur laquelle il s'exécute. Il n'y a plus de fichiers ResourcePackManager-Velocity.jar / ResourcePackManager-BungeeCord.jar séparés ni de dossier proxy-extension/.
Le même jar joue deux rôles selon l'endroit où vous le déposez :
- En tant que plugin backend (sur chaque backend Paper/Spigot) — fusionne les packs Java, exécute le convertisseur Bedrock, héberge le pack, expose un petit serveur HTTP et pousse les packs aux clients Java.
- En tant que plugin proxy (sur un proxy Velocity ou BungeeCord/Waterfall) — récupère le pack Bedrock et les mappings de chaque backend, les fusionne en un seul pack à l'échelle du réseau et le sert aux clients Bedrock via le Geyser du proxy.
Un serveur autonome n'a besoin que du jar sur le backend. Un réseau proxy a besoin du même jar sur chaque backend ET d'une copie sur le proxy.
Lorsque le backend détecte une installation Geyser-Spigot locale, il dépose aussi un ResourcePackManager-GeyserBridge.jar groupé dans Geyser-Spigot/extensions/ (une extension Geyser, pas un plugin séparé) afin que Geyser puisse rendre les entités Bedrock personnalisées de RSPM.
Options d'hébergement
Trois chemins de distribution, choisis automatiquement dans cet ordre lorsque autoHost: true :
- Auto-hébergement d'abord (
preferSelfHost: true, par défaut) — RSPM démarre son propre serveur HTTP, exécute une chaîne de vérifications de cohérence (adresse non-LAN, sonde locale localhost, sonde d'accessibilité externe via magmaguy.com) et annonce l'URL locale aux clients. Aucun coût de bande passante pour MagmaGuy. - Repli sur l'auto-hébergement distant — si une vérification d'auto-hébergement échoue, RSPM téléverse le pack vers le CDN de MagmaGuy à
magmaguy.com/rsp/et annonce cette URL à la place. - Auto-hébergement forcé (
selfHostForce: true) — saute entièrement les deux sondes et le téléversement distant. Principalement pour les tests.
Si autoHost: false, RSPM écrit le zip fusionné dans plugins/ResourcePackManager/output/ et vous prenez le relais.
Voir Auto-hébergement pour l'arbre de décision de distribution complet, la résolution du port et la détection de l'hôte externe.
Conversion Java vers Bedrock
Le convertisseur Bedrock n'est plus réservé à FreeMinecraftModels. Il parcourt chaque fichier de définition d'items 1.21.4+ (assets/<namespace>/items/*.json) du pack fusionné et produit la géométrie Bedrock, les attachables et les icônes d'inventaire pour le plugin qui les a fournis :
- Les joueurs Bedrock voient les items 3D, les armures personnalisées et les équipements modélisés pour tout plugin dont le pack utilise le format de définition d'items 1.21.4+.
- Les textures d'armure personnalisée s'affichent sur les joueurs Bedrock en utilisant la géométrie d'armure vanilla avec la texture Java comme couche visible.
- Les icônes d'inventaire pour les items 3D sont rendues par logiciel à partir du modèle Java via la transformation
display.gui. - Le pack Bedrock est servi en direct par session Bedrock via l'API de Geyser, de sorte que les ajustements de textures et de modèles atteignent le prochain joueur Bedrock qui se connecte sans redémarrage du serveur. Les mappings d'items personnalisés nécessitent toujours un redémarrage car Geyser les enregistre au démarrage.
- Douze paramètres réglables par l'utilisateur pour les décalages d'affichage des items tenus en main (six pour la première personne, six pour la troisième personne) dans
bedrock_display_offsets.yml.
Intégrations actuelles
ResourcePackManager est livré avec des entrées d'intégration préconfigurées pour ces plugins :
- BackpackPlus
- BetterHUD
- BetterStructures
- CannonRTP
- EliteMobs
- EternalTD
- FreeMinecraftModels
- InfiniteVehicles
- ItemsAdder
- MegaBlockSurvivors
- MMOInventory
- ModelEngine
- Nexo
- Nova
- Oraxen
- RealisticSurvival
- ResurrectionChest
- ValhallaMMO
- vane-core
Chaque intégration ne s'active que si le plugin est installé et que son chemin local ou son URL distante configurés sont exploitables. Le plugin détecte également Geyser (Geyser-Spigot sur un backend, Geyser-Velocity / Geyser-BungeeCord sur un proxy) au démarrage et câble la distribution du pack Bedrock dans celui qu'il trouve.
Où aller ensuite
- Configuration — flux de travail opérateur pour un serveur autonome
- Réseaux proxy — configuration étape par étape pour BungeeCord / Waterfall / Velocity
- Auto-hébergement — serveur HTTP intégré, résolution du port, détection de l'hôte externe
- Conversion Bedrock / Geyser — ce qui est converti, paramètres de réglage
- FAQ — questions fréquentes
- Dépannage — quoi vérifier quand quelque chose ne fonctionne pas
- API — enregistrer des packs depuis votre propre plugin