BungeeCord est un serveur proxy qui va vous permettre de relier plusieurs serveurs entre eux. L’intérêt principal est d'éviter aux joueurs de devoir se déconnecter/reconnecter pour changer de serveur. BungeeCord est notamment utilisé sur les serveurs qui proposent plusieurs modes de jeux ou encore les serveurs mini-jeux.
À noter que ce tutoriel présente simplement une installation très basique, il n'est ici pas question de plugins pour relier les serveurs avec des portails par exemple. Ceci fera partie d'un autre tutoriel !
Le tutoriel va se baser sur l'exemple suivant : la mise en place d'un serveur PVP avec un autre serveur pour une map Minage relié par un serveur HUB, le tout sans plugins (c'est un exemple théorique, vous pouvez bien évidemment mettre en place autant de serveurs d'autres types que vous le souhaitez).
1 - Les prérequis
Dans ce tutoriel, le logiciel SFTP est WinSCP et le logiciel pour modifier les fichiers est Sublime Text.
La première étape consiste à choisir les bonnes offres pour les différents serveurs nécessaires à la mise en place de BungeeCord. Il vous faut à minima 3 serveurs (4 pour suivre l'exemple donné au-dessus) :
- Le serveur BungeeCord : ce serveur est la base de votre réseau de serveurs, il est indispensable, c'est lui qui va relier vos serveurs les uns aux autres. Ce serveur nécessite peu de ressources, une offre Pico est suffisante pour les projets basiques. N'hésitez pas à prendre une offre supérieure (Premier ou Premator) si vous approchez la centaine de connectés simultanés.
- Le serveur HUB : ce serveur va permettre aux joueurs de rejoindre vos différents serveurs. C'est sur ce serveur que les joueurs se connectent et rejoignent les différents serveurs par le biais de portails par exemple. Pour les projets basiques, je vous conseille une offre Premier pour votre HUB, mais encore une fois, en fonction du nombre de joueurs connectés, n'hésitez pas à monter en gamme avec le Premator.
- Votre serveur principal de jeu : ce serveur est votre serveur de jeu principal qu'il est possible de rejoindre par votre HUB. Pour l'exemple, ce serveur serait le serveur PVP où les joueurs s'affrontent. L'offre conseillée ici est très variable et dépend de ce que propose le serveur : pour du PVP avec des dizaines de joueurs, vous pouvez prendre un Premator ou un Flexi. Pour un mini-jeu comme un Spleef ou autre, vous pouvez prendre un PicoThor, etc ...
- Vos autres serveurs de jeu : ces serveurs sont tous les autres serveurs qui composent votre réseau de serveurs. Comme précédemment, les offres dépendent de ce que propose chaque serveur.
Pour l'exemple, nous allons prendre quatre serveurs :
- Un serveur Pico pour le BungeeCord
- Un serveur Premier pour le HUB
- Un serveur Flexi pour le serveur PVP
- Un serveur Premator pour la map Minage
Une fois que vous possédez vos serveurs, il faut installer BungeeCord.
2 - Activation et installation de BungeeCord
2.1 - Activation du mode BungeeCord
Pour installer BungeeCord, la première étape est d'activer le mode BungeeCord sur votre serveur BungeeCord. Pour se faire, connectez-vous sur MineStrator et dans la liste des serveurs que vous possédez, appuyez sur le bouton Gérer ce serveur de votre serveur BungeeCord. Vous arrivez alors sur l'interface de gestion de votre serveur BungeeCord. Vous devez ensuite appuyer sur l'onglet Paramètres pour accéder au paramètre du serveur.
Sur le nouvel onglet, il ne vous reste plus qu'à cliquer sur le bouton Activer le mod BungeeCord situé en bas de page. Un serveur BungeeCord fonctionne différemment d'un serveur normal, cette étape est donc indispensable pour permettre à votre serveur BungeeCord de fonctionner correctement.
2.2 Installation de BungeeCord
Maintenant que le serveur est configuré, il faut installer BungeeCord. Pour se faire, sur votre interface de gestion de votre serveur BungeeCord, cliquez sur l'onglet Version et dans l'onglet BungeeCord, installez la version désirée. Patientez quelques instants le temps de l'installation puis démarrez le serveur.
Pour la suite, préparez une connexion SFTP à votre serveur BungeeCord pour l'étape de configuration.
Pour mon exemple, sur mon serveur Pico, j'ai activé le mode BungeeCord avec le bouton Gérer mes options avancées. J'ai ensuite installé BungeeCord avec le bouton Changer de version et pour finir, j'ai démarré mon serveur et celui-ci est bien fonctionnel.
3 - Installation des autres serveurs
Les autres serveurs, le HUB et vos serveurs de jeux, sont des serveurs standards qui s'installent automatiquement avec le bouton Changer de version ou manuellement via l'openmod (vous pouvez retrouver un tutoriel sur l'openmod en cliquant ici). Ce sont vos serveurs de jeux avec vos plugins, vos mods, vos configurations, etc ... Faites les installations nécessaires (Spigot, Forge, etc... Vos plugins, vos mods, etc ...) sur vos serveurs et démarrez-les.
Pour la suite, connectez-vous en SFTP à vos différents serveurs pour l'étape de configuration.
Pour mon exemple, j'ai installé Spigot pour le serveur HUB et pour le serveur PVP. Et pour le serveur de la map Minage, j'ai installé un serveur Vanilla, car je ne souhaite pas mettre de plugins sur ce serveur.
4 - Configuration de vos serveurs
L'étape suivante est la configuration de vos serveurs. Un réseau BungeeCord se base sur le principe "Maître/Esclaves" : le serveur BungeeCord est le "Maître" et il est le point central des "Esclaves" qui communiquent entre eux grâce au "Maître". D'ailleurs, c'est le serveur BungeeCord qui définit si votre réseau est accessible aux versions crack de Minecraft ou non.
4.1 Configuration des serveurs "Esclaves"
Pour que le serveur BungeeCord puisse gérer correctement les différentes connexions, il faut modifier le fichier server.properties situées à la racine de votre serveur. Connectez-vous en SFTP et dans ce fichier, cherchez la ligne online-mode et assurez-vous qu'elle soit renseignée telle quelle : online-mode=false.
C'est le serveur BungeeCord qui va gérer l'accès aux versions crack de vos serveurs, mais il est indispensable de faire cette modification sur les autres serveurs pour que le BungeeCord puisse les relier correctement.
Cette étape est à refaire sur tous les serveurs de votre réseau BungeeCord sauf le serveur BungeeCord lui-même.
Ensuite, chaque version serveur de Minecraft peut avoir une configuration supplémentaire à modifier. Voici un exemple avec Spigot/PaperSpigot et pour les autres types de serveurs, n'hésitez pas à fouiller les fichiers de configurations de ces serveurs pour vérifier s'il n'y a pas une configuration liée à BungeeCord et à me les reporter ici.
- Pour les serveurs Spigot/PaperSpigot : toujours avec le SFTP, dans le fichier spigot.yml à la racine du serveur, au même endroit que le fichier server.properties, vous devez modifier la ligne bungeecord et la modifier pour qu'elle soit telle quelle : bungeecord: true
- Un exemple d'une autre configuration, c'est avec Sponge. Dans le fichier de configuration de Sponge, il y a une ligne liée à l'IP forwading (j'explique ce que c'est plus bas) qui doit être passée à true. N'hésitez pas à vous renseigner sur les différentes plateformes pour trouver quelles sont les variables à modifier pour un fonctionnement sous BungeeCord.
Cette étape est aussi à refaire sur tous les serveurs Spigot ou autre de votre réseau BungeeCord sauf le serveur BungeeCord lui-même.
N'oubliez pas de redémarrer les serveurs pour prendre en compte les modifications !
Pour mon exemple, j'ai donc effectué les opérations suivantes :
- Sur le SFTP du serveur HUB : j'ai modifié le fichier spigot.yml pour mettre la variable bungeecord à true
- Sur le SFTP du serveur PVP : j'ai modifié le fichier spigot.yml pour mettre la variable bungeecord à true
- Je n'ai rien modifié sur le serveur de la map Minage puisque c'est un serveur Vanilla
4.2 - Configuration du serveur BungeeCord
La configuration du serveur BungeeCord s'effectue en modifiant le fichier config.yml situé à la racine de votre serveur BungeeCord. La première étape consiste à changer les variables de base :
- La première valeur à modifier selon votre préférence est la ligne online_mode. Pour autoriser les versions crack à rejoindre vos serveurs, vous devez passer cette ligne à false. Sinon, laissez la ligne à true.
- La seconde valeur à modifier aussi selon votre préférence est la ligne max_players. Cette ligne permet de renseigner le nombre de joueurs maximum qui peut être connectée sur votre réseau de serveurs.
- La troisième valeur à modifier est la ligne ip_forward, mettez-la à true. Cette ligne permet de passer l'IP actuel du joueur entre les serveurs. C'est notamment utile pour les plugins qui utilisent l'IP (les plugins de logs, d'authentification pour les versions crack, etc ...).
- La quatrième valeur à modifier est la ligne log_pings, mettez-la à false. Ce n'est pas obligatoire, mais cette ligne empêche votre console d'être spam par des messages de logs, de statistiques et autres de BungeeCord.
Une fois ces modifications effectuées, redémarrez le serveur pour les prendre en compte et passer à la suite de la configuration.
Après le redémarrage, fermez le fichier config.yml précédemment ouvert pour l'ouvrir à nouveau.
Vous constaterez que certains champs ont été automatiquement modifiés par le serveur tandis que d'autres ont été déplacés. Ce qui nous intéresse maintenant se situe normalement en bas du fichier: c'est la partie servers. C'est à cet endroit que vous allez renseigner les différentes informations pour relier les serveurs entre eux.
- Chaque serveur possède un nom unique qui permet de les identifier facilement en jeu. Dans mon exemple, j'ai bien hub, pvp et minage.
- La valeur address correspond à l'IP de votre serveur MineStrator (que ce soit l'IP en chiffre ou l'IP en lettre).
- Attention de bien respecter l'indentation (l'espace avant le début de certaines lignes) pour éviter tout problème.
Une fois vos serveurs correctement renseignés, enregistrez le fichier et redémarrez votre serveur BungeeCord. Si le démarrage s'est correctement effectué, vous devriez être en mesure de vous connecter à Minecraft et de rejoindre votre HUB.
Pour vous connecter dans Minecraft, vous devez utiliser l'IP de votre serveur BungeeCord, les autres IP ont été désactivés par BungeeCord.
N'hésitez pas à vérifier la structure de vos fichiers avant de les sauvegarder avec un validateur YML comme le site http://www.yamllint.com/
5 - Vérifier le bon fonctionnement de vos serveurs dans Minecraft
Après vous être connecté sur Minecraft en utilisant l'IP de votre serveur BungeeCord, vous devriez arriver sur le serveur HUB, le premier de votre liste dans le fichier de configuration de votre BungeeCord. Pour vérifier que vos serveurs sont accessibles, vous avez deux commandes à votre disposition :
- La commande /server : cette commande affiche le serveur sur lequel vous êtes ainsi que la liste des serveurs accessibles.
- La commande /server <nom du serveur> : cette commande vous téléporte sur le serveur renseigné.
-
C'est la fin de ce tutoriel ! Encore une fois, il permet juste de mettre en place la base d'un serveur BungeeCord. Chaque serveur peut ensuite être personnalisé avec des plugins comme des portails de téléportation pour votre HUB et quelques mods d'ajouts de contenus.N'hésitez pas à faire un tour sur le wiki pour avoir plus d'informations sur BungeeCord : https://www.spigotmc.org/wiki/bungeecord/
De plus, n'hésitez pas à installer un plugin de protection comme BungeeGuard sur votre serveur pour ajouter une couche de protection supplémentaire.
Vous pouvez aussi retrouver ce tutoriel en vidéo à cette adresse : youtu.be/bKUAgAS4oLE
Et nous sommes toujours disponibles sur le Discord de MineStrator en cas de besoin !
Bon jeu