İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım vSRO Toplam Mob Sayısına Göre Kaç GameServer Açılmalı?

Cevaplar0
Görüntüleme4
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[REHBER & ANALİZ] vSRO Toplam Mob Sayısına Göre Kaç GameServer Açılmalı?
Tab_RefNest Üzerinden Aktif Canavar Sayısını Hesaplama ve GameServer RAM / Çökme (Crash) Sınır Analizi



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında en sık yaşanan beklenmedik **GameServer çökmelerinin (Crash), harita laglarının ve bellek yetersizliği (Out of Memory)** hatalarının temel kaynağı; tek bir GameServer penceresine kaldırabileceğinden çok daha fazla canavar (mob spawn) yüklenmesidir.

Orijinal 32-bit vSRO mimarisinde tek bir GameServer penceresi için ideal ve kararlı aktif canavar sayısı **35.000 - 40.000** bandıdır. Bu sınır aşıldığında GameServer'ın RAM kullanımı tavan yapar ve harita geçişlerinde patlamalar yaşanır.

Aşağıda paylaşılan optimize SQL sorgusu; veritabanınızdaki tüm aktif mob yuvalarını tarayarak sunucunuzun güvenle çalışabilmesi için **en az kaç adet GameServer** açmanız gerektiğini tek seferde hesaplar.

Teknik Bilgilendirme (GameServer Kapasite Skalası)' Alıntı:
  • 0 - 40.000 Mob: 1 GameServer (Küçük/Orta haritalı 80-90 Cap sunucular için yeterli)
  • 40.001 - 80.000 Mob: En az 2 GameServer (Jangan-Donwhang-Hotan-Alex bölünmeli)
  • 80.001 - 120.000 Mob: En az 3 GameServer
  • 120.001 - 160.000 Mob: En az 4 GameServer
  • 160.001+ Mob: 5 veya daha fazla GameServer (Bölgeler ShardManager INI üzerinden ayrılmalıdır)



Hatasız & Hızlı GameServer Hesaplama SQL Kodu

SRO_VT_SHARD
veritabanını seçip aşağıdaki sadeleştirilmiş ve yüksek performanslı sorguyu çalıştırın:

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- AKTİF MOB SAYISINA GÖRE ÖNERİLEN GAMESERVER SAYISI HESAPLAMA
-- ===================================================================
SELECT 
    TotalMobCount AS [Toplam Aktif Canavar Sayisi],
    CASE
        WHEN TotalMobCount = 0 THEN 0
        WHEN TotalMobCount <= 40000 THEN 1
        WHEN TotalMobCount <= 80000 THEN 2
        WHEN TotalMobCount <= 120000 THEN 3
        WHEN TotalMobCount <= 160000 THEN 4
        WHEN TotalMobCount <= 200000 THEN 5
        ELSE CEILING(CAST(TotalMobCount AS FLOAT) / 40000.0)
    END AS [Açılması Gereken Minimum GameServer Sayisi],
    CAST(ROUND((TotalMobCount / 40000.0), 1) AS DECIMAL(4,1)) AS [Ortalama GS Yükü Katsayısı]
FROM (
    SELECT 
        ISNULL(SUM(N.dwMaxTotalCount), 0) AS TotalMobCount
    FROM dbo.Tab_RefNest N WITH (NOLOCK)
    INNER JOIN dbo.Tab_RefTactics T WITH (NOLOCK) ON N.dwTacticsID = T.dwTacticsID
    INNER JOIN dbo._RefObjCommon ROC WITH (NOLOCK) ON T.dwObjID = ROC.ID
    INNER JOIN dbo._RefRegion R WITH (NOLOCK) ON N.nRegionDBID = R.wRegionID
    WHERE ROC.Service = 1
      AND N.dwMaxTotalCount > 0
      AND ROC.Rarity IN (0, 6) -- Normal ve Şampiyon canavarlar
      AND ROC.CodeName128 LIKE 'MOB_%'
      AND ROC.CodeName128 NOT LIKE 'MOB_GOD_%' -- Event/God mobları hariç
      AND R.ContinentName NOT LIKE 'GOD_TOGUI'
) AS CoreData



Neden Bu Optimize Versiyon Kullanılmalı?

  1. Hafif JOIN Yapısı: Gereksiz olan `Tab_RefHive` ve `_RefObjChar` tabloları kaldırıldı; yüzbinlerce satırlık yuva taraması milisaniyeler içinde tamamlanır.
  2. Dinamik Üst Sınır: Canavar sayısı 200.000'i geçtiğinde sabit "6" demek yerine matematiksel formülle (CEILING) gerçekte kaç GS açılması gerektiğini hesaplar.
  3. Crash Koruması: Sorgu sonucunda çıkan GS sayısına göre bölgelerinizi (Farm, Jangan, Hotan, Alex, FGW) farklı GameServer pencerelerine paylaştırarak RAM taşması (Memory Leak) kaynaklı kapanmaları sıfıra indirebilirsiniz.



Nasıl Uygulanır?

  1. SQL Server Management Studio (SSMS) programını açın.
  2. Üst panelden New Query penceresi açıp kodu yapıştırın.
  3. F5 tuşuna basarak çalıştırın.
  4. Alt panelde çıkan Toplam Aktif Canavar Sayısı ve Açılması Gereken Minimum GameServer Sayısı verilerini not edin.
  5. Sonuca göre ShardManager.ini veya Server yapılandırmanızdan GameServer adetlerinizi ve harita paylaşımlarınızı optimize edin.

Sorularınızı ve harita paylaştırma ayarları hakkındaki detayları konu altından iletebilirsiniz. Herkese lag'sız ve çökmesiz sunucular dileriz!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 40,332 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,311
Mesajlar 4,191
Kullanıcılar 1,624
Son üye mrt
Geri
Üst