Eklenti Yapımcısı: @Rhalith
Eklenti Açıklaması:
Bu eklenti, hiçbir dış web barındırmasına (hosting/domain) ihtiyaç duymadan, tamamen oyun içi SQLite altyapısını kullanarak modern web paneli kalitesinde HTML/CSS tabanlı bir MOTD ekranı sunar.
🌟 Sistemin Genel Özellikleri ve Mantığı
Sistem, oyuncuların anlık skorlarını, KDA (Kill/Death) oranlarını, Headshot yüzdelerini ve "AK47, M4A1, AWP, Deagle, C4 Kurma/Çözme" gibi detaylı silah/görev istatistiklerini takip eder. Klasik sistemlerin aksine veritabanını şişirmez; "Güncel Hafta" ve "Geçmiş Hafta (Arşiv)" olmak üzere iki tablo mantığıyla çalışır. Yetkili top15'i sıfırladığında veriler silinmez, geçmiş haftaya aktarılır. Böylece oyuncular geçen hafta kimin birinci olduğunu her zaman görebilir.
⚙️ Alınan Önlemler ve Kusursuz Optimizasyon (Neler Farklı?)
Piyasada bulunan birçok SQL tabanlı istatistik eklentisinin yarattığı sunucu çökmeleri, anlık takılmalar (lag) ve istatistik saymama gibi sorunlar bu eklentide tamamen çözülmüştür:
- Asenkron Veritabanı İşlemi (Sıfır Lag): Veriler anlık olarak sunucuyu donduran (sync) sorgularla değil, SQL_ThreadQuery kullanılarak arka planda (async) işlenir. Sunucuda anlık donma (choke/loss) yaşanmaz.
- Round Sonu Kayıt Mantığı (Database Lock Koruması): SQLite veritabanının kilitlenmemesi için oyuncu birini vurduğu an SQL'e yazma işlemi yapılmaz. Veriler RAM'de tutulur ve sadece El Sonunda (Round End) veya oyuncu Çıkış Yaptığında tek seferde veritabanına yazılır.
- 1536 Byte MOTD Sınırı Koruması: CS 1.6'nın MOTD ekranı maksimum 1536 karakter okuyabilir. Klasik eklentilerde uzun HTML kodları sayfanın yarısında kesilir. Bu eklentide HTML ve CSS kodları özel olarak "Minify (Sıkıştırma)" işleminden geçirilmiştir. Sayfa asla yarıda kesilmez, saliseler içinde yüklenir.
- Korsan (No-Steam) Çiftleme Koruması: Non-Steam sunucularda STEAM_ID_LAN çakışması yüzünden oyuncu isimlerinin listede 2-3 kere çıkması (Duplicate) sorunu, veritabanı Ana Anahtarı'nın (Primary Key) doğrudan Oyuncu İsmi yapılmasıyla fiziksel olarak engellenmiştir.
- Jailbreak / Mod Çakışma Koruması: ReAPI'nin ölüm hookları diğer eklentiler (İsyan, LR menüleri) tarafından engellenebilir. Bu sistem, hiçbir eklentinin durduramayacağı çekirdek CSX Modülü üzerinden kill takibi yapar.
- SQL Injection ve Syntax Koruması: Oyuncuların isimlerindeki kesme işaretleri (') veya HTML tagları (< >) veritabanını bozmasın diye özel güvenlik filtrelerinden geçirilir.
🖱️ Menü ve Buton Kullanım Rehberi (/top15)
Oyuncular veya adminler chate /top15 yazdığında gelişmiş bir menü açılır:
[ Oyuncu Menüsü ]
- 1. Güncel Top 15'i Göster: O anki haftanın rekabetçi sıralamasını, puanlarını, KDA ve HS oranlarını şık bir HTML tabloyla ekrana getirir.
- 2. Geçmiş Haftayı Göster: Sıfırlanmadan önceki son haftanın arşiv tablosunu açar.
- 3. Kendi Detaylı İstatistiğim: Oyuncuya özel kişisel profili açar. Performans değerlendirmesi (EFSANEVİ, İYİ vb.), favori silahı, silah kill sayıları ve görev istatistikleri görsel barlarla sunulur.
- 4. Başka Oyuncu İstatistiği [YENİ]: Sunucudaki aktif oyuncuların listesini açar. Seçilen kişinin detaylı istatistik profilini incelemenizi sağlar.
PHP Kod:
if(get_user_flags(id) & ADMIN_RCON) {
- 1. Haftayı Arşivle ve Sıfırla: Güncel istatistikleri "Geçmiş Hafta" tablosuna kaydırır ve yeni haftayı tertemiz 0'dan başlatır.
- 2. Çevrimiçi Oyuncu Sıfırla (Seçmeli): Bug'a giren veya cezalandırılmak istenen tek bir oyuncunun anlık olarak verilerini sıfırlamanızı sağlar.
- 3. Tüm Verileri Anında Kaydet: Sunucuya restart atmadan önce, o an içeride olan herkesin verilerini anında SQL'e zorla yazdırır (Veri kaybını önler).
- 4. Veritabanını Optimize Et (Vacuum): Zamanla şişen SQLite dosya boyutunu sıkıştırarak ilk günkü hızına döndürür.
📸 Sistemden Görüntüler





Not: Sistem veritabanı dosyasını (holocoust_v5.sq3) addons/amxmodx/data/sqlite3/ dizini içine kendisi otomatik olarak kuracaktır. Harici bir ayar yapmanıza gerek yoktur. Oluşturulacak olan dosyanın adını 25. satırdan düzenleyebilirsiniz.
)

