Guide
Comment créer un plugin BungeeCord
Mis à jour le 18 octobre 2026
Un plugin BungeeCord tourne sur le proxy placé devant vos serveurs, pas sur un serveur de jeu. Il voit les joueurs se connecter, changer de serveur et partir, c'est donc le bon endroit pour le chat à l'échelle du réseau, les outils du staff, le mode maintenance, le MOTD et l'envoi de joueurs d'un serveur à l'autre. Il n'a ni mondes ni blocs : le gameplay revient à un plugin sur les serveurs backend.
Adaptez les commandes à votre réseau.
Générer ceci avec CodexeÉtape par étape
1.Vérifiez le proxy que vous utilisez
BungeeCord (ou un fork comme Waterfall) et Velocity sont des API différentes. Un plugin BungeeCord ne tourne pas sur Velocity, et inversement.
2.Configurez le projet
Un projet Maven ou Gradle avec la dépendance
bungeecord-apidans la portéeprovided. Le proxy la fournit à l'exécution.3.Écrire la classe principale
Une classe qui étend
net.md_5.bungee.api.plugin.Plugin, aveconEnable()pour enregistrer les commandes et les écouteurs viagetProxy().getPluginManager().4.Décrivez-le dans bungee.yml
name,version,mainetauthor. BungeeCord lit aussiplugin.yml, maisbungee.ymlévite la confusion avec les plugins Spigot. Les commandes sont enregistrées dans le code, pas dans le fichier.5.Écrire les commandes et les écouteurs
Les commandes étendent
Command; les écouteurs implémententListeneravec des méthodes@EventHandlerpour des événements commePostLoginEventouServerSwitchEvent.6.Communiquez avec les serveurs backend si besoin
Le proxy ne voit ni les inventaires ni les mondes. Pour cela, un petit plugin compagnon sur chaque serveur backend échange des plugin messages avec le plugin du proxy.
7.Installez-le sur le proxy
Placez le .jar dans le dossier
plugins/du proxy et redémarrez le proxy, pas les serveurs backend.
Événements utiles du proxy
| Événement | Quand il se déclenche | Usage habituel |
|---|---|---|
ProxyPingEvent | Un client actualise la liste des serveurs | MOTD, nombre de joueurs, message de maintenance |
PostLoginEvent | Un joueur a rejoint le proxy | Messages de connexion, chargement des données du joueur |
ServerConnectEvent | Un joueur est sur le point de se connecter à un serveur | Envoyer les joueurs vers un lobby, bloquer des serveurs |
ServerSwitchEvent | Un joueur est passé sur un autre serveur | Messages « a rejoint le serveur » sur tout le réseau |
PlayerDisconnectEvent | Un joueur a quitté le réseau | Sauvegarde des données, notifications au staff |
ChatEvent | Un joueur envoie un message ou une commande dans le chat | Chat réseau, filtres, chat staff |
Bien configurer le réseau
- Activez
ip_forwarddans leconfig.ymldu proxy etbungeecord: truedans lespigot.ymlde chaque serveur Spigot ou Paper, pour que les pseudos et UUID des joueurs soient transmis. - Réglez les serveurs backend sur
online-mode=falseet assurez-vous qu'ils ne sont pas accessibles directement depuis Internet, seulement via le proxy. - Les plugin messages ne circulent que lorsqu'un joueur est connecté à ce serveur backend, donc un message envoyé à un serveur vide n'est pas livré.
Exemple de description
« Un plugin proxy BungeeCord 1.21 appelé NetUtils. /lobby envoie le joueur sur le serveur lobby. /staffchat <message> (alias /sc) envoie un message à toutes les personnes ayant netutils.staff, sur n'importe quel serveur. /maintenance on|off affiche un MOTD de maintenance et expulse les joueurs sans netutils.bypass. Un message dans le chat staff quand un membre du staff change de serveur. Noms des serveurs, MOTD et messages dans config.yml. »
Avec Codexe
Choisissez le type BungeeCord/Velocity et indiquez le proxy que vous utilisez, car ce sont des API différentes. Codexe compile le plugin avec Maven et vérifie que le .jar a le bon descripteur avant qu'il soit prêt ; sans version dans la demande, c'est l'API BungeeCord 1.21 qui est utilisée. Si vous avez besoin d'un compagnon backend, demandez-le comme projet Spigot/Paper séparé.
Tester maintenant ne lance pas encore de serveurs proxy, alors testez le plugin proxy sur votre propre réseau ou sur un proxy local avec un serveur backend. Voir aussi le générateur de plugins BungeeCord.
Questions
Un plugin BungeeCord peut-il modifier des blocs ou des inventaires ?
Non, le proxy ne gère que les connexions et les messages. Utilisez un plugin backend pour le gameplay, et des plugin messages si les deux doivent fonctionner ensemble.
Est-ce que ça marche sur Velocity ?
Non. Velocity a sa propre API et son velocity-plugin.json. Si vous utilisez les deux, créez deux projets.
Plugin proxy ou plugin backend pour le chat ?
Un plugin proxy si le chat doit atteindre les joueurs de tous les serveurs. Un plugin backend si le chat reste sur un seul serveur.
Créez un plugin pour votre réseau
Ce prompt s'ouvre prêt à être envoyé :
“Un plugin proxy BungeeCord 1.21 appelé NetUtils : /lobby envoie le joueur sur le serveur lobby, /staffchat (alias /sc) envoie un message à toutes les personnes ayant netutils.staff sur n'importe quel serveur, /maintenance on|off affiche un MOTD de maintenance et expulse les joueurs sans netutils.bypass, changements de serveur du staff annoncés dans le chat staff, noms des serveurs, MOTD et messages dans config.yml.”
Générer ceci avec Codexe