Knight Online Panel (Web) ve Oyun Veritabanı Senkronizasyon Sorunları
Knight Online pvp serverlarda web paneli (Kayıt, Sıralama, Pus/Max) ile oyun sunucusu doğrudan aynı SQL Server veritabanını kullanır. Web sitesi üzerinden yeni üyelik açılmasına rağmen oyuna girerken "ID or Password Wrong" hatası alınması veya siteden alınan Cash/KC miktarının oyunda görünmemesi senkronizasyon (veri uyuşmazlığı) sorunudur. Bu rehberde sorunun temel nedenlerini ve çözümlerini inceleyeceğiz.
1. Neden: Farklı Sürüm (v1299 / v2xx) Tablo ve Prosedür Yapıları
Kullandığınız web panelinin veritabanına kayıt gönderirken tetiklediği SQL tabloları ile oyun files dosyalarının okuduğu tablolar uyuşmuyor olabilir.
Çözüm Yolu:
- v1299 altyapılarında üyelikler genellikle
TB_USERtablosuna kayıt edilirken, v2xx ve üzeri güncel veritabanlarındaACCOUNT_CHARveyaVERSION_DATAgibi ek tabloların da doldurulması gerekir. - Web panelinizin yönetim klasöründeki
config.phpveya database ayar dosyasını açarak, panelin üyelik basarken hangi prosedürü (Örn: `LOAD_USER_DATA` veya `CREATE_NEW_ACCOUNT`) tetiklediğini ve bu prosedürün SQL Server'da mevcut olup olmadığını kontrol edin.
2. Neden: SQL Server Uzak Bağlantı (Remote Connection) İzinleri
Eğer web sitenizin barındığı hosting/sunucu ile oyun sunucunuz farklı IP adreslerindeyse, oyun sunucunuz web sitesinden gelen veri isteklerini siber güvenlik nedeniyle engelliyor olabilir.
Çözüm Yolu:
- SQL Server Management Studio'yu açın, sunucu adınıza sağ tıklayıp Properties deyin.
- Connections sekmesine geçin ve "Allow remote connections to this server" (Bu sunucuya uzak bağlantılara izin ver) seçeneğinin işaretli olduğunu doğrulayın.
- Windows Güvenlik Duvarı üzerinden SQL Server'ın dış ağa açılan portu olan 1433 portuna, sadece web sitenizin IP adresine izin verecek şekilde bir giriş kuralı (Inbound Rule) ekleyin.
3. Neden: MD5 Şifreleme Metodu Uyuşmazlıkları
Web paneliniz güvenliği sağlamak adına oyuncuların şifrelerini SQL'e MD5 (şifrelenmiş hashes) olarak kaydediyor olabilir. Ancak Ebenezer/DbAgent şifreleri açık (Plain text) olarak okumaya programlandıysa oyuncular oyuna giriş yapamaz.
- Panel ayarlarınızdan MD5 şifreleme özelliğini kapatın veya oyun exe dosyalarınızın MD5 uyumlu (soacks/guard tarafında desteklenen) versiyonlarını kullanın.
Bu makale PvPSunucusu için özel olarak hazırlanmıştır.