🛡️ VSRO Lag Azaltma: Mob Spawn (Nest) Rate Düşürme Rehberi
Fazla Spawn Kaynaklı Lag / “Mob Kayıp Oluyor – Pet Flood” Sorunlarına Kalıcı Çözüm
📌 Önemli: İşleme Başlamadan Önce
Bu işlem doğrudan spawn (nest) yoğunluğunu etkiler. Yanlış ayar:
- Haritaların boş kalmasına
- EXP/Farm dengesinin bozulmasına
- Bazı bölgelerde aşırı yığılmaya (dengesiz slot) neden olabilir
İlk kural: DB yedeğini al, sonra işleme başla.
🧠 Neden Lag Oluşur? (Görünmeyen Sebep)
Sunucuda “aşırı lag” oluşmasının en yaygın sebeplerinden biri, fazla mob’un spawn olması ve bunun zincirleme etki yaratmasıdır:
- Slotlar gereğinden fazla mob üretir → total mob sayısı şişer
- Bazı moblar/petler kaybolur → kötü niyetli kişiler bunu suistimal edip flood gibi davranışlarla sunucuyu şişirir
- Harita başına objeler artar → CPU/IO yükü artar → gecikme büyür
Bu rehberin amacı: nest rate’i kontrollü düşürerek sunucuyu rahatlatmak ve istismarı zorlaştırmaktır.
🎯 Neyi Değiştiriyoruz? (Tab_RefNest)
Bu işlem Tab_RefNest tablosundaki spawn parametrelerini etkiler. Kullanılan mantık:
- Belirli level aralığındaki mob’ların nest değerini azalt
- Sadece gerçek mob kayıtlarını hedefle (
CodeName128 LIKE 'MOB%') Rarity = 0ile standart mob’ları kapsa
Hedef: Farm alanlarını öldürmeden, total mob yükünü dengeli şekilde aşağı çekmek.
🧩 Kullanılacak SQL Query
use SRO_VT_SHARD
declare @minLevel int = 1 -- Minimum mob level.
declare @maxLevel int = 2 -- Maximum mob level.
declare @MaxSpawnCount int = 1 -- Spawn rate (Max. 10 yapmanız önerilir.)
update Tab_RefNest
set dwMaxTotalcount = @MaxSpawnCount
from Tab_RefNest as A
inner join Tab_RefTactics as B
on A.dwTacticsID = B.dwTacticsID
inner join _RefObjCommon as C
on B.dwObjID = C.ID
inner join _RefObjChar as D
on C.Link = D.ID
where D.Lvl between @minLevel and @maxLevel and CodeName128 like 'MOB%' and Rarity = 0 and dwMaxTotalcount > 0 ⚠️ Kritik Ayarlar: Neye Dikkat Edilmeli?
1) @minLevel ve @maxLevel sırası
- Her zaman
@minLevel,@maxLeveldeğerinden küçük olmalı. - Örn:
@minLevel=20,@maxLevel=10gibi ters değer girersen mantık bozulur.
2) @MaxSpawnCount neyi belirler?
Slot başına “ne kadar yoğun” spawn olacağını belirleyen ana etkendir. Düşürürsen:
- Toplam mob yükü düşer
- Lag azalır
- Aşırı düşürürsen slotlar “boş” hissi verebilir
Önerilen güvenli sınır:10 üstüne çıkmamak.
✅ Pratik Ayar Önerileri (Slot Tipine Göre)
- Solo slotlar için: 5
- Orta halli slotlar için: 7
- Party slotları için: 9 veya 10
Mantık: Slotun “farm kapasitesi” arttıkça mob sayısı artar; ama total yükü dengede tutmak için üst sınırı kontrollü kullanırsın.
🧪 Test & Ölçüm: Değeri Nasıl Doğru Seçerim?
Oyun içinden ölçüm
- Oyunu aç → oyun içi konsola
/worldstatusyaz - Sağ altta görünen sayılar, haritadaki mob/obje yoğunluğu hakkında fikir verir
Genel pratik hedef
- 1 GameServer için “toplam” tarafında 30–35K civarı çoğu sistemde yeterli olabilir (kapasiteye göre değişir).
Not: Bu sayı; donanım, aktif harita sayısı ve server optimizasyonuna göre değişir. Ama “çok yükseliyorsa” lag riskin artar.
🧠 Akıllı Strateji: Level Aralığına Göre Dengeleme
Bazı sistemlerde belirli level aralıkları çok kolay farm olduğu için oyuncular oraya yığılır. Bu durumda:
- O “kolay farm” aralığındaki mob’ların
@MaxSpawnCountdeğerini 2 gibi düşük tut - Diğer alanlarda slotları dengeli biçimde artır
Sonuç: Tek bölgede şişme azalır, yük dengelenir, farm rotaları çeşitlenir.
🧯 En Sık Hatalar (Ve Nasıl Kaçınırsın)
- Tüm levelları tek seferde düşürmek: Her map/level aynı davranmaz. Parça parça ilerle.
- Çok düşük MaxSpawnCount: Slotlar “ölü” hissi verir, oyuncu kaçırır.
- Test yapmadan canlıya basmak: Önce küçük level aralığında dene, gözlemle, sonra genişlet.
- Backup almamak: Geri dönüşü en zor hata budur.
🏁 Sonuç
Bu yöntem doğru uygulandığında:
- Fazla mob spawn kaynaklı lag ciddi şekilde azalır
- Slot yoğunluğu kontrol altına girer
- İstismar (şişirme/flood etkisi) zorlaşır
- Sunucu daha stabil ve akıcı hale gelir
En iyi yaklaşım: Küçük aralıklarla uygula → ölç → düzelt → genişlet.



