Rehber
BungeeCord plugin'i nasıl yapılır
18 Ekim 2026 güncellendi
Bir BungeeCord plugin'i bir oyun sunucusunda değil, sunucularının önünde duran proxy üzerinde çalışır. Oyuncuların bağlandığını, sunucu değiştirdiğini ve ayrıldığını görür; bu yüzden ağ çapında sohbet, yetkili araçları, bakım modu, MOTD ve oyuncuları sunucular arasında göndermek için doğru yerdir. Dünyaları veya blokları yoktur: oynanış, arka uç sunuculardaki bir plugin'e aittir.
Komutları ağına göre değiştir.
Bunu Codexe ile oluşturAdım adım
1.Çalıştırdığın proxy'yi doğrula
BungeeCord (veya Waterfall gibi bir çatalı) ve Velocity farklı API'lerdir. Bir BungeeCord plugin'i Velocity'de çalışmaz, tersi de geçerlidir.
2.Projeyi kur
providedkapsamındabungeecord-apibağımlılığı olan bir Maven veya Gradle projesi. Proxy bunu çalışma zamanında sağlar.3.Ana sınıfı yaz
Komutları ve dinleyicileri
getProxy().getPluginManager()üzerinden kaydetmek içinonEnable()içeren,net.md_5.bungee.api.plugin.Pluginsınıfını genişleten bir sınıf.4.bungee.yml içinde tanımla
name,version,mainveauthor. BungeeCordplugin.ymldosyasını da okur, amabungee.ymlSpigot plugin'leriyle karışıklığı önler. Komutlar dosyada değil, kodda kaydedilir.5.Komutları ve dinleyicileri yaz
Komutlar
Commandsınıfını genişletir; dinleyicilerPostLoginEventveyaServerSwitchEventgibi olaylar için@EventHandlermetotlarıylaListenerarayüzünü uygular.6.Gerekirse arka uç sunucularla konuş
Proxy envanterleri veya dünyaları göremez. Bunun için her arka uç sunucudaki küçük bir yardımcı plugin, proxy plugin'iyle plugin mesajları alışverişi yapar.
7.Proxy'ye kur
.jar'ı proxy'nin
plugins/klasörüne koy ve arka uç sunucuları değil, proxy'yi yeniden başlat.
Yararlı proxy olayları
| Olay | Ne zaman tetiklenir | Tipik kullanım |
|---|---|---|
ProxyPingEvent | Bir istemci sunucu listesini yeniler | MOTD, oyuncu sayısı, bakım mesajı |
PostLoginEvent | Bir oyuncu proxy'ye katıldı | Katılma mesajları, oyuncu verilerini yükleme |
ServerConnectEvent | Bir oyuncu bir sunucuya bağlanmak üzere | Oyuncuları bir lobiye gönderme, sunucuları engelleme |
ServerSwitchEvent | Bir oyuncu başka bir sunucuya geçti | Ağ çapında "sunucuya katıldı" mesajları |
PlayerDisconnectEvent | Bir oyuncu ağdan ayrıldı | Verileri kaydetme, yetkili bildirimleri |
ChatEvent | Bir oyuncu sohbet mesajı veya komut gönderir | Ağ sohbeti, filtreler, yetkili sohbeti |
Ağı doğru kurmak
- Oyuncu adları ve UUID'ler aktarılsın diye proxy'nin
config.ymldosyasındaip_forwardseçeneğini ve her Spigot veya Paper sunucusununspigot.ymldosyasındabungeecord: trueayarını aç. - Arka uç sunucuları
online-mode=falseolarak ayarla ve internetten doğrudan değil, yalnızca proxy üzerinden erişilebildiklerinden emin ol. - Plugin mesajları yalnızca bir oyuncu o arka uç sunucuya bağlıyken iletilir, bu yüzden boş bir sunucuya gönderilen mesaj ulaşmaz.
Örnek açıklama
"NetUtils adlı bir BungeeCord 1.21 proxy plugin'i. /lobby oyuncuyu lobi sunucusuna gönderir. /staffchat <message> (takma adı /sc) herhangi bir sunucuda netutils.staff yetkisi olan herkese mesaj gönderir. /maintenance on|off bir bakım MOTD'si gösterir ve netutils.bypass yetkisi olmayan oyuncuları atar. Bir yetkili sunucu değiştirdiğinde yetkili sohbetinde bir katılma mesajı. Sunucu adları, MOTD ve mesajlar config.yml içinde."
Codexe ile
BungeeCord/Velocity türünü seç ve farklı API'ler oldukları için hangi proxy'yi çalıştırdığını söyle. Codexe plugin'i Maven ile derler ve Hazır olmadan önce .jar'ın doğru tanımlayıcıya sahip olduğunu kontrol eder; istekte sürüm yoksa BungeeCord API 1.21 kullanılır. Bir arka uç yardımcısına ihtiyacın varsa onu ayrı bir Spigot/Paper projesi olarak iste.
Hemen dene henüz proxy sunucuları çalıştırmıyor, bu yüzden proxy plugin'ini kendi ağında veya tek arka uç sunuculu yerel bir proxy'de test et. Ayrıca bkz. BungeeCord plugin oluşturucu.
Sorular
Bir BungeeCord plugin'i blokları veya envanterleri değiştirebilir mi?
Hayır, proxy yalnızca bağlantıları ve mesajları yönetir. Oynanış için bir arka uç plugin'i, ikisinin birlikte çalışması gerekiyorsa plugin mesajları kullan.
Velocity'de çalışır mı?
Hayır. Velocity'nin kendi API'si ve velocity-plugin.json dosyası vardır. İkisini birden çalıştırıyorsan iki proje yap.
Sohbet için proxy plugin'i mi, arka uç plugin'i mi?
Sohbetin her sunucudaki oyunculara ulaşması gerekiyorsa proxy plugin'i. Sohbet tek bir sunucuda kalıyorsa arka uç plugin'i.
Ağın için bir plugin yap
Bu prompt göndermeye hazır açılır:
“NetUtils adlı bir BungeeCord 1.21 proxy plugin'i: /lobby oyuncuyu lobi sunucusuna gönderir, /staffchat (takma adı /sc) herhangi bir sunucuda netutils.staff yetkisi olan herkese mesaj gönderir, /maintenance on|off bir bakım MOTD'si gösterir ve netutils.bypass yetkisi olmayan oyuncuları atar, yetkililerin sunucu değiştirmesi yetkili sohbetinde duyurulur, sunucu adları, MOTD ve mesajlar config.yml içinde.”
Bunu Codexe ile oluştur