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
sen272 1
sen272
Mt2Hizmet 1
Mt2Hizmet
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)...
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