Kurulum

Anti-Cheat kurulumu — adım adım

Bu rehber sıfırdan çalışır duruma gelmenizi sağlar. Her adımın neden gerektiğini de açıklar; bir şey ters giderse nerede arayacağınızı bilirsiniz.

Başlamadan önce — gereksinimler

GereksinimNeden gerekli
FiveM artifact 6121+Anti-cheat'in kullandığı sunucu-taraflı ağ olayları (giveWeaponEvent, explosionEvent) bu sürümden itibaren güvenilir çalışır.
OneSync açıkset onesync on. Entity sahipliği ve sunucu-otoriter tespitler OneSync olmadan çalışmaz.
oxmysqlTek zorunlu bağımlılık. Banlar, tespitler ve ayarlar buradan okunup yazılır.
MySQL / MariaDB 10.4+Veritabanınız yoksa MySQL kurulum rehberine bakın.
screenshot-basic (opsiyonel)Ban anında kanıt ekran görüntüsü almak için.

1. Paketi indirin

Aboneliğiniz aktif olduktan sonra panelden indirin: Panel → Sunucular → sunucunuz → "Anti-Cheat İndir"

Ya da lisans anahtarınızla doğrudan:

curl -H "X-License-Key: LISANS_ANAHTARINIZ" \
     -o tosun-ac.zip \
     https://admin.tosundev.com/api/ac_package_download.php
Her indirme size özeldir. Paket, lisansınıza bağlı benzersiz bir Build ID taşır ve içindeki server/core/anticheat_000_license.lua dosyasında kayıtlıdır. Paketiniz başka bir yerde çıkarsa kaynağı kanıtlanabilir. Lisans anahtarınızı ve paketinizi paylaşmayın.

2. Klasöre çıkarın

resources/
└── [tosun]/
    ├── tosun-ac/
    └── tosun-ac-guardian/

İki klasör de aynı seviyede olmalı. Guardian ayrı bir resource'tur — birazdan neden önemli olduğunu göreceksiniz.

3. Veritabanı şemasını yükleyin

Yalnızca ilk kurulumda:

mysql -u KULLANICI -p VERITABANI < tosun-ac/sql/ts_anticheat.sql

Alternatif olarak configs/anticheat_config.lua içinde ts.autoSQL = true yapıp sunucuyu bir kez başlatın, sonra tekrar false çevirin.

ℹ️ Sürüm yükseltmelerinde şema farkları otomatik uygulanır (ADD COLUMN IF NOT EXISTS) — elle bir şey yapmanız gerekmez.

4. server.cfg — sıralama önemli

ensure oxmysql
ensure tosun-ac
ensure tosun-ac-guardian
Guardian neden şart? Hilelerin en yaygın kaçış yöntemi anti-cheat'i durdurmaktı: stop tosun-ac çalıştırıp ban yemeden oynamak. Sorun şu ki tosun-ac durunca kendi koruma thread'leri de ölür — kendini geri getiremez.

tosun-ac-guardian ayrı bir resource olduğu için ayakta kalır: yetkisiz bir durdurma olduğunda anti-cheat'i 1 saniye içinde geri başlatır, durdurmayı yapan kaynağı da durdurur. İkisi karşılıklı birbirini korur — aynı anda ikisini birden kapatmak mümkün değildir.

Guardian mutlaka tosun-ac'tan sonra gelmelidir.

5. Paneli bağlayın

configs/anticheat_config.lua içinde:

ts.webPanelURL = "https://admin.tosundev.com"
ts.webPanelKey = "API_ANAHTARINIZ"

API anahtarını Panel → Sunucular → sunucunuz → API anahtarı bölümünden alırsınız.

İkisini de boş bırakabilirsiniz — anti-cheat açılışta bunları veritabanındaki panel_settings tablosundan otomatik çeker. Panelden kurulum yaptıysanız zaten oradadır.

6. Başlatın ve doğrulayın

Sunucuyu yeniden başlatın. Konsolda şunları görmelisiniz:

[Tosun AC v9.0] NetEventGuard aktif
[AC-Guardian] Aktif — tosun-ac harici gözetmen koruması altında.

Ardından oyun içinde:

/ts status     → modül durumu
/ts test       → kendi kendine test

Panel → AC → Canlı ekranında sunucunuz 30 saniye içinde çevrimiçi görünmelidir.

7. Platform sertleştirmesi — en değerli adım

Bu ayarlar hilelerin büyük bir kısmını FiveM'in yönlendirme katmanında engeller. Hiçbir istemci hilesi bunları atlayamaz, çünkü sunucu paketi zaten iletmez. Anti-cheat'e ek yük getirmez ve bypass edilemez.
# İstemci networked entity (araç/ped/obje) yaratamaz
set sv_entityLockdown "relaxed"

# Statebag'e yalnızca sunucu yazabilir
set sv_stateBagStrictMode "true"

# Entity kontrol hijack'i (araç fırlatma, oyuncu savurma)
set sv_filterRequestControl "2"

# İstismara açık ağ olayları
set sv_enableNetworkedSounds "false"
set sv_enableNetworkedPhoneExplosions "false"
set sv_enableNetworkedScriptEntityStates "false"

# ScriptHookV istemcileri
set sv_scriptHookAllowed "false"

# Değiştirilmiş istemci dosyaları (silent-aim için kullanılır)
set sv_pureLevel "1"

Anti-cheat açılışta bunları denetler ve eksik olanları konsolda uyarı olarak listeler. Güvenli olanları otomatik uygulatmak isterseniz:

ts.hardening.autoApply = true
sv_entityLockdown strict, istemciden araç spawn eden eski script'leri (bazı galeri sistemleri) bozabilir. relaxed ile başlayın, test edin, sonra sıkılaştırın. Bu ayar asla otomatik uygulanmaz.

8. Admin yetkisi verin

Dört yoldan biri yeterlidir, ilk eşleşen kazanır:

# 1) server.cfg — ACE
add_ace group.admin tosun.admin allow
add_principal identifier.license:LISANSINIZ group.admin

# 2) txAdmin — otomatik tanınır (ts.txAdminAuth = true)

# 3) admins/anticheat_admins.lua
Admins = { "license:xxxxxxxxxxxxxxxxxxxxxxxx" }

# 4) Panel → AC → Admin Yetkileri

Menüyü açmak: /tsmenu, /ts menu veya F7.

v9.0 güvenlik değişikliği: Menü yetkilendirmesi artık istemcinin ürettiği rastgele bir nonce ile sunucuya gidip dönen bir doğrulama kullanır. Önceki sürümlerde bir hile, olayları yerel olarak tetikleyerek kendini admin gösterebiliyor ve hem menüyü açıp hem tüm banlardan muaf kalabiliyordu. Bu açık kapatılmıştır.

Kurulum kontrol listesi

  • ☐ Konsolda NetEventGuard aktif yazıyor
  • ☐ Konsolda [AC-Guardian] Aktif yazıyor
  • ☐ Kırmızı GUVENLIK UYARISI bloğu yok (ya da listelenen convar'ları bilinçli atladınız)
  • ☐ Panelde sunucu çevrimiçi görünüyor
  • /tsmenu admin için açılıyor
  • /tsmenu normal oyuncuda hiçbir şey yapmıyor

Sık karşılaşılan sorunlar

BelirtiSebep ve çözüm
Anticheat failed to load ile atılmaİstemciden hiç heartbeat gelmemiş. Genelde yavaş indirme — ts.HeartBeat.firstHeartbeatDeadline değerini artırın. Herkeste oluyorsa oxmysql'in tosun-ac'tan önce başladığını doğrulayın.
Admin ban yiyor/ts whoami ile adminin tanındığını kontrol edin. admins.lua'daki identifier birebir eşleşmeli (license: öneki dahil). Panel yetkilerinin yayılması 20 saniye sürebilir.
Menüyü normal oyuncular açıyorv8.x kullanıyorsunuz. v9.0'a yükseltin — bu bilinen bir açıktı.
Menüdeki butonlar çalışmıyorNUI, SweetAlert2'yi CDN'den yükleyememiş. v9.0 otomatik yedeğe düşer; NUI konsolunu kontrol edin (F8 → nui_devtools).
Hiç ban atılmıyorts.punishType ve ts.DetectionPunishments kontrol edin — LOG'a eşlenmiş tespit asla banlamaz. ts.Debug = false olmalı.
Ambient NPC'ler doğuyorts.NpcBlocker.enabled = true ve blockPeds = true yapın. Script ile eklenen ped'ler bilinçli olarak asla silinmez.

Güncelleme

  1. Panelden yeni paketi indirin (aynı adres — daima lisansınız için üretilmiş en güncel sürümü verir)
  2. configs/, admins/ ve editable/ klasörlerinizi yedekleyin
  3. Kaynak klasörünü değiştirin
  4. Config dosyalarınızı geri koyun — bu dosyalar tam da düzenlemeye devam edebilesiniz diye asla karartılmaz
  5. Yeniden başlatın

Destek isterken Build ID'nizi belirtin (server/core/anticheat_000_license.lua içinde) — hangi yapıyı kullandığınızı tam olarak gösterir.

Ana sayfa Tosun Dev Docs