Ekran Kartlı Sunucu Satışları Başladı. İncele
Diğer Oyun Sunucuları

MTA:SA Sunucu Kurulumu Rehberi

Multi Theft Auto San Andreas sunucusu kurma: Linux ve Windows kurulumu, mtaserver.conf ayarları, resource yönetimi ve ACL yapılandırması.

  • 9 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • MTA:SA sunucu kurulumu dört adımdır: sunucu paketini resmî siteden indirin, varsayılan kaynakları (resources) yerleştirin, mtaserver.conf dosyasını düzenleyin ve 22003/UDP ile 22005/TCP portlarını açın.
  • Varsayılan portlar: oyun 22003/UDP, dahili HTTP 22005/TCP, sunucu listesi (ASE) 22126/UDP. ASE portu daima oyun portu + 123’tür.
  • Yönetici hesabı konsoldan addaccount ile açılır, ardından acl.xml içindeki Admin grubuna user.kullaniciadi olarak eklenir.
  • Lua betikleri tek iş parçacığında çalıştığı için yüksek saat hızlı AMD Ryzen 9 işlemci, 8 GB RAM alt sınırı ve NVMe SSD önerilir; ayrıntılar VDS nedir sayfasında.

MTA:SA sunucu kurulumu, resmî sunucu paketini indirmek, varsayılan kaynakları yerleştirmek, mtaserver.conf dosyasını düzenlemek ve 22003/UDP ile 22005/TCP portlarını açmakla tamamlanır. Multi Theft Auto: San Andreas, GTA: San Andreas üzerine kurulu, Lua ile betiklenebilen bağımsız bir çok oyunculu platformdur ve sunucu yazılımı hem Windows hem Linux için resmî olarak dağıtılır.

Bu rehber kurulumu işletim sisteminden bağımsız anlatıyor: her adımda hem Windows hem Linux karşılığını buluyorsunuz. Sunucunuzu bir sanal sunucuda çalıştıracaksanız önce VDS aldıktan sonraki ilk ayarları tamamlayın, sonra buraya dönün.

Kurulumdan Önce: Donanım ve Ön Hazırlık#

MTA sunucusunun yükünü belirleyen şey oyuncu sayısından çok çalıştırdığınız Lua kaynaklarıdır. Sunucu tarafındaki betik yürütme büyük ölçüde tek iş parçacığında ilerler; bu yüzden çok çekirdekli ama düşük frekanslı bir işlemci, az çekirdekli yüksek frekanslı bir işlemciden daha kötü sonuç verir.

Sunucu tipiRAMİşlemciDisk
Test / küçük freeroam, 2-32 slot8 GBAMD Ryzen 9 3900X ve üzeri50 GB NVMe
Aktif freeroam veya DM, 32-64 slot10-12 GBAMD Ryzen 9 7900X50-100 GB NVMe
Roleplay, MySQL aynı makinede16 GBAMD Ryzen 9 7900X100 GB NVMe
100+ oyuncu, çok kaynaklı büyük proje32 GB ve üzeriAMD Ryzen 9 7950X200 GB NVMe
MTA:SA sunucusu için önerilen donanım

Diskte NVMe SSD dışında seçenek düşünmeyin: roleplay sunucularında veritabanı yazma işlemleri sürekli küçük I/O üretir ve SATA gecikmesi oyun içi gecikmeye dönüşür. Oyuncularınız Türkiye’deyse Türkiye lokasyonlu bir yüksek frekanslı Ryzen VDS ping farkını belirgin biçimde düşürür.

İndirmeniz gerekenler
  • Multi Theft Auto resmî sitesi (sunucu paketi)Zorunlu Windows / Linux.exe / .tar.gzÜcretsiz
    İndir
  • WinSCP (dosya aktarımı) WindowsSFTP / SCPÜcretsiz
    İndir
  • PuTTY (SSH istemcisi) WindowsSSHÜcretsiz
    İndir
  • Notepad++ (yapılandırma düzenleme) Windows.xml / .luaÜcretsiz
    İndir

Sunucu paketini yalnızca multitheftauto.com üzerinden indirin. Forumlarda dolaşan “hazır sunucu paketi” arşivleri sıklıkla arka kapı içerir.

Linux Üzerinde MTA Sunucu Kurulumu#

Ubuntu 24.04 LTS üzerinde anlatıyoruz; Debian’da aynı komutlar çalışır. Sunucuya SSH ile bağlanın ve önce sunucuyu root ile değil, ayrı bir kullanıcıyla çalıştıracak şekilde hazırlayın.

  1. Ayrı kullanıcı ve dizin oluşturun#

    sudo adduser --disabled-password --gecos "" mta
    sudo mkdir -p /opt/mta
    sudo chown -R mta:mta /opt/mta
    sudo apt update && sudo apt install -y wget tar unzip screen
  2. Sunucu paketini yerleştirin#

    Resmî siteden Linux x64 sunucu arşivini indirin ve /opt/mta altına açın. Arşivi kendi bilgisayarınıza indirdiyseniz WinSCP ile sunucuya yükleyebilirsiniz.

    sudo -u mta -i
    cd /opt/mta
    tar -xzf multitheftauto_linux_x64.tar.gz --strip-components=1
    ls -l   # mta-server64 ikili dosyası burada olmalı
    chmod +x mta-server64
  3. Varsayılan kaynakları ekleyin#

    Sunucu paketi yalın gelir; oyun modlarının çalışması için mods/deathmatch/resources dizinine varsayılan kaynak setini koymanız gerekir. Resmî kaynak arşivini indirip bu dizine açın.

    mkdir -p /opt/mta/mods/deathmatch/resources
    cd /opt/mta/mods/deathmatch/resources
    # indirdiğiniz kaynak arşivini buraya açın
    unzip mtasa-resources.zip
  4. Sunucuyu ilk kez başlatın#

    cd /opt/mta
    ./mta-server64

    İlk çalıştırmada sunucu eksik dizinleri oluşturur ve konsolu açar. Konsolda quit yazarak kapatın; yapılandırmayı bir sonraki bölümde düzenleyeceğiz.

DikkatMTA sunucusunu root kullanıcısıyla çalıştırmayın. Bir kaynaktaki güvenlik açığı, root altında çalışan bir süreçte tüm sunucunun ele geçirilmesine yol açabilir. Ayrı bir mta kullanıcısı, hasarı o kullanıcının erişebildiği dosyalarla sınırlar.

Windows Üzerinde MTA Sunucu Kurulumu#

Windows tarafında kurulum daha kısa: resmî siteden indirdiğiniz sunucu kurulumunu çalıştırın ve hedef klasörü seçin. Windows Server üzerinde çalışıyorsanız önce Uzak Masaüstü ile sunucuya bağlanın.

  1. Kurulum konumunu seçin#

    Sunucuyu C:\Program Files altına değil, yazma izni sorunu çıkarmayacak bir yere kurun. Örnek: C:\mta\server.

  2. Kaynakları yerleştirin#

    Resmî kaynak arşivini C:\mta\server\mods\deathmatch\resources klasörüne açın. Arşiv çıkarma için 7-Zip kullanabilirsiniz.

  3. Sunucuyu başlatın#

    cd C:\mta\server
    MTA Server.exe

    64 bit yapıyı kurduysanız çalıştırılacak dosya MTA Server64.exe olur. Konsol penceresi açıldığında sunucu ayaktadır.

  4. Güvenlik duvarında portları açın#

    New-NetFirewallRule -DisplayName "MTA Oyun" -Direction Inbound -Protocol UDP -LocalPort 22003 -Action Allow
    New-NetFirewallRule -DisplayName "MTA HTTP" -Direction Inbound -Protocol TCP -LocalPort 22005 -Action Allow
    New-NetFirewallRule -DisplayName "MTA ASE" -Direction Inbound -Protocol UDP -LocalPort 22126 -Action Allow

mtaserver.conf Dosyasını Yapılandırma#

Sunucunun beyni mods/deathmatch/mtaserver.conf dosyasıdır. XML biçimindedir; bir etiketi kapatmayı unutursanız sunucu hiç açılmaz. Aşağıda üretim için makul bir başlangıç yapılandırması var:

<config>
    <servername>Batihost Roleplay | TR</servername>
    <serverip></serverip>
    <serverport>22003</serverport>
    <maxplayers>64</maxplayers>
    <httpserver>1</httpserver>
    <httpport>22005</httpport>
    <httpdownloadurl></httpdownloadurl>
    <httpmaxconnectionsperclient>4</httpmaxconnectionsperclient>
    <ase>1</ase>
    <donotbroadcastlan>0</donotbroadcastlan>
    <password></password>
    <bandwidth_reduction>medium</bandwidth_reduction>
    <player_sync_interval>100</player_sync_interval>
    <logfile>logs/server.log</logfile>
    <resource src="admin" startup="1" protected="0" />
    <resource src="resourcebrowser" startup="1" protected="1" default="true" />
    <resource src="webadmin" startup="1" protected="0" />
    <resource src="play" startup="1" protected="0" />
</config>

Kritik alanların anlamı:

serverip
Boş bırakırsanız sunucu tüm arayüzlerden dinler. Birden fazla IP’si olan makinelerde hangi IP’den yayın yapacağını burada belirtin.
ase
1 yaparsanız sunucu ana listeye bildirim gönderir ve oyuncular sunucu tarayıcısında görebilir. 0 ise yalnızca doğrudan IP ile girilir.
httpdownloadurl
Kaynak dosyalarını harici bir web sunucusundan dağıtmak için kullanılır. Büyük sunucularda giriş süresini ciddi biçimde kısaltır.
bandwidth_reduction
none / medium / maximum değerlerini alır. Kalabalık sunucularda medium iyi bir dengedir.
resource src
Sunucu açılışında otomatik başlatılacak kaynaklar. startup="1" olanlar her açılışta çalışır.
İpucuYapılandırmayı değiştirmeden önce dosyanın bir kopyasını alın: cp mtaserver.conf mtaserver.conf.bak. XML’de tek bir kapatılmamış etiket sunucunun açılmamasına yol açar ve hata mesajı her zaman satır numarası vermez.

Portlar ve Güvenlik Duvarı#

MTA üç ayrı port kullanır ve bunlardan birinin kapalı olması farklı bir belirtiyle ortaya çıkar. Aşağıdaki tablo hangi portun eksik olduğunu belirtiden anlamanızı sağlar:

PortProtokolGörevKapalıysa ne olur?
22003UDPOyun trafiğiOyuncular hiç bağlanamaz
22005TCPDahili HTTP (kaynak indirme)Bağlantı “Downloading” ekranında takılır
22126UDPASE sunucu listesi sorgusuSunucu listede görünmez, IP ile girilir
MTA:SA varsayılan portları ve belirtileri

Linux tarafında UFW ile açmak için:

sudo ufw allow 22003/udp
sudo ufw allow 22005/tcp
sudo ufw allow 22126/udp
sudo ufw reload
sudo ufw status numbered

Kural yazımının ayrıntıları, iptables karşılıkları ve Fail2Ban entegrasyonu için sunucu güvenlik duvarı yapılandırması sayfasına bakın. Oyun portunu 22003 dışında bir değere alırsanız ASE portunun da kaydığını unutmayın: yeni ASE portu her zaman oyun portu + 123 olur.

Yönetici Hesabı ve ACL Yapılandırması#

MTA’da yetkilendirme acl.xml dosyasıyla yapılır. Kurulumdan sonra ilk iş kendinize bir yönetici hesabı açmaktır. Sunucu konsolunda:

addaccount batihostadmin GucluBirSifre123

Ardından mods/deathmatch/acl.xml dosyasını açıp Admin grubunun nesne listesine kullanıcıyı ekleyin:

<group name="Admin">
    <acl name="Moderator" />
    <acl name="SuperModerator" />
    <acl name="Admin" />
    <acl name="RPC" />
    <object name="user.batihostadmin" />
</group>

Dosyayı kaydettikten sonra konsoldan aclreload çalıştırın veya sunucuyu yeniden başlatın. Oyun içinde /login batihostadmin GucluBirSifre123 yazıp p tuşuyla yönetim panelini açabilirsiniz.

UyarıVarsayılan olarak gelen boş şifreli hesapları ve Default ACL grubunun geniş izinlerini olduğu gibi bırakmayın. MTA sunucularının ele geçirilmesinde en sık görülen sebep, kurulum sonrası hiç dokunulmamış bir acl.xml dosyasıdır.

Kaynak (Resource) Yönetimi ve Konsol Komutları#

MTA’da her şey bir kaynaktır: oyun modu, harita, admin paneli, sohbet sistemi. Kaynaklar mods/deathmatch/resources dizininde klasör ya da .zip olarak durur. Yeni bir kaynağı bu dizine attıktan sonra sunucuyu yeniden başlatmanız gerekmez.

refresh              # yeni eklenen kaynakları tara
start freeroam       # kaynağı başlat
restart freeroam     # kaynağı yeniden başlat
stop freeroam        # kaynağı durdur
refreshall           # tüm kaynak listesini yeniden oku
say Sunucu 5 dakika sonra yeniden başlatılacak
shutdown Bakim       # sunucuyu düzgünce kapat

Kaynak klasörünün içindeki meta.xml dosyası hangi betiklerin sunucu, hangilerinin istemci tarafında çalışacağını belirler:

<meta>
    <info author="Batihost" name="Ornek Kaynak" version="1.0" type="script" />
    <script src="server.lua" type="server" />
    <script src="client.lua" type="client" />
    <file src="images/logo.png" />
</meta>

Sunucuyu 7/24 Çalıştırma#

Terminal oturumunu kapattığınızda sunucunun durmaması için süreci oturumdan bağımsız hâle getirmelisiniz. Linux’ta en temiz yol bir systemd servisi yazmaktır:

[Unit]
Description=MTA:SA Sunucusu
After=network-online.target

[Service]
Type=simple
User=mta
WorkingDirectory=/opt/mta
ExecStart=/opt/mta/mta-server64 -n
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Dosyayı /etc/systemd/system/mta.service olarak kaydedip etkinleştirin:

sudo systemctl daemon-reload
sudo systemctl enable --now mta
sudo systemctl status mta
sudo journalctl -u mta -f

Konsola müdahale etmek istiyorsanız systemd yerine screen kullanabilirsiniz; yöntemin ayrıntıları ve iki yaklaşımın karşılaştırması Linux temel komutları sayfasında anlatılıyor. Windows tarafında aynı işi NSSM ile bir Windows hizmeti oluşturarak yaparsınız.

Yedekleme ve Performans Takibi#

MTA sunucusunda kaybı en acı verici olan iki şey, kaynak klasörünüz ve veritabanınızdır. Roleplay sunucularında MySQL kullanıyorsanız hem dosya hem veritabanı yedeği alın:

# Kaynak ve yapılandırma yedeği
tar -czf /yedek/mta-$(date +%F).tar.gz /opt/mta/mods/deathmatch

# MySQL veritabanı yedeği
mysqldump -u mtauser -p mta_db > /yedek/mta_db-$(date +%F).sql

Bu iki komutu bir cron görevine bağlayıp gece çalıştırın. Yedeklerin nerede saklanacağı ve kaç kopya tutulacağı konusunda 3-2-1 yedekleme kuralı sayfasındaki şablonu kullanın.

Performans tarafında ilk bakacağınız yer konsoldaki tick uyarıları ve CPU kullanımıdır. Tek bir kaynak, kötü yazılmış bir döngü yüzünden tüm sunucuyu yavaşlatabilir. Sunucu kaynak kullanımını sürekli izlemek için sunucu izleme rehberindeki araçlardan birini kurun. Saldırı riski konusunda ise oyun sunucuları öncelikli hedeftir; DDoS korunma yöntemlerini kurulum aşamasında planlayın.

Sık Karşılaşılan Kurulum Hataları#

Sunucu açılıyor ama hemen kapanıyor#

Genellikle bozuk bir mtaserver.conf veya eksik kaynak dizini sebeptir. logs/server.log dosyasının son satırlarına bakın; XML hatası varsa satır numarası çoğunlukla orada yazar.

“Unable to load resources” uyarısı#

Varsayılan kaynak seti yerleştirilmemiştir. mods/deathmatch/resources dizininin boş olmadığından ve klasör sahibinin sunucuyu çalıştıran kullanıcı olduğundan emin olun: chown -R mta:mta /opt/mta.

Oyuncular “Connection timed out” alıyor#

22003/UDP kapalı ya da sağlayıcı tarafındaki ağ filtresine takılıyor. Önce sunucunun kendi üzerinden portu dinleyip dinlemediğini doğrulayın: sudo ss -lunp | grep 22003. Dinliyorsa sorun güvenlik duvarında ya da ağ tarafındadır.

Özetle#

MTA:SA sunucusu kurmak dört net adıma iner: resmî paketi indirip açmak, varsayılan kaynakları mods/deathmatch/resources dizinine yerleştirmek, mtaserver.conf içinde sunucu adı, port ve otomatik başlayacak kaynakları tanımlamak ve 22003/UDP, 22005/TCP, 22126/UDP portlarını güvenlik duvarında açmak. Kurulumdan hemen sonra addaccount ile yönetici hesabı açıp acl.xml dosyasını düzenleyin; varsayılan yetkilerle bırakılan sunucular kısa sürede ele geçiriliyor. Sunucuyu systemd servisi olarak tanımlayın, yedekleme betiğinizi kurun ve donanımda 8 GB RAM ile yüksek saat hızlı AMD Ryzen 9 alt sınırını koruyun. GTA V tarafına geçmeyi düşünüyorsanız FiveM sunucu kurulumu sayfası aynı mantığı o platform için anlatıyor.

Sıkça Sorulan Sorular#

MTA:SA sunucusu için hangi portlar açılmalı?

Üç port gerekir: oyun trafiği için 22003/UDP, kaynak indirmeleri için dahili HTTP sunucusunun 22005/TCP portu ve sunucunun listede görünmesi için 22126/UDP. ASE portu her zaman oyun portunun 123 fazlasıdır; oyun portunu değiştirirseniz ASE portu da otomatik kayar ve güvenlik duvarında yeni değeri açmanız gerekir.

MTA sunucum listede görünmüyor, sebebi ne olabilir?

En sık sebep 22126/UDP portunun kapalı olmasıdır. Ardından mtaserver.conf içindeki <ase>1</ase> satırını kontrol edin; 0 ise sunucu master listeye bildirim göndermez. Üçüncü sebep sunucunun NAT arkasında olması ve serverip alanının dış IP ile eşleşmemesidir.

MTA:SA sunucusu kaç GB RAM ister?

Boş bir sunucu birkaç yüz megabaytla açılır ama gerçek yükü çalıştırdığınız kaynaklar belirler. Roleplay veya freeroam sunucularında 8 GB RAM sağlıklı bir alt sınırdır; MySQL veritabanı aynı makinede çalışacaksa ve 100 üzeri oyuncu bekliyorsanız 12-16 GB pakete çıkın.

MTA sunucusuna yönetici (admin) yetkisi nasıl verilir?

Sunucu konsolunda addaccount kullaniciadi sifre komutuyla hesap oluşturun. Ardından mods/deathmatch/acl.xml dosyasını açıp Admin grubunun <object> listesine user.kullaniciadi satırını ekleyin ve konsoldan aclrequest yerine sunucuyu yeniden başlatın veya refreshall çalıştırın.

MTA:SA ile FiveM arasındaki fark nedir?

MTA:SA, GTA: San Andreas üzerine kurulu ve Lua ile betiklenen bağımsız bir çok oyunculu platformdur; FiveM ise GTA V üzerinde çalışır ve Lua, JavaScript ile C# destekler. MTA daha eski oyunu kullandığı için istemci gereksinimi düşüktür, sunucu tarafı da daha hafiftir. Kurulum akışı için FiveM sunucu kurulumu sayfasına bakabilirsiniz.

MTA sunucusunu Windows’ta mı Linux’ta mı çalıştırmalıyım?

İkisi de resmî olarak destekleniyor. Linux tarafı arayüz yükü taşımadığı için aynı donanımda biraz daha fazla kaynağı oyuna bırakır ve uzun süreli çalışmada daha kararlıdır. Komut satırıyla çalışmak istemiyorsanız Windows Server kullanıp Uzak Masaüstü ile yönetin; kurulum mantığı iki tarafta da aynıdır.

Kaynaklar (resources) oyunculara neden yavaş iniyor?

Dahili HTTP sunucusu tek başına büyük dosya dağıtımı için tasarlanmadı. httpdownloadurl alanına harici bir web sunucusu adresi vererek indirmeleri oraya taşıyın. Bu ayar hem oyuncuların giriş süresini kısaltır hem de oyun portundaki yükü azaltır.

Diğer Oyun Sunucuları — Tüm Rehberler#

  1. FiveM Sunucu Kurulumu: Sıfırdan Tam Rehber
  2. Rust Sunucu Kurulumu Rehberi
  3. CS2 Sunucu Kurulumu ve Yapılandırması
  4. ARK Sunucu Kurulumu Rehberi
  5. Palworld Dedicated Server Kurulumu
  6. Hytale Sunucusu: Kurulum, Gereksinimler ve Hazırlık
  7. MTA:SA Sunucu Kurulumu Rehberi

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön