Knight Online Panel (Veb) və Oyun Verilənlər Bazasının Sinxronizasiya Problemləri
Knight Online pvp serverlərində veb panel (Qeydiyyat, Sıralama, Pus/Max) və oyun serveri birbaşa eyni SQL Server verilənlər bazasından istifadə edir. Veb sayt vasitəsilə yeni üzvlük açmasına baxmayaraq, oyuna daxil olarkən "ID və ya Şifrə Səhv" xətası almaq və ya saytdan alınan Cash/KC məbləğinin oyunda görünməməsi sinxronizasiya (məlumat uyğunsuzluğu) problemdir. Bu təlimatda problemin əsas səbəblərini və həll yollarını araşdıracağıq.
Səbəb 1: Fərqli Versiya (v1299 / v2xx) Cədvəl və Prosedur Strukturları
Məlumat bazasına qeydlər göndərərkən istifadə etdiyiniz veb panel tərəfindən işə salınan SQL cədvəlləri oyun faylları tərəfindən oxunan cədvəllərə uyğun gəlməyə bilər.
Həlli:
- v1299 infrastrukturunda üzvlüklər ümumiyyətlə
TB_USERcədvəldə qeyd edərkən, cari verilənlər bazası v2xx və yuxarıdaACCOUNT_CHARvə yaVERSION_DATAkimi əlavə cədvəllər də doldurulmalıdır. - Veb panelinizin idarəetmə qovluğunda
config.phpvə ya verilənlər bazası parametrləri faylını açmaqla üzvlük düyməsini basarkən panelin hansı proseduru (Məsələn: `LOAD_USER_DATA` və ya `CREATE_NEW_ACCOUNT`) işə saldığını və bu prosedurun SQL Serverdə mövcud olub-olmadığını yoxlayın.
Səbəb 2: SQL Server Uzaqdan Bağlantı İcazələri
Veb saytınızın yerləşdiyi hostinq/server və oyun serveriniz fərqli IP ünvanlardadırsa, oyun serveriniz kibertəhlükəsizlik səbəbi ilə vebsaytdan gələn məlumat sorğularını bloklaya bilər.
Həlli:
- SQL Server Management Studio proqramını açın, server adınıza sağ klikləyin və Xüsusiyyətlər demək.
- Əlaqələr Nişanına keçin və "Bu serverə uzaqdan bağlantılara icazə verin" (Bu serverə uzaqdan bağlantılara icazə verin) işarəsinin seçildiyini yoxlayın.
- Windows Firewall vasitəsilə xarici şəbəkəyə SQL Server portu 1433 Porta yalnız veb saytınızın IP ünvanına icazə verən Gələn Qayda əlavə edin.
Səbəb 3: MD5 Şifrələmə Metodunun Uyğunsuzluğu
Veb paneliniz təhlükəsizliyi təmin etmək üçün oyunçuların parollarını MD5 (şifrələnmiş heşlər) kimi SQL-də saxlaya bilər. Bununla belə, Ebenezer/DbAgent parolları düz mətndə oxumaq üçün proqramlaşdırılıbsa, oyunçular oyuna daxil ola bilməzlər.
- Panel parametrlərinizdə MD5 şifrələmə funksiyasını söndürün və ya oyun exe fayllarınızın MD5 uyğun (sabunlar/mühafizəçilər tərəfindən dəstəklənir) versiyalarından istifadə edin.
Bu məqalə xüsusi olaraq PvPServer üçün hazırlanmışdır.