Minecraft eklentisi packetevents
packetevents ve bulunduğu sunucular hakkında bilgi
🔌 PacketEvents hakkında
PacketEvents, Minecraft Java Edition için ham protokol paketlerini yakalamak, incelemek, iptal etmek ve göndermek için bir API sunan bir protokol kütüphanesidir. Bir sunucu/proxy üzerinde bağımsız bir eklenti olarak kullanılabilir veya diğer eklentiler ve modlar için bir kütüphane bağımlılığı olarak paketlenebilir.
🎯 Amaç
Eklenti ve mod geliştiricileri için kararlı, çok platformlu bir paket katmanı sağlamak; böylece Netty'nin düşük seviyeli kodunu yazmadan veya sürüme özel birçok protokol uygulamasını kendileri sürdürmeden Minecraft protokol paketlerine (login, play, status, handshake vb.) tepki verip onları değiştirebilirler.
⚙️ Özellikler
- Gelen ve giden paketler için olay tabanlı paket yakalama (receive/send olayları ve protokol düzeyi olaylar).
- Sunucu/istemci işlemeye başlamadan önce paketleri iptal etme veya değiştirme imkânı.
- Paketleri programlı olarak gönderme ve simüle etme için API.
- Temiz yaşam döngüsü: uygun kaynak yönetimi için PacketEvents örneğini oluştur/yükle/başlat/sonlandır.
- Çok modüllü destek: yaygın platformlar için ayrı build/modüller, böylece aynı API farklı sunucu/proxy/mod ortamlarında çalışır.
- Yayınlanmış Javadocs ve Maven/Gradle kullanımı için belgelenmiş geliştirici kurulumu.
🧩 Kimler için
- Protokol düzeyinde erişime ihtiyaç duyan eklenti ve mod geliştiricileri (paket gönderme, simüle etme veya değiştirme).
- Paket yakalama gerektiren eklentiler için PacketEvents'i bağımlılık olarak kuran sunucu yöneticileri.
🏗️ Örnek kullanım alanları
- Bir eklenti packet listener kaydeder ve varsayılan işlemi önlemek için belirli bir gelen paketi iptal eder.
- Bir mod, sunucu tarafında entity değişikliği yapmadan özel görsel efektler veya arayüz oluşturmak için istemciye sentetik paketler gönderir.
- Bir proxy eklentisi, özel kimlik doğrulama akışları için login/handshake paketlerini işler.
⚙️ Kurulum
📥 Kurulum (sunucu yöneticisi)
- Resmî eklenti JAR dosyasını indirin ve sunucu/proxy
plugins/(veya eşdeğer) dizinine yerleştirin. - Sunucu/proxy'yi yeniden başlatın ve PacketEvents'in doğru yüklendiğini doğrulamak için günlükleri kontrol edin.
🛠️ Geliştiriciler için (build kurulumu)
PacketEvents, platforma özel modüller olarak dağıtılır. Dokümantasyonda Maven/Gradle örnekleri gösterilir; kütüphane provided/compileOnly kapsamıyla eklenmek üzere tasarlanmıştır. Dokümanlarda modül adı için bir yer tutucu kullanılır; bağımlılık eklerken bunu hedef platform modülüyle (örneğin spigot, velocity, bungeecord, fabric, sponge) değiştirin.
Örnek (resmî dokümanlarda gösterilen Gradle parçası):
// INSERT_MODULE_HERE yerine desteklenen bir modül adı yazın (spigot, velocity, bungeecord, fabric, sponge)
compileOnly("com.github.retrooper:packetevents-~~INSERT_MODULE_HERE~~:2.12.1")
Kütüphanenin yaşam döngüsü yöntemlerini eklentiniz/modunuz içinden çağırın (load -> init) ve eklentiniz devre dışı bırakıldığında sonlandırın.
🧠 Teknik notlar
- Resmî olarak sağlanan modüller arasında Spigot, Velocity, BungeeCord, Fabric ve Sponge yer alır.
- Proje notlarında Spigot modülünün Paper, Purpur ve Folia gibi yaygın fork'larda çalışacak şekilde tasarlandığı, BungeeCord modülünün ise Waterfall üzerinde çalışması için amaçlandığı belirtilir.
- Proje kaynak kodu, sürümler ve Javadocs ile yayımlanır; GPL-3.0 lisansına sahiptir.
- Kütüphane, paketleme istenmediğinde eklenti build'lerine
provided/compileOnlykapsamıyla eklenmek üzere tasarlanmıştır; bir eklentinin PacketEvents'i dağıtımına dahil ettiği durumlar için bundling yönergeleri belgelenmiştir.
🤝 Bu eklenti ne zaman faydalıdır
Projeniz özel kimlik doğrulama, paket tabanlı efektler, proxy işleme veya düşük seviyeli entegrasyonlar için Minecraft protokolü üzerinde doğrudan kontrol gerektiriyorsa, PacketEvents çok platformlu bir API ve yaşam döngüsü yönetimi sunar; böylece her sunucu veya proxy uygulaması için protokol işlemeyi yeniden yazmadan bu özellikleri oluşturabilirsiniz.
- Welcome to Afterlife SMP!1155.45
- Welcome To the Kmartz SMP!954.46
- A Fallout Roleplaying Server854.06
- Project Eden
Topluluk odaklı survival sunucusu: oyuncu ekonomisi, mcMMO, creative alanlar ve haftalık minigame'ler — sakin ve samimi.
253.57 - CorePlay
Etkinlikler, düellolar, açık artırmalar ve samimi bir topluluk sunan CZ/SK survival sunucusu.
453.39 - Smithtainment
Topluluk odaklı Survival SMP; özel eklentiler, ekonomi, mcMMO ve mini‑oyunlar — samimi oyuncular ve aktif forum.
1053.26 - GospelCraft
İnanç temalı Towny survival sunucusu: özel canavarlar, mcMMO ve görevler; kutsal metinler oyun içinde tanıtılıyor.
652.2 - PIDGE Survival RPG252.17
- DTRH
Java–Bedrock çapraz oynama, görevler, özel öğeler ve moblar, oyuncu ekonomisi ve arazi koruması sunan Survival SMP — ayrıca hem rahat oynayanlar hem de ilerlemeyi sevenler için minigame'ler ve sosyal özellikler.
151.55 - AetherCraft
Ara özelleştirilmiş bir Survival SMP; arazi koruması, oyuncu odaklı ekonomi, özel eşyalar ve moblar, birden fazla dünya ve Bedrock/Java crossplay desteği ile.
151.15 - A Minecraft Server350.63
- SentinelCraft
Uzun süredir aktif survival topluluğu: Towns, mcMMO ve ekonomi — grief yasak, dost canlısı topluluk.
150.22 - BendingMC
Towny odaklı survival: özel öğeler, görevler, mcMMO ve etkinliklerle şehir kurup arazini koru.
449.86 - Weee249.29
packetevents eklenti sayfası, izleme sisteminin bu eklentiyi hangi sunucularda bulduğunu, hangi platformlar ve sürümlerle görüldüğünü gösterir.
Eklentiler komutlar, ekonomi, koruma, izinler, mini oyunlar, entegrasyonlar veya başka mekanikler ekleyebilir. packetevents eklentisinin gerçek rolü belirli sunucunun yapılandırmasına bağlıdır.
Veriler sunucuların teknik yanıtlarından otomatik oluşturulur. Bir sunucu eklenti listesini gizliyorsa packetevents kullansa bile bu bölümde görünmeyebilir.
Projeleri karşılaştırmak, uyumlu sürümleri kontrol etmek veya eklentinin herkese açık sunucularda nasıl kullanıldığına dair örnekler bulmak için packetevents bulunan sunucu listesini kullanın.