Guida

Come creare un plugin BungeeCord

Aggiornato il 18 ottobre 2026

Un plugin BungeeCord gira sul proxy che sta davanti ai tuoi server, non su un server di gioco. Vede i giocatori connettersi, cambiare server e uscire, quindi è il posto giusto per la chat di tutto il network, gli strumenti dello staff, la modalità manutenzione, il MOTD e lo spostamento dei giocatori tra i server. Non ha mondi né blocchi: il gameplay va in un plugin sui server backend.

Adatta i comandi al tuo network.

Generalo con Codexe

Passo per passo

  1. 1.Verifica quale proxy usi

    BungeeCord (o un fork come Waterfall) e Velocity hanno API diverse. Un plugin BungeeCord non gira su Velocity, e viceversa.

  2. 2.Prepara il progetto

    Un progetto Maven o Gradle con la dipendenza bungeecord-api con scope provided. È il proxy a fornirla durante l'esecuzione.

  3. 3.Scrivi la classe principale

    Una classe che estende net.md_5.bungee.api.plugin.Plugin, con onEnable() per registrare comandi e listener tramite getProxy().getPluginManager().

  4. 4.Descrivilo in bungee.yml

    name, version, main e author. BungeeCord legge anche plugin.yml, ma bungee.yml evita confusione con i plugin Spigot. I comandi si registrano nel codice, non nel file.

  5. 5.Scrivi comandi e listener

    I comandi estendono Command; i listener implementano Listener con metodi @EventHandler per eventi come PostLoginEvent o ServerSwitchEvent.

  6. 6.Comunica con i server backend se serve

    Il proxy non vede inventari né mondi. Per quello, un piccolo plugin di supporto su ogni server backend scambia plugin message con il plugin del proxy.

  7. 7.Installalo sul proxy

    Metti il .jar nella cartella plugins/ del proxy e riavvia il proxy, non i server backend.

Eventi utili del proxy

EventoQuando scattaUso tipico
ProxyPingEventUn client aggiorna la lista dei serverMOTD, numero di giocatori, messaggio di manutenzione
PostLoginEventUn giocatore è entrato nel proxyMessaggi di ingresso, caricamento dei dati del giocatore
ServerConnectEventUn giocatore sta per connettersi a un serverMandare i giocatori in una lobby, bloccare dei server
ServerSwitchEventUn giocatore è passato a un altro serverMessaggi "è entrato nel server" in tutto il network
PlayerDisconnectEventUn giocatore ha lasciato il networkSalvataggio dei dati, notifiche allo staff
ChatEventUn giocatore invia un messaggio in chat o un comandoChat del network, filtri, chat dello staff

Configurare bene il network

  • Attiva ip_forward nel config.yml del proxy e bungeecord: true nello spigot.yml di ogni server Spigot o Paper, così nomi e UUID dei giocatori vengono passati correttamente.
  • Imposta i server backend su online-mode=false e assicurati che non siano raggiungibili direttamente da internet, ma solo tramite il proxy.
  • I plugin message viaggiano solo mentre un giocatore è connesso a quel server backend, quindi un messaggio verso un server vuoto non viene consegnato.

Esempio di descrizione

"Un plugin per il proxy BungeeCord 1.21 chiamato NetUtils. /lobby manda il giocatore al server lobby. /staffchat <message> (alias /sc) invia un messaggio a tutti quelli con netutils.staff su qualsiasi server. /maintenance on|off mostra un MOTD di manutenzione e butta fuori i giocatori senza netutils.bypass. Un messaggio nella chat dello staff quando un membro dello staff cambia server. Nomi dei server, MOTD e messaggi in config.yml."

Con Codexe

Scegli il tipo BungeeCord/Velocity e scrivi quale proxy usi, perché hanno API diverse. Codexe compila il plugin con Maven e controlla che il .jar abbia il descrittore giusto prima di dichiararlo pronto; senza una versione nella richiesta si usa l'API di BungeeCord 1.21. Se ti serve un plugin di supporto sul backend, chiedilo come progetto Spigot/Paper separato.

Provalo subito non avvia ancora server proxy, quindi prova il plugin del proxy sul tuo network o su un proxy in locale con un server backend. Vedi anche il generatore di plugin BungeeCord.

Domande

Un plugin BungeeCord può modificare blocchi o inventari?

No, il proxy gestisce solo connessioni e messaggi. Usa un plugin sul backend per il gameplay, e i plugin message se i due devono lavorare insieme.

Funziona su Velocity?

No. Velocity ha una sua API e velocity-plugin.json. Se li usi entrambi, fai due progetti.

Plugin sul proxy o sul backend per la chat?

Un plugin sul proxy se la chat deve arrivare ai giocatori di tutti i server. Un plugin sul backend se la chat resta su un solo server.

Crea un plugin per il tuo network

Questo prompt si apre pronto da inviare:

“Un plugin per il proxy BungeeCord 1.21 chiamato NetUtils: /lobby manda il giocatore al server lobby, /staffchat (alias /sc) invia un messaggio a tutti quelli con netutils.staff su qualsiasi server, /maintenance on|off mostra un MOTD di manutenzione e butta fuori i giocatori senza netutils.bypass, cambi di server dello staff annunciati nella chat dello staff, nomi dei server, MOTD e messaggi in config.yml.”

Generalo con Codexe
Come creare un plugin BungeeCord per il tuo network | Codexe