Fethi Polat 1
Fethi Polat
xranzei 1
xranzei
Bvural41 1
Bvural41
kralhakan2009 1
kralhakan2009
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
B 1
berione65
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı player.item

  • Konuyu başlatan Konuyu başlatan zalo25252
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 149

zalo25252

Silence is the most powerful scream.💫
Telefon Numarası Onaylanmış Üye
Fahri Üye
TM Üye
Katılım
7 Ocak 2020
Konular
147
Mesajlar
665
Çözüm
31
Online süresi
1mo 19d
Reaksiyon Skoru
157
Altın Konu
1
TM Yaşı
6 Yıl 5 Ay 2 Gün
Başarım Puanı
144
MmoLira
3,531
DevLira
9
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Oyun içerisinde envantere gelen veya giden itemler kaç dk sonra veritabanına yazılıyor?
 
Çözüm
Ticaret - 0%
0   0   0
Bu sürenin uzeltilmasi veya kısaltılması ne gibi sorunlara yol açar

1. Süreyi Kısaltırsan (Örneğin: 5 dakikadan 30 saniyeye)


Avantajlar:​


  • Veri kaybı riski azalır. Sunucu çökse bile son işlemler büyük ihtimalle kayıtlı olur.
  • Hilecilerin hızlı item çekip çıkma taktiklerini engellemeye yardımcı olabilir.
  • Özellikle PVP sunucularda oyuncuların yaptığı ticaret/loglar daha güvenli olur.

Dezavantajlar:​


  • MySQL'e aşırı yük biner. Her karakter için 30 saniyede bir veritabanına yazmak, oyuncu sayısı fazlaysa performansı düşürür.
  • Disk I/O artar → SSD kullanmıyorsan sunucu yavaşlar.
  • Sunucunun gecikme sürelerinde artış olabilir (özellikle yüksek oyunculu ortamlarda)...
db/cache.cpp de bulunuyor CItemTable olması gerekli burada yazar delayi
 
db/cache.cpp de bulunuyor CItemTable olması gerekli burada yazar delayi
CPlayerTableCache::CPlayerTableCache()
{
m_expireTime = MIN(1800, g_iPlayerCacheFlushSeconds);
}

CPlayerTableCache::~CPlayerTableCache()
{
} tam olarak kaç dakika burada ki 1800 hangi format saniye mi

saniye olarak varsayarsak 30 dakika olarak gösteriyor. Ben şöyle birşey yaptım benim tablo yapıları MylSAM ben İnnoDB yaptım ve bu süre 6 dakikya kadar düşmüş oldu ne tür sorunlara yol açabilir
 
Oyun içerisinde envantere gelen veya giden itemler kaç dk sonra veritabanına yazılıyor?
  1. game/src/char.cpp veya char_manager.cpp içinde:
    cpp
    KopyalaDüzenle
    void CHARACTER::Save()
    ve
    cpp
    KopyalaDüzenle
    void CCharManager::Update(int iPulse)
    fonksiyonlarına bakılır. Burada her x milisaniyede bir çağrılan Update() fonksiyonu içinde karakter bilgisi veritabanına yazılır.
  2. Pulse Zamanı (örnek):
    cpp
    KopyalaDüzenle
    #define PASSES_P#define 25
    Bu, saniyede 25 tick demek. Yani Update() fonksiyonu her 10 saniyede bir çağrılıyorsa:
    cpp
    KopyalaDüzenle
    if (++m_iUpdateCounter >= 250) // 250 / 25 = 10 saniye
    {
    // Save character
    }



📁 Nerede Tanımlıdır?​


  • C++ Kaynak Kodları: char.cpp, char_manager.cpp, desc.cpp, item.cpp
  • game binary ile build edilmiş olduğundan, kod erişimin yoksa bu ayar doğrudan değiştirilemez.
  • Ancak paketlenmiş sunucularda bu kayıt sıklığı genellikle 10-15 saniyede bir olarak bırakılır.
 
  1. game/src/char.cpp veya char_manager.cpp içinde:
    cpp
    KopyalaDüzenle
    void CHARACTER::Save()
    ve
    cpp
    KopyalaDüzenle
    void CCharManager::Update(int iPulse)
    fonksiyonlarına bakılır. Burada her x milisaniyede bir çağrılan Update() fonksiyonu içinde karakter bilgisi veritabanına yazılır.
  2. Pulse Zamanı (örnek):
    cpp
    KopyalaDüzenle
    #define PASSES_P#define 25
    Bu, saniyede 25 tick demek. Yani Update() fonksiyonu her 10 saniyede bir çağrılıyorsa:
    cpp
    KopyalaDüzenle
    if (++m_iUpdateCounter >= 250) // 250 / 25 = 10 saniye
    {
    // Save character
    }



📁 Nerede Tanımlıdır?​


  • C++ Kaynak Kodları: char.cpp, char_manager.cpp, desc.cpp, item.cpp
  • game binary ile build edilmiş olduğundan, kod erişimin yoksa bu ayar doğrudan değiştirilemez.
  • Ancak paketlenmiş sunucularda bu kayıt sıklığı genellikle 10-15 saniyede bir olarak bırakılır.
Bu sürenin uzeltilmasi veya kısaltılması ne gibi sorunlara yol açar
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst