kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
mavzermete 1
mavzermete
xranzei 1
xranzei
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

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

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Oyun içerisinde envantere gelen veya giden itemler kaç dk sonra veritabanına yazılıyor?
 
Çözüm
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)...
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).



2. Süreyi Uzatırsan (Örneğin: 5 dakikadan 15 dakikaya)


Avantajlar:​


  • Daha az MySQL yükü → sunucu daha akıcı çalışır.
  • Büyük sunucularda CPU/RAM kaynakları daha verimli kullanılır.
  • Disk erişimi azalır → SSD ömrü uzayabilir.

Dezavantajlar:​


  • Veri kaybı riski artar. Sunucu çökmeden önce yapılan her şey (item alımı, yang, vs.) veritabanına geçmemiş olabilir.
  • Oyuncular "item kayboldu" şikayetiyle gelir.
  • Rollback (geri alma) ihtimali artar.



Önerilen En İyi Uygulama:​


  • Ortalama: 3–5 dakika arası idealdir.
  • Sunucu PVP ise 1–2 dakikaya kadar düşürülebilir.
  • PvM ya da düşük oyunculu ise 10 dakikaya kadar çıkılabilir.
  • Alternatif: Yüksek değerli işlemleri (örneğin +9 item alma, sandık açma, yang kazanımı) anında veritabanına yazdırabilirsin → “kritik veri anlık, diğerleri toplu” modeli.



Teknik olarak bu süreyi nereden ayarlayabilirim?​


Source tarafında CHARACTER::Update() veya CHARACTER::Save() fonksiyonlarının bağlı olduğu event zamanlamalarını değiştirerek.
Örneğin:


cpp
event_create(save_event, this, PASSES_PER_SEC(300)); // 5 dakika


→ Buradaki 300 değeri 180 yapılırsa → 3 dakikaya iner.
 
Çözüm

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

Geri
Üst