X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X
Tüm sistemler çalışıyor · 200 Tbps+ DDoS koruma aktif
Hesap Oluştur Giriş Yap 08505574494

MTA Sunucusu İçin Kaç GB RAM Gerekir? Oyuncu Sayısına Göre Tablo

AnasayfaYazılarMTA SunucuMTA Sunucusu İçin Kaç GB RAM Gereki...
MTA Sunucusu İçin Kaç GB RAM Gerekir? Oyuncu Sayısına Göre Tablo

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.

MTA Sunucusu RAM'i Neye Harcar?

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.

Oyuncu slotları

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.

Kaynaklar (resources) ve scriptler

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:

  • Oyuncu başına büyük Lua tabloları tutan ve oyuncu çıkışında bunları temizlemeyen scriptler
  • Veritabanından çekilen tüm kayıtları belleğe yükleyip orada tutan envanter veya araç sistemleri
  • Sürekli oluşturulan ancak destroyElement ile yok edilmeyen işaretçiler, blipler, objeler
  • Sunucu tarafında tutulan büyük harita (.map) dosyaları ve custom modeller

Kö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.

MySQL veritabanı

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.

İşletim sistemi ve yan servisler

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.

Oyuncu Sayısına Göre MTA Sunucusu RAM Tablosu

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.

  • 1–20 oyuncu, sade freeroam/DM: 2 GB genellikle yeterlidir. Test sunucusu, arkadaş grubu sunucusu veya script geliştirme ortamı için uygundur.
  • 20–50 oyuncu, orta düzey script yükü: 4 GB. Standart bir DM, race veya hafif RP sunucusu bu seviyede rahat çalışır. MySQL'i aynı makinede barındırabilirsiniz.
  • 50–100 oyuncu, tam özellikli roleplay: 8 GB. Envanter, ev/araç sistemi, iş sistemi, telefon sistemi gibi modüllerin hepsi açıkken bu kademeye ihtiyaç duyarsınız.
  • 100–200 oyuncu, ağır RP veya birden fazla sunucu: 16 GB. Aynı makinede ikinci bir MTA örneği, TeamSpeak veya web paneli çalıştırıyorsanız da bu seviyeden başlayın.
  • 200+ oyuncu veya sunucu ağı: 32 GB ve üzeri. Bu ölçekte veritabanını ayrı bir makineye taşımak, RAM eklemekten daha çok fayda sağlar.

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.

Sunucu Tipine Göre Neler Değişir?

Aynı oyuncu sayısında bile sunucu türü ihtiyacı ciddi biçimde değiştirir:

  1. Freeroam / Drift / DM: Az sayıda kaynak, veritabanı kullanımı minimum. En düşük bellek ihtiyacı buradadır.
  2. Race sunucuları: Harita dosyaları belleğe yüklenir. Yüzlerce özel harita barındıran bir race sunucusu, oyuncu sayısı düşük olsa bile beklenenden fazla RAM ister.
  3. Roleplay: En yüksek tüketici. Sürekli veritabanı okuma/yazma, oyuncu başına geniş veri yapıları ve onlarca birbirine bağlı kaynak. MTA roleplay sunucusu kurma rehberimizde bu yapının nasıl kurulduğunu adım adım anlattık.

RAM Yetmediğinde Ortaya Çıkan 5 Belirti

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:

  • Zirve saatte artan gecikme: Oyuncu sayısı belli bir eşiği geçtiğinde ping değişmese bile oyun içi tepkiler gecikmeye başlar.
  • Sunucunun kendiliğinden kapanması: Linux'ta OOM killer sürecin işini bitirir. dmesg çıktısında Out of memory satırı görürsünüz.
  • Swap kullanımının artması: 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.
  • MySQL bağlantı hataları: Veritabanı bellek bulamadığında bağlantıları reddetmeye başlar; oyuncular kayıt kaydedememe veya giriş yapamama şikayeti getirir.
  • Yeniden başlatma sonrası düzelen ama zamanla kötüleşen performans: Klasik bellek sızıntısı işaretidir. Bu durumda RAM eklemek sorunu ertelemekten öteye gitmez; kaynak kodunu incelemek gerekir.

RAM Tek Başına Yeterli Değil

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.

RAM Kullanımını Düşürmenin 7 Somut Yolu

  1. Kullanmadığınız kaynakları kapatın. mtaserver.conf içindeki varsayılan örnek kaynakların çoğuna ihtiyacınız yoktur.
  2. Oyuncu çıkışında temizlik yapın. onPlayerQuit olayında oyuncuya ait tabloları nil yapın, zamanlayıcıları iptal edin.
  3. Element sayısını kontrol altında tutun. Oluşturduğunuz her blip, marker ve objeyi gerektiğinde destroyElement ile yok edin.
  4. Veritabanını belleğe kopyalamayın. Tüm araç tablosunu sunucu açılışında RAM'e yüklemek yerine ihtiyaç anında sorgulayın.
  5. MySQL ayarlarını sunucunuza göre yapın. innodb_buffer_pool_size değerini makinenizin toplam RAM'ine göre ölçekleyin.
  6. Planlı yeniden başlatma kurun. Günde bir kez, oyuncu sayısının en düşük olduğu saatte yapılan restart, küçük sızıntıların birikmesini engeller.
  7. Ölçün, tahmin etmeyin. Linux'ta htop veya ps aux --sort=-%mem ile hangi sürecin ne kadar tükettiğini düzenli olarak kontrol edin.

Sıkça Sorulan Sorular

100 kişilik MTA sunucusu için 4 GB RAM yeter mi?

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.

RAM artırmak ping'i düşürür mü?

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.

MTA sunucusu için Windows mu Linux mu daha az RAM tüketir?

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.

Kaç GB RAM aldığımı sonradan değiştirebilir miyim?

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.

Sunucu RAM'inin ne kadarı boşta kalmalı?

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.

Aynı sunucuda hem MTA hem TeamSpeak çalıştırabilir miyim?

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.

Özet

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.

Powered by WISECP
💬
Top