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ştur

Adım adım

  1. 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. 2.Projeyi kur

    provided kapsamında bungeecord-api bağımlılığı olan bir Maven veya Gradle projesi. Proxy bunu çalışma zamanında sağlar.

  3. 3.Ana sınıfı yaz

    Komutları ve dinleyicileri getProxy().getPluginManager() üzerinden kaydetmek için onEnable() içeren, net.md_5.bungee.api.plugin.Plugin sınıfını genişleten bir sınıf.

  4. 4.bungee.yml içinde tanımla

    name, version, main ve author. BungeeCord plugin.yml dosyasını da okur, ama bungee.yml Spigot plugin'leriyle karışıklığı önler. Komutlar dosyada değil, kodda kaydedilir.

  5. 5.Komutları ve dinleyicileri yaz

    Komutlar Command sınıfını genişletir; dinleyiciler PostLoginEvent veya ServerSwitchEvent gibi olaylar için @EventHandler metotlarıyla Listener arayüzünü uygular.

  6. 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. 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ı

OlayNe zaman tetiklenirTipik kullanım
ProxyPingEventBir istemci sunucu listesini yenilerMOTD, oyuncu sayısı, bakım mesajı
PostLoginEventBir oyuncu proxy'ye katıldıKatılma mesajları, oyuncu verilerini yükleme
ServerConnectEventBir oyuncu bir sunucuya bağlanmak üzereOyuncuları bir lobiye gönderme, sunucuları engelleme
ServerSwitchEventBir oyuncu başka bir sunucuya geçtiAğ çapında "sunucuya katıldı" mesajları
PlayerDisconnectEventBir oyuncu ağdan ayrıldıVerileri kaydetme, yetkili bildirimleri
ChatEventBir oyuncu sohbet mesajı veya komut gönderirAğ sohbeti, filtreler, yetkili sohbeti

Ağı doğru kurmak

  • Oyuncu adları ve UUID'ler aktarılsın diye proxy'nin config.yml dosyasında ip_forward seçeneğini ve her Spigot veya Paper sunucusunun spigot.yml dosyasında bungeecord: true ayarını aç.
  • Arka uç sunucuları online-mode=false olarak 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
Ağın için BungeeCord plugin'i nasıl yapılır | Codexe