#
💻 Multi Server
#
📝 Introduction
Le système multi-serveur d'Horizons permet de synchroniser les équipes, les challenges et le chat entre plusieurs serveurs Minecraft en utilisant Redis comme système de communication. Cette fonctionnalité est idéale pour les réseaux de serveurs qui souhaitent maintenir une cohérence des données entre leurs différents serveurs.
#
Prérequis
- Redis Server : Un serveur Redis accessible depuis tous vos serveurs Minecraft
- Plugin Horizons installé sur tous les serveurs du réseau
- Connexion réseau entre tous les serveurs et le serveur Redis
#
🔧 Configuration de Base
Le fichier de configuration se trouve dans plugins/Horizons/multiserver-config.yml.
#
Configuration Redis
redis:
enabled: true # Active/désactive le système multi-serveur
host: "localhost" # Adresse IP du serveur Redis
port: 6379 # Port du serveur Redis (par défaut 6379)
password: "" # Mot de passe Redis (laissez vide si aucun)
database: 0 # Base de données Redis à utiliser
prefix: "horizons:" # Préfixe pour toutes les clés Redis
#
Configuration des Serveurs
server-name: "server1" # Nom unique de ce serveur
parent-server: "server1" # Nom du serveur parent (pour les challenges)
Important : Chaque serveur doit avoir un
server-nameunique. Leparent-serverdoit correspondre au nom d'un serveur existant dans votre réseau.
#
🔄 Synchronisation des DonnĂ©es
#
Activation des Synchronisations
sync:
challenges: true # Synchronise les challenges entre serveurs
teams: true # Synchronise les équipes entre serveurs
player-data: true # Synchronise les données des joueurs
chat: false # Synchronise le chat entre serveurs
#
Fonctionnalités Synchronisées
#
🏆 Équipes (teams: true)
- Création/suppression d'équipes : Les équipes créées sur un serveur apparaissent sur tous les autres
- Statut staff : Le statut staff des équipes est synchronisé
- Membres : L'ajout/suppression de membres est partagé entre serveurs
- Scores : Les scores des équipes sont mis à jour en temps réel
#
🎯 Challenges (challenges: true)
- Progression : La progression des challenges est synchronisée en temps réel
- Complétion : Les challenges complétés sont marqués sur tous les serveurs
- Configuration : Seul le serveur parent peut créer/modifier/supprimer des challenges
#
💬 Chat (chat: true)
- Messages cross-serveur : Les messages de chat sont partagés entre serveurs
- Préfixes de serveur : Affichage du serveur d'origine des messages
- Permissions : Respect des permissions de chat sur chaque serveur
#
📡 Configuration des Canaux Redis
channels:
challenges: "horizons:challenges" # Canal pour les challenges
teams: "horizons:teams" # Canal pour les équipes
player-data: "horizons:player-data" # Canal pour les données joueurs
chat: "horizons:chat" # Canal pour le chat
broadcast: "horizons:broadcast" # Canal pour les annonces
Note : Vous pouvez personnaliser les noms des canaux, mais ils doivent ĂŞtre identiques sur tous les serveurs.
#
💬 Configuration du Chat
#
Affichage des Messages Cross-Serveur
chat:
show-server-prefix: true # Affiche le préfixe du serveur d'origine
server-prefix-format: "[{server}] " # Format du préfixe serveur
Exemple d'affichage :
[Lobby] <Joueur123> Salut tout le monde !
[Survie] <Admin> Bienvenue sur le réseau !
#
Système de Broadcast
broadcast:
cross-server-enabled: true # Active les annonces cross-serveur
prefix-format: "[{server}] " # Format du préfixe pour les annonces
#
🔍 DĂ©couverte de Serveurs
server-discovery:
enabled: true # Active la découverte automatique des serveurs
heartbeat-interval: 30 # Intervalle de battement de cœur (secondes)
server-timeout: 90 # Délai avant qu'un serveur soit considéré hors ligne
discovery-channel: "horizons:server-discovery" # Canal de découverte
Cette fonctionnalité permet :
- Détection automatique des serveurs en ligne
- Monitoring de l'état des serveurs du réseau
- Gestion des déconnexions automatique
#
⚙️ Paramètres AvancĂ©s
advanced:
connection-timeout: 5000 # Délai de connexion Redis (ms)
max-connections: 20 # Nombre maximum de connexions Redis
min-idle-connections: 5 # Nombre minimum de connexions inactives
debug-logging: false # Active les logs de débogage détaillés
retry-attempts: 3 # Nombre de tentatives de reconnexion
retry-delay: 1000 # Délai entre les tentatives (ms)
#
💡 Exemples d'Usage
#
Réseau Lobby + Serveurs de Jeu
Configuration Lobby (Parent) :
server-name: "lobby"
parent-server: "lobby"
sync:
challenges: true
teams: true
chat: true
Configuration Serveurs de Jeu :
server-name: "survie" # ou "creatif", "pvp", etc.
parent-server: "lobby"
sync:
challenges: true
teams: true
chat: false # Chat local uniquement
#
Serveurs Thématiques
Serveur Challenges :
server-name: "challenges"
parent-server: "challenges"
sync:
challenges: true
teams: true
Serveurs de Jeu :
sync:
challenges: true # Reçoit les challenges
teams: true
#
🆘 Support
En cas de problème :
- Activez le debug :
debug-logging: true - Consultez les logs du serveur et de Redis
- Vérifiez la connectivité réseau entre serveurs
- Testez avec une configuration minimale avant d'ajouter des fonctionnalités
Cette documentation couvre l'ensemble des fonctionnalités multi-serveur d'Horizons. Pour des configurations spécifiques ou des problèmes avancés, consultez les logs détaillés avec le mode debug activé.