SA-MP ve MTA:SA sunucusu nasıl kurulur? Adım adım rehber
Yazan: Datafex Teknik EkibiYayın: Güncelleme: 4 dk okuma
Bu rehber GTA San Andreas'ı çok oyunculu hale getiren iki ayrı projenin sunucusunu kurar: SA-MP ve MTA:SA. İkisi aynı oyunun üzerinde çalışır ama aynı şey değildir — SA-MP sunucu tarafında Pawn dilini, MTA:SA ise Lua'yı kullanır, istemcileri ayrıdır ve script'ler birinden diğerine taşınmaz. Bu yüzden rehberin ilk işi hangisini kuracağınıza karar vermenize yardım etmek, sonra ikisinin kurulumunu ayrı ayrı anlatmak.
Başlamadan önce: neye ihtiyacınız var?
- Bir platform kararı. Hazır bir gamemode veya ekip birikiminiz varsa karar zaten verilmiştir; sıfırdan başlıyorsanız hangi topluluğun script ekosistemini kullanacağınıza bakın. Sonradan geçiş, gamemode'u baştan yazmak demektir.
- Bir sunucu. Bu iki oyun listedeki en hafif işlerdendir: 100 slotluk bir roleplay sunucusu 2 GB / 1 vCPU ile çalışır, 500 oyuncuya kadar 4 GB / 2 vCPU yeter. Belirleyici olan kaynak miktarı değil tek çekirdek performansıdır, çünkü hem Pawn hem Lua yürütmesi tek iş parçacığında çalışır. Hesabın genel mantığı: kaç vCPU ve kaç GB RAM gerekir?
- Yurt içi bir lokasyon. Bu oyunlarda oyuncunun hissettiği kalite neredeyse tamamen gecikmeye bağlıdır; Türkiye'deki kitleye hizmet ediyorsanız lokasyon donanımdan daha belirleyicidir: sunucu lokasyonu ve ping
- Roleplay yapacaksanız bir MySQL/MariaDB. Aynı makinede çalıştırın; asıl yük genellikle sorgulardan gelir.
1. İşletim sistemi
Debian 12 veya Ubuntu 22.04 LTS ikisi için de uygundur, ama bir fark var ve bu fark kurulumun ilk yarım saatini belirler.
SA-MP sunucusu 32-bit derlenmiştir; modern dağıtımlar 32-bit kütüphaneleri varsayılan olarak kurmaz ve bu adım atlandığında süreç hata vermeden kapanır. MTA:SA'nın 64-bit sunucu ikilisi ise böyle bir gereksinim taşımaz. SA-MP tarafında eksik kütüphaneleri önce görün, sonra kurun:
ldd ./samp03svr
dpkg --add-architecture i386
apt update
apt install lib32z1 lib32stdc++62. SA-MP kurulumu ve server.cfg
SA-MP sunucu paketi çıkarıldığında kurulum bitmiş sayılır; yapılandırmanın tamamı kök dizindeki server.cfg dosyasındadır ve satır satır okunur:
hostname Sunucu adi
gamemode0 gamemode 1
filterscripts
plugins
maxplayers 100
port 7777
rcon_password GUCLU_PAROLA
announce 1
query 1
lanmode 0gamemode0 satırındaki ad, gamemodes/ klasöründeki derlenmiş .amx dosyasının adıdır — uzantısız yazılır. Eklenti (plugin) kullanıyorsanız plugins satırına yazdığınız dosyaların plugins/ klasöründe ve sunucuyla aynı mimaride derlenmiş olması gerekir; 64-bit derlenmiş bir eklenti 32-bit sunucuda yüklenmez.
Güncel projelerde open.mp giderek yaygınlaşıyor: SA-MP istemcileriyle ve mevcut Pawn gamemode'larının büyük bölümüyle çalışacak şekilde tasarlanmış, aktif geliştirilen bir sunucu yazılımı. Yapılandırması server.cfg yerine JSON tabanlıdır, yani taşıma sırasında ayarları yeniden yazmanız gerekir. Mevcut bir sunucuyu taşıyacaksanız önce bir kopyasını ayrı bir portta deneyin.
3. MTA:SA kurulumu ve mtaserver.conf
MTA:SA sunucusu 64-bit çalışır ve yapılandırması mods/deathmatch/ altındadır. İki dosya önemlidir: sunucu ayarlarını taşıyan mtaserver.conf ve yetkileri taşıyan acl.xml. Kaynaklar (resource) aynı klasördeki resources/ içinde durur ve açılışta başlatılacak olanlar yapılandırma dosyasında tek tek belirtilir.
İlk iş, yönetim kaynağının varsayılan hesabını kapatmaktır. MTA sunucusu kurulumdan sonra yönetici hesabı hazır gelir ve parolası değiştirilmediğinde sunucunun yönetimi fiilen herkese açıktır. Bunu ilk açılışta halledin, "sonra" demeyin.
MTA'nın SA-MP'ye göre pratik farkı, kaynakları oyunculara kendi iç HTTP sunucusu üzerinden dağıtmasıdır. Bu, ayrı bir portun açık olmasını gerektirir ve büyük kaynak paketlerinde ilk bağlanış süresini belirleyen şey bu aktarımdır.
4. Portlar
| Port | Protokol | Ne için |
|---|---|---|
| 7777 | UDP | SA-MP oyun ve sorgu trafiği |
| 22003 | UDP | MTA:SA oyun trafiği |
| 22005 | TCP | MTA:SA iç HTTP sunucusu (kaynak aktarımı) |
MTA'da sunucu listesinde görünmek için oyun portunun yanında ASE sorgu portunun da dışarıdan erişilebilir olması gerekir; varsayılan yapılandırmada bu, oyun portunun 123 fazlasıdır. Sunucunuz çalışıyor ama listede yoksa bakılacak ilk yer burasıdır. Datafex kullanıyorsanız port yönetimi ve ek IP talepleri müşteri panelinden yapılır.
İlk açılışta en sık yapılan hatalar
- SA-MP için 32-bit kütüphaneler kurulmamış. Süreç açılır gibi yapıp anında kapanır.
- `gamemode0` satırında dosya adı yanlış yazılmış. Sunucu açılır, boş bir dünyayla karşılaşırsınız.
- Eklenti mimarisi uyuşmuyor. Konsolda eklenti yüklenemedi satırı geçer, gamemode yarım çalışır.
- MTA'da yalnızca oyun portu açılmış. Sunucu listede görünmez ya da oyuncular kaynakları indiremez.
- Varsayılan yönetici hesabı bırakılmış. Sunucunun yönetimi herkese açıktır.
- Donanım büyütülüp script optimize edilmemiş. Bu iki oyunda sınır genellikle donanım değil, her tick'te çalışan kod miktarıdır; veritabanı tarafında ilk bakılacak yer de indekslerdir: MySQL performans ayarları
DDoS tarafı
Her iki sunucu da UDP üzerinde çalışır ve sunucu listesi sorguları oyun portunun kendisine gelir; bu, sorgu taşması saldırılarını bu oyunlarda klasik bir sorun haline getirir. UDP'de kaynak adresi sahte olabildiği için saldıran adresleri engellemek işe yaramaz, filtrelemenin ağ seviyesinde yapılması gerekir: DDoS koruması nedir?
Datafex sunucularında katmanlı Fexwall DDoS koruması tüm paketlerde ücretsiz dahildir.
Sonraki adım
Oyuncu ilerlemesi roleplay sunucularında veritabanındadır; düzenli yedek ve bir kez gerçekten denenmiş geri yükleme şart: sunucu yedekleme stratejisi Oyuncu sayısına göre önerilen paketleri ve işlemci seçeneklerini tek sayfada topladık: SA-MP ve MTA sunucu paketleri. Aynı makinede birden fazla sunucu örneği çalıştırmayı planlıyorsanız sanal sunucu paketlerindeki vCPU basamakları karar noktanız olur; kaynakları kendiniz seçip aylık tutarı sunucu yapılandırıcıda görebilirsiniz.