BungeeCord; I’m going to explain you why is it usefull for, why it is a great tool for Minecraft server’s administrators, how we can deploy it. I hope you’re pumped up because you’re going to be able to do great things with Bungee. “BungeeCord”, also named “Bungee”, is a proxy for your Minecraft server. And a proxy, is a node inside the network which can give you information about your request but while hiding what’s behind and in front of it. He’s a relay between you and your listener. But what’s the interest of having a proxy for your Minecraft server ? Actually, there is many. First, you can own multiple Minecraft servers and link them together behind your proxy, which allow you to load balance all your players on all your network. Here is a concrete example: You want to create a mini-game server, with four games on it. You can say to yourself : “Ok, I’m gonna create a server with five worlds on it, a lobby world, which will be used to choose the games, and four worlds for the games.” And it could be ok ! But for a few players. Now imagine that your server community is growing Forcing you to open ten mini-games worlds.. per mini-game type ! Which gives us 40 worlds for your server + 1 world for your lobby. In absolute… it is not impossible… But it would be a disaster for your server and his performances, that it could be unplayable. Actually, a Minecraft server is monothreaded by it’s biggest part. That means he owns a single thread, and all is executed inside it. – The player’s movements calculation – The mobs’s AI – Your tiny wheat field growing up at spawn point – etc, etc. And the problem with that is … today we’ve Multicore CPUs. So, they allow and are designed to execute multiple threads at the same time, and to handle tasks faster. Which means for your Minecraft server, that you’re only using one core among all availbables on your machine, and so, you’re very limited on players count on your server. You’ve two solutions to fix this issue : – Either you pay a biggest machine and that’s expensive, and you ruin your money for a better CPU and to increase your amount of player, by not using 100% of your CPU, by keeping in mind you’ll be VERY QUICKLY limited; – Either you use all the core on your machine’s CPU, by creating muliple servers without spending money. That’s when BungeeCord comes and he is magic ! He can load balance all the players on all your servers without having to give all your players all your servers IP address and ask them to connect Everytime they want to play a mini-game. For the player, all goes like he never quit your server, and he would believe he’s on the same server. The second goal to use a proxy, is that if one day you decide to use 100% of your machine CPU, by using the technic I gave you, You’ll be able to pay for a second machine and spread your players on the second machine. Or a third … and so on ! The only limit is the proxy capabilities. And trust me, this is high. 🙂 By using this technic, some servers can handle thousands Of players on their network and create huge communities ! To finish, the third goal of using a proxy like BungeeCord, is that you can create a server that get all the players on the connection, which is basically name a lobby or a hub. So you can load theirs data gracefully, like theirs stats, and use it on all your network, without having to load it back everytime a player switch from servers. All the data process is on a main flow and it’s easier to handle for the devs. So to conclude, BungeeCord is : – The possibility to create huge communities and to divide your server project on a network. – A cheaper cost of the machine which is used for your MC server. – Main flow and easier handle of your datas Now that you know how BungeeCoord works We’ll have a look at the configuration and installation of the proxy. Let’s go, I’m going to create a new folder named “Servers” which is going to regroup my proxy and my servers. So inside, I create a new folder : “Bungee”, and a folder : “Server 1”. A folder : “Server2”, And a folder : “Server 3”. When it’s done, we’ll have to download BungeeCord and Spigot. Then, we’ll be able to place Spigot in “Servers”, and start our servers. And BungeeCord to be able to install the proxy. BungeeCord is the proxy. In order to do that, I’m going to provide you a little tip, if you don’t want to take time to compile Spigot by yourself. There is some sites which can be used, the most known is, this one : http://tcpr.ca. So, you’ve mirror links, and all Spigot downloadings And so on. You go in Vanilla, and you can download Spigot here. So … Apparently … Nop, all right. You can download it here. 🙂 So for 1.11.2, you take direct download link. And for BungeeCord, you go in “Network”, and BungeeCord. Same here, you only take the latest version.. And you check it is compatible with your Spigot version. And you download the latest here. Ok, now all is downloaded, you place “Spigot” in your servers. So here, I’m going to duplicate… in every server directory… and BungeeCord, you place it in “BungeeCord” directory. Now, we’ve the proxy and the servers ready to go. We’re going to, start BungeeCord To do that, we’ll need command prompt on Windows, and Terminal on macOS. To open it, press “windows” + “R” keys on your keyboard if you’re on Windows and type “cmd”, and for macOS, “Terminal” in your Spolight search bar, That’s the same. So we have to navigate in BungeeCord folder. So I type “cd” and I copy because I’m on macOS, but if you can’t you write the entire folder path. If you check, you’ve BungeeCord here, and we’re going to start it by typing : “java -jar -Xms512M -Xmx512M BungeeCord-1217.jar” Press “Enter”, and normally, it will automatically create you all config files. Easy as that, now BungeeCord is started. To shut it down, just write: “end” command and press “Enter”. And we’re going to shut it down because we need to edit the configuration files of the proxy. Here, you’ve “config.yml” file, which will be edited in less than 2 minutes, here you’ve the file “location.yml” which will allow BungeeCord to save on which server, you’ve disconnected last time you played. The “modules” folder, is what is used by BungeeCord to run. Simply don’t touch it. Same here, you’ve a “plugins” folder. Which allow you to programm some BungeeCord plugins. But we’ll cover this in others videos. So what’s interesting here is, to edit file “config.yml”. So I’m gonna open it up. You open it with a modern text editor , don’t use “notepad” from Windows else, you cannot do something good with. 😛 As for me, I’m gonna use “Atom” here, But there is many others. (I recommand VS Code now) So, let me explain you the proxy configuration. Here you’ve “player_limit” which correspond, to the limit of players you want on your server. So “-1” is infinite. If you want to put player limit, For example, “100”, you write “100” here. “ip_forward” correspond to : “Is the proxy giving servers my real player IP adress here ?” So, as I explained on the schéma, you’ve a proxy in front of your servers, and you’ve to connect through the proxy to have access on servers. If you set “ip_forward” to “false”, when you connect on a server through the proxy, the server won’t have your IP here but the proxy IP. If you want to open a, premium server and you disable this, this is impossible. If you wan’t a premium server, you need your real IP address here, To allow Mojang to check your account, and so on. Good. Permissions here. So, you’ve the permission for the /server and /glist. That’s for default permissions, and here you’ve admin permissions, to get player IP, end the proxy and so on. It is yours to handle. 🙂 Then, you’ve the time out, which is in millis, so 30 seconds, (if we divide by 1000), after 30 seconds, if the proxy doesn’t respond, everyone get disconnected from the servers. Then you’ve : “Do I want to log commands ?”, and online-mode: true, Donc whether I want to open a cracked server or not ? So I’m going to say “Yes” “Yes” to online server so no cracked. Then you’ve server list. And we’ll edit here. So we had “server1″… Copy this. You can see the indentation is not good here, always pay attention to it; It is very important. And so here, “server2”, and “server3”. So, on each servers you created, you can change “message of the day, the tiny message under your server on the server lists, and you can change server port. So the first we’ll place it on port 25566. The second on the 25567. And the third on the 25568. But, you’re telling to yourself: “Yeeaaah but why we don’t user default port 25565 for at least the first server ?” – Actually, down is the listeners here… You’ve here what correspond to the ping of your server. When a player add yourserver To his list on multiplayer menu, all goes from here. You can change the real “motd” here on your proxy. So I’m gonna put by exemple “Coucou” (Hello in French) And, you’ve the ability to priorities on which server to connect first, You write here : “server1”. There, there is “tablist” you change the global ping result here. You have 3 pings type: GLOBAL, GLOBAL_PING and SERVER. Since Minecraft 1.8, GLOBAL & GLOBAL PING does not work anymore. Because Minecraft 1.8 change the way it handle the tablist. So this, is used to define When you look at the tablist on your server when you’re playing, if you see all players on the network, aka on all servers, or if you see only the players on lthe same server. So you can write “SERVER”, because others doesn’t work anymore. If you want to do it nowadays, you’ll have to use a BungeeCord plugin. Next here, the important line is the host 0.0.0.0 which mean here, all IP are allowed to connect on the network, and you can change your server port here, you put 25565. You write the default port here. You’ve then “forced-host” which correspond to if for example, you enter a domain name or subdomain, for me it’s: “beta.minewar.fr” “beta.minewar.fr” on which server it’s going to connect you, if I say “beta.minewar.fr”, we can for example use “server2”. Then you’ve the max player you want to display on The multiplayer menu server ping, so I’m going to write 100 like on the server here. The “tablist-size”, is not used anymore now because of this option here. The “ping_passthrough”, is : do you want to pass the ping through all the servers here ? You can set it to false, it’s not necessarly required. And it’s not so usefull since what we’ve done here has changed. And you’ve “force_default_server”, which is when you disconnected from the network on by example server2, does it reconnect you on server1, or should it reconnect you on server2 ? Basically, you use that when you’ve a lobby / hub, You disconnect from a mini-game, and it will force you to reconnect to lobby. So I set it to false like it already is. You’ve the possibility to disable some commands, and you’ve the network compression, simply don’t touch it. You’ve players groups, so you can define permissions here. As for me, I’m Grimille, I’ll Go for admin rank. 😎 If you’ve others admins, simply add more cases here. And finally you’ve the “connection_throttle” which allow you to define how many seconds, you’ll be allow to try to reconnect on the network. The is usefull to avoid spamming attack. For example, if you’re connecting, and you Disconnect, you’ll have to wait 4 seconds before reconnecting, else it will say you’re attacking. Bad boy ! So you can let 4 seconds, that’s pretty ok, or 3 seconds, depends on your needs. Then the stats, but you don’t touch here, It’s inside BungeeCord, and they say “Don’t touch it” so we don’t and we keep that promise or we burn in hell (Ok I really didn’t say that ^^). (Translate still in progress June, 17 2019) Donc, une fois que c’est fait vous enregistrer, CTRL + S; et on va pouvoir démarrer BungeeCord. Donc pour le redémarrer, c’est très simple : vous faites flèche du haut; et vous faites “Entrée” Donc normalement, si notre serveur a bien été configuré, il ne devrait pas y avoir de soucis ici… Donc je regarde vite fais, il n’y a pas l’air d’avoir de soucis … OK. Donc c’est bon. Il n’y a pas de soucis. Donc théoriquement, si on se connectait ici, on devrait pouvoir ping le serveur, donc je vais essayer.. Alors, j’avais mis la 1.11.2.. Normalement, si on ajoute notre serveur en fait dans la liste on devrait pouvoir voir notre serveur en ligne. Sauf qu’il y aurait rien derrière en fait … on a pas démarré les sous-serveurs ici. Je vais essayer .. “Add server”. Je vais l’appeler.. “Local”” “Localhost” donc votre adresse IP sur la même machine, c’est “localhost”, je ne vous apprends rien. Et on avait dit que le port, c’était 25565, donc le port par défaut. Et si je ping, voilà, il est bien écrit ici : “Coucou”. Avec le nombre joueurs que j’ai demandé. Donc, si je me connecte, ça ne marchera pas. parce qu’il n’y a rien derrière. Voilà, donc là, ça tourne en rond, ça ne sert à rien. Vous pouvez voir que là, j’ai une erreur parce que justement, il ne trouve rien. Donc si on regarde la console, vous pouvez voir qu’il y a l’IP 127.0.0.1 qui essait de se connecter, donc c’est moi, c’est mon ip locale. Et je me suis déconnecter ici, parce qu’il n’y a pas de serveurs disponibles. Donc, pour mettre des serveurs disponibles, on va devoir démarrer les serveurs de Spigot ici. Donc pour faire ça, du coup, on va ouvrir un nouvel onglet “New Tab”… Vous, vous pouvez ouvrir une nouvelle ligne de commande si vous avez besoin, il n’y a pas de soucis. Et on va se déplacer dans le dossier de serveurs, donc: cd .. Hop .. Serveur 1. Donc dedans j’ai Spigot 1.11.2, et je vais le démarrer en faisant un “java -jar spigot-1.11.2-R-0.1-SNAPSHOT.jar” Donc voilà je peux ajouter ici de la mémoire, on va peut-être le faire. alors, la mémoire, comme je suis tout seul, on va pas en mettre beaucoup donc … “-Xms512M” “-Xmx512M” Donc là, ça c’est à vous d’ajuster selon votre communauté, si vous avez besoin de mémoire ou pas. Donc si j’appuie sur “Entrée”, il y a Spigot qui se charge. Et normalement, ça va me créer des dossiers… Donc normalement, il faut accepter les conditions Voilà, les EULA ici… Donc, on va les modifier, le serveur s’est arrêté parce qu’on a pas accepter les EULAs. Donc, on clique ici, on modifie La valeur ici, donc ils le disent, si vous changez la valeur par “true”, cela veut dire que vous acceptez les conditions d’utilisations.. Du coup, vous mettez “true”, vous enregistrez.. et vous pouvez redémarrer le serveur, en faisant “Flèche du haut”. Donc, pendant que ça charge ici, on va faire pareil, on va copier ce Fichier EULA pour pas devoir le faire à chaque fois dans tous les dossiers de serveurs. Comme ça on ne va pas devoir le faire à chaque fois, de devoir accepter les EULAs nous-même. Alors, il nous dit : “Impossible de binder le port Parce que le port 25565 est déjà utilisé. Et en fait, c’est logique, parce que le port 25565 est déjà utilisé par BungeeCord. Donc pour ça, on va devoir changer la configuration de Spigot. Pour changer la configuration de Spigot, c’est ici : Dans “spigot.yml”, et on va devoir aussi changer le “server.properties”. On va commencer par “server.properties”. Ça vous permet de changer un peu les configurations de votre serveur. Donc vous avez ici, c’est “online-mode”, vous le mettez à “false”, parce que c’est un serveur Spigot qui est lié à Bungee. Et en fait, le “online-mode”, quand vous êtes Avec Bungee, vous devez le mettre obligatoirement à “false”, même si vous voulez faire un serveur qui soit en ligne qui soit premium, en fait c’est BungeeCord qui gère l’authentification, du coup vous ici, au niveau du serveur, vous devez le mettre à false. Et au niveau du “server-ip”, vous devez mettre “127.0.0.1” Si vous êtes sur la même machine. Si vous avez plusieurs machines de serveurs, il va falloir du coup mettre un firewall, donc je le ferais peut-être dans une prochaine vidéo, mais en gros, il faut configurer un firewall pour éviter qu’on puisse de connecter À votre serveur sans passer par votre proxy et du coup de pouvoir, pirater votre serveur parce qu’il sera en “online-mode: false”. Le “server-port”, ici, donc “server1”, on avait dit 25566. Donc voilà, j’enregistre. Et on va changer le “spigot.yml”. Alors dans” “spigot.yml”, il y a peu de choses à changer. On ouvre ici … Et normalement, il y a une ligne … il faut que je la trouve… Il y a une ligne qui correspond à: “Est ce que ce serveur Spigot est dirigé par BungeeCord ?” Donc, c’est ici, vous mettez “bungeecord” à “true”. Et il faut .. alors Je sais pas si c’est ici .. il faut désactiver le “connection-throttle”. Alors, c’est pas ici, ça doit être dans le “bukkit.yml”, donc on sauvegarde. Et du coup dans le “bukkit.yml”, vous changez… ici le “connection-throttle”. Il est … Il est là, voilà. Donc le “connection-throttle”, vous le désactivez, vous le mettez à “-1”. Parce que c’est BungeeCord qui gère ça. Et que donc, on doit le mettre à “-1”. Une fois que c’est fait, vous pouvez fermer, et vous pouvez rédémarrer votre serveur normalement, il n’y a pas de soucis. Donc on va faire ça pour tous les autres serveurs. Donc, pour aller plus vite je vais copier … Ah ben non en fait, parce que tout change… Donc je vais démarrer un autre serveur. Donc fermer l’onglet, “New Tab” On va aller dans le serveur 2, et on va faire exactement la même chose. Sauf qu’on va changer le numéro de port. Alors, on va faire un “java “-Xms512M -Xmx512M -jar Spigot -machin.jar. Donc ça va ouvrir, ça va planter parce que le port est déjà utilisé. Donc ici, vous pouvez voir que le serveur, il tourne, donc maintenant ça c’est fait. On a plus qu’à le laisser. Donc si vous êtes sur Linux, etc, enfin, même sur Windows, vous devez faire un petit script “.bat”, ça se trouve très facilement sur Internet, ou au pire, je vous mettrai un lien dans la description, Ça va très vite à faire et ça vous permet en fait de laisser tourner votre serveur tout le temps sans devoir garder la fenêtre ouverte. Donc voilà, “failed to bind port”, il faut qu’on édite ici, le fichier, du coup: “server.properties”. Voilà, donc on change le port, on avait dit que le deuxième, ce serait 25567. Le “server-ip”, on va le mettre à “127.0.0.1”. Et, le “online-mode” à “false”. Voilà, donc je sauvegarde. Ensuite. On doit modifier “spigot.yml”, indiquez ici, que c’est un BungeeCord. Et ensuite, on va modifier le “bukkit.yml” ici, et On va mettre le “connection-throttle : -1”. pour le désactiver. On fait la même chose avec le serveur 3, je vais faire un nouvel onglet; “New Tab” “cd Serveur3”. On va faire un “java -Xms512M -Xmx512M Ah bon, ben, il y a Siri qui a décider de s’activer tout seul. -jar Ok, je sais pas pourquoi il a s’est activé, de mon iPhone. Mais c’est pas grave. Donc voilà, on démarre le serveur, ça va planter. Donc pendant ce temps là, on peut redémarrer le deuxième. Normalement, le deuxième est bon, donc on a plus qu’à faire “Flèche du haut” ici. Donc ça va nous créer tout ce qu’il faut ici, ça va nous générer le monde. Ici donc, du coup ça a bien planté. On va éditer, pareil, le “server.properties”, On avait dit que c’était le troisième serveur. Le 25568. Le “online-mode” à “false”. Et, on a oublié un truc … le “server-ip” a “127.0.0.1”. Voilà. Et, au niveau du “spigot.yml”, ici “bungeecord: true”, et au niveau du “bukkit.yml”… “connection-throttle”, désactivé. Voilà donc là vous avez trois serveurs qui sont prêts. Vous n’avez plus qu’à les démarrer. Celui là est démarré, celui là est démarré, c’est bon. et, donc on va sur BungeeCord, pour tester ça tout de suite. Sur le serveur, si je refresh, rien n’a changé. Ici, j’ai toujours mon serveur local, mais maintenant, je peux m’y connecter. Voilà, donc là, je suis sur le serveur 1. Alors, voir la liste de vos serveurs, vous pouvez faire “/server list”. Pardon, “/server”. Alors, il dit, vous pouvez vous connecter aux serveur suivants … “server1”, “server3”, “server2”. Donc, si vous voulez aller sur le serveur, vous faites “/server server2”. “/server server2”. Voilà, donc ça vous connecter sur le deuxième serveur. Et si vous voulez aller sur le 3, vous avez compris “/server server3”. Et donc là, vous avez 3 serveurs différents, Sur le même réseau sans devoir de déconnecter et repasser par le menu pour changer de serveur. Voilà, c’est la fin de cette première vidéo de cette nouvelle série de tutoriels. J’espère que vous avez aimé, si c’est le cas, n’hésitez pas à vous abonner à À ma chaîne et à mettre un pouce bleu sur la vidéo. Maintenant vous avez un outils assez formidable et assez puissant entre les mains, on peut faire beaucoup de choses avec la seule limite, c’est votre imagination. Dans la prochaine vidéo de cette série, on verra comment on peut programmer Des plugins pour le proxy. En attendant, si vous avez des questions ou des suggestions, je vous laisse les écrires en commentaires ou vous pouvez aussi me rejoindre sur mon Discord, l’adresse se trouve dans la description. Pour ceux qui me suivent aussi sur mon projet et qui on vus les récents changements du serveur, C’est exactement cette technique là que je viens de mettre en place. Et c’est pour ça que désormais vous avez un lobby à la connexion sur Minewar. La semaine prochaine, je ne sais pas si je vais faire une vidéo plutôt sur spectacle Spigot ou sur Bungee.. ou autre, ça peut arriver. Ce qui est sûr, c’est qu’en 2017, j’ai prévu de démarrer pas mal de séries sur ma chaîne. En attendant, je vous souhaite à tous un très bon week-end et je vous dis à la prochaine ! Ciao ! Video Information
This video, titled ‘BUNGEECORD #01 .| Relier des Serveurs Minecraft entre Eux’, was uploaded by Grimille on 2017-01-08 21:17:46. It has garnered 38427 views and 1052 likes. The duration of the video is 00:27:20 or 1640 seconds.
First episode of the “Developing with BungeeCord” series. In this episode, you will learn the concept of a proxy server, how and why it can be applied to Minecraft, and how to configure it. LINKS: ⌦ Download BungeeCord: https://ci.md-5.net/job/BungeeCord/ ⌦ Download Spigot: https://getbukkit.org/download/spigot
LA MEUTE SOCIAL NETWORKS: ⌦ La Meute website: https://la-meute.gg ⌦ Discord: https://la-meute.gg/discord ⌦ Twitter: https://twitter.com/LaMeuteGG ⌦ Instagram: https://www.instagram.com/lameuteGG/ ⌦ Facebook: https://fb.me/lameuteGG
FOLLOW ME: ⌦ My website: https://www.grimille.fr ⌦ Twitter: https://twitter.com/Grimille ⌦ Instagram: https://www.instagram.com/grimille_/