Comment relier plusieurs serveurs avec BungeeCord

Qu'est-ce que BungeeCord ?

BungeeCord est un proxy qui permet de :

  • Relier plusieurs serveurs Minecraft ensemble
  • Permettre aux joueurs de se déplacer entre serveurs sans se déconnecter
  • Créer un réseau de serveurs (lobby, mini-jeux, survie, etc.)
  • Centraliser la connexion des joueurs sur un seul point d'entrée

Architecture du réseau

Un réseau BungeeCord typique contient :

  • 1 serveur BungeeCord (proxy) : Point d'entrée pour tous les joueurs
  • Plusieurs serveurs Minecraft (backend) : Lobby, survie, créatif, mini-jeux, etc.

Les joueurs se connectent au proxy BungeeCord, qui les redirige vers les serveurs backend.

Prérequis

  • Accès à votre panel de gestion
  • Au moins 2 serveurs Minecraft (ou la capacité d'en créer plusieurs)
  • Ports disponibles pour chaque serveur
  • Connaissance des adresses IP de vos serveurs

Étape 1 : Créer les serveurs backend

Serveurs nécessaires

Vous aurez besoin d'au moins :

  1. Un serveur BungeeCord (le proxy)
  2. Un serveur Lobby (serveur d'accueil)
  3. Un ou plusieurs serveurs de jeu (survie, créatif, mini-jeux, etc.)

Créer les serveurs

  1. Connectez-vous à votre panel de gestion
  2. Créez un nouveau serveur pour chaque instance nécessaire
  3. Notez les informations suivantes pour chaque serveur :
    • Adresse IP
    • Port
    • Nom du serveur

Exemple :

  • Proxy BungeeCord : 127.0.0.1:25565
  • Lobby : 127.0.0.1:25566
  • Survie : 127.0.0.1:25567
  • Mini-jeux : 127.0.0.1:25568

Étape 2 : Installer BungeeCord

Télécharger BungeeCord

  1. Rendez-vous sur https://ci.md-5.net/job/BungeeCord/
  2. Téléchargez la dernière version stable

Installer sur le serveur proxy

  1. Connectez-vous à votre serveur proxy
  2. Supprimez ou renommez le fichier JAR Spigot/Paper existant
  3. Uploadez le fichier BungeeCord.jar
  4. Renommez-le si nécessaire (selon votre panel)
  5. Démarrez le serveur une première fois pour générer les fichiers de configuration
  6. Arrêtez le serveur

Étape 3 : Configurer BungeeCord

Éditer config.yml

Ouvrez le fichier config.yml dans le dossier du proxy BungeeCord.

Configuration de base

listeners:
- query_port: 25577
  motd: '&6Mon Réseau Minecraft'
  priorities:
  - lobby
  bind_local_address: true
  tab_list: GLOBAL_PING
  query_enabled: false
  proxy_protocol: false
  forced_hosts:
    pvp.example.com: pvp
    hub.example.com: lobby
  ping_passthrough: false
  max_players: 100
  tab_size: 60
  force_default_server: false
  host: 0.0.0.0:25565

Ajouter les serveurs backend

Dans la section servers, ajoutez vos serveurs :

servers:
  lobby:
    motd: '&aServeur Lobby'
    address: localhost:25566
    restricted: false
  survie:
    motd: '&2Serveur Survie'
    address: localhost:25567
    restricted: false
  minijeux:
    motd: '&cServeur Mini-Jeux'
    address: localhost:25568
    restricted: false

Paramètres importants

# Serveur par défaut où les joueurs arrivent
priorities:
- lobby
- survie

# Permissions
groups:
  admin:
  - bungeecord.command.alert
  - bungeecord.command.end
  - bungeecord.command.ip
  - bungeecord.command.reload

Configuration réseau avancée

Si vos serveurs sont sur des machines différentes :

servers:
  lobby:
    address: 192.168.1.10:25565
    restricted: false
  survie:
    address: 192.168.1.11:25565
    restricted: false

Étape 4 : Configurer les serveurs backend

Modifier spigot.yml

Sur chaque serveur backend (lobby, survie, etc.), ouvrez spigot.yml :

settings:
  bungeecord: true

IMPORTANT : Cette option doit être activée sur tous les serveurs backend, sinon BungeeCord ne fonctionnera pas correctement.

Modifier server.properties

Sur chaque serveur backend, modifiez server.properties :

online-mode=false

ATTENTION : Mettez online-mode=false uniquement sur les serveurs backend, JAMAIS sur le proxy BungeeCord qui doit rester en online-mode=true.

Sécuriser les serveurs backend

Pour éviter que les joueurs se connectent directement aux serveurs backend, ajoutez un pare-feu ou utilisez un plugin comme IPWhitelist.

Option 1 : Pare-feu

Configurez votre pare-feu pour n'autoriser que le proxy BungeeCord à se connecter aux serveurs backend.

Option 2 : Plugin IPWhitelist

  1. Installez IPWhitelist sur chaque serveur backend
  2. Configurez-le pour n'autoriser que l'IP du proxy

Étape 5 : Installer les plugins essentiels

Sur le proxy BungeeCord

Créez un dossier plugins et installez :

LuckPerms (gestion des permissions réseau) :

BungeeTabListPlus (tablist personnalisée) :

  • Améliore l'affichage de la liste des joueurs

BungeePortals (portails entre serveurs) :

  • Permet de créer des portails physiques pour changer de serveur

Sur les serveurs backend

Installez sur chaque serveur backend :

LuckPerms (version Spigot/Paper) :

  • Pour synchroniser les permissions avec le proxy

Multiverse-Core (optionnel) :

  • Pour gérer plusieurs mondes sur un même serveur

Étape 6 : Synchroniser les données

Base de données partagée (recommandé)

Pour partager les permissions, économie, etc. entre serveurs :

  1. Créez une base de données MySQL/MariaDB
  2. Configurez LuckPerms pour utiliser cette base de données
  3. Tous les serveurs utiliseront la même base

Configuration LuckPerms (config.yml) :

storage-method: mysql

data:
  address: localhost:3306
  database: luckperms
  username: root
  password: votre_mot_de_passe

Plugins de synchronisation

Installez des plugins pour synchroniser :

  • Économie : Vault + base de données partagée
  • Grades : LuckPerms avec MySQL
  • Inventaires : Multiverse-Inventories ou similaire

Étape 7 : Démarrer le réseau

Ordre de démarrage

  1. Démarrez tous les serveurs backend (lobby, survie, etc.)
  2. Attendez qu'ils soient complètement chargés
  3. Démarrez le proxy BungeeCord

Tester la connexion

  1. Connectez-vous avec votre client Minecraft à l'adresse du proxy
  2. Vous devriez arriver sur le serveur lobby
  3. Testez les commandes :
/server lobby
/server survie
/server minijeux

Commandes BungeeCord essentielles

Pour les joueurs

/server

Liste tous les serveurs disponibles

/server <nom>

Se téléporter vers un serveur spécifique

Pour les administrateurs

/glist

Affiche la liste des joueurs sur tous les serveurs

/alert <message>

Envoie un message à tous les joueurs du réseau

/send <joueur> <serveur>

Envoie un joueur vers un serveur spécifique

/end

Arrête le proxy BungeeCord

/greload

Recharge la configuration

Configuration avancée

MOTD personnalisé

Modifiez le message de bienvenue dans config.yml :

listeners:
- motd: |-
    &6&l✦ Mon Réseau Minecraft ✦
    &e» Survie &7| &cMini-Jeux &7| &aÉvénements

Serveurs forcés par sous-domaine

Redirigez automatiquement selon le sous-domaine :

forced_hosts:
  lobby.monserveur.com: lobby
  survie.monserveur.com: survie
  minijeux.monserveur.com: minijeux

Limiter l'accès à certains serveurs

servers:
  vip:
    address: localhost:25569
    restricted: true

Puis donnez la permission bungeecord.server.vip aux joueurs VIP.

Créer un lobby fonctionnel

Plugins recommandés pour le lobby

  • ServerSelector : Menu de sélection de serveurs
  • HolographicDisplays : Affichage d'informations flottantes
  • DeluxeHub : Suite complète pour lobby
  • Multiverse-Core : Gestion du monde lobby

Configuration ServerSelector

Créez des items dans l'inventaire permettant de changer de serveur :

items:
  survie:
    material: GRASS_BLOCK
    slot: 2
    name: '&2Serveur Survie'
    lore:
    - '&7Cliquez pour rejoindre'
    server: survie
  
  minijeux:
    material: DIAMOND_SWORD
    slot: 4
    name: '&cMini-Jeux'
    lore:
    - '&7Cliquez pour rejoindre'
    server: minijeux

Résolution des problèmes

Les joueurs ne peuvent pas se connecter

  • Vérifiez que le proxy BungeeCord est démarré
  • Vérifiez que online-mode=false sur les serveurs backend
  • Vérifiez que bungeecord: true dans spigot.yml des serveurs backend
  • Vérifiez les adresses IP et ports dans config.yml

Erreur "Can't connect to server"

  • Vérifiez que les serveurs backend sont démarrés
  • Vérifiez les adresses dans config.yml
  • Testez la connexion directe aux serveurs backend
  • Vérifiez les pare-feu

Les permissions ne fonctionnent pas

  • Installez LuckPerms sur le proxy ET tous les serveurs backend
  • Configurez une base de données MySQL partagée
  • Vérifiez la synchronisation entre serveurs

Les joueurs ont des inventaires dupliqués

  • Les inventaires ne sont pas synchronisés par défaut
  • Installez un plugin de synchronisation d'inventaires
  • Ou gardez des inventaires séparés par serveur (recommandé)

Commande /server introuvable

  • La commande est gérée par BungeeCord
  • Vérifiez que le joueur est bien connecté via le proxy
  • Vérifiez que BungeeCord fonctionne correctement

Conseils de sécurité

Protection contre les attaques

  1. N'exposez pas les serveurs backend : Seul le proxy doit être accessible publiquement
  2. Utilisez un pare-feu : Bloquez les connexions directes aux serveurs backend
  3. Installez un anti-DDoS : Protégez le proxy contre les attaques
  4. Mettez à jour régulièrement : Gardez BungeeCord à jour

Sauvegardes

Sauvegardez régulièrement :

  • Configuration BungeeCord (config.yml)
  • Configurations des serveurs backend
  • Base de données partagée
  • Mondes de chaque serveur

Optimisation des performances

Allocation RAM

Répartissez la RAM intelligemment :

  • Proxy BungeeCord : 512 MB - 1 GB minimum
  • Serveur Lobby : 2-3 GB
  • Serveurs de jeu : 3-6 GB selon la charge

Réduire la latence

  • Hébergez tous les serveurs au même endroit si possible
  • Utilisez des connexions locales (localhost) quand possible
  • Optimisez chaque serveur individuellement

Conclusion

BungeeCord vous permet de créer un réseau professionnel de serveurs Minecraft. Cette configuration offre une expérience fluide aux joueurs qui peuvent naviguer entre différents univers sans se déconnecter. N'oubliez pas de bien sécuriser vos serveurs backend et de mettre en place une base de données partagée pour synchroniser les données importantes.