Dokümantasyon 9.6.24
server.cfg, convar'lar ve izinler
Bu sayfa Tosun AntiCheat'in okuduğu tüm convar'ları, kontrol ettiği tüm ACE izinlerini ve düzenleyebileceğiniz dosyaları ve yapılandırma bölümlerini listeler. Eksiksiz bir server.cfg bloğuyla başlar ve AC'nin başlangıçta denetlediği FiveM sıkılaştırma convar'larını da anlatır.
Yapılandırma nerede bulunur#
Tosun AntiCheat ayarları server.cfg'den, resource içindeki dört dosyadan ve web panelden okur. Kimlik bilgileri yalnızca sunucuya özel yerlerde durmalıdır. configs/anticheat_config.lua paylaşılan bir scripttir; bu yüzden sunucu onu her istemciye gönderir.
| Dosya veya yer | Nerede yüklenir | İçine ne yazılır |
|---|---|---|
server.cfg | Sunucu | Convar'lar (lisans, panel anahtarı, güvenilen resource'lar), ACE izinleri ve FiveM sıkılaştırma convar'ları. |
configs/anticheat_server.lua | Yalnızca sunucu, AC'nin sunucu scriptlerinden önce | Convar kullanmadığınızda kimlik bilgisi yedeği: panelKey, centralToken ve licenseKey. |
configs/anticheat_config.lua | Paylaşılan: sunucu ve her istemci | Tüm ts ayarları: tespitler, cezalar, korumalar, yetkili menüsü ve listeler. Buraya asla anahtar, token veya lisans koymayın. |
configs/anticheat_webhooks.lua | Yalnızca sunucu | Discord webhook URL'leri ve embed stili. |
admins/anticheat_admins.lua | Yalnızca sunucu | Admins kimlik listesi (yetkili durumu ve yetkili menüsü). |
Web panel (ac_settings and ac_ tables) | Sunucuya senkronlanır | Config değerlerinin çoğunu başlangıçtan yaklaşık 3 sn sonra ve ardından her ts.ServerPerf.configSyncIntervalSec saniyede bir (hazır değer 120) ezer. |
Tam server.cfg örneği#
Tipik bir kurulum için eksiksiz bir blok. Sıra önemlidir: bağımlılıklar ve kimlik bilgisi convar'ları ensure tosun-ac'den önce gelmelidir, çünkü kimlik bilgileri resource yüklenirken bir kez çözülür. Tek # ile başlayan satırlar isteğe bağlıdır; kullanmak için # işaretini kaldırın.
## ---------- Tosun AntiCheat: server.cfg bloğu ----------
## OneSync bir manifest bağımlılığıdır (txAdmin de etkinleştirebilir).
set onesync on
## Bağımlılıklar: bunları tosun-ac'den önce başlatın.
## oxmysql ve tosun_render zorunlu bağımlılıklardır.
## screenshot-basic varsayılan ts.screenshotModule'dür.
## mysql_connection_string'i ensure oxmysql'den önce ayarlayın (MySQL rehberine bakın).
ensure oxmysql
ensure screenshot-basic
ensure tosun_render
## Kimlik bilgileri: set kullanın (asla setr veya sets değil) ve ensure tosun-ac'nin ÜSTÜNDE tutun.
## Resource yüklenirken bir kez okunurlar.
## Lisans biçimi: tac_live_ ve ardından 40 küçük harfli hex karakter.
set tosun_ac_license "YOUR_LICENSE_KEY"
## İsteğe bağlı: boşsa panel anahtarı oyun DB'sindeki panel_settings'ten yüklenir.
# set tosun_ac_panel_key "YOUR_PANEL_API_KEY"
# set tosun_ac_central_token "YOUR_FIVEM_SCOPED_TOKEN"
## İsteğe bağlı: yalnızca ts.licenseLock tarafından kullanılır.
# set tosun_ac_server_id "server-1"
## Korumalı AC export'larını çağırabilecek resource'lar (virgülle ayrılmış).
set tosun_ac_trusted_resources "my-housing,my-clothing"
## İsteğe bağlı: ekran görüntüsü ve kanıt yüklemeleri için herkese açık https panel adresi.
# set ts_public_panel_url "https://panel.example.com"
## İsteğe bağlı: Tosun Connect DB bridge'ini bu dosyadan yönetin.
## manual satırı olmadan (ve ts.panelMirror kapalıyken) iki bridge convar'ı da "1" değerine zorlanır.
# set tosun_db_bridge_manual "1"
# set tosun_db_bridge_enabled "1"
# set tosun_db_bridge_money_write "0"
## İsteğe bağlı: oynama süresi yazıcısını kapatın (yalnızca qb, qbcore ve qbox).
# set tosun_panel_playtime "0"
## İsteğe bağlı, bridge dosyalarını kullanan entegratörler için. İstemciler bunları okur, bu yüzden setr kullanın.
# setr tosun_ac_resource "tosun-ac"
# setr tosun_ac_bridge_client_ms "60000"
ensure tosun-ac
## ---------- Yetkili izinleri ----------
## Yetkili durumu ve oyun içi yetkili menüsü:
add_ace group.admin tosun.admin allow
## tosunac_setup, manuel taramalar ve ban ekranı önizlemesi:
add_ace group.admin tosunac.admin allow
add_ace group.admin command.tosunac_setup allow
add_ace group.admin command.tosunac_backdoorscan allow
add_ace group.admin command.tosunac_eventscan allow
add_ace group.admin tosunac.banscreen.test allow
## Her yetkili için bir satır:
add_principal identifier.license:YOUR_LICENSE_HEX group.admin
## ---------- AC'nin başlangıçta kontrol ettiği FiveM sıkılaştırma convar'ları ----------
set sv_stateBagStrictMode true
set sv_filterRequestControl 2
set sv_enableNetworkedSounds false
set sv_enableNetworkedPhoneExplosions false
set sv_enableNetworkedScriptEntityStates false
set sv_scriptHookAllowed false
## Önce test edin: relaxed veya strict, istemciden araç spawn eden scriptleri bozabilir.
set sv_entityLockdown relaxed
set sv_pureLevel 1
## server.cfg denetimi bu boş olduğu sürece uyarı verir:
# set sv_enforceGameBuild YOUR_GAME_BUILDserver.cfg bloğu için kurallar#
Örneği sunucunuza uyarlarken bu kurallara uyun.
- oxmysql ve tosun_render'ı tosun-ac'den önce başlatın. Manifest; 4890 veya daha yeni sunucu build'ini, OneSync'i, oxmysql'i ve tosun_render'ı bağımlılık olarak bildirir.
- Varsayılan ts.screenshotModule'ü kullanıyorsanız screenshot-basic'i başlatın.
- Tüm set tosun_ac_ kimlik bilgisi satırlarını ensure tosun-ac'den önce koyun. Değerler yüklenirken bir kez okunur; sonradan yapılan bir değişiklik resource'un yeniden başlatılmasını gerektirir.
- Kimlik bilgileri için set kullanın. setr değeri her istemciye kopyalar, sets ise onu herkese açık sunucu bilgisinde yayınlar.
- setr'ı yalnızca istemcilerin okuduğu convar'lar için kullanın: ts_screen_upload, tosun_ac_resource ve tosun_ac_bridge_client_ms.
- DB bridge satırına gerek yoktur. 9.6.14'ten beri bridge varsayılan olarak açıktır ve tosun_db_bridge_manual "1" değilse veya ts.panelMirror.enabled = true değilse set ... "0" satırları yok sayılır.
- Eski kurulum rehberleri (INSTALLER-READY.md, INSTALLER-LICENSE.md, INSTALL-MULTILANG.md, CONFIG-PERFORMANCE-GUIDE.md) ensure'u kimlik bilgilerinden önce koyar, panel anahtarını configs/anticheat_config.lua içine yazar ve tosun_render'ı atlar. Bunun yerine bu sayfayı izleyin.
Convar referansı#
Tosun AntiCheat'in okuduğu ve ayarlayabileceğiniz tüm convar'lar. Notlar sütununda setr yazmıyorsa set kullanın. AC ayrıca kendine ait birkaç dahili convar yazar ve okur; bunlar korumalıdır ve ayarlamamalısınız.
| Convar | Varsayılan | Ne yapar | Notlar |
|---|---|---|---|
tosun_ac_license | "" | Sunucu lisans anahtarı. Yüklenirken bir kez ts.licenseLock.licenseKey içine okunur. Lisans kilidi ve Tosun Connect DB bridge'i de convar'ı sonradan yeniden okur. | Kimlik bilgisi: yalnızca set, ensure'dan önce. Biçim: tac_live_ artı 40 küçük harfli hex. DB bridge, boşluk içermeyen 16 ile 128 karakter arası değilse onu eksik sayar. |
tosun_ac_panel_key | "" | Panel API anahtarı. Panele giden çağrılarda gönderilir ve panelden gelen istekleri yetkilendirmek için kullanılır. | Kimlik bilgisi: yalnızca set. Değişiklikten sonra yeniden başlatın. Boşsa AC, oyun DB'sinden panel_settings.ac_api_key'i kopyalar. Her başlangıçta ac_settings içindeki webPanelKey satırına düz metin olarak yazılır. |
tosun_ac_central_token | "" | Sürüm kapısı ve v9 merkezi API için yetkilendirme token'ı. Panel anahtarına tercih edilir. | Kimlik bilgisi: yalnızca set. |
tosun_ac_server_id | "" (ts.licenseLock.serverId) | Lisans kilidi için sunucu tanımlayıcısı. Yalnızca ts.licenseLock.enabled = true ve allowedServerIds boş değilken önemlidir. | Gizli değildir. Her lisans kontrolünden sonra AC onu kopyalanan (replicated) bir convar olarak yeniden yazar; bu yüzden istemciler görebilir. licenseStatus export'u onu serverId olarak döndürür. |
tosun_ac_trusted_resources | "" | Korumalı export'ları çağırabilecek resource'lar (virgül veya boşlukla ayrılmış). ts.ExportCallerWhitelist ile birleştirilir. | Geliştiriciler için. 10 sn içinde yeniden okunur ve AC güncellemelerinden etkilenmez. tosunac_integration konsol komutuyla kontrol edin. |
ts_public_panel_url | "" | Ekran görüntüsü, ban kanıtı ve canlı video yüklemeleri için herkese açık panel tabanı (base/api/screen_upload.php). ts.webPanelURL'e göre önceliklidir. | Yalnızca herkese açık URL ts.webPanelURL'den farklıysa gerekir. https olmalıdır. |
ts_screen_upload | http://localhost/api/screen_upload.php | screenCapture export'u, /capture ve /ts_capture komutları ve panel web-bridge capture işlemi tarafından kullanılan screenshot-basic yakalamasının yükleme URL'si. | setr kullanın: istemcide okunur. Varsayılan değer localhost'u gösterir. AC'nin yükleme sonucu için bir handler'ı yoktur; bu yüzden sonuç atılır. |
tosun_db_bridge_manual | "0" | "1", AC'nin aşağıdaki iki bridge convar'ını zorlamasını durdurur; böylece onları server.cfg yönetir. | Resource başlamadan önce ayarlayın. |
tosun_db_bridge_enabled | kodda "0", yüklemede "1" değerine zorlanır | Tosun Connect isteğe bağlı DB bridge'ini açar. | server.cfg değeri yalnızca tosun_db_bridge_manual "1" veya ts.panelMirror.enabled = true iken sayılır. panelMirror açıkken AC bunu zorlamaz; bu yüzden server.cfg açmadıkça bridge kapalı kalır. |
tosun_db_bridge_money_write | kodda "0", yüklemede "1" değerine zorlanır | Çevrimiçi bir oyuncunun bakiyesini ayarlayan player.money.set bridge işlemine izin verir. | "1" değilse işlem write_disabled ile başarısız olur. server.cfg'den "0" ayarlamak için manual moda ihtiyacınız vardır. |
tosun_db_bridge_query_timeout_ms | 5000 (1000 - 10000) | Her bridge SQL sorgusu için izleme zaman aşımı. | Zaman aşımı query_timeout bildirir ama sorguyu iptal etmez. |
tosun_panel_playtime | "1" | "0", players.playtime'ı dolduran yazıcıyı kapatır. Yalnızca qb, qbcore veya qbox için çalışır. | Yüklenirken bir kez okunur. playtime sütununu ekleyen ALTER TABLE, "0" iken bile başlangıçtan 20 sn sonra çalışır. Dosya başlığı setr önerse de set yeterlidir. |
tosun_panel_playtime_interval_ms | 120000 (30000 - 600000) | Oynama süresi yazıcısının döngü aralığı. | set yeterlidir. |
tosun_ac_resource | "tosun-ac" | Kendi resource'unuzun içindeki isteğe bağlı bridge dosyalarının kullandığı AC resource adı. | Geliştiriciler için. AC klasörünün adını değiştirdiğinizde setr kullanın: istemci bridge'i yalnızca kopyalanan convar'ları görür. |
tosun_ac_bridge_server_ms | 60000 (500 - 300000) | Sunucu bridge'indeki TosunAC.PlayerExempt için varsayılan muafiyet süresi. | Geliştiriciler için. set yeterlidir. |
tosun_ac_bridge_cooldown_ms | 750 (0 kapatır) | Sunucu bridge'inde tekrarlanan TosunAC.PlayerExempt çağrılarını düşüren oyuncu başına bekleme süresi. | Geliştiriciler için. set yeterlidir. |
tosun_ac_bridge_client_ms | 60000 (500 - 300000) | İstemci bridge'indeki TosunAC.Exempt() için varsayılan süre. | Geliştiriciler için. setr zorunludur. |
Kimlik bilgileri: öncelik ve kullanım#
Üç kimlik bilgisi resource yüklenirken bir kez çözülür: lisans anahtarı, panel API anahtarı ve merkezi token. Her biri için AC bu sıradaki ilk boş olmayan değeri alır.
MIGRATION uyarısı, paylaşılan değeri temizlemenizi ve orada hiç saklanmış her kimlik bilgisini yenilemenizi ister, çünkü o dosya her istemciye gönderilir.
4096 karakterden uzun veya kontrol karakteri içeren bir değer, yüklemeyi Invalid server credential setting hatasıyla durdurur.
Yalnızca panel anahtarı: bu adımlardan sonra hâlâ boşsa AC, oyun DB'sinden panel_settings.ac_api_key'i kopyalar. AC her başlangıçta çözülen anahtarı ac_settings içindeki webPanelKey satırına düz metin olarak yazar. Biri panelde bu satırı düzenlerse, düzenlenen değer bir sonraki yeniden başlatmaya kadar sizinkinin yerine geçer.
Yalnızca lisans anahtarı: lisans kilidi tac_live_ artı 40 küçük harfli hex (49 karakter), TOSUN-AC-YYYY-... ve TOSUN-... biçimlerini kabul eder. Biçim kontrolü yalnızca ts.licenseLock.enabled = true iken çalışır ve yalnızca biçimi kontrol eder.
- Sunucu convar'ı: tosun_ac_license, tosun_ac_panel_key veya tosun_ac_central_token.
- configs/anticheat_server.lua içindeki değer: licenseKey, panelKey veya centralToken.
- Paylaşılan configs/anticheat_config.lua içindeki eski değer: ts.licenseLock.licenseKey, ts.webPanelKey veya ts.Central.token. Burada herhangi bir değer olması konsola bir MIGRATION uyarısı yazdırır.
configs/anticheat_server.lua#
Kimlik bilgilerini server.cfg'ye yazmak istemiyorsanız bu yalnızca sunucuya ait dosyayı kullanın. AC'nin sunucu scriptlerinden önce yüklenir ve istemcilerde hemen döner. Convar'ı veya veritabanından bulmayı kullanmaya devam etmek için bir alanı boş bırakın.
- Boş olmayan bir convar her zaman bu dosyadaki değere göre önceliklidir.
- configs/anticheat_config.lua içindeki karşılık gelen alanları boş tutun: ts.webPanelKey, ts.Central.token ve ts.licenseLock.licenseKey.
- Bu dosyanın yedeklerini gizli tutun.
- Dosya yalnızca ts.webPanelKey, ts.Central.token ve ts.licenseLock.licenseKey değerlerini doldurur. Diğer scriptler dosyayı değil, bu değerleri okur.
-- configs/anticheat_server.lua (yalnızca sunucu)
local credentials = {
panelKey = '', -- veya: set tosun_ac_panel_key "YOUR_PANEL_API_KEY"
centralToken = '', -- veya: set tosun_ac_central_token "YOUR_FIVEM_SCOPED_TOKEN"
licenseKey = '', -- veya: set tosun_ac_license "YOUR_SERVER_LICENSE"
}Panel URL'si ve ekran görüntüsü yüklemeleri#
configs/anticheat_config.lua içindeki ts.webPanelURL panel taban URL'sidir. Boş bırakabilirsiniz: boşsa AC, oyun DB'sindeki panel_settings'ten panel_url veya site_url'i yükler ve ac_settings'e kaydeder. HTTP ayar senkronu yalnızca hem URL hem de panel anahtarı ayarlıyken çalışır.
ts_public_panel_url'i yalnızca ekran görüntüleri, ban kanıtları ve canlı video farklı bir herkese açık adrese gitmesi gerekiyorsa ayarlayın. https olmalıdır. Yükleme token'ları yalnızca taban bu convar'a veya ts.webPanelURL'e eşitse https://host/api/screen_upload.php için verilir.
ts_screen_upload, screenCapture export'u ve /capture ve /ts_capture komutlarının kullandığı ayrı bir yoldur. setr gerektirir ve varsayılan değeri localhost'u gösterir. AC'deki hiçbir şey bu yüklemenin sonucunu işlemez.
Eski ts.PanelUrl, ts.panelUrl ve ts.webPanelUrl adları hâlâ yedek olarak okunur.
Tosun Connect DB bridge convar'ları#
9.6.14'ten beri isteğe bağlı DB bridge varsayılan olarak açıktır ve server.cfg satırı gerektirmez. Yükleme sırasında editable/server/tosun_db_bridge_defaults.lua, tosun_db_bridge_enabled ve tosun_db_bridge_money_write değerlerini "1" yapar; bu yüzden eski rehberlerdeki "0" satırları yok sayılır.
Bağlantıyı panelden tek bir sunucu için de kapatabilirsiniz: Sunucular, ardından sunucu, ardından Tosun Connect kartı.
Bridge https://admin.tosundev.com/api/server_db_bridge.php adresini yoklar, lisans anahtarınızı Bearer token olarak gönderir ve yalnızca şu işlemleri çalıştırır: players.list, player.detail, player.vehicles, bans.list, logs.list ve player.money.set.
ts.panelMirror.enabled = true iken AC bridge'i açmaya zorlamaz; böylece eski mirror çalışmaya devam eder. tosun_db_bridge_enabled "1" iken mirror'ın kendisi çalışmaz.
tosunac_db_status ve tosunac_db_check konsol komutları bridge durumunu gösterir ve oxmysql'i test eder.
- Bridge'i server.cfg'den yönetmek için ensure tosun-ac'den önce set tosun_db_bridge_manual "1" ekleyin.
- "1" veya "0" değeriyle set tosun_db_bridge_enabled ekleyin.
- "1" veya "0" değeriyle set tosun_db_bridge_money_write ekleyin. "1" olmadan player.money.set write_disabled ile başarısız olur ve panele sunulmaz.
Script geliştiricileri için convar'lar#
Bu convar'lar yalnızca başka bir resource AC'yi çağırdığında önemlidir. tosun_ac_trusted_resources hangi resource'ların korumalı export'ları çağırabileceğine karar verir; bridge convar'ları isteğe bağlı bridge dosyalarını yapılandırır.
Korumalı export'lar arasında SetExempt, SetPlayerExempt, Pause export'ları, BypassDetection, addAdmin, whitelistPlayer, approveResource, ban, offlineBan, webBridge export'ları ve quarantine bulunur.
Sunucu konsolu ve tosun-ac'nin kendisi her zaman güvenilirdir. Güvenilmeyen bir çağrı reddedilir; her resource ve export çifti için AC, bu convar'ın adını veren bir konsol uyarısı ve bir panel log satırı yazar. ts.EnforceExportCallerWhitelist = false iken çağrı çalışır ve yalnızca bir kez loglanır.
Güvenilen çağıranlar MarkTeleport'u oyuncu başına bütçe olmadan da kullanır.
INTEGRATION.md ve bridge/INTEGRATION.txt, tosun_ac_resource ve tosun_ac_bridge_client_ms için set gösterir. Bunun yerine setr kullanın: istemci bridge'i ikisini de istemcide okur.
Dahili AC event'leri ve export'ları da vardır. Bunlar korumalıdır ve resource'larınızdan çağrılmamalıdır.
# Korumalı export'ları çağırabilecek resource'lar (virgül veya boşlukla ayrılmış)
set tosun_ac_trusted_resources "my-housing,my-clothing"
# Kendi resource'unuzun içindeki bridge dosyaları
setr tosun_ac_resource "tosun-ac"
setr tosun_ac_bridge_client_ms "60000"
set tosun_ac_bridge_server_ms "60000"
set tosun_ac_bridge_cooldown_ms "750"ACE izinleri#
Tosun AntiCheat'in kontrol ettiği tüm ACE'ler. ACE'leri bir gruba verin ve yetkilileri add_principal ile gruba ekleyin. builtin.everyone'ın da sahip olduğu bir ACE hiç kimseyi yetkili yapmaz.
| ACE veya principal | Ne verir | Örnek satır |
|---|---|---|
tosun.admin | Yetkili durumu (ceza muafiyeti ve yetkili komutları) ve oyun içi yetkili menüsü. tosunac_setup'ı veya manuel taramaları açmaz. | add_ace group.admin tosun.admin allow |
ts.admin | tosun.admin ile aynı. | add_ace group.admin ts.admin allow |
command.ts | Yetkili durumu ve yetkili menüsü. /ts'nin kendisi kısıtlamasız kaydedilir; bu yüzden bu ACE bir FiveM kapısı değil, AC'nin rol işaretidir. | add_ace group.admin command.ts allow |
command.ban, command.kick | ts.txAdminAuth = false iken bile yetkili durumu ve yetkili menüsü. | add_ace group.admin command.ban allow |
txadmin, tx.admin, txadmin.menu, txadmin.advanced, command.txadmin | Yalnızca yetkili durumu. Yetkili menüsü yok. | Usually granted by txAdmin, or: add_ace group.admin txadmin.menu allow |
command.resources, command.restart | Yalnızca ts.txAdminAuth = true iken yetkili durumu. Yetkili menüsü yok. | Usually granted by txAdmin |
command.screenshot, command.unban | ts.txAdminAuth = true iken yalnızca ceza muafiyeti. Yetkili komutları ve yetkili menüsü yok. | Usually granted by txAdmin |
group.admin, group.superadmin, group.moderator, group.god | ACE nesnesi olarak test edilir. Yalnızca ad oyuncu için izin verilmiş bir ACE olarak çözülürse yetkili durumu ve menü verir. tosun.admin gibi açık bir ACE de verin. | add_principal identifier.license:YOUR_LICENSE_HEX group.admin |
tosunac.admin | tosunac_setup, tosunac_backdoorscan ve tosunac_eventscan'ın (her biri kendi komut ACE'sini de gerektirir) ve /banscreentest'in oyun içinde kullanımı. Yetkili durumu ve menü vermez. | add_ace group.admin tosunac.admin allow |
tosunac.banscreen.test | Ban ekranını yalnızca çağıranda önizleyen oyun içi /banscreentest. | add_ace group.admin tosunac.banscreen.test allow |
command.tosunac_setup | Kısıtlı komut. Oyuncu ayrıca tosunac.admin'e ihtiyaç duyar. | add_ace group.admin command.tosunac_setup allow |
command.tosunac_backdoorscan | Kısıtlı komut. Oyuncu ayrıca tosunac.admin'e ihtiyaç duyar. | add_ace group.admin command.tosunac_backdoorscan allow |
command.tosunac_eventscan | Kısıtlı komut. Oyuncu ayrıca tosunac.admin'e ihtiyaç duyar. | add_ace group.admin command.tosunac_eventscan allow |
command.ts_setlang | Kısıtlı komut. Oyuncu ayrıca yetkili durumuna ihtiyaç duyar. | add_ace group.admin command.ts_setlang allow |
command.ts_v9_help | Başka kontrolü olmayan kısıtlı komut. Çıktısı sunucu konsoluna gider. | add_ace group.admin command.ts_v9_help allow |
command.tosunac_integration, command.tosunac_doctor, command.ac_cleanup, command.tosunac_db_status, command.tosunac_db_check | Oyunda hiçbir şey. Bu komutlar yalnızca konsolda çalışır ve ACE'ye sahip olsalar bile oyuncuları yok sayar. | Run them from the server console |
command (bare ACE) | builtin.everyone'da varsa asla yetkili yapmaz. Ancak bağlantı anındaki IP kontrolünü atlatan ACE'lerden biridir ve o kontrolde builtin.everyone filtresi yoktur. | Do not use: add_ace builtin.everyone command allow |
ts.AdminBypassAces (config list) | Menüyü değil, yetkili durumunu verir. Hazır girdiler: command.ts, txAdmin ACE'leri, command.kick, command.ban, dört grup adı, tosun.admin ve ts.admin. Tek başına command ACE'sini asla eklemeyin. | ts.AdminBypassAces = { "command.ts", ..., "your.staff.ace" } |
Kısıtlı ve yalnızca konsol komutları#
AC'nin on komutu kısıtlı olarak kaydedilir. Oyunda FiveM, AC'nin kendi kontrolüne ek olarak eşleşen komut ACE'sini ister. Bu on komutun beşi oyuncuları tamamen yok sayar.
banscreentest kısıtlı değildir. Konsoldaki banscreentest playerId biçimi ACE gerektirmez; oyun içi /banscreentest tosunac.banscreen.test veya tosunac.admin gerektirir. tosunac_setup, iki tarama ve banscreentest retleri sessizdir.
Backdoor veya imza taraması bitmezse tosunac_setup hiçbir şeyi onaylamaz; ts.BackdoorGuard kapalıyken de durum budur. Biri sürerken ikinci bir çalıştırma reddedilir.
| Komut | Kim çalıştırabilir | Ne yapar |
|---|---|---|
tosunac_setup | Konsol, veya command.tosunac_setup ve tosunac.admin'e sahip bir oyuncu | Otomatik kurulum: framework'ü algılar, backdoor ve imza taramalarını çalıştırır, temiz resource'ları temel çizgiye onaylar ve event'leri güvenilir saymadan kataloglar. Yalnızca temiz olduğu bilinen bir sunucuda çalıştırın. |
tosunac_backdoorscan | Konsol, veya command.tosunac_backdoorscan ve tosunac.admin | Manuel backdoor taraması. ts.BackdoorGuard.enabled = false iken kaydedilmez. |
tosunac_eventscan | Konsol, veya command.tosunac_eventscan ve tosunac.admin | Panele gönderilen manuel event ve trigger taraması. ts.EventScanner.enabled = false iken kaydedilmez. |
ts_setlang playerId lang | Konsol, veya command.ts_setlang ve yetkili durumu | Tek bir oyuncunun AC dilini ayarlar. Oyuncu ID'sinin çevrimiçi olup olmadığını kontrol etmez. |
ts_v9_help | Konsol, veya command.ts_v9_help | v9 ek komut listesini sunucu konsoluna yazar. |
tosunac_integration | Yalnızca konsol | Export uygulama modunu, güvenilen resource'ları ve kaynaklarını ve son 20 reddi yazar. |
tosunac_doctor | Yalnızca konsol | Uygulanan ayarların risk raporu. Başlangıçtan 90 sn sonra da çalışır. Çıktı Türkçedir. |
ac_cleanup | Yalnızca konsol | Veritabanı saklama temizliğini hemen çalıştırır. Yazılan sayı genellikle olduğundan azdır. ts.v12.enableAutoCleanup = false iken kaydedilmez. |
tosunac_db_status | Yalnızca konsol | DB bridge durumunu, lisans durumunu, oxmysql durumunu ve framework'ü yazar. |
tosunac_db_check | Yalnızca konsol | oxmysql üzerinden SELECT 1 çalıştırır ve başarılı veya başarısız yazar. |
Yetkili nasıl tanınır#
AC'nin iki ayrı erişim seviyesi vardır. Yetkili durumu ceza muafiyeti ve yetkili komutlarını (/ts alt komutları ve ts_ komutları) verir. Menü erişimi oyun içi yetkili menüsünü açar. Bazı kaynaklar bunlardan yalnızca birini verir.
Yetkililer için ceza muafiyeti yalnızca ts.AdminBypassDetections = true (hazır değer) ve ts.Debug = false (hazır değer) iken geçerlidir.
Menü erişimi ayrıca ts.AdminMenu.enable ve ts.AdminMenu.enabled değerlerinin true kalmasını gerektirir. Biri false olduğunda menü, F7 tuşu ve istemci yetkili aracı komutları kaydedilmez.
Yetkili durumu olup menü erişimi olmayan yetkililer, örneğin yalnızca txAdmin yetkilileri, yine de F7'ye basabilir. İstek reddedilir ve loglanır.
| Kaynak | Nerede ayarlanır | Yetkili durumu | Yetkili menüsü | Notlar |
|---|---|---|---|---|
ACE tosun.admin, ts.admin, command.ts | server.cfg add_ace | Evet | Evet | Yetkili vermenin önerilen yolu. |
ACE command.ban, command.kick | server.cfg veya txAdmin | Evet | Evet | ts.txAdminAuth = false iken bile yetkili kalır. |
Principals group.admin, group.superadmin, group.moderator, group.god | server.cfg add_principal | Yalnızca ad izin verilmiş bir ACE olarak çözülürse | Aynı koşul | ACE nesnesi olarak test edilir. Ayrıca açık bir ACE ekleyin. |
ACE txadmin, tx.admin, txadmin.menu, txadmin.advanced, command.txadmin | txAdmin veya add_ace | Evet | Hayır | txAdmin yetkililerinin menü için tosun.admin'e veya bir panel iznine ihtiyacı vardır. |
ACE command.resources, command.restart | txAdmin | Yalnızca ts.txAdminAuth = true iken | Hayır | Genellikle txAdmin tarafından verilir. |
ACE command.screenshot, command.unban | txAdmin | ts.txAdminAuth = true iken yalnızca muafiyet | Hayır | Yetkili komutları yok. |
ts.AdminBypassAces | configs/anticheat_config.lua | Evet | Hayır | Eklediğiniz girdiler menüyü açmaz. |
Admins | admins/anticheat_admins.lua | Evet | Evet | Yalnızca sunucuya ait dosya. |
ts.AdminMenu.allowedIds | configs/anticheat_config.lua | Evet | Evet | "all" ve "staff" kimlik değildir ve hiçbir şey vermez. |
ts.AdminBypassIdentifiers | configs/anticheat_config.lua | Evet | Hayır | Config yorumu ip:x.x.x.x'i de listeler. |
Panel grants (ac_v7_admin_grants) | Web panel | Evet | Evet | Eşleşme 5 sn, eşleşmeme 30 sn önbellekte tutulur. |
addAdmin export | Güvenilen bir resource | Evet | Evet | removeAdmin çağrılana kadar. |
Player whitelist (ac_whitelist) and runtime whitelist | Web panel veya whitelist export'ları | Hayır (yalnızca ceza muafiyeti) | Hayır | ts.Debug = true iken yok sayılır. |
ACE tosunac.admin | server.cfg add_ace | Hayır | Hayır | Kurulumu, manuel taramaları ve ban ekranı önizlemesini açar. |
Kimlik listeleri: Admins, allowedIds ve AdminBypassIdentifiers#
license:, steam:, discord: veya fivem: değerleri gibi tam kimlikler kullanın. Yetkililer için admins/anticheat_admins.lua'yı veya panel izinlerini tercih edin: o dosya yalnızca sunucuya aittir, configs/anticheat_config.lua ise her istemciye gönderilir.
- Admins: bir girdi tam kimlikle (büyük/küçük harf duyarsız) veya önekten sonraki kısımla eşleşir. Yetkili durumu ve menü verir.
- ts.AdminMenu.allowedIds: yetkili durumu ve menü. "all" ve "staff" değerleri hiçbir şey vermez.
- ts.AdminBypassIdentifiers: yalnızca yetkili durumu ve muafiyet, menü yok.
-- admins/anticheat_admins.lua (yalnızca sunucu)
Admins = {
"license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"steam:11000010xxxxxxxx",
"discord:123456789012345678",
}
-- configs/anticheat_config.lua (paylaşılan, istemcilere gönderilir)
ts.AdminMenu = {
-- diğer menü anahtarları hazır geldiği gibi kalır
allowedIds = {
"license:YOUR_EXACT_PLAYER_IDENTIFIER",
},
}
ts.AdminBypassIdentifiers = {} -- yetkili durumu ve muafiyet, menü yokPanel izinleri ve addAdmin export'u#
Panel izinleri, web panelde oluşturduğunuz ac_v7_admin_grants satırlarıdır. Aktif bir izin, oyuncunun license veya license2 değeriyle önekli veya öneksiz eşleşir ve yetkili durumu ile menü erişimi verir.
Olumlu yanıt 5 sn, olumsuz yanıt 30 sn önbellekte tutulur; bu yüzden yeni bir izin, daha önce kontrol edilmiş bir oyuncuya uygulanması 30 sn'ye kadar sürebilir.
Güvenilen bir resource, removeAdmin çağrılana kadar bir oyuncuya yetkili durumu ve menü erişimi vermek için addAdmin export'unu çağırabilir. ts.EnforceExportCallerWhitelist true iken çağıran tosun_ac_trusted_resources veya ts.ExportCallerWhitelist içinde listelenmiş olmalıdır.
Oyuncu whitelist'i yetkili demek değildir#
Panel oyuncu whitelist'i (ac_whitelist) ve whitelist export'larıyla çalışma sırasında eklenen kimlikler yalnızca cezaları durdurur. Yetkili komutları veya yetkili menüsü vermezler.
- Bir satır, expires_at boş veya gelecekte olduğu sürece geçerlidir.
- Kabul edilen değerler: license, discord, steam veya fivem kimliği ya da bir citizenid. Önekler kaldırılır.
- Çalışma zamanı girdileri bellekte tutulur ve yeniden başlatmada kaybolur.
- ts.Debug = true iken iki liste de yok sayılır.
Yetkili davranışını değiştiren ayarlar#
configs/anticheat_config.lua içindeki bu anahtarlar, yetkililerin ve yetkisiz menü kullanıcılarının nasıl ele alınacağını değiştirir.
| Ayar | Hazır değer | Etkisi |
|---|---|---|
ts.AdminBypassDetections | true | false, yetkilileri diğer oyuncular gibi cezalandırılabilir yapar. |
ts.txAdminAuth | true | false, txAdmin komut-ACE yolunu kapatır (command.resources, command.restart, command.screenshot, command.unban). command.ban ve command.kick yetkili kalır. |
ts.Debug | false | true; yetkililerin tespitleri kendi üzerlerinde test edebilmesi için yetkili, whitelist, panel whitelist'i ve muafiyet istisnalarını kapatır. Canlı sunucuda false tutun. |
ts.NuiNeverBanUnauthorized | true | false, izni olmadan yetkili menüsü event'lerini tetikleyen oyuncuları yalnızca loglamak yerine cezalandırır. Ceza ts.punishType'tır. |
ts.AdminMenu.enable, ts.AdminMenu.enabled | true, true | İkisinden biri false olursa yetkili menüsü kapanır. enable = false telefon bildirim modülünü de durdurur. |
ts.AdminMenu.requireActionSignature | true | false, hassas yetkili menüsü işlemlerinin imzalanmasını kapatır. |
ts.v12.bypassStaffIpCheck | true | Yetkililer bağlantı sırasında VPN, proxy, hosting ve ülke kontrollerini atlar. |
builtin.everyone ve bağlantı anındaki IP kontrolü#
Tüm yetkili ve menü ACE kontrolleri, builtin.everyone'ın da sahip olduğu bir ACE'yi yok sayar. Bu yüzden add_ace builtin.everyone command allow oyuncuları yetkili yapmaz. Bağlantı anındaki IP kontrolü ise farklı çalışır.
ts.v12.bypassStaffIpCheck false olmadığı sürece, bağlanan bir oyuncu şu durumlardan herhangi birinde ülke engel listesini ve VPN, proxy ve hosting retlerini atlar: oyuncu yetkilidir; oyuncuda command, txadmin, tx.admin, txadmin.menu, command.kick, command.ban ACE'lerinden biri ya da group.admin, group.superadmin, group.moderator veya group.god adlarından biri vardır; veya aktif bir panel izni oyuncunun license'ıyla tam olarak eşleşir.
Bu kontrol, builtin.everyone filtresi olmayan düz ACE testleri kullanır. Bu yüzden add_ace builtin.everyone command allow olan bir sunucuda her oyuncu VPN ve ülke kontrollerini atlar. Giriş seli (join-flood) kontrolü ise istisnadan önce yine çalışır.
Discord webhook dosyası#
configs/anticheat_webhooks.lua yalnızca sunucuya aittir. Her log kanalı için bir Discord webhook URL'si ve embed stilini tutar. Tüm URL'ler WEBHOOK_URL_BURAYA yer tutucusuyla gelir.
- Panel HTTP senkronu, boş olmayan bir URL gönderdiği her webhook'un üzerine yazar.
- Diğer resource'lar webhook URL'lerini getConfig('webhooks') ile yalnızca güvenilen çağıranlarsa alır.
- Ekran görüntüsü logları Detections embed'ini çözülen ceza yerine ts.punishType ile etiketler ve ts.punishType BAN olduğunda Webhooks.Bans'e de gönderir.
- Webhooks.WebhookAvatar embed avatar görselini ayarlar.
Webhooks.Detections = "https://discord.com/api/webhooks/..."
Webhooks.Bans = "https://discord.com/api/webhooks/..."
Webhooks.AdminMenuLogs = "https://discord.com/api/webhooks/..."
Webhooks.Connections = "https://discord.com/api/webhooks/..."
Webhooks.OCR = "https://discord.com/api/webhooks/..."
Webhooks.Commands = "https://discord.com/api/webhooks/..."
Webhooks.MoneyLogs = "https://discord.com/api/webhooks/..."
Webhooks.ResourceLogs = "https://discord.com/api/webhooks/..."
Webhooks.WebhookUsername = "Tosun AntiCheat"
Webhooks.WebhookColor = 15285208
Webhooks.WebhookInlines = truePanel config dosyasını nasıl ezer#
configs/anticheat_config.lua içindeki değerlerin çoğu varsayılandır. Web panel kendi değerlerini ac_settings ve diğer ac_ tablolarında tutar ve öncelik bu değerlerdedir. Dosyayı yalnızca panelin yönetmediği değerler için düzenleyin.
- Başlangıçtan yaklaşık 3 sn sonra ve ardından her ts.ServerPerf.configSyncIntervalSec saniyede bir (hazır değer 120, en az 20, yedek 60) ac_settings satırları ts değerlerinin üzerine yazar.
- AdminMenu.enable gibi noktalı anahtarlar iç içe alanlara yazar. framework veya moneyCheck gibi eski düz anahtarlar önce eşlenir.
- punishment_ anahtarı o tespit için ts.DetectionPunishments'a yazar. BAN ve KICK korunur; diğer her değer LOG olur.
- İşlem alanları ban, kick, log, cancel, reject veya stop olarak normalleştirilir. Diğer her değer log olur.
- globalBan. ile başlayan anahtarlar yok sayılır.
- Panel listeleri config listelerinin yerine geçer: silahlar, araç kara listesi, plakalar, trigger listesi, event sınırları, whitelist'teki resource'lar, OCR kelimeleri, Blacklist listeleri, patlama listesi ve entity whitelist'leri. Veritabanından gelen whitelist'teki resource'lar ve OCR kelimeleri ise birleştirilir.
- İstisna: ts.EventLimiter ve ts.ProtectedEvents handler'ları yüklenirken dosyadan bir kez kaydedilir. Sonraki panel değişiklikleri bunlar için sunucu tarafı denetimi değiştirmez.
- Bir değişiklikten sonra istemcilere yalnızca istemci için güvenli anahtarlar yeniden gönderilir.
- Panel senkronundan sonra riskli değerleri gözden geçirmek için konsolda tosunac_doctor çalıştırın.
Temel ayarlar#
configs/anticheat_config.lua'nın başına yakın üst düzey anahtarlar. Çoğu panelden de ayarlanabilir.
| Ayar | Hazır değer | Ne yapar |
|---|---|---|
ts.Locale | "tr" | Varsayılan AC dili (yedek sırası: oyuncu dili, ts.Locale, en). Dosyalar: ar, de, en, es, fr, pt, ru, tr, zh. Türkçe olarak gelir: İngilizce sunucular "en" ayarlamalıdır. Panelin default_locale değeri bunun yerine geçebilir. |
ts.punishType | 'BAN' | Eşlemesi olmayan tespitler için yedek ceza. Elle verilen banların cezası da budur: ban export'u, /ts ban, yetkili menüsü banları ve panel banları. LOG veya KICK bunları log veya kick'e dönüştürür. |
ts.Debug | false | true, yetkili ve whitelist istisnalarını kapatır. Canlı sunucuda false tutun. |
ts.txAdminAuth, ts.AdminBypassDetections, ts.NuiNeverBanUnauthorized | true, true, true | Yetkili davranışı. Bkz. Yetkili davranışını değiştiren ayarlar. |
ts.screenshotModule | "screenshot-basic" | Ekran görüntüleri için kullanılan resource. |
ts.banIDFormat | 1 | 1 = ABCD-1234, 2 = #1234. |
ts.autoSQL | false | true, başlangıçta tabloları oluşturur. Config yorumu ilk kurulumda true yapıp sonra tekrar false'a çevirmenizi söyler. |
ts.Prefix, ts.showReason | 'Tosun AntiCheat', true | Kick ve ban mesajlarının biçimini belirler. |
ts.appealDiscord, ts.appealTicketUrl | vendor links | Ban mesajına eklenir. appealDiscord, geliştiricinin Discord'u (https://discord.gg/9tCSJch) olarak gelir ve aynı zamanda yedektir. Kendi itiraz bağlantınızı ayarlayın. |
ts.pingOnDetect | false | Tespit embed'lerine @everyone ekler. Metin, mesajın üst düzey content alanına değil, embed nesnesinin içine yerleştirilir. |
ts.chatMessages | false | Cezaları sohbette duyurur. |
ts.spoilerIP | true | Discord loglarında IP adreslerini spoiler içine alır. |
ts.needDiscord | false | true, Discord kimliği olmayan oyuncuları reddeder. |
ts.maxUsernameLength | -1 | En fazla oyuncu adı uzunluğu. -1 kontrolü kapatır. |
ts.webPanelURL, ts.webPanelKey | "", "" | İkisini de boş bırakın. Bkz. Panel URL'si ve ekran görüntüsü yüklemeleri ve kimlik bilgisi bölümleri. |
ts.version | "9.6.15" | Yalnızca bilgi amaçlıdır. Çalışma sırasında manifest sürümü kullanılır. |
Yapılandırma bölümleri: tespitler ve cezalar#
Neyin tespit edileceğine ve ne kadar sert cezalandırılacağına karar veren bölümler.
| Bölüm | Amaç | Sunucu sahiplerinin genelde değiştirdiği ayarlar |
|---|---|---|
ts.DetectionPunishments | Tespit anahtarı başına ceza: BAN, KICK veya LOG. Sıra: açık ceza, doğrudan anahtar, takma ad, türetilmiş anahtar, ardından ts.punishType. | Tek tek girdiler. Panel her birini ezebilir. Hazır: kesin sinyaller için BAN, orta risk için KICK; freecam, teleport, fastrun, görünmezlik ve ocr gibi bağlama duyarlı olanlar için LOG. |
ts.BanDurations | Tespit anahtarı başına saat cinsinden ban süresi. 0 veya eksik anahtar kalıcı demektir. | ["default"] (hazır 0 = kalıcı; elle verilen banlar da bunu kullanır). Fizik tespitleri sürelidir; örneğin superjump, fastrun ve teleport 72 sa, noclip ve godmode 168 sa. |
ts.confirmWindow | İstemci fizik tespitleri için onay kapısı: hız, teleport, noclip, superjump, can ve zırh. Yüksek ping veya kare takılması altındaki ölçümler yok sayılır. | Varsayılanlar önerilir: confirmFrames 3, confirmMs 3000, maxPingMs 220. 90 sn içinde hardEscalateHits 8, gecikme altında bile cezayı zorlar. |
ts.v6Enforcement | İmzalı istemci sezgisellerinden ve spam tespitlerinden gelen cezaları sınırlar. | maxAction ("KICK"). confirmWindowSec 600 içinde confirmHits 2 (en az 30). |
Client detection toggles (ts.anti keys, thresholds, ts.confirmHits) | İstemci tarafı tespitler için düz aç/kapa anahtarları ve sınırlar. | Tek tek kontrolleri kapatın. Hazır gelişte kapalı olanlar: antiRadar, fakeTriggerServerTraps, antiInfiniteStamina, antiPickups, antiClipboardPaste, antiGodmodeV2. |
ts.OCR settings | Hile menüsü kelimeleri için ekran OCR'ı. | ts.OCR, ts.OCRCheckInterval (20000), ts.OCRWords. Ekrandaki sohbet metni her izleyicide eşleşeceği için tüm işlemlerin varsayılanı log'dur. Panel kelimeleri birleştirilir. |
ts.quarantine | quarantine export'unun ban yerine kullandığı routing bucket izolasyonu. | defaultSeconds 300, maxSeconds 1800, autoQuarantine (kapalı). |
ts.autoEvidence | Oyuncu çevrimiçiyken ciddi tespitlerden sonra kısa otomatik video kanıtı. tosun_render gerektirir. | durationSec 25, cooldownSec 120, triggers. |
ts.forensics | Ortak HWID ve license kimliklerini banlı kümelere bağlayan ban kaçırma grafiği. | evasionAction "log" ile başlayın. linkByIp kapalıdır. |
ts.v16 | Sunucu tarafı hareket kontrolü. | action ("ban"). teleportAction ("log"): oyuncu ışınlayan her script MarkTeleport çağırdığında kick'e çevirin. |
ts.aimGuard | Silah hasarı event'leri üzerinde istatistiksel anti-aimbot. AdminBypassDetections açıkken yetkililer muaftır. | magicBulletTargets 4 (kick), fireRatePerSec 22 (kick), headshotRatio 0.90 (log). |
ts.combatGuard | Sunucu tarafı can ve zırh üst sınırları ve aşırı silah hasarı kontrolü. | healthCap 250, armorCap 105, weaponDamageCap 600. İki işlem de kick atar. |
Yapılandırma bölümleri: sunucu tarafı korumalar#
Sunucuda çalışan korumalar. Birkaçı önce event'i iptal eder ve yalnızca tekrarlanan ihlallerden sonra cezalandırır.
| Bölüm | Amaç | Sunucu sahiplerinin genelde değiştirdiği ayarlar |
|---|---|---|
ts.netEvents | Oyun event'leri üzerinde sunucu otoriteli kontroller. | Alt bölüm başına: action, strikes, windowMs, cancel. Hazır: weapons 60 sn'de 2 ile ban; respawn 120 sn'de 6 ile kick; vehicleComponent log; explosionDistance 250 m, 3 ihlal ile kick; damageDistance 600 m, 4 ile ban. |
ts.entityFlood | Oyuncu başına spawn hızı sınırı. Sınırın üzerindeki spawn'lar iptal edilir. | maxPerSec 30, banAfterFloods 3, action ("ban"). |
ts.crashGuard | State bag değerleri ve event verileri için boyut, derinlik ve geçerlilik sınırları. | action ("kick"), 60 sn içinde strikes 3. |
ts.serverAuthority | Superjump, hasar ve savunma çarpanlarını, kara listedeki silahları, godmode'u, görünmezliği, noclip'i ve kamera odağını yakalamak için OneSync ile kopyalanan durumu okur. | Kontrol başına: enabled, action, confirm. Yüksek güvenli kontroller kick atar; bağlama duyarlı olanlar loglar. |
ts.shieldAi | Entity spawn kalkanı. Bir resource'a bağlanamayan araç ve ped spawn'ları iptal edilir. | action ("cancel"), strikes 3, maxObjectPerSec 25, maxVehiclePerSec 4, maxPedPerSec 8, scriptWhitelist. tosunac_doctor strictScriptWhitelist = true'yu işaretler. |
ts.shieldExplosion | Görünmez veya sessiz patlamaları iptal eder ve yalnızca tekrarlardan sonra cezalandırır. | action ("kick"), 60 sn içinde strikes 5. |
ts.premiumGuard | Partikül, mermi, request-control, ses ve ragdoll spam'ine ve araç bombası kötüye kullanımına karşı koruma. | Tüm işlemlerin varsayılanı log'dur. Tür başına saniyelik sınırlar. |
ts.vehicleGuard | Fırlatılan veya havaya atılan araçları tespit eder. | action ("kick"), strikeLimit 3, stuntMode, excludeAirVehicles. |
ts.weaponInventory | Oyuncunun ox_inventory, QB veya ESX envanterinde olmayan, elde tutulan bir silahı işaretler. | action ("log"), removeWeapon (kapalı), ignore, extraWeapons. Envanter dışında silah veren scriptler güvenilen bir resource'tan AllowWeapon export'unu çağırmalıdır. |
ts.entityGuard | Toplu obje spawn'larını tespit eder ve kicklenen veya banlanan oyuncuların spawn ettiği objeleri siler. | 60 sn içinde massThreshold 50, cleanupOnBan. |
ts.rateGuard | Patlama, ptfx, ateş ve mermi event'leri için oyuncu başına saniyelik sınırlar. | action ("kick"), explosionsPerSec 12, ptfxPerSec 25, firePerSec 15, projectilesPerSec 30. |
ts.entityWhitelist (and its vehicle, ped, object, projectile and particle lists) | Entity türü başına isteğe bağlı izin listesi modu. | Hazır gelişte tüm modlar kapalıdır; bu yüzden yalnızca kara listeler ve spawn kalkanı uygulanır. Panelin entity whitelist tabloları listelerin yerine geçer. |
ts.SpamGuard | Sunucu event'leri ve sohbet komutları için oyuncu başına sınırlar. ts.SpamGuard = false ya da ts.antiServerEventSpam / ts.antiCommandSpam = false ile kapanır. | serverEventPerSec 25, commandPerSec 8, autoKickAfter 1. Sunucu event'i kısmı, resource'un hiç tetiklemediği bir event'i dinler; build'inizi kontrol edin, aksi halde yalnızca komut sınırı uygulanır. |
ts.EventLimiter | Sabit 5 sn'lik pencerede event başına çağrı sınırı. Sınırda (sayı değere ulaştığında) Event Spam tetikler (server_event_spam, KICK). | Sınırları dosyada ekleyin veya yükseltin. Handler'lar yüklenirken bir kez kaydedilir; bu yüzden panel event sınırları denetimi değiştirmez. |
ts.antiDump, ts.nativeIntegrity, ts.autoExempt | Honeypot anti-dump; üzerine yazılmış tespit native'lerine karşı istemci tuzağı; görünüm, multichar ve ölüm event'leri sırasında otomatik muafiyetler. | antiDump.action ("ban"), nativeIntegrity.checkMs 12000. |
ts.shield | JS native-hook katmanı, gizli NUI kontrolleri ve bandan önce ekran görüntüsü ve oynanış videosu kanıtı (video tosun_render gerektirir). | banScreenshot, banGameplayVideo. |
ts.nativeGuard | Harici Windows yardımcısı tosun-guard.exe ile entegrasyon. | action ("log"), requireGuard (false). |
ts.guard | Ayrı tosun-guard istemci resource'u için bekçi. tosun-guard kurulu değilken kimseyi cezalandırmaz. | action ("kick"). |
ts.launcherGate | Bağlantı sırasında oyuncunun IP'sinden, panel tarafından doğrulanmış yakın tarihli temiz bir launcher taraması ister. | enabled (false), action ("reject"), failOpen (false), downloadUrl, message (varsayılan olarak Türkçe). |
Yapılandırma bölümleri: bağlantı, yetkili ve panel#
Giren oyuncular, yetkili menüsü, panel bağlantısı ve sunucu geneli davranış için bölümler.
| Bölüm | Amaç | Sunucu sahiplerinin genelde değiştirdiği ayarlar |
|---|---|---|
ts.Framework | Framework seçimi ve para artışı tespiti. | framework: esx, qb, qbox, standalone veya "auto". "qb" olarak gelir ve bu otomatik algılanmaz; bu yüzden ESX ve Qbox sunucuları bunu değiştirmelidir. moneyCheckThreshold 5000000, moneySoftThreshold 75000. |
ts.AutoSetup | framework "auto" veya "" iken pasif framework algılama: sırasıyla qbx_core, qb-core, es_extended, vrp, ox_core. | autoDetectFramework (true). |
ts.v12 | Kendini koruma, bağlantı anında VPN, proxy ve hosting kontrolleri (ipapi.co) ve veritabanı saklama temizliği. | blockVpn, blockProxy, blockHosting (kapalı), bypassStaffIpCheck, keep saklama anahtarları (yetkili logları 60 gün, tespitler 90 gün). |
ts.HeartBeat | İstemci bekçisi: istemci raporları arasında izin verilen boşluk ve ilk geçerli rapor için son süre. | maxTime 90 sn (en az 15). firstHeartbeatDeadline 180 sn (en az 60): o süreye kadar geçerli ilk raporu olmayan oyuncular sunucudan atılır. |
ts.NetworkJoin | Reliable event taşmasını önleyen giriş hızlandırması ve tespitler devreye girmeden önceki tolerans süresi. | minReadyDelayMs (hazır 15000; eski rehberlerde 45000 yazar), postFrameworkSettleMs 5000. |
ts.AdminMenu | /ts menu, /tsmenu veya F7 ile açılan oyun içi yetkili menüsü. | enable, enabled, allowedIds, openKeyControl (168 = F7), espMaxDist, noclipInvisible, requireActionSignature. allowEsp, allowFreecam ve allowDelete yalnızca istemci kodunda uygulanır. |
ts.PhoneNotify | Yetkili telefonlarına AC bildirimleri: qb-phone, qs-smartphone, lb-phone, yseries, gks_phone, npwd, roadphone. | Yalnızca heartbeat okunur (her 15 dakikada bir durum bildirimi). Ban ve tespit bildirimleri ts.AdminMenu.enable açıkken her zaman gönderilir. |
ts.LiveWatch | Yetkili menüsünden ve panelden canlı ekran izleme. | interval 1500, quality 0.7, maxSeconds 600, timeout 12000. |
ts.ServerPerf | Sunucu yükü ile güncelleme gecikmesi arasındaki dengeler. | configSyncIntervalSec 120 (en az 20), panelPlayerSyncIntervalMs 12000, liveWatchDbPollMs 4500. |
ts.Central | v9 merkezi panel API'si: el sıkışma, yoklama ve dil senkronu. | pollIntervalSec 5 (5 ile 60 arasına sınırlanır). token'ı burada boş bırakın ve tosun_ac_central_token kullanın. |
ts.cloudBridge | Tehdit puanlarını ve konsol çıktısını panele gönderir ve bağlantı sırasında merkezi bir tehdit istihbaratı listesini kontrol eder. | consoleForward hazır gelişte açıktır: her sunucu konsol satırı toplu olarak panele gider. threatIntelAction ("log"), threatIntelMinScore 70. |
ts.panelMirror | Panele eski tip tam veritabanı aktarımı. İsteğe bağlı açılır. | enabled (false). Açıkken DB bridge otomatik etkinleştirilmez. |
ts.connectingCard | Oyuncular bağlanırken gösterilen adaptive card. | title ("TOSUN RP"), discord (yoksa ts.appealDiscord kullanılır), website, rules, image, tips. |
ts.banScreen (panel only) | Sunucudan atmadan önce tam ekran ban bildirimi. Dosyada yoktur; panelden ayarlayın. | enabled (kapalı), seconds 3 - 15 (8), mediaType, imageUrl (yalnızca https), youtubeId, title (80 karakter), message (300 karakter), showReason. banscreentest ile önizleyin. |
ts.PanelDangerousActionIPs | kick_all, stop_resource ve broadcast panel işlemleri için IP izin listesi. | Boşsa yalnızca denetim logu tutulur. Diğer kaynakları engellemek için panel sunucusunun IP'sini ekleyin. |
ts.licenseLock | Dağıtım koruması: lisans biçimi ve sunucu ID kontrolü. | enabled (false), action (log, reject veya stop), allowedServerIds, failClosed. licenseKey'i burada boş tutun. |
ts.NpcBlocker | Ortam NPC'lerini ve trafiği kaldırır; görev, script ve whitelist'teki entity'ler kalır. | enabled (false), blockPeds, blockVehicles, whitelistModels. |
ts.hardening, ts.cfgAudit | FiveM convar koruması ve salt okunur server.cfg denetimi. | Bkz. Sıkılaştırma anahtarları ve çıktısı. |
Yapılandırma bölümleri: resource'lar, event'ler ve entegrasyon#
Resource güveni, tarayıcılar ve geliştirici entegrasyonu için bölümler. Geliştiriciler için işaretli satırlar yalnızca kendi scriptleriniz AC'yi çağırdığında önemlidir.
| Bölüm | Amaç | Sunucu sahiplerinin genelde değiştirdiği ayarlar |
|---|---|---|
ts.whitelistedResources | AC'nin her zaman güvenli saydığı temel resource'lar: framework'ler, oxmysql, chat, monitor, ox_ resource'ları. | Kendi temel resource'larınızı ekleyin. Panel HTTP senkronu listenin yerine geçer; DB senkronu listeye ekleme yapar. |
ts.ResourceGuard | Resource temel çizgisi, hash sapma kontrolleri ve hile imzası tarayıcısı. | signatureScan, signatureScanInterval 600000, autoStopCheatResources (true), autoBlockInfected (false), deepScan (false). |
ts.BackdoorGuard | Resource dosyalarını backdoor, RCE ve veri sızdırma kalıpları için tarar. | autoQuarantine (false; true kritik bulgusu olan resource'ları durdurur), ignoreResources, scanIntervalMs 1800000. |
ts.EventScanner | Tüm resource'ların net event'lerini ve trigger'larını panele kataloglar. | autoProtect (false; true onları korumalı olarak işaretler), ignoreResources. |
ts.ProtectedEvents, ts.SafeEventRateWindow, ts.SafeEventRateLimit, ts.SafeEventMaxArgs | Geliştiriciler için. TriggerSafeServerEvent ile tetiklenmesi gereken event'ler. Geçerli çağrılar event adı artı :safe'e iletilir. Hatalı çağrılar reddedilir ve loglanır, asla cezalandırılmaz. | Yalnızca SafeEvents istemci API'sini kullanan kendi event'lerinizi ekleyin. Sınır 10 sn'de 30 çağrı; SafeEventMaxArgs 64. :safe handler'ı yine de yetkileri kontrol etmelidir. |
ts.EnforceExportCallerWhitelist, ts.ExportCallerWhitelist | Geliştiriciler için. Korumalı export'lar için güvenilen resource'lar. | Hazır liste: qbx_core, qb-core, es_extended, ox_inventory, ox_lib. false = denetim modu: çağrılar çalışır ve bir kez loglanır. MarkTeleport güven gerektirmez. |
ts.Integration | Geliştiriciler için. MarkTeleport sınırları. | Çağrı başına markTeleportMaxMs 15000 (1000 - 60000, tüm çağıranlar); oyuncu başına 10 dakikada markTeleportBudgetMs 180000 (yalnızca güvenilmeyen çağıranlar). |
ts.DetectionExempt (alias ts.MenuDetectionExempt) | Geliştiriciler için. Bilinen kıyafet, ev, garaj veya revive event'leri tetiklendiğinde kısa otomatik muafiyetler. | clientEvents, localEvents, serverEvents (event, durationMs, resource, always). Sunucu event'leri yalnızca hareket ve görünürlük rahatlaması verir: event başına en fazla 120 sn ve oyuncu başına budgetMsPer10Min 240000. |
ts.AdminBypassAces, ts.AdminBypassIdentifiers | Yetkili ACE ve kimlik listeleri. | Bkz. Yetkili nasıl tanınır. |
Yapılandırma bölümleri: listeler#
configs/anticheat_config.lua içindeki varsayılan listeler. Çoğu, senkron sırasında panel tablolarıyla değiştirilir.
| Bölüm | Amaç | Sunucu sahiplerinin genelde değiştirdiği ayarlar |
|---|---|---|
ts.Weapons, ts.vehicleBlacklist, ts.Plates, ts.BlacklistObjects, ts.pedBlacklist, ts.BlacklistPeds, ts.BlacklistCommands, ts.BlacklistWords, ts.BlacklistNames, ts.BlacklistKeys, ts.BlacklistAnims | Varsayılan kara listeler. Silah listesi ayrıca silah başına BAN, KICK veya LOG belirler. | Mesleklerinizin dağıttığı öğeleri çıkarın. Config yorumları PD ve EMS helikopterlerini ve SWAT ve hwaycop ped'lerini belirtir. |
ts.BlacklistPlayerModels | 5 sn arayla 3 örnekten sonra (yaklaşık 15 sn) bildirilen oyuncu ped modelleri. Ceza anahtarı peds (KICK). | İstemci döngüsü antiPeds anahtarını kendisi kontrol etmez. |
ts.BlacklistSprites | Hile menüsü texture sözlükleri. | Panel bunun yerine geçebilir. |
ts.detectedKeys | Overlay tetikleyici tuşlar. | Hazır değer {44, 73, 104}. |
ts.explosionBlacklist | İptal edilen ve cezalandırılan egzotik patlama türleri. | Tür başına BAN, KICK veya LOG. Panelle senkronlanır. |
ts.triggerList, ts.fakeTriggers, ts.fakeTriggerStrikeMax, ts.fakeTriggerServerTraps | Hile menülerinin çağırdığı honeypot event adları. ts.fakeTriggers açıkken server türündeki girdiler sunucu tuzağı olur. | Gerçek framework event'lerini asla eklemeyin. fakeTriggerStrikeMax 1, fakeTriggerServerTraps kapalı. |
ts.whitelistedCoords, ts.TaskList | İstemci koordinat whitelist'i ve kara listedeki ped görevleri. | İkisi de hazır gelişte boştur. |
Hiçbir şey yapmayan anahtarlar ve dosyada olmayan anahtarlar#
configs/anticheat_config.lua içindeki bazı anahtarlar 9.6.15'teki kod tarafından okunmaz. Bunları değiştirmenin hiçbir etkisi yoktur.
Kod, dosyada bulunmayan anahtarları da okur. Gerekirse bunları kendiniz ekleyin: ts.v12.joinFloodWindowSec (60), ts.v12.joinFloodMaxJoins (6), ts.v12.bannedCountries (ülke kodları; coğrafi engel listesi), ts.v6Enforcement.heuristic (sezgisel türlerin listesinin yerine geçer), ts.LiveWatch.fps (30), ts.SafeEventMaxArgs (64) ve ts.DetectionExempt sunucu event'lerinde always = true.
Şu istemci anahtarları okunur ama dosyada yoktur ve false yapılmadıkça açıktır: ts.antiScreenshotBypass, ts.antiRateOfFire ve ts.antiNetOwnership. ts.microJitterMeanMin (0.5) de okunur ama dosyada yoktur.
- ts.NetworkJoin.minimalSync
- ts.AdminMenu.espMaxDistance ve ts.AdminMenu.screenshotTimeout (ESP espMaxDist kullanır)
- ts.AdminMenu.permissionLevel (eski bir etiket; erişim ACE'lerden, listelerden ve izinlerden gelir)
- ts.ResourceGuard.strictClientDiff
- ts.LiveWatch.enabled, preferTosunRender ve maxConcurrent
- ts.PhoneNotify.enabled, onBan ve onDetect
Config dosyasındaki güncel olmayan yorumlar#
configs/anticheat_config.lua içindeki birkaç yorum eski davranışı anlatır. Kod şu şekilde çalışır.
- Yorum panel ayarlarının her 30 sn'de yeniden senkronlandığını söyler. Aralık ts.ServerPerf.configSyncIntervalSec'tir (hazır 120 sn).
- Yorum tosunac_setup'ın event'leri whitelist'e aldığını söyler. Yalnızca kataloglar; korumaya ts.EventScanner.autoProtect karar verir.
- ts.ProtectedEvents yorumu framework event'lerinin hatalı banlara yol açtığı konusunda uyarır. Anahtarsız çağrılar reddedilir ve loglanır, asla cezalandırılmaz.
- ts.EventLimiter yorumu sınır aşıldığında tetiklendiğini söyler. Sayı değere ulaştığında tetiklenir.
- Bridge yorumu dört bridge convar'ının hepsi için setr önerir. Yalnızca tosun_ac_resource ve tosun_ac_bridge_client_ms setr gerektirir.
- ts.Locale yorumu ar'ı atlar, ama locales/ar.json pakette gelir.
AC'nin kontrol ettiği FiveM sıkılaştırma convar'ları#
İki modül başlangıçta FiveM convar'larını okur. Convar koruması (ts.hardening) başlangıçtan yaklaşık 8 sn sonra çalışır ve ayarlanmamış bir değeri zayıf sayar. server.cfg denetimi (ts.cfgAudit) başlangıçtan 15 sn sonra çalışır ve salt okunurdur.
| Convar | Önerilen | Kontrol eden | autoApply uygular mı |
|---|---|---|---|
sv_stateBagStrictMode | true | Convar koruması | Evet |
sv_filterRequestControl | 2 | Convar koruması | Evet |
sv_enableNetworkedSounds | false | Convar koruması | Evet |
sv_enableNetworkedPhoneExplosions | false | Convar koruması | Evet |
sv_enableNetworkedScriptEntityStates | false | Convar koruması | Evet |
sv_scriptHookAllowed | false | Convar koruması; denetim de true olduğunda uyarır | Evet |
sv_entityLockdown | relaxed (strict also passes) | Convar koruması, yalnızca rapor | Hayır. İstemciden araç spawn eden scriptleri bozabilir; önce test edin. |
sv_pureLevel | 1 or higher | Convar koruması, yalnızca rapor | Hayır |
onesync | on (legacy also passes) | Denetim; ayrıca bir manifest bağımlılığı | Hayır |
sv_lan | false | Denetim true olduğunda uyarır | Hayır |
sv_authMinTrust | 4 or higher (unset reads as 5) | Denetim | Hayır |
sv_enforceGameBuild | any build number | Denetim boş olduğunda uyarır | Hayır |
Sıkılaştırma anahtarları ve çıktısı#
İki kontrol de varsayılan olarak yalnızca rapor verir. Bunları configs/anticheat_config.lua içinde değiştirin.
- ts.hardening.enabled = false convar korumasını atlar.
- ts.hardening.autoApply = true (hazır false), AC'nin altı güvenli convar için set'i kendisinin çalıştırmasını sağlar. sv_entityLockdown ve sv_pureLevel asla otomatik uygulanmaz.
- ts.cfgAudit.enabled = false server.cfg denetimini kapatır.
- Convar koruması bir konsol uyarısı yazar ve tüm zayıf convar'ları listeleyen bir ac_detections satırı (detection_type hardening_missing) ekler.
- Denetim bir konsol uyarısı yazar ve zayıf ayar sayısını içeren bir admin_logs satırı ekler.
- İki kontrolün konsol metni de koda gömülü Türkçedir. Her koruma uyarı satırı eklenecek tam set satırını gösterir.
- tosunac_doctor, FiveM convar'ları hakkında değil, riskli AC ayarları hakkında ayrı bir konsol raporudur.
Sık yapılan hatalar#
Destek talebi açmadan önce bunları kontrol edin.
- setr veya sets ile ayarlanan kimlik bilgileri: her istemciye veya herkese açık sunucu bilgisine ulaşırlar.
- ensure tosun-ac'den sonra yazılan kimlik bilgileri: bir sonraki resource yeniden başlatmasına kadar okunmazlar.
- configs/anticheat_config.lua içinde panel anahtarı: dosya istemcilere gönderilir ve konsol bir MIGRATION uyarısı yazar.
- tosun_render başlatılmamış: zorunlu bir bağımlılıktır.
- ESX veya Qbox sunucusunda ts.Framework.framework'ün "qb" olarak bırakılması.
- Türkçe kullanmayan bir sunucuda ts.Locale'in "tr" olarak bırakılması.
- ts.appealDiscord'un geliştiricinin Discord bağlantısında bırakılması.
- ts.punishType'ın LOG veya KICK yapılması: elle verilen banlar da log veya kick'e dönüşür.
- add_ace builtin.everyone command allow: her oyuncu VPN ve ülke kontrollerini atlar.
- tosun.admin'in tosunac_setup'ı açmasını beklemek: bunun için tosunac.admin ve command.tosunac_setup gerekir.
- txAdmin yetkililerinin AC menüsünü açabilmesini beklemek: txAdmin ACE'leri yalnızca yetkili durumu verir. tosun.admin veya bir panel izni ekleyin.
- tosun_db_bridge_manual "1" olmadan set tosun_db_bridge_enabled "0": satır yok sayılır.
- ts.Debug'ın true bırakılması: yetkili ve whitelist istisnaları kapalıdır.