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.
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:
Kısacası roleplay sunucusu, oyun sunucusundan çok bir uygulama sunucusuna benzer. Planlamayı da buna göre yapmak gerekir.
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.
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.
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.
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.
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.
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:
Bu üç port kapalıysa sunucu ya hiç görünmez ya da oyuncular bağlanırken indirme ekranında takılır.
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.
Bu, projenizin kaderini belirleyen karardır. Üç yol vardır:
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.
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:
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.
mtaserver.conf içinde dikkat etmeniz gereken alanlar:
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.
Roleplay sunucularında performans sorunları neredeyse her zaman aynı üç yerden çıkar:
Ping tarafında yapılabilecekler için oyun sunucusu paketlerimize göz atabilir, sunucu tarafı gecikmeyi düşürme yöntemlerini ayrı bir rehberde inceleyebilirsiniz.
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.
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.
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.
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.
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.
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.
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.
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.
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.