FiveM'de admin yetkisi tek bir yerden değil, üç ayrı katmandan verilir: sunucuyu yöneten txAdmin paneli, server.cfg içindeki ACE yetki sistemi ve kullandığınız framework'ün (ESX veya QBCore) kendi grup tablosu. "Adminlik verdim ama komutlar çalışmıyor" şikâyetinin neredeyse tamamı bu üç katmanın karıştırılmasından çıkar. Bu rehberde her katmanı doğru sırayla kuruyoruz, oyuncunun kimliğini nasıl bulacağınızı gösteriyoruz ve sunucusunu kaybeden yöneticilerin en sık yaptığı altı hatayı tek tek açıyoruz.
Yetki vermeye başlamadan önce hangi katmanın ne işe yaradığını netleştirin. Bunu karıştırmak zaman kaybının birinci sebebidir:
server.cfg içinde tanımlanır, hangi kimliğin hangi komutu çalıştırabileceğine karar verir. Asıl güvenlik katmanı burasıdır.user/admin, QBCore'da qbcore.god/qbcore.admin/qbcore.mod. Oyun içi admin menüsü ve roleplay komutları bu katmandan yetkilenir.Bir yöneticiye tam yetki vermek çoğu zaman üç katmanda da işlem yapmak demektir. Sadece txAdmin'e ekleyip oyun içinde /admin menüsünün açılmasını beklemek çalışmaz.
txAdmin, FiveM sunucularının varsayılan yönetim panelidir ve 40120 portunda çalışır. Yönetici eklemek için:
Master hesabı asla paylaşmayın ve ekip üyelerine ihtiyaç duymadıkları yetkileri vermeyin. Bir moderatörün konsol erişimine ihtiyacı yoktur; sunucuyu durdurma yetkisine ise hiç yoktur.
ACE, FiveM'in resmi yetki motorudur. İki temel kavram üzerine kuruludur: principal (bir kimlik ya da grup) ve object (bir komut ya da yetki hedefi). Resmi belgelerdeki komutlar şunlardır:
add_ace [principal] [object] [allow|deny] — bir gruba veya kimliğe yetki verir ya da yasaklar.add_principal [alt_principal] [üst_principal] — bir kimliği bir gruba dahil eder veya grup hiyerarşisi kurar.remove_ace ve remove_principal — aynı işlemleri geri alır.test_ace [principal] [object] — bir grubun belirli bir yetkiye sahip olup olmadığını kontrol eder. Sorun ararken ilk çalıştıracağınız komut budur.Basit bir admin grubu şöyle kurulur:
add_ace group.admin command allow
add_ace group.admin command.quit deny
add_principal identifier.license:a1b2c3... group.admin
İkinci satır kritik: command allow ifadesi tüm komutları açar, buna sunucuyu kapatan quit da dahildir. Onu ayrıca deny ile kapatmazsanız, kızgın bir yönetici sunucunuzu tek komutla düşürebilir.
ACE'nin mantığını anlamanın en kolay yolu, her satırı bir cümle gibi okumaktır. add_ace group.admin command.kick allow satırı "admin grubuna kick komutunu kullanma izni ver" demektir. add_principal identifier.license:a1b2c3... group.admin satırı ise "bu kimliği admin grubunun üyesi yap" anlamına gelir. Yani önce grubu yetkilendirirsiniz, sonra kişiyi gruba eklersiniz — sırayı ters kurmak yaygın bir karışıklık kaynağıdır.
Bu satırların server.cfg içindeki yeri de önemlidir. Yetki tanımlarını dosyanın üst kısmında, kaynakları başlatan ensure satırlarından önce tutun. Bazı script'ler açılışta ACE tablosunu okur; yetki satırı sonradan geldiğinde o script yetkiyi görmez ve "izniniz yok" hatası verir. Ayrıca ACE satırları anlık okunmaz: değişiklikten sonra sunucuyu yeniden başlatmadan test etmek boşuna zaman kaybıdır.
ACE satırları kimliğe bağlıdır, isme değil. FiveM'in tanıdığı başlıca kimlik türleri:
identifier.license: — Rockstar lisans hash'i. Her oyuncuda mutlaka bulunur, en güvenilir seçenektir.identifier.fivem: — Cfx.re hesap kimliği.identifier.discord: — Discord kullanıcı kimliği. Discord bağlantısı gerektirir.identifier.steam: — Hex formatında Steam kimliği. Yalnızca sunucunuzda Steam Web API anahtarı tanımlıysa gelir.Kimliği görmenin en pratik yolu: kişi sunucuya bağlandığında txAdmin'in oyuncu listesinden ya da sunucu konsolundaki bağlantı satırından okumak. Steam kimliği görünmüyorsa panik yapmayın — API anahtarı tanımlı değildir, license kullanın.
Discord kimliğini asla tek başına kullanmayın. Discord hesabı devredilebilir; lisans hash'i oyuncunun Rockstar hesabına bağlıdır. Kritik yetkileri her zaman license üzerinden verin.
Kimliği kopyalarken iki ayrıntıya dikkat edin. Birincisi, hash'in tamamını alın — bazı paneller uzunluğu kısaltıp üç nokta ile gösterir ve yarım kopyalanan bir identifier sessizce çalışmaz, hata da vermez. İkincisi, önündeki license: önekini silmeyin; ACE satırı identifier.license:<hash> biçiminde tam olarak yazılmalıdır. Yetki vermediğiniz halde "verdim ama olmuyor" dediğiniz durumların büyük kısmı bu iki ayrıntıdan çıkar.
Herkese group.admin vermek yerine kademeli bir yapı kurun. ACE grupları birbirinden miras alabilir:
add_ace group.moderator command.kick allow
add_ace group.moderator command.ban allow
add_principal group.admin group.moderator
Son satır şunu söyler: admin grubundaki herkes moderatörün sahip olduğu her şeye de sahiptir. Böylece moderatör yetkilerini tek yerden yönetirsiniz, admin satırlarını tekrar yazmanız gerekmez.
Pratikte üç kademe çoğu sunucuya yeter: moderatör (kick, ban, mute), admin (moderatör + araç/eşya komutları, teleport), kurucu (her şey, ancak command.quit yalnızca burada açık). Yeni ekip üyesi her zaman en alt kademeden başlasın.
Oyun içi admin menüsünü ve roleplay komutlarını açan katman burasıdır. Framework'ler ACE'yi kullanır ama kendi grup adlarıyla çalışır.
QBCore üç varsayılan kademe tanımlar: qbcore.god, qbcore.admin ve qbcore.mod. Atama server.cfg içinde yapılır:
add_principal identifier.license:xxxxxx qbcore.admin
Oyun içinden de verilebilir: /addpermission [id] [yetki] — örneğin /addpermission 1 god. Kendi kademenizi eklemek isterseniz qb-core/config.lua içindeki QBConfig.Server.Permissions listesine ekleyip server.cfg'de qbcore.<grup> olarak referans verin.
ESX Legacy'de ana gruplar user ve admin'dir; superadmin güncel sürümlerde varsayılan olarak bulunmaz — eski rehberlerdeki superadmin satırlarını körü körüne kopyalamayın. Grup ataması /setgroup [oyuncu ID] [grup] komutuyla yapılır.
Hangi framework'ü kullanacağınıza henüz karar vermediyseniz, kaynak tüketimi ve yetki modelleri açısından farkları ESX, QBCore ve Qbox karşılaştırmamızda ele aldık.
command allow vermek. Bu satır sunucuyu kapatma dahil her şeyi açar. Kademe kurun, tek satırla toptan yetki dağıtmayın.command.quit'i açık bırakmak. Tam yetkili grupta bile bunu yalnızca kurucuda tutun.server.cfg'de ensure satırlarından önce, dosyanın üst kısmında tutun.add_principal satırı aynı gün kaldırılmalı. Eski yöneticiler sunucu kapatmalarının en yaygın sebebidir.Yetki satırlarını yazdıktan sonra sunucuyu yeniden başlatın — server.cfg içindeki ACE satırları anlık okunmaz. Ardından şu sırayı izleyin:
test_ace group.admin command.kick çalıştırın. Sonuç yetkinin gerçekten tanımlı olup olmadığını söyler.ensure'lardan önce mi, framework grubu da atandı mı.Sunucuyu yeni kuruyorsanız ve server.cfg'nin genel yapısını netleştirmek istiyorsanız FiveM sunucusu nasıl kurulur rehberimiz baştan sona adımları içeriyor. Script tarafındaki yetki tanımları için de script ekleme rehberimize bakabilirsiniz.
Yetki sistemi ancak sunucuya tam erişiminiz varsa doğru kurulur. Paylaşımlı panellerde server.cfg'ye sınırlı erişim verilir, txAdmin portunu firewall'dan kapatamazsınız ve kendi kural setinizi yazamazsınız. Kendi sunucunuzda ise hem dosya hem ağ katmanı sizindir.
Nubitro'nun FiveM paketleri İstanbul lokasyonunda, 10 Gbps sınırsız trafik ve her zaman açık DDoS filtrelemesiyle gelir; sipariş ekranından işletim sistemi, ek disk ve koruma seviyesini kendiniz seçersiniz. Paketleri ve güncel fiyatları FiveM sunucu paketleri sayfasından inceleyebilirsiniz. Bütçe planlaması yapıyorsanız FiveM sunucu açmak kaç TL yazımız tüm maliyet kalemlerini ayrı ayrı gösteriyor.
En sağlam yol server.cfg içine add_principal identifier.license:<hash> group.admin satırını eklemek, ardından o gruba add_ace ile yetki tanımlamaktır. Oyun içi menü için framework grubunu da (QBCore'da qbcore.admin, ESX'te admin) ayrıca atamanız gerekir.
Hayır. txAdmin yalnızca paneli ve sunucu yönetimini kapsar. Oyun içi komutlar ACE ve framework grubundan gelir; ikisi ayrı sistemlerdir.
Kişi sunucuya bağlandığında txAdmin oyuncu listesinden veya sunucu konsolundaki bağlantı satırından okuyabilirsiniz. license her oyuncuda bulunur, Steam kimliği ise ancak Steam Web API anahtarı tanımlıysa görünür.
Sırasıyla kontrol edin: identifier yanlış yazılmış olabilir, ACE satırı ensure satırlarından sonra kalmış olabilir, sunucu yeniden başlatılmamış olabilir veya framework grubu atanmamış olabilir. test_ace komutu hangisinin eksik olduğunu hızla gösterir.
remove_principal identifier.license:<hash> group.admin satırını çalıştırın ve server.cfg'deki ilgili satırı silin. Sadece konsoldan kaldırırsanız sunucu yeniden başladığında yetki geri gelir.
Kritik yetkiler için önerilmez. Discord hesapları devredilebilir veya ele geçirilebilir; license hash'i ise oyuncunun Rockstar hesabına bağlıdır. Discord'u yalnızca düşük riskli roller için kullanın.
server.cfg), framework grubu (ESX/QBCore).add_ace, add_principal, remove_* ve sorun ararken kullanacağınız test_ace.identifier.license: üzerinden verin; Discord kimliği devredilebilir.command allow her şeyi açar — command.quit deny satırını mutlaka ekleyin.add_principal group.admin group.moderator ile miras zinciri kullanın.qbcore.god/admin/mod kullanır; ESX Legacy'de superadmin artık varsayılan değildir.