Dökümanlar API Uç Noktaları Transfer API (KB-Transfer)

Transfer API (KB-Transfer)

Sunucu eklentisinin komut kuyruğunu senkronize etmek için kullandığı endpoint.

KB-Transfer eklentisi (veya uyumlu herhangi bir Minecraft plugin), bu endpoint'ten bekleyen komutları çeker ve sonucu geri bildirir. Bu yöntem RCON'a alternatiftir — sunucu dış internet'ten komut çekmeyi tercih eder (pull model). RCON portu / firewall ayarı gerektirmez, bu yüzden paylaşımlı hosting'lerde önerilir.

Hazır Eklenti Kurulumu

Kendi eklentini yazmak istemiyorsan resmi KB-Transfer eklentisini kullan (Spigot / Paper / Bukkit 1.8.9 – 1.21+, Java 8):

  1. Admin → Sunucular'da sunucuyu düzenle, Konsol Tipi: Plugin seç, token üret ve kaydet.
  2. KB-Transfer-x.x.x.jar dosyasını sunucunun plugins/ klasörüne at, sunucuyu yeniden başlat.
  3. plugins/KB-Transfer/config.yml içine site adresini (site-url) ve panelden kopyaladığın token'ı gir.
  4. Oyun içi veya konsoldan /kbt test ile bağlantıyı doğrula.

Halihazırda kurulu siteler için: Komut kuyruğu tablosunun (server_commands) oluşması için bir kez /update.php sayfasını admin olarak ziyaret et.

Kimlik Doğrulama

Her sunucunun benzersiz api_token değeri vardır (servers tablosunda). Plugin isteklerinde bu token'ı header veya query string ile gönderir:

HTTP
GET /api/transfer.php?action=get_commands&token=64-KARAKTER-RANDOM-TOKEN

# veya
GET /api/transfer.php?action=get_commands
Authorization: Bearer 64-KARAKTER-RANDOM-TOKEN

Komutları Çekme

REQUEST
GET /api/transfer.php?action=get_commands&token=XXX
RESPONSE
[
    { "id": 42, "command": "give player1 diamond 10" },
    { "id": 43, "command": "lp user player2 parent add vip" }
]

Komut Tamamlama

Plugin komutu çalıştırdıktan sonra CMS'e başarılı/başarısız durumu bildirir:

REQUEST
POST /api/transfer.php?action=complete_command
Content-Type: application/json

{
    "id": 42,
    "success": true,
    "token": "XXX"
}

Polling Sıklığı

Plugin her 5-10 saniyede bir get_commands çağırabilir. Daha sık polling sunucuya yük bindirir.

Bu yöntemin avantajı: sunucu firewall arkasında dahi olsa dışa erişim varsa çalışır, RCON portu açmaya gerek yoktur.

Teşekkürler! Geri bildirimin kaydedildi.