🖼️Système de Resource Pack
Ce document présente comment configurer et utiliser le système de resource pack intégré dans le plugin Horizons.
📦 Présentation
Le système de resource pack de Horizons permet de :
Héberger automatiquement vos resource packs via un serveur HTTP intégré
Forcer ou suggérer l'utilisation du resource pack aux joueurs
Gérer plusieurs resource packs et changer entre eux facilement
Utiliser une URL externe si vous préférez héberger votre pack ailleurs
🗂️ Structure des Fichiers
Les resource packs doivent être placés dans le dossier plugins/Horizons/resourcepacks/
au format .zip
.
⚙️ Configuration
🔧 Configuration de Base
resourcepack:
# Activer ou désactiver la fonctionnalité
enabled: true
# Message affiché lors de la demande de téléchargement
prompt-message: "&aLe serveur utilise un resource pack pour une meilleure expérience !"
# Port pour le serveur HTTP intégré
port: 8080
# Forcer l'utilisation du resource pack
force: false
# Délai avant d'envoyer le pack après la connexion (en ticks)
join-delay: 40
# Nom du pack actif par défaut (vide = premier pack trouvé)
active-pack: ""
🔍 Configuration Avancée
resourcepack:
# Activer ou désactiver la fonctionnalité
enabled: true
# Options de débogage
debug: false
advanced:
# URL externe (si vous voulez héberger le pack vous-même)
external-url: ""
# Hash SHA-1 du pack externe
external-hash: ""
# Appliquer les mises à jour aux joueurs déjà connectés
apply-updates-to-online-players: true
# Intervalle de vérification des changements (en minutes)
# Définir à 0 ou une valeur négative pour désactiver les vérifications automatiques
check-interval: 5
# Nom personnalisé pour le serveur HTTP dans les logs
server-name: "Horizons ResourcePack Server"
🛠️ Commandes
/resourcepack
(Alias: /rpack
, /respack
)
/resourcepack
(Alias: /rpack
, /respack
)/resourcepack list
Liste tous les resource packs disponibles
horizons.resourcepack
/resourcepack set <nom>
Définit le resource pack actif
horizons.resourcepack
/resourcepack reload
Recharge les resource packs
horizons.resourcepack
/resourcepack info
Affiche les informations sur le pack actif
horizons.resourcepack
🔄 Fonctionnement
🖥️ Serveur HTTP Intégré
Le plugin intègre un serveur HTTP qui héberge automatiquement vos resource packs. Les avantages sont :
Pas besoin d'un hébergement externe
Détection automatique de l'IP publique du serveur
Mise en cache pour optimiser les performances
Équilibrage de charge pour les grands serveurs
🌐 Détection d'IP et Considérations de Réseau
Comment Fonctionne la Détection d'IP
Pour que les joueurs puissent télécharger votre resource pack, le système doit connaître l'adresse IP publique du serveur. Horizons utilise une approche en plusieurs étapes :
Vérification si l'IP du serveur est utilisable (non locale/privée)
Si l'IP est locale/privée (comme 127.0.0.1, 192.168.x.x, etc.), le système tente de détecter l'IP publique via des services externes
Les services suivants sont consultés dans l'ordre (pour la redondance) :
api.ipify.org
checkip.amazonaws.com
icanhazip.com
Serveurs en Réseau Local (Important)
Si vous hébergez votre serveur sur un réseau local:
⚠️ Vous devez ouvrir le port configuré dans votre routeur/pare-feu ⚠️
Configurez la redirection de port dans votre routeur (port forwarding)
Dirigez le port externe vers l'IP locale de votre serveur Minecraft
Assurez-vous que les pare-feu (Windows, etc.) autorisent également ce port
Exemple de redirection de port :
Port externe: 8080 → IP interne: 192.168.1.x → Port interne: 8080
Considérations de Confidentialité
La détection d'IP publique nécessite de contacter des services externes. Si vous avez des préoccupations de confidentialité :
Utilisez plutôt l'option
external-url
pour héberger votre pack sur un service externeConfigurez manuellement l'IP dans les paramètres de votre serveur Minecraft
🔐 Sécurité et Authentification
Le système calcule automatiquement le hash SHA-1 de chaque resource pack pour garantir l'intégrité du téléchargement. Minecraft utilise ce hash pour vérifier que le resource pack n'a pas été modifié.
🔄 Mise à Jour Automatique
Si apply-updates-to-online-players
est activé, tous les joueurs connectés recevront automatiquement le nouveau resource pack lorsque vous :
Changez de pack avec la commande
/resourcepack set
Rechargez les packs avec
/resourcepack reload
📊 Optimisation
Performances du Serveur
Les resource packs sont servis par lots pour éviter de surcharger le serveur
Headers de cache configurés pour réduire la charge réseau
Analyse périodique des nouveaux packs sans impact sur les performances
Compatibilité
Le système fonctionne sur tous les types d'hébergement, y compris les serveurs à IP privée, grâce à la détection automatique d'IP publique.
📝 Exemples d'Utilisation
Exemple 1: Configuration Simple
resourcepack:
enabled: true
prompt-message: "&aPour une meilleure expérience, acceptez le resource pack!"
port: 8080
force: false
join-delay: 60
Exemple 2: Utilisation d'un Pack Externe
resourcepack:
enabled: true
force: true
prompt-message: "&cLe resource pack est obligatoire sur ce serveur!"
advanced:
external-url: "https://monsite.com/monpack.zip"
external-hash: "0123456789abcdef0123456789abcdef01234567"
Exemple 3: Configuration Complète
resourcepack:
enabled: true
debug: true
port: 8080
force: true
prompt-message: "&6&lResource Pack &7» &ePour une meilleure expérience de jeu!"
join-delay: 40
active-pack: "MonPack.zip"
advanced:
external-url: ""
external-hash: ""
apply-updates-to-online-players: true
check-interval: 10
server-name: "MaCité ResourcePack"
🔧 Dépannage
Les joueurs ne reçoivent pas le pack
Vérifiez que le port est ouvert dans votre pare-feu
L'URL du pack est incorrecte
Activez le mode debug et vérifiez les logs
Le pack change mais n'est pas mis à jour
Vérifiez que apply-updates-to-online-players est activé
Le hash est invalide
Pour les URL externes, générez le hash SHA-1 et mettez-le à jour
Dernière mise à jour