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 CodexePasso per passo
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.Prepara il progetto
Un progetto Maven o Gradle con la dipendenza
bungeecord-apicon scopeprovided. È il proxy a fornirla durante l'esecuzione.3.Scrivi la classe principale
Una classe che estende
net.md_5.bungee.api.plugin.Plugin, cononEnable()per registrare comandi e listener tramitegetProxy().getPluginManager().4.Descrivilo in bungee.yml
name,version,maineauthor. BungeeCord legge ancheplugin.yml, mabungee.ymlevita confusione con i plugin Spigot. I comandi si registrano nel codice, non nel file.5.Scrivi comandi e listener
I comandi estendono
Command; i listener implementanoListenercon metodi@EventHandlerper eventi comePostLoginEventoServerSwitchEvent.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.Installalo sul proxy
Metti il .jar nella cartella
plugins/del proxy e riavvia il proxy, non i server backend.
Eventi utili del proxy
| Evento | Quando scatta | Uso tipico |
|---|---|---|
ProxyPingEvent | Un client aggiorna la lista dei server | MOTD, numero di giocatori, messaggio di manutenzione |
PostLoginEvent | Un giocatore è entrato nel proxy | Messaggi di ingresso, caricamento dei dati del giocatore |
ServerConnectEvent | Un giocatore sta per connettersi a un server | Mandare i giocatori in una lobby, bloccare dei server |
ServerSwitchEvent | Un giocatore è passato a un altro server | Messaggi "è entrato nel server" in tutto il network |
PlayerDisconnectEvent | Un giocatore ha lasciato il network | Salvataggio dei dati, notifiche allo staff |
ChatEvent | Un giocatore invia un messaggio in chat o un comando | Chat del network, filtri, chat dello staff |
Configurare bene il network
- Attiva
ip_forwardnelconfig.ymldel proxy ebungeecord: truenellospigot.ymldi ogni server Spigot o Paper, così nomi e UUID dei giocatori vengono passati correttamente. - Imposta i server backend su
online-mode=falsee 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