Plugin Minecraft packetevents

Informazioni su packetevents e i server dove e stato trovato

🔌 Informazioni su PacketEvents

PacketEvents è una libreria di protocollo per Minecraft Java Edition che espone un'API per intercettare, ispezionare, annullare e inviare pacchetti di protocollo grezzi. Può essere usata come plugin autonomo su un server/proxy oppure inclusa come dipendenza di libreria per altri plugin e mod.

🎯 Obiettivo

Fornire un livello di pacchetti stabile e multipiattaforma per sviluppatori di plugin e mod, così che possano reagire ai pacchetti del protocollo di Minecraft e manipolarli (login, play, status, handshake, ecc.) senza scrivere codice Netty di basso livello o mantenere da soli molte implementazioni di protocollo specifiche per versione.

⚙️ Funzionalità

  • Intercettazione dei pacchetti guidata dagli eventi per i pacchetti in ingresso e in uscita (eventi receive/send ed eventi a livello di protocollo).
  • Possibilità di annullare o modificare i pacchetti prima che il server/client li elabori.
  • API per inviare e simulare pacchetti in modo programmatico.
  • Ciclo di vita pulito: creare/caricare/inizializzare/terminare un'istanza PacketEvents per una corretta gestione delle risorse.
  • Supporto multi-modulo: build/moduli separati per le piattaforme comuni, così la stessa API funziona in diversi ambienti server/proxy/mod.
  • Javadocs pubblicati e configurazione per sviluppatori documentata per l'uso con Maven/Gradle.

🧩 A chi è rivolto

  • Sviluppatori di plugin e mod che necessitano di accesso a livello di protocollo (invio, simulazione o modifica dei pacchetti).
  • Gestori di server che installano PacketEvents come dipendenza per plugin che richiedono l'intercettazione dei pacchetti.

🏗️ Casi d'uso di esempio

  • Un plugin registra un listener dei pacchetti e annulla un pacchetto in ingresso specifico per impedire l'elaborazione predefinita.
  • Una mod invia pacchetti sintetici a un client per creare effetti visivi personalizzati o UI senza modifiche alle entità lato server.
  • Un plugin proxy gestisce i pacchetti di login/handshake per flussi di autenticazione personalizzati.

⚙️ Installazione

📥 Configurazione (gestore del server)

  • Scarica il JAR ufficiale del plugin e posizionalo nella directory plugins/ del server/proxy (o equivalente).
  • Riavvia il server/proxy e controlla i log per confermare che PacketEvents sia stato caricato correttamente.

🛠️ Per gli sviluppatori (configurazione build)

PacketEvents è distribuito come moduli specifici per piattaforma. La documentazione mostra esempi Maven/Gradle; la libreria è pensata per essere aggiunta con scope provided/compileOnly. La documentazione usa un segnaposto per il nome del modulo; sostituiscilo con il modulo della piattaforma di destinazione (per esempio spigot, velocity, bungeecord, fabric, sponge) quando aggiungi una dipendenza.

Esempio (snippet Gradle mostrato nella documentazione ufficiale):

// Sostituisci INSERT_MODULE_HERE con un nome di modulo supportato (spigot, velocity, bungeecord, fabric, sponge)
compileOnly("com.github.retrooper:packetevents-~~INSERT_MODULE_HERE~~:2.12.1")

Chiama i metodi del ciclo di vita della libreria dal tuo plugin/mod (load -> init) e termina quando il plugin viene disabilitato.

🧠 Note tecniche

  • I moduli forniti ufficialmente includono Spigot, Velocity, BungeeCord, Fabric e Sponge.
  • Il progetto segnala che il modulo Spigot è progettato per funzionare su fork molto usati come Paper, Purpur e Folia, e che il modulo BungeeCord è pensato per funzionare su Waterfall.
  • Il progetto è pubblicato con sorgenti, release e Javadocs; è concesso in licenza GPL-3.0.
  • La libreria è pensata per essere aggiunta con scope provided/compileOnly nelle build dei plugin quando non si desidera includerla nel bundle; le istruzioni di bundling sono documentate per i casi in cui un plugin includa PacketEvents nella propria distribuzione.

🤝 Quando questo plugin è utile

Se il tuo progetto richiede un controllo diretto sul protocollo di Minecraft — per autenticazione personalizzata, effetti basati sui pacchetti, gestione del proxy o integrazioni di basso livello — PacketEvents offre un'API multipiattaforma e una gestione del ciclo di vita, così puoi realizzare queste funzionalità senza reimplementare la gestione del protocollo per ogni server o implementazione proxy.

Server con il plugin packetevents

La pagina del plugin packetevents mostra su quali server il monitoraggio ha trovato questo plugin, con quali piattaforme e versioni compare.

I plugin possono aggiungere comandi, economia, protezione, diritti di accesso, minigiochi, integrazioni o altre meccaniche. Il ruolo effettivo di packetevents dipende dalla configurazione del singolo server.

I dati vengono generati automaticamente dalle risposte tecniche dei server. Se un server nasconde l'elenco dei plugin, potrebbe non comparire in questa sezione anche se usa packetevents.

Usa l'elenco dei server con packetevents per confrontare i progetti, verificare le versioni compatibili o trovare esempi di utilizzo del plugin su server pubblici.