Introduction à Bungeecord
Bungeecord est un programme créé par l’équipe de SpigotMc. Il agit comme un proxy entre le client du joueur et les différents serveurs qui liés à celui-ci. Les joueurs sur votre serveur ne verront aucune différence entre un serveur Minecraft classique et un serveur utilisant Bungeecord.
Bungeecord vous permettra de relier plusieurs serveurs Minecraft entre eux qu’ils soient sur une même machine ou bien sur des machines différentes, ce qui vous permet beaucoup de choses comme par exemple répartir la charge de travail aux différents serveurs, créer plusieurs modes de jeux, …
De plus, Bungeecord vous permet également d’utiliser des plugins que vous pourrez trouver dans la catégorie Bungee – Proxy de SpigotMc.
Installation
Avant de commencer à installer Bungeecord, il vous faut d’abord quelques pré-requis sur votre machine, avant de commencer vous devrez installer Java sur votre serveur car c’est avec ce langage qu’a été créé Bungeecord, si vous faites déjà tourner spigot sur votre machine, vous avez probablement déjà Java d’installé.
Vous devrez ensuite créer un dossier pour y placer Bungeecord et les fichiers qu’il va générer. Une fois bungeecord placé dans ce dossier vous pourrez lancer Bungeecord à l’aide de la commande suivante
Cette commande n’est pas très facile à retenir et est assez longue à taper c’est pourquoi je vous recommande de créer un script pour la lancer plus facilement. Pour cela il vous suffit de créer un fichier supplémentaire dans le dossier avec votre Bungeecord voici la marche à suivre pour Windows et Linux.
Configuration des serveurs spigot
Afin d’avoir une installation de Bungeecord la plus sécurisée possible, je vous conseil de bien suivre cette partie du tutoriel. Pour commencer il faut que vous sachiez que tout les serveurs Minecraft liés au Bungeecord doivent être en mode hors-ligne (crack) sinon Bungeecord ne fonctionnera pas.
Pour cela dans le fichier server.properties de tout les serveurs que vous allez liés à votre Bungeecord vous devrez mettre la valeur online-mode à false.
Vous en profiterez pour mettre la valeur server-ip à 127.0.0.1 pour que seul le Bungeecord puisse accéder au serveur.
Et la valeur network-compression-threshold à -1 pour désactiver la compression des packets envoyer à Bungeecord, en effet puisque dans cette configuration bungeecord communique avec les serveurs en local, compresser les packets avant de les envoyer serais une perte de temps et de ressources.
Dans le spigot.yml des serveurs que vous voulez liés au Bungeecord, vous devrez changer la valeur bungeecord pour le mettre à true.
Configuration de bungeecord
Dans cette partie, je vais détailler toutes les parties de la configuration de bungeecord point par point.
Tout d'abord il faut savoir que la valeur "true" signifie "vrai" donc activé et la valeur "false" signifie "faux" donc désactivé.
Connexion d’un serveur spigot à Bungeecord
La partie servers de la configuration permet de lier des serveurs spigot au Bungeecord, pour ajouter un serveur, vous devez ajouter dans la partie servers une partie avec le nom de votre serveur, puis y ajouter la partie address avec pour valeur l’ip et le port du serveur spigot (127.0.0.1:NOMBRE_DU_PORT en local), et la partie motd sert à définir un motd spécifique à ce serveur, et la partie restricted sert à restreindre l’accès au serveur par une permission (bungeecord.server.NOM_DU_SERVEUR)
Une fois que votre Bungeecord est configuré vous n’avez plus qu’à le démarrer avec votre script.
Aller plus loin
Je n'ai pas pu couvrir toutes les fonctionnalités de Bungeecord dans ce tutoriel, je mets donc des liens qui peuvent vous être utile pour aller plus loin ou vous aider dans son installation ainsi que les liens des articles qui m'ont permis de rédiger ce tutoriel.
Bungeecord est un programme créé par l’équipe de SpigotMc. Il agit comme un proxy entre le client du joueur et les différents serveurs qui liés à celui-ci. Les joueurs sur votre serveur ne verront aucune différence entre un serveur Minecraft classique et un serveur utilisant Bungeecord.
Bungeecord vous permettra de relier plusieurs serveurs Minecraft entre eux qu’ils soient sur une même machine ou bien sur des machines différentes, ce qui vous permet beaucoup de choses comme par exemple répartir la charge de travail aux différents serveurs, créer plusieurs modes de jeux, …
De plus, Bungeecord vous permet également d’utiliser des plugins que vous pourrez trouver dans la catégorie Bungee – Proxy de SpigotMc.
Installation
Avant de commencer à installer Bungeecord, il vous faut d’abord quelques pré-requis sur votre machine, avant de commencer vous devrez installer Java sur votre serveur car c’est avec ce langage qu’a été créé Bungeecord, si vous faites déjà tourner spigot sur votre machine, vous avez probablement déjà Java d’installé.
Vous devrez ensuite créer un dossier pour y placer Bungeecord et les fichiers qu’il va générer. Une fois bungeecord placé dans ce dossier vous pourrez lancer Bungeecord à l’aide de la commande suivante
Code:
java -Xms512M -Xmx512M -jar Bungeecord.jar
Si vous ne comprenez pas cette commande je vais expliquer ici chaque partie une par une.
On commence par le premier mot, java qui indique que l'on veut utiliser java.
Ensuite chaque “-” indique qu’on ajoute une option à cette commande pour lui indiquer quoi faire.
-Xms512M – Cet argument sert à définir la quantité de mémoire vive disponible au moment du démmarage ici 512 et le M représente le prefix de l’unité (M pour méga, G pour giga), l’unité étant dans ce cas l’octet.
-Xmx512M – Cet argument sert à définir la quantité maximale de mémoire vive que le programme pourra utiliser.
-jar – sert à préciser que l’on veut executer un fichier “.jar”
Bungeecord.jar – c’est le nom du programme que l’on veut lancer ici notre Bungeecord.
Si vous ne comprenez pas tout, ce n’est pas très grave mais je pense qu’il est toujours mieux de savoir ce que l’on fait lorsque l'on utilise un programme.
On commence par le premier mot, java qui indique que l'on veut utiliser java.
Ensuite chaque “-” indique qu’on ajoute une option à cette commande pour lui indiquer quoi faire.
-Xms512M – Cet argument sert à définir la quantité de mémoire vive disponible au moment du démmarage ici 512 et le M représente le prefix de l’unité (M pour méga, G pour giga), l’unité étant dans ce cas l’octet.
-Xmx512M – Cet argument sert à définir la quantité maximale de mémoire vive que le programme pourra utiliser.
-jar – sert à préciser que l’on veut executer un fichier “.jar”
Bungeecord.jar – c’est le nom du programme que l’on veut lancer ici notre Bungeecord.
Si vous ne comprenez pas tout, ce n’est pas très grave mais je pense qu’il est toujours mieux de savoir ce que l’on fait lorsque l'on utilise un programme.
Cette commande n’est pas très facile à retenir et est assez longue à taper c’est pourquoi je vous recommande de créer un script pour la lancer plus facilement. Pour cela il vous suffit de créer un fichier supplémentaire dans le dossier avec votre Bungeecord voici la marche à suivre pour Windows et Linux.
il faut créer un fichier avec l’extension .sh (shell) par exemple “start.sh” et y mettre ceci:
la ligne #!/bin/sh indique à linux qu’il doit utiliser le shell classique
Avant d’executer ce script, vous devrez ajouter les permissions pour l’executer, avec la commande
Sur linux il est recommandé d’installer le programme tmux afin de pouvoir lancer plusieurs serveurs à la fois, sinon vous serez bloqué dans la console du serveur. Si vous utilisez tmux vous devrez modifier le script comme ceci:
Explications:
-d permet de lancer la session en mode détaché ignifie “modé détaché”, le script va donc s'éxecuter sans ouvrir la console.
-s permet de donner un nom à la session, ici : bungeecord
Code:
#!/bin/sh
java -Xms512M -Xmx512M -jar Bungeecord.jar
la ligne #!/bin/sh indique à linux qu’il doit utiliser le shell classique
Avant d’executer ce script, vous devrez ajouter les permissions pour l’executer, avec la commande
Code:
chmod a+x start.sh
Sur linux il est recommandé d’installer le programme tmux afin de pouvoir lancer plusieurs serveurs à la fois, sinon vous serez bloqué dans la console du serveur. Si vous utilisez tmux vous devrez modifier le script comme ceci:
Code:
#!/bin/sh
tmux new-session -d -s bungeecord java -Xms512M -Xmx512M -jar Bungeecord.jar
Explications:
-d permet de lancer la session en mode détaché ignifie “modé détaché”, le script va donc s'éxecuter sans ouvrir la console.
-s permet de donner un nom à la session, ici : bungeecord
Il faut créer un script avec l’extension “.bat” et y mettre ceci:
Ici le @echo off sert à masquer des informations peu utiles comme le chemin du fichier.
Ensuite on retrouve la commande pour lancer le programme, puis pause pour arrêter l’execution du script.
Code:
@echo off
java -Xms512M -Xmx512M -jar Bungeecord.jar
pause
Ici le @echo off sert à masquer des informations peu utiles comme le chemin du fichier.
Ensuite on retrouve la commande pour lancer le programme, puis pause pour arrêter l’execution du script.
Configuration des serveurs spigot
Afin d’avoir une installation de Bungeecord la plus sécurisée possible, je vous conseil de bien suivre cette partie du tutoriel. Pour commencer il faut que vous sachiez que tout les serveurs Minecraft liés au Bungeecord doivent être en mode hors-ligne (crack) sinon Bungeecord ne fonctionnera pas.
Pour cela dans le fichier server.properties de tout les serveurs que vous allez liés à votre Bungeecord vous devrez mettre la valeur online-mode à false.
Vous en profiterez pour mettre la valeur server-ip à 127.0.0.1 pour que seul le Bungeecord puisse accéder au serveur.
Et la valeur network-compression-threshold à -1 pour désactiver la compression des packets envoyer à Bungeecord, en effet puisque dans cette configuration bungeecord communique avec les serveurs en local, compresser les packets avant de les envoyer serais une perte de temps et de ressources.
Dans le spigot.yml des serveurs que vous voulez liés au Bungeecord, vous devrez changer la valeur bungeecord pour le mettre à true.
Configuration de bungeecord
Dans cette partie, je vais détailler toutes les parties de la configuration de bungeecord point par point.
Tout d'abord il faut savoir que la valeur "true" signifie "vrai" donc activé et la valeur "false" signifie "faux" donc désactivé.
player_limits – Permet de définir le nombre de slots, “-1” pour infini.
ip_forward – Communique l’ip et l’uuid des joueurs aux serveurs spigot, il est recommandé d’y mettre “true”.
permissions – Permet de créer des groupes de permissions, il est recommandé d’utiliser un plugin de permission plutôt que celles de la configuration.
timeout – Combien de temps le serveur peut rester sans répondres avant de séteindre.
log_commands – Vrai, si les commandes doivent apparaitre dans les logs
online_mode – "true" = Premium (En-Ligne) et "false" = Crack (Hors-Ligne)
query_port – Le port utilisé par certains services pour faire des requêtes (ex: récupérer le MOTD)
motd – Le message affiché dans la liste des serveurs.
priorities – La liste des serveurs sur lequel le joueur peut être connecté dans leur ordre de priorité
bind_local_address – Utile si vous avez des serveurs sur plusieurs machines
tab_list – Ne fonctionne pas dans les version superieur à la 1.8, permet de changer le fonctionnement de la tablist.
host – l’ip et le port utilisé par le bungeecord 0.0.0.0:25565 pour l’ouvrir à tous, 127.0.0.1:25565 pour l’ouvrir en local.
forced_hosts – Forcer la connexion sur un serveur si une ip précise a été utilisé.
max_players – Nombre de joueurs maximum affichés (ne limite pas les slots)
tab_size – Taille maximale de la tablist
ping_passthrough – Permet de récupérer le motd des serveurs avec l’utilisation de forced_hosts
force_default_server – Vrai, si le joueur doit être redirigé sur le serveur par défaut à chaque connexion.
proxy_protocol – Permet d’utiliser un protocol différent, utile pour des utilisateurs avancés.
disabled_commands – Liste de commandes à désactiver
network_compression_threshold – A partir de quelle taille les packets doivent être compressés avant l’envoi.
groups – Assigner des groupes de permission aux joueurs.
connection_throttle – Délai minimal entre deux connexions (en ms)
connection_throttle_limit – Nombre de connexions avant de bloquer la connexion du joueur pendant le délai défini.
stats – Identifiant unique pour mcstats (sert à bungeecord pour faire des statistiques)
forge_support – Si votre serveur supporte forge ou non
inject_commands – Permet d’activer l’auto complétion des commandes bungeecord (BETA)
ip_forward – Communique l’ip et l’uuid des joueurs aux serveurs spigot, il est recommandé d’y mettre “true”.
permissions – Permet de créer des groupes de permissions, il est recommandé d’utiliser un plugin de permission plutôt que celles de la configuration.
timeout – Combien de temps le serveur peut rester sans répondres avant de séteindre.
log_commands – Vrai, si les commandes doivent apparaitre dans les logs
online_mode – "true" = Premium (En-Ligne) et "false" = Crack (Hors-Ligne)
query_port – Le port utilisé par certains services pour faire des requêtes (ex: récupérer le MOTD)
motd – Le message affiché dans la liste des serveurs.
priorities – La liste des serveurs sur lequel le joueur peut être connecté dans leur ordre de priorité
bind_local_address – Utile si vous avez des serveurs sur plusieurs machines
tab_list – Ne fonctionne pas dans les version superieur à la 1.8, permet de changer le fonctionnement de la tablist.
host – l’ip et le port utilisé par le bungeecord 0.0.0.0:25565 pour l’ouvrir à tous, 127.0.0.1:25565 pour l’ouvrir en local.
forced_hosts – Forcer la connexion sur un serveur si une ip précise a été utilisé.
max_players – Nombre de joueurs maximum affichés (ne limite pas les slots)
tab_size – Taille maximale de la tablist
ping_passthrough – Permet de récupérer le motd des serveurs avec l’utilisation de forced_hosts
force_default_server – Vrai, si le joueur doit être redirigé sur le serveur par défaut à chaque connexion.
proxy_protocol – Permet d’utiliser un protocol différent, utile pour des utilisateurs avancés.
disabled_commands – Liste de commandes à désactiver
network_compression_threshold – A partir de quelle taille les packets doivent être compressés avant l’envoi.
groups – Assigner des groupes de permission aux joueurs.
connection_throttle – Délai minimal entre deux connexions (en ms)
connection_throttle_limit – Nombre de connexions avant de bloquer la connexion du joueur pendant le délai défini.
stats – Identifiant unique pour mcstats (sert à bungeecord pour faire des statistiques)
forge_support – Si votre serveur supporte forge ou non
inject_commands – Permet d’activer l’auto complétion des commandes bungeecord (BETA)
Connexion d’un serveur spigot à Bungeecord
La partie servers de la configuration permet de lier des serveurs spigot au Bungeecord, pour ajouter un serveur, vous devez ajouter dans la partie servers une partie avec le nom de votre serveur, puis y ajouter la partie address avec pour valeur l’ip et le port du serveur spigot (127.0.0.1:NOMBRE_DU_PORT en local), et la partie motd sert à définir un motd spécifique à ce serveur, et la partie restricted sert à restreindre l’accès au serveur par une permission (bungeecord.server.NOM_DU_SERVEUR)
Une fois que votre Bungeecord est configuré vous n’avez plus qu’à le démarrer avec votre script.
Aller plus loin
Je n'ai pas pu couvrir toutes les fonctionnalités de Bungeecord dans ce tutoriel, je mets donc des liens qui peuvent vous être utile pour aller plus loin ou vous aider dans son installation ainsi que les liens des articles qui m'ont permis de rédiger ce tutoriel.
Un autre tutoriel sur ce forum avec des informations complémentaires
https://minecraft.fr/forum/threads/...erveurs-entre-eux-epicube-hypixel-etc.138115/
Téléchargement de Bungeecord
https://ci.md-5.net/job/BungeeCord/
Wiki Bungeecord officiel (Anglais)
https://www.spigotmc.org/wiki/bungeecord/
Tmux
https://doc.ubuntu-fr.org/tmuxtmux [Wiki ubuntu-fr] (ubuntu-fr.org)
Arguments Java
https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html
RedisBungee (Plugin permettant de lier plusieurs Bungeecord)
https://www.spigotmc.org/resources/redisbungee.13494/
Iptables (un logiciel permettant de sécuriser son serveur Linux)
https://help.ubuntu.com/community/IptablesHowTo
https://minecraft.fr/forum/threads/...erveurs-entre-eux-epicube-hypixel-etc.138115/
Téléchargement de Bungeecord
https://ci.md-5.net/job/BungeeCord/
Wiki Bungeecord officiel (Anglais)
https://www.spigotmc.org/wiki/bungeecord/
Tmux
https://doc.ubuntu-fr.org/tmuxtmux [Wiki ubuntu-fr] (ubuntu-fr.org)
Arguments Java
https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html
RedisBungee (Plugin permettant de lier plusieurs Bungeecord)
https://www.spigotmc.org/resources/redisbungee.13494/
Iptables (un logiciel permettant de sécuriser son serveur Linux)
https://help.ubuntu.com/community/IptablesHowTo
Dernière édition: