MTA Kaynak Yükleme, Gamemode Değiştirme ve Sık Hatalar Rehberi
MTA kaynak yükleme adım adım: resource yapısı ve meta.xml, panelden yükleme, refresh ve start, her açılışta otomatik başlatma, gamemode değiştirme ve konsoldaki sık hatalar.

Bir roleplay oyun modu satın aldınız, bir yarış haritası indirdiniz ya da kendi betiğinizi yazdınız; şimdi bunu sunucunuzda çalıştırmak istiyorsunuz. MTA kaynak yükleme işi doğru klasöre doğru yapıyla yüklemek, sunucuya tanıtmak ve başlatmaktan ibarettir; ama bir adım eksik kaldığında kaynak ya hiç görünmez ya da açılır açılmaz hata verir.
Bu rehberde bir MTA kaynağının yapısını, panelden nasıl yükleneceğini, konsolda refresh ve start ile nasıl başlatılacağını, sunucu her açıldığında otomatik başlamasını, oyun modunu (gamemode) değiştirmeyi ve en sık karşılaşılan hataların konsoldaki karşılıklarını anlatıyoruz. Örneklerdeki tüm çıktılar test sunucusunda gerçekten alındı.
MTA Kaynağı (Resource) Nedir?
MTA'da oyun modları, haritalar, arayüzler ve yönetim araçlarının hepsi kaynaktır. Bir kaynak, mods/deathmatch/resources altında kendi klasöründe duran dosyalardan oluşur ve en az bir meta.xml içerir. meta.xml kaynağın adını, türünü ve hangi betiğin sunucuda, hangisinin oyuncunun bilgisayarında çalışacağını söyler.
En basit kaynak iki dosyadan oluşur:
mods/deathmatch/resources/ornekkaynak/meta.xml
mods/deathmatch/resources/ornekkaynak/server.lua
meta.xml içeriği:
<meta>
<info author="Siz" name="Örnek kaynak" version="1.0.0" type="script" />
<script src="server.lua" type="server" />
</meta>
Klasörün adı kaynağın adıdır; konsolda ve ayarlarda bu adı kullanırsınız. Köşeli parantezli klasörler ([gamemodes], [admin] gibi) yalnız düzen içindir, içlerindeki kaynaklar da tek tek tanınır. MTA kaynakları zip dosyası olarak da yükleyebilir: ornekkaynak.zip adıyla resources klasörüne konan bir arşivin kökünde meta.xml varsa kaynak adı ornekkaynak olur.
Panelden Kaynak Yükleme
- Panelde sunucunuzu açın ve Files (Dosyalar) sekmesine girin.
mods/deathmatch/resourcesklasörüne inin.- Kaynağınızı zip olarak yükleyin. Arşivi klasör olarak açmak isterseniz dosyanın yanındaki menüden Unarchive seçeneğini kullanın; büyük kaynaklar için SFTP daha rahattır.
- Açılan klasörün içinde doğrudan
meta.xmlolduğundan emin olun.kaynak/kaynak/meta.xmlgibi iç içe bir yapı oluştuysa içteki klasörü bir üst düzeye taşıyın.

Kaynak yüklendikten sonra sunucuyu yeniden başlatmadan kullanmak için konsolda önce refresh komutunu çalıştırın. Bu komut resources klasörünü yeniden tarar ve yeni kaynakları tanır.
Kaynağı Başlatmak: refresh ve start
Test sunucusunda bir klasör, bir zip ve bir hatalı kaynak yükleyip şu komutları çalıştırdık:

Okumanız gerekenler:
New resource 'ad' loadedkaynağın tanındığını söyler. Klasörünüz bu listede yoksa içindemeta.xmlbulunmuyordur ya da yanlış yerdedir.Resource 'ad' startedkaynağın başladığını söyler, ama betiklerinde hata olmadığı anlamına gelmez. Hemen üstündeki satırlardaSCRIPT ERRORya daERROR: Loading script failedvarsa betik çalışmamıştır.Resource 'ad' could not be foundyazılan adla bir kaynak olmadığını söyler; klasör adını verefreshyapıp yapmadığınızı kontrol edin.
Çalışan bir kaynağı güncellediyseniz restart ad ile yeniden başlatın. Birden fazla kaynağı güncellediyseniz refreshall değişen kaynakları yeniden başlatır.
Komut yazmak istemezseniz AnkSOFT panelindeki MTA Yönetimi ekranının Kaynaklar sekmesi aynı işi düğmelerle yapar: kaynakları durumlarıyla listeler, Kaynakları tara ile yeni yüklenenleri tanıtır, Başlat, Durdur ve Yeniden başlat düğmeleri sunar, hatalı kaynağın nedenini gösterir ve Açılışta başlat kutusuyla kaynağı açılış listesine ekler.
Her Açılışta Otomatik Başlatmak
Konsoldan start ile başlattığınız kaynak sunucu yeniden açıldığında kendiliğinden başlamaz. Kalıcı olması için panelin Startup (Başlangıç) sekmesindeki Açılışta Başlayacak Kaynaklar alanına kaynak adlarını virgülle yazın, örneğin benimrp,arayuz,araclar. Sunucu her açıldığında bu kaynaklar sırayla başlatılır; mtaserver.conf dosyasına elle resource satırı eklemeniz gerekmez.
Kaynak adları yalnız harf, rakam, alt çizgi ve kısa çizgi içerebilir. Listedeki bir kaynak bulunamazsa konsol açılışta bunu açıkça yazar:
ERROR: Couldn't find resource yokboyle. Check it exists.
Bağımlı kaynakları (örneğin bir oyun modunun kullandığı veritabanı kaynağını) listede önce yazın. Bir kaynak meta.xml içinde başka bir kaynağı include ile istiyorsa MTA onu da kendisi başlatır.
Oyun Modunu (Gamemode) Değiştirmek
Sunucunuzda resmi oyun modları hazır gelir. Konsolda gamemodes komutu hangi modların ve kaç haritanın yüklü olduğunu gösterir:

Oyun modunu iki yoldan değiştirebilirsiniz:
- Kalıcı: Startup sekmesindeki Oyun Modu alanında
play,race,deathmatch,tdm,ctf,ctv,assault,stealth,hay,falloutya dabriefcaseraceseçip sunucuyu yeniden başlatın. Test sunucusundaraceseçtiğimizde açılıştaGamemode 'Race' started.ve ardından rastgele seçilen bir yarış haritası başladı. - Geçici: konsolda
changemode raceyazın. Harita yöneticisi önceki modu ve ona bağlı kaynakları durdurup yeni modu başlatır. Belirli bir haritayla başlatmak içinchangemode race race-airportspeedwaybiçimini kullanın. Bu değişiklik sunucu yeniden açılınca Startup sekmesindeki moda döner.
Kendi roleplay oyun modunuzu kullanıyorsanız Oyun Modu alanını ozel yapın. Bu durumda panel resmi mod satırlarına dokunmaz; oyun modunuzun kaynaklarını Açılışta Başlayacak Kaynaklar alanına yazmanız yeterlidir.
Bağlanamama ve Sunucu Listesi Sorunları
Kaynak sorunları dışında ilk haftanın en sık sorusu "oyuncular bağlanamıyor" ya da "sunucu listede yok" olur. Panelli sunucuda portlar kurulumda tahsis edildiği için çoğu zaman sorun ayardadır:
- Şifre: Startup sekmesindeki Sunucu Şifresi doluysa oyuncular bağlanırken şifre girmelidir. Konsol açılışta
Server password set tosatırıyla bunu bildirir. - Liste ayarı: Sunucu Listesinde Görünsün 0 ise sunucu listede çıkmaz; 1 yapıp yeniden başlatın. Konsolda
Querying MTA master server... success!satırı listeye bildirildiğini gösterir. - Sürüm: sunucu, istemci sürümü çok eskiyse oyuncunun güncellemesini ister. Oyuncunun MTA istemcisini resmi siteden güncellemesi çözümdür.
- Port: MTA oyun portu UDP, kaynak indirme portu TCP ve sunucu listesi portu oyun portunun 123 fazlası UDP'dir. Panelde gördüğünüz IP ve portu Quick Connect ekranına aynen girin.
Kaynak Türleri ve meta.xml Ayrıntıları
meta.xml dosyasındaki info etiketinin type değeri kaynağın ne olduğunu söyler. Sık görülen türler:
gamemode: oyun modu. Örneğin resmiracekaynağı bir oyun modudur veincludeetiketleriylescoreboardvekillmessagesgibi yardımcı kaynakları kendisi başlatır.map: harita. Harita kaynakları hangi oyun moduyla çalıştığınıgamemodesdeğeriyle belirtir; örneğin resmi yarış haritalarındatype="map" gamemodes="race"yazar.script: tek başına çalışan betik ya da sistem.misc: diğer yardımcı kaynaklar.
Betikler iki yerde çalışabilir. type="server" betikler sunucuda, type="client" betikler oyuncunun bilgisayarında çalışır. İstemci betikleri ve file etiketiyle listelenen görsel, ses ve model dosyaları oyuncu bağlanırken sunucunun HTTP portundan indirilir. Bu yüzden çok büyük model ve ses dosyaları oyuncuların ilk giriş süresini uzatır; gereksiz dosyaları kaynaklardan çıkarmak giriş hızını artırır.
Haritalar ve Harita Yöneticisi
Resmi oyun modları haritalarla birlikte gelir; test sunucusunda yalnız yarış modu için 71 harita yüklüydü. Harita yöneticisi (mapmanager) bir oyun modu başladığında o moda ait haritalardan birini başlatır ve harita döngüsünü yönetir. Konsolda kullanabileceğiniz komutlar:
maps: yüklü haritaları oyun modlarına göre listeler.changemap haritaadi: çalışan oyun modunda belirtilen haritaya geçer.stopmapvestopmode: haritayı ya da oyun modunu durdurur.
Yeni bir harita yüklediğinizde de yöntem aynıdır: harita klasörünü ya da zip dosyasını resources klasörüne koyun, refresh yazın ve changemap ile açın. Haritanın meta.xml dosyasındaki gamemodes değeri çalışan oyun moduyla uyuşmuyorsa harita o modda açılmaz.
Veritabanı: SQLite ve MySQL
Oyun modları verilerini iki yoldan saklar. Hiçbir ek kurulum gerektirmeyen yol MTA'nın dahili SQLite desteğidir: dbConnect("sqlite", "dosya.db") çağrısı kaynağın klasöründe bir veritabanı dosyası açar. Test sunucusunda bu çağrı hemen çalıştı. Sunucunun kendi hesapları ve kayıtları da internal.db ve registry.db dosyalarında, SQLite biçiminde durur.
Roleplay oyun modlarının çoğu ise MySQL kullanır ve bağlantı bilgisini kendi ayar dosyasında ister. Sunucunuzda MySQL bağlantısı için gereken kütüphaneler kurulu gelir; test sunucusunda erişilemeyen bir adrese yapılan bağlantı denemesi, modülün çalıştığını gösteren şu hatayı verdi:
WARNING: rehbertest/server.lua:5: Bad usage @ 'dbConnect' [Can't connect to MySQL server on '127.0.0.1:3306' (111)]
Bu satır modülün yüklendiğini, ama verilen adreste bir MySQL sunucusu olmadığını söyler. Kendi MySQL sunucunuzun adresini, veritabanı adını, kullanıcısını ve şifresini oyun modunun ayar dosyasına yazdığınızda bağlantı kurulur. Varsayılan ayarlarda açık olan database_credentials_protection, MySQL kullanan kaynakların betik dosyalarının başka kaynaklarca okunmasını engeller ve meta.xml dosyalarını salt okunur yapar; bu korumayı açık bırakın.
Performansı İzlemek
Kaynaklarınızın sunucuyu ne kadar yorduğunu görmek için resmi performans kaynakları hazır gelir. Varsayılan ayarlarda açılışta başlayan ipb kaynağı, yönetici olarak giriş yaptığınızda oyun içinde performans tarayıcısını açmanızı sağlar; performancebrowser ise aynı bilgiyi web arayüzünde sunar. Hangi kaynağın işlemciyi en çok kullandığını buradan görür, sorunlu kaynağı restart ile yeniden başlatır ya da kaldırırsınız.
Yeni bir kaynak ekledikten sonra panelin Console sekmesindeki işlemci ve bellek göstergelerini de izleyin. Bellek kullanımı sürekli artan bir kaynak, betiğinde bir sızıntı olduğunu gösterebilir.
İlk Kendi Kaynağınızı Yazmak
Kaynak yapısını anlamanın en kolay yolu küçük bir kaynak yazmaktır. Aşağıdaki betik, oyuncu sohbete /selam yazdığında ona adıyla seslenir:
addCommandHandler("selam", function(oyuncu)
outputChatBox("Merhaba " .. getPlayerName(oyuncu), oyuncu)
end)
Bu satırları selam/server.lua dosyasına, yukarıdaki örnek meta.xml dosyasını da selam/meta.xml olarak resources klasörüne kaydedin. Konsolda refresh ve start selam yazdıktan sonra oyunda /selam komutunu deneyebilirsiniz. Betiği değiştirdiğinizde restart selam yeterlidir.
Klasör adlarında Türkçe karakter ve boşluk kullanmayın; kaynak adı komutlarda ve açılış listesinde aynen yazılacağı için kısa, küçük harfli ve anlamlı bir ad seçin. Panelin açılış listesi de yalnız harf, rakam, alt çizgi ve kısa çizgi kabul eder.
Hata ayıklarken yönetici olarak giriş yapıp oyunda /debugscript 3 yazarsanız betik uyarıları ve hataları ekranınızda da görünür. Aynı satırlar sunucu konsolunda ve mods/deathmatch/logs klasöründeki günlüklerde de kalır.
Kaynak Yüklerken Güvenlik
Topluluk forumlarından ya da satıcılardan aldığınız kaynaklar sunucunuzda betik çalıştırır. Yüklemeden önce birkaç dakika ayırmak sonradan büyük zarardan korur:
- Kaynağın kaynağını bilin: yalnız güvendiğiniz geliştiricilerden ve bilinen paylaşım sitelerinden indirin. Satın aldığınız oyun modunun lisans ve kullanım koşullarını okuyun.
- meta.xml dosyasına bakın: kaynak
aclrequestetiketiyle hangi hakları istiyor, hangi dosyaları istemciye gönderiyor, açıkça görün. - Derlenmiş dosyalara dikkat edin:
.luacuzantılı derlenmiş betiklerin içini okuyamazsınız. Bu dosyaları yalnız güvendiğiniz geliştiricilerden kabul edin. - Kaynağa Admin yetkisi vermeyin: bir kaynak
acl.xmliçinde Admin grubuna eklenirse sunucudaki her şeyi yapabilir. İhtiyaç duyduğu tek hakkıaclrequestile verin. - Önce yedek alın: yeni bir kaynağı denemeden önce resources klasörünü ve veritabanı dosyalarınızı bilgisayarınıza indirin. Sorun çıkarsa kaynağı açılış listesinden çıkarıp silmek ve yedeği geri koymak birkaç dakika sürer.
Yeni bir kaynağı canlı sunucuda doğrudan açmak yerine önce sunucuyu şifreli açıp denemek, oyuncularınızın yarım kalmış bir sistemle karşılaşmasını da önler.
Bir kaynağı kaldırmak da yüklemek kadar kolaydır: önce adını Startup sekmesindeki açılış listesinden silin, konsolda stop kaynakadi yazın, ardından klasörü ya da zip dosyasını Files sekmesinden silip refresh çalıştırın. Kaynağın oluşturduğu veritabanı dosyaları kendi klasöründe duruyorsa onlar da klasörle birlikte silinir; ileride yeniden kullanmayı düşünüyorsanız silmeden önce bilgisayarınıza indirin.
En Sık Yapılan Hatalar
- meta.xml yanlış yerde: zip açıldığında
kaynak/kaynak/meta.xmlgibi iç içe klasör oluşur ve kaynak tanınmaz. Test sunucusunda içindemeta.xmlolmayan bir klasörrefreshsonrasında listeye hiç girmedi;meta.xmlklasörün kökünde olmalıdır. - Betik söz dizimi hatası: kaynak başlar ama betik çalışmaz. Konsolda
SCRIPT ERROR: kaynak/server.lua:2: ')' expectedgibi bir satır dosyayı ve satır numarasını gösterir; o satırı düzeltiprestart kaynakyazın. - refresh yapmadan start denemek: yeni yüklenen kaynak için
startkomutucould not be foundder. Öncerefreshçalıştırın. - Kaynağın istediği yetkiyi vermemek: kaynak
Access denieduyarısı veriyorsa bir ACL hakkına ihtiyaç duyuyordur.aclrequest list kaynakile bakıp gerekiyorsa onaylayın; ayrıntılar yetki rehberindedir. - Kalıcı olmayan başlatma: konsoldan başlatılan kaynak yeniden açılışta başlamaz. Kaynağı Açılışta Başlayacak Kaynaklar alanına ekleyin.
- Veritabanı bağlantısı: MySQL kullanan oyun modlarında
dbConnecthatası çoğu zaman yanlış adres ya da kullanıcı bilgisidir. KonsoldakiCan't connect to MySQL server onsatırı hangi adrese bağlanılamadığını gösterir; bilgileri oyun modunun ayar dosyasında düzeltin.
Özet
- Bir MTA kaynağı, kökünde
meta.xmlbulunan bir klasör ya da zip dosyasıdır vemods/deathmatch/resourcesaltına yüklenir. - Yeni kaynak için konsolda önce
refresh, sonrastart adçalıştırılır; hata satırlarıSCRIPT ERRORile başlar. - Kalıcı başlatma için kaynak adı Startup sekmesindeki Açılışta Başlayacak Kaynaklar alanına yazılır.
- Oyun modu Startup sekmesinden kalıcı, konsoldan
changemodeile geçici olarak değiştirilir.
Kurulumun ilk adımları için MTA sunucu kurulumu ve ilk ayarlar, yetki konuları için MTA admin yetkisi rehberi yazılarına bakabilir, paketler için MTA sunucu kiralama sayfasını inceleyebilirsiniz.
Sıkça Sorulan Sorular
Yüklediğim kaynak listede görünmüyor, neden?
Klasörün kökünde meta.xml yoksa ya da kaynak iç içe bir klasöre açıldıysa MTA onu tanımaz. meta.xml dosyasını klasörün köküne taşıyın ve konsolda refresh komutunu çalıştırın; tanınan kaynak için New resource loaded satırı görünür.
Kaynak başladı ama hiçbir şey olmuyor, ne yapmalıyım?
Konsolda start satırının hemen üstüne bakın. SCRIPT ERROR ya da Loading script failed satırı varsa betikte hata vardır; satır numarasını düzeltip restart komutuyla kaynağı yeniden başlatın.
Kaynağın sunucu her açıldığında başlaması için ne yapmalıyım?
Panelin Startup sekmesindeki Açılışta Başlayacak Kaynaklar alanına kaynağın klasör adını virgülle ayırarak yazın ve sunucuyu yeniden başlatın. mtaserver.conf dosyasını elle düzenlemeniz gerekmez.
changemode ile değiştirdiğim oyun modu yeniden başlatınca neden geri döndü?
changemode geçici bir değişikliktir. Sunucu açıldığında Startup sekmesindeki Oyun Modu ayarı uygulanır; kalıcı değişiklik için bu alanı değiştirip sunucuyu yeniden başlatın.
Kaynakları zip olarak yükleyebilir miyim?
Evet. Kökünde meta.xml bulunan bir zip dosyası resources klasörüne kondu ve refresh yapıldığında MTA onu dosya adıyla bir kaynak olarak tanır. Dilerseniz zip dosyasını panelde Unarchive ile klasöre de açabilirsiniz.
İlgili Yazılar
Tüm yazılar
Assetto Corsa Sunucu Ayarları: server_cfg.ini, Oturumlar ve Content Manager Rehberi
Yazıyı oku
Assetto Corsa Sunucu Mod Yükleme: Araç, Pist ve İçerik Doğrulaması Rehberi
Yazıyı oku