Tutoriel Installation et Configuration de Bungeecord

Discussion dans 'Tutoriels serveur' créé par Kaeios, 5 Juin 2019.

  1. Kaeios

    Kaeios Bucheron

    Inscrit:
    13 Avril 2019
    Messages:
    20
    J'aime reçus:
    4
    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

    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.
    -Xmx512MCet argument sert à définir la quantité maximale de mémoire vive que le programme pourra utiliser.
    -jarsert à 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:
    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 screen afin de pouvoir lancer plusieurs serveurs à la fois, sinon vous serez bloqué dans la console du serveur. Si vous utilisez screen vous devrez modifier le script comme ceci:

    Code:
    #!/bin/sh
    
    screen -dmS bungeecord java -Xms512M -Xmx512M -jar Bungeecord.jar
    

    Explications:

    -dmS. dm signifie “modé détaché”, le script va donc se lancer sans ouvrir la console. Le S permet de préciser le nom du screen ici bungeecord.

    Il faut créer un script avec l’extension “.bat” et y mettre ceci:

    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_limitsPermet de définir le nombre de slots, “-1” pour infini.
    ip_forwardCommunique l’ip et l’uuid des joueurs aux serveurs spigot, il est recommandé d’y mettre “true”.
    permissionsPermet de créer des groupes de permissions, il est recommandé d’utiliser un plugin de permission plutôt que celles de la configuration.
    timeoutCombien de temps le serveur peut rester sans répondres avant de séteindre.
    log_commandsVrai, si les commandes doivent apparaitre dans les logs
    online_mode"true" = Premium (En-Ligne) et "false" = Crack (Hors-Ligne)
    query_portLe port utilisé par certains services pour faire des requêtes (ex: récupérer le MOTD)
    motdLe message affiché dans la liste des serveurs.
    prioritiesLa liste des serveurs sur lequel le joueur peut être connecté dans leur ordre de priorité
    bind_local_addressUtile si vous avez des serveurs sur plusieurs machines
    tab_listNe 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_hostsForcer la connexion sur un serveur si une ip précise a été utilisé.
    max_playersNombre de joueurs maximum affichés (ne limite pas les slots)
    tab_sizeTaille maximale de la tablist
    ping_passthroughPermet de récupérer le motd des serveurs avec l’utilisation de forced_hosts
    force_default_serverVrai, si le joueur doit être redirigé sur le serveur par défaut à chaque connexion.
    proxy_protocolPermet d’utiliser un protocol différent, utile pour des utilisateurs avancés.
    disabled_commandsListe de commandes à désactiver
    network_compression_thresholdA partir de quelle taille les packets doivent être compressés avant l’envoi.
    groupsAssigner des groupes de permission aux joueurs.
    connection_throttleDélai minimal entre deux connexions (en ms)
    connection_throttle_limitNombre de connexions avant de bloquer la connexion du joueur pendant le délai défini.
    statsIdentifiant unique pour mcstats (sert à bungeecord pour faire des statistiques)
    forge_supportSi votre serveur supporte forge ou non
    inject_commandsPermet 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/

    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
     
    #1 Kaeios, 5 Juin 2019
    Dernière édition: 5 Juin 2019
  2. DiscowZombie

    DiscowZombie Dev passionné
    Staff Modérateur Support

    Inscrit:
    2 Mars 2017
    Messages:
    2 555
    J'aime reçus:
    853
    Salut,

    je pense qu'il serait intéressant de rajouter un point sur les proxys alternatifs, notamment car BungeeCord ne va plus supporter les Mods après la 1.13. ;)
     
    Benliam apprécie ceci.
  3. Kaeios

    Kaeios Bucheron

    Inscrit:
    13 Avril 2019
    Messages:
    20
    J'aime reçus:
    4
    Salut, je ne connais pas beaucoup de proxys alternatifs autres que Waterfall (un fork de bungee) et Lilypad. Où as-tu vu que le support des mods va être retiré après la 1.13 ? Je n'ai pas réussi à trouver d'informations à ce sujet.
     

Partager cette page