R 1
Roksam
[DEV]AB 1
[DEV]AB
Test5410 1
Test5410
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 153
Çö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