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 Roleplay Sunucusu Kurma Rehberi: Sıfırdan Adım Adım

AnasayfaYazılarMTA SunucuMTA Roleplay Sunucusu Kurma Rehberi
MTA Roleplay Sunucusu Kurma Rehberi

MTA Roleplay sunucusu kurmak, sıradan bir freeroam ya da DM sunucusu açmaktan teknik olarak çok daha ağır bir iştir. Roleplay sunucularında oyuncu verisi kalıcıdır: karakterler, envanterler, araçlar, evler, banka hesapları ve iş kayıtları bir veritabanında yaşar. Bu da her oyuncu hareketinin arkasında bir sorgu olduğu anlamına gelir. Tek bir yanlış yazılmış sorgu, 60 kişilik bir sunucuyu dizlerinin üstüne çökertebilir. Bu rehberde MTA:SA üzerinde bir roleplay sunucusunu sıfırdan ayağa kaldırmayı; donanım planından veritabanı kurulumuna, ACL yapılandırmasından yayın öncesi kontrol listesine kadar adım adım anlatıyoruz.

MTA Roleplay Sunucusu Nedir, Klasik MTA Sunucusundan Farkı Nedir?

Klasik bir MTA sunucusunda oyuncu bağlanır, oynar, çıkar ve geriye hiçbir şey kalmaz. Roleplay sunucusunda ise oyuncu bir karakter yaratır ve o karakter sunucuda kalıcı olarak var olur. Bu farkın teknik karşılığı şudur:

  • Kalıcı veri katmanı: MySQL veya MariaDB zorunlu hale gelir. Karakter, envanter, araç, ev, iş, banka ve log tabloları sürekli okunur ve yazılır.
  • Uzun oturum süreleri: RP oyuncusu ortalama olarak DM oyuncusundan çok daha uzun süre bağlı kalır. Bellek sızıntıları ve birikimli tablolar burada acımasızca ortaya çıkar.
  • Çok daha fazla element: Yollara serpilmiş araçlar, iç mekanlar, pickup ve marker nesneleri, işaretler, NPC benzeri yapılar. Element sayısı arttıkça sunucunun her tick işi ağırlaşır.
  • Yetki hiyerarşisi: Admin, moderatör, destek, geliştirici ve oyuncu grupları farklı komut setlerine sahiptir. Bu da ACL yapılandırmasını ciddi bir iş haline getirir.

Kısacası roleplay sunucusu, oyun sunucusundan çok bir uygulama sunucusuna benzer. Planlamayı da buna göre yapmak gerekir.

Başlamadan Önce: Altyapı Planı

Yazılıma girmeden önce sunucunun üzerinde çalışacağı zemini doğru seçmek, sonradan çözülmesi en pahalı sorunları baştan ortadan kaldırır.

İşlemci: Çekirdek sayısı değil, tek çekirdek gücü

MTA sunucu süreci ana oyun döngüsünü büyük ölçüde tek bir çekirdek üzerinde yürütür. Yani 16 çekirdekli zayıf bir işlemci yerine, tek çekirdek performansı yüksek modern bir işlemci her zaman daha iyi sonuç verir. Nubitro tarafındaki AMD Ryzen 9 9950X tabanlı Türkiye VDS paketleri tam olarak bu senaryo için uygundur: yüksek tek çekirdek performansı, DDR5 bellek ve NVMe M2 disk.

Bellek

Roleplay gamemode'ları, freeroam scriptlerine kıyasla belirgin şekilde daha fazla bellek tüketir. Sunucu süreci, MySQL servisi, varsa web paneli ve işletim sistemi aynı makinede yaşayacaksa belleği cömert planlayın. Kural basittir: sunucu süreci ile veritabanı toplamda fiziksel belleğin yarısını geçmemeli, geri kalanı tampon ve disk önbelleği olarak nefes alabilmelidir.

Disk

Veritabanı yoğun bir iş yükü olduğu için disk tipi burada doğrudan oyun içi gecikmeye dönüşür. NVMe M2 SSD, klasik SATA SSD'ye kıyasla özellikle rastgele okuma/yazma tarafında çok daha yüksek IOPS verir. Karakter kaydetme veya envanter açma gibi işlemlerin takılmadan çalışması buna bağlıdır.

Lokasyon

Oyuncu kitleniz Türkiye'deyse sunucunun da Türkiye'de olması gerekir. Roleplay senaryolarında araç senkronizasyonu ve çatışma anları ping'e son derece duyarlıdır; yurt dışı lokasyonda 60-90 ms ek gecikme, oyuncu deneyimini fark edilir biçimde bozar. İstanbul lokasyonu bu açıdan Türkiye'deki oyuncular için en düşük gecikmeyi verir.

Adım 1: Sunucuyu Hazırlayın

VDS'i teslim aldıktan sonra ilk iş oyunu kurmak değil, sistemi güvene almaktır. Yeni bir sunucuda atılması gereken temel adımları ayrı bir yazıda derledik: Sunucu Güvenliği İçin İlk 10 Adım. Özetle: sistem paketlerini güncelleyin, root ile doğrudan oyun sunucusu çalıştırmayın, oyun için ayrı bir kullanıcı açın ve güvenlik duvarında yalnızca gerekli portları açın.

MTA'nın kullandığı portlar şunlardır:

  • 22003/UDP — ana oyun portu. Oyuncular buradan bağlanır.
  • 22005/TCP — HTTP kaynak indirme portu. Oyuncuların script ve dosyaları indirdiği yerdir.
  • 22126/UDP — sunucu tarayıcısı (ASE) portu. Sunucunuzun listede görünmesi için gereklidir.

Bu üç port kapalıysa sunucu ya hiç görünmez ya da oyuncular bağlanırken indirme ekranında takılır.

Adım 2: MTA Sunucu Yazılımını Kurun

Linux tarafında resmi 64-bit sunucu paketini indirip ayrı bir dizine açın ve içindeki mta-server64 ikilisini çalıştırın. Windows tarafında ise sunucu kurulumu bir kurulum sihirbazı ile gelir ve MTA Server.exe üzerinden başlatılır.

İlk çalıştırmada sunucu, mods/deathmatch altında yapılandırma dosyalarını oluşturur. En kritik iki dosya şunlardır:

  • mtaserver.conf — sunucu adı, port, maksimum oyuncu sayısı, başlangıçta yüklenecek kaynaklar, anti-cheat ayarları.
  • acl.xml — yetki grupları ve hangi grubun hangi komutu çalıştırabileceği.

Sunucuyu ilk kez arka planda değil, doğrudan konsolda başlatın. Böylece eksik bir kaynak veya bozuk bir meta dosyası varsa hata mesajını anında görürsünüz.

Adım 3: Roleplay Gamemode'unu Seçin

Bu, projenizin kaderini belirleyen karardır. Üç yol vardır:

  1. Açık kaynak bir RP altyapısı kullanmak. En hızlı başlangıç budur. Hazır karakter sistemi, envanter, araç ve iş modülleriyle gelir. Dezavantajı, kodun size ait olmaması ve çoğu zaman kimsenin tam olarak bilmediği eski kod parçaları barındırmasıdır.
  2. Hazır bir altyapıyı temel alıp üzerine yazmak. Pratikte en yaygın yol. Çekirdek sistemleri devralır, kimlik kazandıran modülleri kendiniz yazarsınız.
  3. Sıfırdan yazmak. Tam kontrol sağlar ama aylar sürer. Deneyimli bir Lua geliştiricisi olmadan girilmemesi gereken bir yoldur.

Hangi yolu seçerseniz seçin, kullandığınız her kaynağın lisansını kontrol edin ve sunucunuzda çalıştırdığınız üçüncü parti scriptleri okumadan yüklemeyin. Kaynağı belirsiz bir gamemode, sunucunuza arka kapı taşıyabilir.

Adım 4: Veritabanını Kurun ve Bağlayın

MySQL veya MariaDB kurun, sunucu için ayrı bir veritabanı ve yalnızca o veritabanına yetkili ayrı bir kullanıcı oluşturun. Oyun sunucusunun root veritabanı kullanıcısıyla bağlanması, gereksiz ve büyük bir risktir.

Lua tarafında bağlantı dbConnect ile kurulur ve sorgular dbQuery ile asenkron olarak çalıştırılır. Roleplay sunucularında performansı belirleyen üç kural şudur:

  • Sorguları asenkron çalıştırın. Senkron bir sorgu, cevap dönene kadar tüm sunucuyu durdurur. Bir oyuncunun envanter açması yüzünden herkesin donması buradan gelir.
  • Kullanıcı girdisini asla doğrudan sorguya gömmeyin. Değişkenleri her zaman kaçış fonksiyonlarıyla temizleyin veya parametreli sorgu kullanın. SQL enjeksiyonu MTA sunucularında hâlâ en sık görülen ele geçirilme yöntemlerinden biridir.
  • İndeks koyun. Karakter ID, hesap ID ve araç sahibi gibi sürekli filtrelenen sütunlar indekslenmemişse, tablo büyüdükçe sunucu yavaşlar. Bu sorun ilk hafta görünmez, üçüncü ayda ortaya çıkar.

Ayrıca veritabanının otomatik yedeğini ilk günden kurun. Roleplay sunucusunda veri kaybı, oyuncu kaybı demektir; aylarca emek verilmiş bir karakterin silinmesi geri dönüşü olmayan bir güven kaybı yaratır.

Adım 5: mtaserver.conf ve acl.xml Ayarları

mtaserver.conf içinde dikkat etmeniz gereken alanlar:

  • servername — sunucu tarayıcısında görünen ad. Kısa ve arananabilir tutun.
  • maxplayers — donanımınızın gerçekten kaldırabileceği sayıyı yazın. Boş sunucuda 200 slot görünmek etkileyici değildir; dolu sunucuda 200 slotun altında ezilmek ise ölümcüldür.
  • fpslimit — sunucu tarafı tick sınırı. Yükseltmek oyun akıcılığını artırır ama CPU maliyetini de artırır. Donanımınızı ölçmeden yükseltmeyin.
  • ac / enablesd — MTA'nın dahili anti-cheat modülleri. Roleplay sunucusunda bunları kapatmak için hiçbir geçerli sebep yoktur.
  • httpdownloadurl — kaynakları harici bir web sunucusundan dağıtmak isterseniz kullanılır. Büyük RP gamemode'larında ilk bağlanma süresini belirgin biçimde kısaltır.

acl.xml tarafında altın kural: hiçbir yetkiliye ihtiyacından fazla yetki vermeyin. Moderatörün sunucu kaynaklarını yeniden başlatma yetkisi olmamalı, destek ekibinin veritabanına dokunan komutlara erişimi bulunmamalıdır. Yetki dağıtımını en baştan dar tutmak, ilerideki iç kaynaklı sorunların çoğunu baştan engeller.

Adım 6: Performans Optimizasyonu

Roleplay sunucularında performans sorunları neredeyse her zaman aynı üç yerden çıkar:

  • Sürekli çalışan zamanlayıcılar. Her oyuncu için saniyede bir çalışan bir timer, 100 oyuncuda saniyede 100 iş demektir. Mümkün olan her yerde olay tabanlı yapıya geçin.
  • Gereksiz element trafiği. Sunucudan istemciye sürekli veri gönderen scriptler bant genişliğini ve tick süresini yer. Verileri toplu halde ve yalnızca değiştiğinde gönderin.
  • Ağır sorgular. Oyuncu giriş yaparken tek seferde on ayrı tablo sorgulamak yerine, veriyi ihtiyaç anında yükleyin.

Ping tarafında yapılabilecekler için oyun sunucusu paketlerimize göz atabilir, sunucu tarafı gecikmeyi düşürme yöntemlerini ayrı bir rehberde inceleyebilirsiniz.

Adım 7: Güvenlik ve DDoS Koruması

Roleplay sunucuları, oyuncu kitlesi büyüdükçe rakip sunucuların hedefi haline gelir. MTA oyun trafiği UDP üzerinden aktığı için, klasik web tabanlı koruma çözümleri burada işe yaramaz; bu konuyu Cloudflare oyun sunucusunu korur mu yazısında ayrıntılı ele aldık. İhtiyacınız olan şey, oyun trafiğini anlayan DDoS korumalı bir ağ altyapısıdır. Nubitro'nun MTA sunucu paketleri DDoS korumalı ağ altyapısı üzerinde çalışır.

Yazılım tarafında ise: SSH'i anahtar tabanlı girişe geçirin, veritabanını dışarıya kapatın, yetkili hesaplarında iki aşamalı doğrulama kullanın ve log tutmayı ihmal etmeyin. Bir sorun yaşandığında elinizdeki tek kanıt loglardır.

Yayına Almadan Önce Kontrol Listesi

  1. Üç port da dışarıdan erişilebilir durumda mı?
  2. Sunucu, sunucu tarayıcısı listesinde görünüyor mu?
  3. Yeni bir hesapla kayıt olup karakter oluşturulabiliyor mu?
  4. Karakter verisi çıkışta kaydedilip tekrar girişte geri yükleniyor mu?
  5. Veritabanı otomatik yedeği çalışıyor ve yedekten geri dönüş test edildi mi?
  6. ACL grupları test edildi mi; moderatör hesabıyla admin komutu çalıştırılamıyor mu?
  7. Konsolda tekrar eden hata veya uyarı var mı?
  8. 20-30 kişilik bir kapalı testte tick süresi ve bellek kullanımı stabil mi?

Bu listenin tamamı yeşile dönmeden sunucuyu duyurmayın. İlk izlenim tek seferliktir; açılış gününde çöken bir RP sunucusu, oyuncularını çoğunlukla geri kazanamaz.

Sıkça Sorulan Sorular

Roleplay sunucusu için paylaşımlı oyun paneli yeterli mi?

Küçük ölçekli bir test sunucusu için yeterli olabilir, ancak ciddi bir RP projesi için değildir. Roleplay gamemode'ları kendi veritabanı servisini, özel yapılandırmaları ve kök seviyesinde erişim gerektiren araçları kullanır. Root erişimi olan bir VDS bu esnekliği verir.

Kaç oyuncu için ne kadar kaynak gerekir?

Kesin bir tablo vermek yanıltıcı olur, çünkü belirleyici olan oyuncu sayısı değil, gamemode'un ne kadar iyi yazıldığıdır. Kötü yazılmış bir RP scripti 40 kişide zorlanırken, iyi optimize edilmiş bir altyapı aynı donanımda çok daha fazlasını rahatça taşır. Doğru yaklaşım, kapalı test yaparak kendi scriptinizin davranışını ölçmektir.

Windows mu Linux mu tercih etmeliyim?

Linux, uzun süre çalışan oyun sunucularında daha düşük ek yük ve daha iyi kaynak yönetimi sunar; üretim sunucuları için önerilen seçimdir. Windows, komut satırına yabancıysanız ve grafik arayüzle çalışmak istiyorsanız başlangıç için daha kolaydır.

MTA sunucumu daha önce hiç kurmadım, önce neyi öğrenmeliyim?

Roleplay'e geçmeden önce temel bir MTA sunucusu kurup çalıştırmayı öğrenin. Bunun için MTA:SA sunucusu nasıl açılır rehberimizi okuyabilirsiniz. Temel kurulumu anlamadan RP altyapısına girmek, hata ayıklamayı çok zorlaştırır.

Gamemode'u satın almak mı, kendim yazmak mı daha mantıklı?

Hedefinize bağlı. Hızlı açılmak ve topluluk kurmak önceliğinizse hazır bir altyapı ile başlayıp üzerine yazmak mantıklıdır. Uzun vadede kendi kimliğini kuran, kopyalanamayan bir sunucu istiyorsanız er ya da geç kendi kodunuza geçmeniz gerekir.

Sunucu açıldıktan sonra taşımak zor mu?

Zor değil, ancak planlı yapılmalıdır. Veritabanı dökümü, kaynak dosyaları ve yapılandırma dosyaları taşındıktan sonra portların ve veritabanı bağlantı bilgilerinin güncellenmesi yeterlidir. Taşımayı oyuncu yoğunluğunun en düşük olduğu saatte yapın ve taşıma öncesi mutlaka tam yedek alın.

Özet

MTA Roleplay sunucusu kurmak, doğru sırayla ilerlendiğinde yönetilebilir bir süreçtir. Önce tek çekirdek performansı güçlü, NVMe diskli ve oyuncu kitlenize yakın bir sunucu seçin. Sistemi güvene alın, üç portu açın, sunucu yazılımını kurun ve konsolda temiz bir başlangıç aldığınızdan emin olun. Gamemode kararını bilinçli verin, veritabanını ayrı ve yetkisi kısıtlı bir kullanıcıyla bağlayın, sorguları asenkron ve parametreli yazın, indeksleri baştan koyun. ACL'i dar tutun, anti-cheat modüllerini açık bırakın ve DDoS korumalı bir ağ üzerinde çalışın. Son olarak, yayına almadan önce kontrol listesinin tamamını geçin.

Roleplay sunucusunun başarısı büyük ölçüde altyapının sessizce çalışmasına bağlıdır. Oyuncu, sunucunun donanımını fark ettiği anda bir şeyler ters gitmiş demektir.

MTA Roleplay projeniz için uygun altyapıyı arıyorsanız MTA sunucu paketlerimizi ve yüksek tek çekirdek performansı sunan Türkiye lokasyonlu VDS seçeneklerimizi inceleyebilir, projenize hangi yapılandırmanın uyacağından emin değilseniz bize ulaşabilirsiniz. Kurulum ve taşıma konusunda 7/24 destek ekibimiz yanınızda.

Powered by WISECP
💬
Top