kq_link Nedir? KuzQuality Scriptlerinin Arkasındaki Köprü
Bir KuzQuality scripti kurduysan, kq_link'in zorunlu bağımlılık olarak listelendiğini fark etmişsindir. Bu yazıda kq_link'in ne olduğunu, neden var olduğunu ve arkasındaki yaklaşımın FiveM script topluluğunda neden bu kadar yaygın olduğunu anlatıyoruz.
Sorun: FiveM Sunucuları Standart Değil
FiveM sunucuları farklı altyapılarda çalışır. Kimi ESX kullanır, kimi QBCore, kimi de QBox, vRP, TMC ya da tamamen özel bir şey. Üstüne her sunucu farklı envanter, target ve bildirim sistemleri kullanabilir.
Doğrudan ESX ile konuşan bir script, kodda değişiklik yapmadan QBCore'da çalışmaz. ox_target çağıran bir script, qb-target kullanan bir sunucuda bozulur. Bir bildirim sistemini kullanan script de başka bir sistem kullanan sunucuda yanlış görünür.
Bu da emeğinin birden fazla sunucu kurulumunda çalışmasını isteyen her script geliştiricisi için bir sorun yaratır. Akla ilk gelen çözüm her altyapı için ayrı sürüm yazmak. Bu hem zaman alır hem de bakımı zordur. Daha iyi çözüm ise bir köprü.
Script Köprüsü (Bridge) Nedir?
Köprü, script ile sunucunun bağımlılıkları arasında duran bir kaynaktır. Script ESX'i ya da QBCore'u doğrudan çağırmak yerine köprüyü çağırır. Köprü de hangi altyapının ve bağımlılıkların çalıştığını tespit eder ve çağrıyı buna göre çevirir.
Bu KuzQuality'ye özel bir fikir değil. İşini ciddiye alan FiveM script geliştiricilerinin çoğu bir tür köprü kullanır. Başka scriptlerde bağımlılık olarak ox_lib, jim_bridge, pp-bridge ya da tw_bridge gibi benzer kaynaklar görmüş olabilirsin. Hepsinde prensip aynı: scripti bir kez yaz, altyapı farklarını köprü halletsin.
kq_link Nedir?
kq_link, KuzQuality'nin açık kaynaklı köprü kaynağıdır. KuzQuality scriptlerini, sunucu hangi altyapıyı, envanter sistemini, target sistemini ve bildirim sistemini kullanıyorsa ona bağlar.
Pratikte şunları hallediyor:
- Altyapı tespiti: sunucunun ESX, QBCore, QBox, vRP veya TMC'den hangisini kullandığını ya da hiç altyapı kullanmadığını otomatik olarak belirler
- Envanter entegrasyonu: eşya kontrollerini, eklemeleri ve silmeleri doğru envanter sistemine yönlendirir
- Bildirim sistemi: bildirimleri sunucunun kullandığı bildirim kaynağı üzerinden gönderir
- Target sistemi: ox_target, qb-target ya da yerleşik 3D yazı yedeğiyle çalışır
- Yardımcı fonksiyonlar: KuzQuality scriptlerinin kullandığı ortak araçlar, böylece her kaynakta yeniden yazılmaları gerekmez
Bunların hepsini kq_link hallettiği için hiçbir KuzQuality scriptinin sunucunun hangi altyapıda çalıştığını bilmesine gerek yok. Script sadece kq_link'i çağırır, gerisini kq_link yapar.
Neden Ayrı Bir Kaynak?
kq_link bir kez kurulur ve tüm KuzQuality scriptleri tarafından ortak kullanılır. Sunucuda kq_link kullanan her script, aynı kodun kendi kopyasını içinde taşımak yerine aynı köprüden faydalanır.
Bu, altyapı uyumluluğuyla ilgili güncellemelerin de tek bir yerde yapılması demek. Yeni bir altyapı sürümü bir şeyi değiştirdiğinde kq_link güncellenir ve tüm KuzQuality scriptleri otomatik olarak bundan faydalanır.
kq_link Kurulumu
kq_link ücretsiz ve açık kaynaklıdır. GitHub'da github.com/Kuzkay/kq_link adresinde bulabilirsin.
Kurulum oldukça basit:
- kq_link'i indir ya da clone'la ve sunucunun
resources/klasörüne koy. Klasörün adı tam olarakkq_linkolmalı. Adını değiştirirsen ona bağlı tüm KuzQuality scriptleri bozulur. server.cfgdosyasını aç ve altyapıdan, target ya da bildirim sistemi gibi bağımlılıklardan sonraensure kq_linksatırını eklekq_link/config.luadosyasını aç, altyapıyı ve bağımlılıkları ayarla
kq_link'te otomatik altyapı tespiti var, ama karışıklık olmaması için altyapıyı config'te elle ayarlaman yine de önerilir.
Kurulumun tüm ayrıntıları docs.kuzquality.com adresinde.
Özet
Script köprüleri FiveM geliştirmede standart bir yaklaşımdır. Script ile sunucunun bağımlılıkları arasında bir çeviri katmanı görevi görerek altyapı dağınıklığı sorununu çözerler.
kq_link bunun KuzQuality versiyonu. Ücretsiz, açık kaynaklı ve tüm KuzQuality scriptleri için zorunlu. Bir kez kur ve sunucunun kurulumuna göre ayarla. Hangi altyapı çalışırsa çalışsın, her KuzQuality scripti çalışır.




