Konu Sahibi
Counter-Strike 1.6: "client_disconnect is deprecated" Uyarısı ve Jbmenu Eklentisi İçin Çözümü
Counter-Strike 1.6 Jailbreak (JB) sunucularının vazgeçilmez menülerinden biri olan jbmenu.amxx gibi eski ve popüler eklentileri yeni nesil AMX Mod X sürümleriyle derlemeye (compile) çalıştığınızda, konsolda veya hata kayıtlarında (error logs) sıkça "client_disconnect is deprecated. Please use client_disconnected instead." gibi bir uyarı ile karşılaşabilirsiniz.Bu bir "hata" olmaktan çok, bir "uyarı" mesajıdır ve eklentinin çalışmasını genellikle engellemez. Ancak kodlama standartlarına uymak, gelecekteki uyumluluk sorunlarını önlemek ve sunucu loglarını temiz tutmak için bu uyarıyı çözmek önemlidir.
Bu rehber, bu uyarının nedenini ve kaynak kod (.sma) üzerinden nasıl kolayca düzeltebileceğinizi adım adım anlatmaktadır.
Uyarının Sebebi Nedir? "Deprecated" Ne Anlama Gelir?
Yazılım dünyasında "deprecated" (kullanımdan kaldırılmış/tavsiye edilmeyen), bir fonksiyonun veya komutun artık güncel olmadığını, onun yerine daha yeni, daha stabil veya daha verimli bir alternatifinin geliştirildiğini ifade eder.AMX Mod X geliştiricileri, zamanla platformu iyileştirirken bazı eski fonksiyonları yenileriyle değiştirirler. client_disconnect fonksiyonu da bunlardan biridir. Bu fonksiyon, bir oyuncu sunucudan ayrıldığında tetiklenir. Yeni AMX Mod X sürümlerinde bu fonksiyonun adı client_disconnected olarak güncellenmiştir.
Elinizdeki jbmenu.sma kaynak kodu eski olduğu için hala client_disconnect fonksiyonunu kullanıyordur. Siz bu eski kodu yeni bir derleyici ile derlediğinizde, derleyici sizi "Bu fonksiyon eskidi, yenisini kullanmalısın" diyerek uyarır.
Adım Adım Çözüm Süreci
Bu uyarıyı ortadan kaldırmak için eklentinin kaynak kodunu düzenleyip yeniden derlemeniz gerekmektedir.Gerekenler:
- Düzenlemek istediğiniz eklentinin kaynak kod dosyası (jbmenu.sma).
- Bir metin düzenleyici program (Notepad++, Sublime Text, VS Code vb.).
Adım 1: Kaynak Kod Dosyasını Bulun ve Açın
- FTP ile sunucunuza bağlanın.
- cstrike/addons/amxmodx/scripting/ klasörüne gidin.
- Bu klasörün içindeki jbmenu.sma dosyasını bulun ve bilgisayarınıza indirin.
- İndirdiğiniz dosyayı bir metin düzenleyici ile açın.
Adım 2: Eski Fonksiyonu Bulun ve Değiştirin
- Metin düzenleyicinin "Bul" özelliğini (Genellikle Ctrl + F) kullanarak client_disconnect kelimesini aratın.
- Karşınıza büyük ihtimalle aşağıdaki gibi bir kod satırı çıkacaktır:
public client_disconnect(id)
- Bu satırdaki client_disconnect kısmını client_disconnected olarak değiştirin. Satırın yeni hali şu şekilde olmalıdır:
public client_disconnected(id)
- Değişikliği yaptıktan sonra dosyayı kaydedin.
Adım 3: Eklentiyi Yeniden Derleyin (Compile)
Düzenlediğiniz .sma dosyasını, çalıştırılabilir .amxx formatına geri çevirmeniz gerekiyor.- En Kolay Yöntem: Online Derleyici
- AMX Mod X Web Compiler sitesine gidin.
- "Dosya Seç" veya "Browse" butonuna tıklayarak düzenlediğiniz jbmenu.sma dosyasını seçin.
- "Compile" butonuna basın.
- İşlem bittiğinde, sayfanın alt kısmında jbmenu.amxx adında bir indirme linki belirecektir. Bu dosyayı bilgisayarınıza indirin.
Adım 4: Yeni Eklentiyi Sunucuya Yükleyin
- FTP ile tekrar sunucunuza bağlanın.
- Bu sefer cstrike/addons/amxmodx/plugins/ klasörüne gidin.
- Yeni derlediğiniz jbmenu.amxx dosyasını bu klasörün içine yükleyerek eskisinin üzerine yazın.
- Son olarak, sunucunuza restart atın veya amx_map de_dust2 gibi bir komutla haritayı değiştirin.