MTA sunucusu için gereken RAM miktarı, oyuncu sayısından çok sunucunuzda çalışan kaynak (resource) sayısına ve script kalitesine bağlıdır. "50 kişilik bir sunucu için kaç GB RAM lazım?" sorusunun tek bir doğru cevabı yoktur; çünkü 50 slotluk sade bir freeroam sunucusu ile 50 slotluk ağır scriptli bir roleplay sunucusu birbirinden tamamen farklı iki iş yüküdür. Bu rehberde MTA sunucusunun belleği tam olarak nereye harcadığını, oyuncu sayısına göre kullanabileceğiniz pratik bir başlangıç tablosunu, RAM yetmediğinde ortaya çıkan belirtileri ve bellek tüketimini düşürmenin somut yollarını bulacaksınız.
Bellek planlaması yapmadan önce, MTA:SA sunucusunun hangi bileşenlerinin RAM tükettiğini bilmek gerekir. Sunucu süreci (mta-server64) tek başına oldukça hafiftir; asıl tüketim üstüne eklediğiniz katmanlardan gelir.
Her bağlı oyuncu için sunucu; konum, araç durumu, envanter, senkronizasyon tamponu gibi verileri bellekte tutar. Ancak bu, tek başına en küçük kalemdir. Saf oyuncu bağlantısının maliyeti oyuncu başına birkaç megabayt seviyesindedir. Yani 30 oyuncudan 60 oyuncuya çıkmak RAM ihtiyacınızı iki katına çıkarmaz — asıl fark, o oyuncuların tetiklediği script yükünden gelir.
MTA'nın bellek tüketiminin büyük bölümü buradan çıkar. Her resource, kendi Lua sanal makinesi içinde tablolar, zamanlayıcılar (setTimer), elementler ve önbelleğe alınmış veriler tutar. Özellikle şu desenler belleği hızla şişirir:
destroyElement ile yok edilmeyen işaretçiler, blipler, objeler.map) dosyaları ve custom modellerKötü yazılmış tek bir script, iyi optimize edilmiş yirmi kaynaktan daha fazla RAM tüketebilir. Bu yüzden "kaç GB alayım" sorusundan önce "hangi scriptleri çalıştıracağım" sorusunu netleştirin.
Roleplay sunucuları neredeyse istisnasız MySQL veya MariaDB kullanır. Veritabanı sunucusu aynı makinede çalışıyorsa, MTA'dan bağımsız olarak kendi tampon havuzunu (innodb_buffer_pool_size) ayırır. Varsayılan ayarlarla bile birkaç yüz megabayt, yoğun bir RP veritabanında ise gigabayt seviyesine çıkabilir. Bellek planınızda MySQL'i ayrı bir kalem olarak düşünün.
Linux tarafında minimal bir kurulum genellikle birkaç yüz megabayt ile yetinir. Windows tarafında bu rakam belirgin şekilde yükselir. Buna ek olarak FTP sunucusu, web paneli, TeamSpeak, Discord botu veya izleme araçları çalıştırıyorsanız her biri kendi payını alır. Sunucuda MTA dışında ne çalışıyorsa, onu da hesaba katın.
Aşağıdaki değerler, işletim sistemi ve MySQL dahil toplam sunucu RAM'i için başlangıç önerisidir. Sunucunuzun script yükü ağırsa bir üst kademeye çıkın.
Bu tablo bir tavan değil, sağlıklı bir başlangıç noktasıdır. Pratik kural şudur: sunucu zirve saatte toplam RAM'inin %70'ini geçmemelidir. Kalan pay, ani oyuncu artışları ve yeniden başlatma anındaki geçici sıçramalar için tampon görevi görür.
Aynı oyuncu sayısında bile sunucu türü ihtiyacı ciddi biçimde değiştirir:
Sunucunuzun belleği sıkışmaya başladığında sorun genellikle net bir hata mesajı olarak değil, davranış bozukluğu olarak görünür:
dmesg çıktısında Out of memory satırı görürsünüz.free -m çıktısında swap dolmaya başladıysa sunucu diske taşmıştır; bu, NVMe SSD üzerinde bile ciddi performans kaybı demektir.MTA sunucusunun ana döngüsü büyük ölçüde tek çekirdek üzerinde çalışır. Bu, tek çekirdek performansının (single-thread performance) oyun içi akıcılık üzerinde RAM'den daha belirleyici olduğu anlamına gelir. Sekiz zayıf çekirdek yerine, güçlü tek çekirdek performansına sahip bir işlemci MTA için çok daha iyi sonuç verir. Nubitro'nun AMD Ryzen 9 9950X tabanlı Türkiye lokasyonlu VDS paketleri bu nedenle oyun sunucuları için tercih ediliyor: yüksek tek çekirdek performansı, DDR5 bellek ve NVMe M2 SSD bir arada.
Disk tarafında NVMe M2 SSD, özellikle MySQL yazma işlemlerinde farkı hissettirir. Ağ tarafında ise MTA'nın UDP üzerinden çalıştığını unutmayın; bu yüzden DDoS korumalı bir ağ altyapısı, oyun sunucuları için opsiyonel değil zorunludur. Konuyu Cloudflare oyun sunucusunu korur mu yazımızda detaylı ele aldık.
mtaserver.conf içindeki varsayılan örnek kaynakların çoğuna ihtiyacınız yoktur.onPlayerQuit olayında oyuncuya ait tabloları nil yapın, zamanlayıcıları iptal edin.destroyElement ile yok edin.innodb_buffer_pool_size değerini makinenizin toplam RAM'ine göre ölçekleyin.htop veya ps aux --sort=-%mem ile hangi sürecin ne kadar tükettiğini düzenli olarak kontrol edin.Sade bir freeroam veya DM sunucusu için büyük ihtimalle yeter. Tam özellikli bir roleplay sunucusu için yetmez; 8 GB'tan başlamanızı öneririz. Belirleyici olan slot sayısı değil, o slotların arkasındaki script yüküdür.
Hayır. Ping, ağ gecikmesiyle ilgilidir ve RAM ile doğrudan bağlantısı yoktur. Ancak sunucu bellek sıkıntısı nedeniyle swap'e düşüyorsa, oyun içi tepki süreleri uzar ve bu oyuncular tarafından "ping yükseldi" olarak algılanır. Bu durumda RAM eklemek gerçekten fark yaratır.
Linux belirgin şekilde daha az işletim sistemi belleği kullanır ve MTA sunucusu Linux üzerinde uzun süreli çalışmalarda daha kararlı davranır. Grafik arayüze ihtiyacınız yoksa Linux tercih edin.
VDS paketlerinde yükseltme mümkündür; sunucunuzu sıfırdan kurmadan daha yüksek bir pakete geçebilirsiniz. Bu nedenle başlangıçta gereğinden fazlasını almak yerine ihtiyacınıza uygun paketle başlayıp büyüdükçe yükseltmek daha mantıklıdır. Seçenekler için MTA sunucu paketlerine göz atabilirsiniz.
Zirve saatte en az %30 pay bırakmayı hedefleyin. Bu tampon, ani oyuncu akınları, sunucu yeniden başlatma anındaki geçici sıçramalar ve yedekleme işlemleri için gereklidir.
Evet, teknik olarak mümkündür ve TeamSpeak görece hafif bir servistir. Ancak ikisini birlikte çalıştıracaksanız RAM tablosunda bir üst kademeyi seçin ve CPU'nun MTA'ya yetmeye devam ettiğinden emin olun.
MTA sunucusu için RAM seçerken oyuncu sayısı yalnızca başlangıç noktasıdır. Gerçek belirleyici, çalıştıracağınız kaynakların sayısı ve kalitesi ile veritabanı yüküdür. Küçük ve sade sunucular 2–4 GB ile rahat çalışır; tam özellikli bir roleplay sunucusu 8 GB'tan başlar; büyük ölçekli projeler 16 GB ve üzerini gerektirir. Her durumda tek çekirdek CPU performansını, NVMe M2 SSD'yi ve DDoS korumalı ağ altyapısını RAM kadar önemseyin.
Sunucunuzu henüz kurmadıysanız MTA:SA sunucusu nasıl açılır rehberimizle başlayabilir, donanım tarafında ise İstanbul lokasyonlu oyun sunucusu paketlerimizi inceleyebilirsiniz. Hangi paketin projenize uyduğundan emin değilseniz, script yükünüzü ve hedeflediğiniz oyuncu sayısını yazarak bize ulaşın; 7/24 destek ekibimiz doğru yapılandırmayı birlikte belirlemenize yardımcı olur.