Giriş

FeloxAC, FiveM için modüler bir anti-cheat sistemidir. Client tarafı tespit modüllerini, server tarafı yetki katmanını ve bir web panelini birleştirerek sunucunu hile, injector ve ele geçirilmiş resource'lara karşı korur.

Bu dokümantasyon, FeloxAC'ı çalıştırmak ve kendi resource'larınla entegre etmek için ihtiyacın olan her şeyi kapsar:

FeloxAC neleri engeller

KategoriÖrnekler
HareketNo-clip, teleport, hız hilesi, super jump, freecam, spectate
ÇatışmaAimbot, silent aim, no-recoil, no-reload, hasar çarpanı, hitbox değiştirme, patlayıcı/sahte mermi, kill-rate spam
SilahlarYetkisiz silah verme, silah spawner, mermi hilesi, kara listedeki silahlar
Entity'lerAraç/ped/obje spawn taşkını, entity silme, araç attach/fırlatma, handling & hız değiştirme, request-control ele geçirme
PatlamalarPatlama taşkını, sessiz/görünmez patlamalar, kötü amaçlı partiküller
InjectionResource injection, backdoor, event sahteciliği (client & server), Lua menüler, dev araçları
BütünlükResource durdurma koruması, çalışma zamanı kurcalama tespiti, heartbeat/watchdog

Nasıl çalışır

  1. Client tespit modülleri her oyuncuda hile davranışını izler ve sunucuya bildirir.
  2. Server katmanı yetkilidir — tespitleri doğrular, yapılandırılmış cezayı (ban / kick / log) uygular ve kanıtı (ekran görüntüsü ve oyun klipleri) Discord webhook'larına kaydeder.
  3. Panel, yapılandırmanın tek doğru kaynağıdır. Ayarlar çalışan sunucuna otomatik senkronize edilir ve fac reload ile anlık yenilenebilir.

Gereksinimler

GereksinimDeğer
FiveM artifact (server build)14317 veya üzeri
OneSyncAçık (zorunlu)
fx_versioncerulean
Lualua54 'yes'
LisansAktif bir FeloxAC lisansı (sunucu IP'sine bağlı)

Oyun içi menü ve tüm konsol komutları varsayılan olarak fac önekini kullanır (örneğin fac install, fac reload veya /fac menüsü). Bu önek yapılandırılabilir — bkz. Yapılandırma.

Kurulum

FeloxAC kurulumu beş adımdır: lisans al, resource'u ekle, license.txt dosyanı ayarla, server.cfg'yi güncelle ve koruma kurulumunu çalıştır.

Ön koşullar

GereksinimDeğer
Server build (artifact)14317 veya üzeri
OneSyncAçık
fx_versioncerulean
Lualua54 'yes'
LisansSunucu IP'n için aktif FeloxAC lisansı

Adım 1 — Lisansını al

  1. feloxac.com üzerinden bir lisans satın al.
  2. Paneline gir ve Redeem Key (Anahtar Kullan) bölümüne git.
  3. Create a new server (Yeni sunucu oluştur) seç; lisans anahtarını yapıştır, public sunucu IP'ni gir (sadece bir kez girilir), bir sunucu adı yaz ve Add Server'a tıkla.

Mevcut bir lisansı uzatmak için Extend an existing license'ı kullan, uzatma anahtarını yapıştır ve listeden sunucuyu seç — IP gerekmez.

Adım 2 — Resource'u ekle

  1. FeloxAC resource'unu panelindeki Download sayfasından indir.
  2. Sunucunun resources/ klasörüne çıkar.
  3. Klasör adının FeloxAC olduğundan emin ol.

Resource adı mutlaka FeloxAC olmalı — server.cfg satırları ve tüm export'lar (exports['FeloxAC']) buna bağlıdır.

Adım 3 — license.txt'yi ayarla

  1. FeloxAC klasöründeki license.txt'yi aç ve içindeki her şeyi sil.
  2. Panelde Documentation → Replace license.txt'ye git.
  3. Sunucunu seç, Copy license.txt Content'e tıkla ve içeriği license.txt'ye yapıştır.
  4. Dosyayı kaydet.

Bu dosya API token'ını içerir. FeloxAC başlangıçta bunu okur ve sunucu IP'n için feloxac.com üzerinden doğrular.

Adım 4 — server.cfg'yi ayarla

server.cfg dosyanın üst kısmına OneSync'i ekle:

set onesync on
set onesync_population false

Bunları diğer permission satırlarının arasına ekle:

add_unsafe_child_process_permission "FeloxAC"
add_ace resource.FeloxAC command allow

Ensure satırını, diğer tüm resource'lardan önce, ensure listenin en üstüne ekle:

ensure FeloxAC

Yükleme sırası önemli. FeloxAC ilk başlamalı ki koruma guard'larını diğer resource'lara enjekte edebilsin.

Adım 5 — Koruma kurulumunu çalıştır

Resource'u kopyalamak yeterli değil — FeloxAC'ın diğer scriptlerini koruması için kurulumu bir kez çalıştırmalısın.

  1. Sunucunu başlat.
  2. Live Console'u (txAdmin veya sunucu konsolu) aç ve şunu çalıştır:
    fac install smart
  3. Kurulumun bitmesini bekle.
  4. Sunucunu yeniden başlat. FeloxAC artık aktif.

fac install smart ne yapar

Her resource'u tarar ve FeloxAC korumasını yalnızca network event kullanan scriptlere kurar. Network event'i olmayan resource'lar (araçlar, ped'ler, haritalar, kütüphaneler) otomatik atlanır; böylece kurulum hızlı ve temiz kalır.

Diğer kurulum modları

KomutAçıklama
fac install smartÖnerilen. Yalnızca network event kullanan resource'ları korur.
fac install / fac install allTüm resource'ları korur.
fac install optimizeYalnızca entity-spawn ve envanter guard'larını korur (çok yüklü sunucular için).

Kurulumu doğrula

  • status çalıştır (veya txAdmin'e bak) — FeloxAC resource listesinde görünmeli.
  • Sunucu konsolu FeloxAC'ın başlangıç ve lisans doğrulama sonucunu yazar.
  • Bağlanan oyuncular loglanır (giriş/çıkış), bağlantı loglaması açıksa.

Sorun giderme

Lisans geçersiz / oyuncular atılıyor

  • license.txt'nin panelindeki token ile birebir aynı olduğunu doğrula.
  • Sunucunun public IP'sinin lisansa kayıtlı IP ile eşleştiğini doğrula.
  • Sunucunun https://feloxac.com'a erişebildiğinden emin ol (firewall / hosts dosyasını kontrol et). FeloxAC fail-closed'dur — lisansı doğrulayamazsa tasarım gereği durur ve oyuncuları atar.

fac komutu bulunamıyor

  • FeloxAC resource'unun çalıştığını doğrula (status).
  • Komut öneki fac'tir, feloxac değil. Config'de CommandPrefix'i değiştirdiysen kendi önekini kullan.

Kurulumdan sonra tespitler çalışmıyor

  • ensure FeloxAC'ın ensure satırlarının en üstünde olduğunu doğrula.
  • OneSync'in açık olduğunu doğrula (set onesync on).
  • Sunucu build'inin 14317+ olduğunu doğrula.
  • fac install smart'ı tekrar çalıştır ve yeniden başlat.

Yapılandırma

FeloxAC, panel üzerinden yapılandırılır. Her şey panelden yapılır — toggle'lar, dropdown'lar ve liste ("chip") girişleri — yani ham config dosyalarını elle düzenlemezsin.

Değişiklikler çalışan sunucuna otomatik senkronize edilir. Anında uygulamak için:

fac reload

Sunucun, son senkronize edilen yapılandırmayı yedek olarak bellekte tutar. feloxac.com başlangıçta erişilemezse FeloxAC tekrar dener ve yine de doğrulayamazsa tasarım gereği durur (fail-closed).

Panel nasıl çalışır

  • Toggle'lar bir tespiti açar veya kapatır.
  • Dropdown'lar bir tespitin eylemini seçer (Ban / Kick / Log).
  • Listeler (chip) birden çok değer tutar — Safe Events, Safe Scripts ve white/black listeler gibi. Bir öğe eklemek için "New item, press enter to add…" kutusuna yaz ve Enter'a bas. Kaldırmak için chip'in üzerindeki 'e tıkla.

Bölümlere genel bakış

BölümAmaç
SettingsSunucu geneli seçenekler: banlar, webhook'lar, loglama, komut öneki ve script izin listeleri.
MainHareket & genel client hileleri (no-clip, teleport, hız, godmode, injection, event sahteciliği).
WeaponsÇatışma & silah tespitleri (aimbot, hasar, mermi, kara listeler).
EntitiesAraç / ped / obje spawn ve manipülasyonu.
ExplosionsPatlama & partikül tespitleri.
PunishmentsTespit başına eylem: Ban, Kick veya Log.

Ceza modları (Ban / Kick / Log)

ModDavranış
BanOyuncuyu kalıcı banlar (panelden ban kaldırılana kadar).
KickOyuncunun bağlantısını keser; tekrar girebilir.
LogCeza yok. Tespiti yalnızca video / ekran görüntüsü kanıtıyla kaydeder.

Log modu senin ayar aracın. Bir tespiti test ederken Log'a al — yine tam kanıt ve telemetri alırsın ama kimse cezalandırılmaz. Doğru çalıştığını onayladıktan sonra Kick veya Ban'a geçir.

Safe Events — event kaynaklı hatalı banları durdur

Yeri: Settings → Safe Events listesi.

Bazı meşru scriptler bir network event üzerinden silah verir veya oyuncuyu ışınlar. O event bir tespiti tetiklerse dürüst oyuncular hatalı banlanır. Sorunlu event adını Safe Events'e ekle; FeloxAC o event için silah-verme / teleport tespitini atlar.

Nasıl eklenir: event adını Safe Events kutusuna yaz ve Enter'a bas — örneğin job:teleportToWork veya police:warpToStation. Listede chip olarak görünür.

Event adını nasıl bulursun:

  • Tespit logu / Discord kanıtına bak — tetikleyen event, ban detaylarında yer alır.
  • Ya da scriptin kaynağında, ışınlarken veya silah verirken tetiklediği TriggerServerEvent / TriggerClientEvent adına bak.

Yalnızca güvendiğin event'leri ekle. Safe Events, o event için tespiti kapatır; yani onu tetikleyebilen her oyuncu o kontrolü atlar.

Safe Scripts — bir resource'un tamamına güven

Yeri: Settings → Safe Scripts listesi.

Safe Events tek bir event'i izin verirken, Safe Scripts bir resource'un tamamına güvenir. Bir resource meşru şekilde oyuncu ışınlıyor veya silah veriyorsa ve her event'i tek tek eklemek istemiyorsan buraya ekle — örneğin meslek sistemleri, kiralama sistemleri, admin menüleri veya silah dükkanları.

Nasıl eklenir: resource adını Safe Scripts kutusuna yaz ve Enter'a bas (örneğin my-rental-system). Eşleşme büyük/küçük harf duyarsızdır.

Pakette gelen fac-weapons yardımcısı, ancak fac-weapons'ı Safe Scripts listene ekledikten sonra çalışır.

Kara listedeki silahlar her zaman reddedilir, Safe Script için bile. Safe Scripts, silah-verme / teleport kontrollerini gevşetir ama silah kara listesini asla geçersiz kılmaz.

Ignored Scripts — bir resource'u tamamen hariç tut

Yeri: Settings → Ignored Scripts listesi.

Ignored Scripts, bir resource için tüm FeloxAC kontrollerini kapatır — silahlar, entity'ler, event'ler, her şey. Yalnızca tamamen güvendiğin ama anti-cheat ile uyumsuz olan bir resource için kullan.

Dikkatli kullan. Yok sayılan bir resource kör noktadır: bir hileci onun içinde kod çalıştırabilirse FeloxAC bunu göremez. Mümkün olduğunca Safe Events veya Safe Scripts tercih et.

Hangisini kullanmalıyım?

DurumKullan
Bir scriptin tek bir event'i hatalı bana neden oluyorSafe Events
Bir resource'un tamamı meşru şekilde ışınlıyor / silah veriyorSafe Scripts
Bir resource uyumsuz ve tamamen hariç tutulmalıIgnored Scripts

White list & black list'ler

Entity'ler ve silahlar aynı chip girişlerini kullanır. Bir model adı veya hash (ya da silah adı) yaz ve Enter'a bas.

ListeNe işe yarar
White Listed PedsHer zaman izin verilen ped modelleri (tekrarlayan ped hatalı banlarını durdurur).
White Listed ObjectsHer zaman izin verilen obje modelleri.
White Listed VehiclesHer zaman izin verilen araç modelleri.
Weapons Black ListOyuncuların asla sahip olamayacağı silahlar (örn. weapon_rpg, weapon_minigun).

Hep aynı ped, obje veya araçtan hatalı ban mı geliyor? O modeli whiteliste eklemek çözümdür — bkz. Hatalı Banlar.

Önemli tespit toggle'ları

Main

ToggleVarsayılanAmaç
Anti No-ClipAçıkNo-clip tespiti.
Anti TeleportKapalıTeleport tespiti (konum sıçraması).
Teleport Max Distance200Teleport sayılan mesafe (metre).
Anti Speed HackAçıkHız hilesi tespiti.
Anti Super JumpAçıkSuper jump tespiti.
Anti Resource InjectionAçıkKötü amaçlı resource injection tespiti.
Anti Resource StopAçıkFeloxAC resource'unun durdurulmasını engeller.
Anti Trigger Server/Client EventAçıkSahte event'leri engeller.
Client Revive EventÖzel revive event adın (revive hatalı banlarını önler).

Weapons

ToggleVarsayılanAmaç
Anti Aim Bot / Silent AimAçıkAimbot & silent aim tespiti.
Anti Weapon Damages ModifierAçıkHasar çarpanı tespiti.
Max Damage Multiplier2İzin verilen maksimum hasar çarpanı.
Anti Give WeaponsAçıkYetkisiz silah verme tespiti.
Weapons Black ListKapalı / listeOyuncuların asla sahip olamayacağı silahlar.

Entities

ToggleVarsayılanAmaç
Anti Spawn Isolated VehiclesAçıkSahipsiz spawn edilen araç tespiti.
Same Owner Vehicle Spawn Limit3Bir oyuncunun sahip olabileceği max araç.
Vehicles Limit In 5 Seconds7Araç spawn hız limiti.
Anti Request ControlAçıkEntity kontrol ele geçirme tespiti.
Anti Attach VehiclesAçıkYasadışı araç attach tespiti.

Meşru şekilde ışınlayan veya silah veren scriptler için, bir tespiti tamamen kapatmak yerine Safe Events / Safe Scripts tercih et. Bir tespiti kapatmak, o korumayı tüm oyuncular için kaldırır.

Hatalı Banlar

Neredeyse her hatalı ban bir obje, araç veya ped'den gelir. Büyük çoğunlukla yanlış olan tespit değildir — şu iki şeyden biridir:

  1. Anti-cheat tam kurulmamıştır (koruma kurulumu hiç çalıştırılmamıştır), ya da
  2. Sunucu temelleri doğru ayarlanmamıştır (OneSync / lisans), ya da
  3. Meşru bir resource aynı entity'yi sürekli spawn ediyordur ve sadece whiteliste alınması gerekir.

Yukarıdan aşağıya ilerle: önce kurulumu düzelt, ancak aynı ped / obje / araç sürekli banı tetikliyorsa o modeli whiteliste al.

Adım 1 — Önce kurulumunu kontrol et

Hatalı banların çoğu, temeller doğru olduğu anda kaybolur:

  • OneSync AÇIKset onesync on
  • OneSync population KAPALIset onesync_population false (en çok unutulan komut budur)
  • Ücretli bir FiveM (Keymaster) hesabın var — ücretsiz / lisanssız kurulumlar tespit sorunlarına yol açar
  • Kurulumu çalıştırdınfac install smart, ardından sunucuyu yeniden başlattın

Bunlardan biri eksikse, whiteliste bir şey eklemeden önce düzelt ve tekrar test et.

Ped kaynaklı hatalı banlar

Oyuncular bir ped'den hatalı banlanıyorsa, neredeyse her zaman şunlardan biridir:

  • OneSync açık değildir
  • Ücretli FiveM Keymaster hesabı yoktur
  • onesync_population, false yapılmamıştır (unutulan komut)
  • fac install smart çalıştırılmamıştır

Önce bunları düzelt. Ban hep aynı ped'den geliyorsa, o ped meşrudur — modelini White Listed Peds listesine ekle.

Obje kaynaklı hatalı banlar

  • Anti-cheat genel olarak objelerden banlıyorsa, büyük ihtimalle fac install smart çalıştırılmamıştır, yani koruma hiç kurulmamıştır. Çalıştır ve yeniden başlat.
  • Ban hep aynı objeden geliyorsa, o obje meşrudur — White Listed Objects listesine ekle.

Araç kaynaklı hatalı banlar

  • fac install smart'ın çalıştırıldığından ve sunucunun yeniden başlatıldığından emin ol.
  • Belirli, meşru bir araç sürekli işaretleniyorsa White Listed Vehicles listesine ekle.

Bir model nasıl whiteliste alınır

Whiteliste alma, panelden chip girişleriyle yapılır:

  • White Listed Peds — ped'ler için
  • White Listed Objects — objeler için
  • White Listed Vehicles — araçlar için

Modeli (ad veya hash) "New item, press enter to add…" kutusuna yaz ve Enter'a bas. Ardından uygulamak için fac reload çalıştır (veya yeniden başlat).

Bir modeli yalnızca meşru olduğundan emin olduğunda whiteliste al. Whiteliste alınan model artık kontrol edilmez; bir hilecinin kötüye kullanabileceği bir şeyi whiteliste alma — mümkünse bunun yerine kurulumu düzelt.

Entity değil de script kaynaklıysa

Hatalı ban, oyuncu ışınlayan veya silah veren bir resource'tan kaynaklanıyorsa (spawn edilen bir entity'den değil), bunun yerine Safe Events veya Safe Scripts kullan — bkz. Yapılandırma.

Geliştirici API (Exports)

FeloxAC, kendi resource'larının oyuncu banlayıp/atmasını, oyuncu durumunu okumasını ve bir eylemin meşru olduğunu (admin teleport, heal, silah verme vb.) anti-cheat'e bildirmesini sağlayan export'lar sunar.

Tüm export'lar FeloxAC resource'u üzerinden çağrılır:

exports['FeloxAC']:exportName(args)

Server export'larını server scriptlerinden, client export'larını client scriptlerinden çağır. Ban export'u için özel Ban Export bölümüne bak.

Server export'ları

Moderasyon

ExportİmzaAçıklama
banPlayer(source, reason, details?, duration?)Oyuncu banla. duration saniye cinsinden, -1 = kalıcı.
kickPlayer(source, reason, details?, duration?)Oyuncu at.
unbanPlayer(banId, reason, from)Ban ID'sine göre tek ban kaldır.
unbanAllPlayers(from)Herkesin banını kaldır.
getBanInfo(banId)found, banDataID'ye göre ban sorgula.
screenshot(source, webhook)Oyuncunun ekran görüntüsünü al ve Discord webhook'una yükle.
captureLastSeconds(source, webhook)Oyuncunun son ~10 sn'sini webhook'a yükle.
-- Oyuncuyu 1 saat banla (3600 saniye)
exports['FeloxAC']:banPlayer(source, 'Aimbot', { by = 'Admin' }, 3600)

-- ID ile ban kaldır
exports['FeloxAC']:unbanPlayer('BAN-ID-BURAYA', 'Itiraz kabul edildi', 'HeadAdmin')

Oyuncu durumu

ExportİmzaAçıklama
getPlayerIdentifiers(netId)tableTüm identifier'lar (license, discord, ip…). BanIpAddress'e uyar.
getPlayerTokens(netId)tableOyuncunun donanım/oturum token'ları.
getThreatScore(playerId)number|nilOyuncunun kümülatif tehdit puanı.
getPlayTime(playerId)number|nilOyuncunun bu oturumdaki oynama süresi.
hasBypass(playerId)booleanOyuncunun anti-cheat bypass yetkisi var mı.

Yapılandırma

ExportİmzaAçıklama
ReloadConfiguration()booleanYeniden başlatmadan config'i yenile (fac reload ile aynı).

Meşru-eylem işaretleyicileri (server)

Bunlar, scriptinin yaptığı bir eylemin kasıtlı olduğunu FeloxAC'e bildirir; böylece tespit tetiklenmez. Güvenlik bypass'ı değildir — izni belirli bir eyleme kapsar.

ExportİmzaAçıklama
markExternalTeleport(sourceId, fallbackSource?)Bu oyuncunun yaklaşan teleport'unu meşru işaretle.
markExternalHeal(sourceId, fallbackSource?)Bu oyuncunun heal'ini meşru işaretle.
registerLegalPedModel(playerId, model)Bu oyuncu için ped-model değişimine izin ver.
registerLegalSpeedModifier(playerId)Bu oyuncu için hareket-hızı değişimine izin ver.
registerLegalWeapon(playerId, weaponHash)Bir silahı meşru sahiplik olarak işaretle (envanter entegrasyonu).
unregisterLegalWeapon / clearLegalWeapons(playerId, weaponHash?)Bir / tüm legal-silah kaydını kaldır.
registerLegalSuperJump(playerId, durationMs)Bir süre boyunca super jump'a izin ver (ms).
CreateEntity(modelHash)entityAnti-cheat tarafından önceden onaylı server entity oluştur.
MarkServerEntity(entity, modelHash)Mevcut bir server entity'yi meşru işaretle.
-- Admin, oyuncuyu hatalı ban olmadan ışınlar
exports['FeloxAC']:markExternalTeleport(target)
SetEntityCoords(GetPlayerPed(target), x, y, z)

Client export'ları

Meşru-eylem işaretleyicileri (client)

ExportAçıklama
markExternalTeleport() / hasTeleported()Sıradaki yerel teleport'u meşru işaretle.
markExternalHeal() / healthRefilled()Bir heal / can dolumunu meşru işaretle.
playerRevived()Oyuncunun meşru şekilde revive edildiğini işaretle.
resettedStamina()Meşru bir stamina sıfırlaması işaretle.
hasAddedAmmo()Meşru bir mermi eklemesi işaretle.
hasChangedPedModel(model)Meşru bir ped-model değişimi işaretle.

Godmode / oyuncu durumu (client)

ExportAçıklama
proofsEnabled(toggle)Proof-of-life kontrollerini aç/kapat (meşru godmode scriptleri).
canBeDamaged(toggle) / isInvincible(toggle)Oyuncuyu meşru şekilde (hasar almaz) / ölümsüz işaretle.
isVisible(toggle) / canRagdoll(toggle)Görünürlüğü / ragdoll'u meşru işaretle.
setSpectatorMode(toggle)Meşru spectate'i aç/kapat.

Silahlar & hasar (client)

ExportAçıklama
giveWeapon(weaponHash, callsite)Anti-cheat-uyumlu yoldan silah ver.
removeWeapon(weaponHash) / removeAllWeapons()Bir / tüm silahları kaldır.
markToolScenario(scenarioName, callsite)Bir scenario/animasyonu whiteliste al (admin araçları).
setNewDamage / setDamageModifier / removeDamageModifierBaz hasar ayarla, çarpan uygula veya kaldır.

Entity, kamera & kanıt (client)

ExportAçıklama
CreateVehicle / CreatePed / CreateObject(modelHash)Anti-cheat onaylı entity oluştur.
ChangeVehiclePlate(vehicle, plateText)Anti-cheat-uyumlu yoldan plaka değiştir.
allowTexture(textureDict)Bir texture dictionary'yi whiteliste al.
createCam / destroyCam / destroyCamsKameraları whiteliste al (meşru freecam / admin araçları).
disableE2 / disableCamControls / disableAllControlsAdmin araçları için input'ları devre dışı bırak.
screenshot(webhook) / captureLastSeconds(webhook)Yerel oyuncunun ekranını / son ~10 sn'sini yakala.

Bir resource'un veya event'in tamamı meşruysa Safe Scripts / Safe Events listelerini tercih et. Bu işaretleyicileri kendi kodunda tek seferlik, eylem başına izinler için kullan.

Ban Export

banPlayer export'unu, herhangi bir server tarafı scriptten oyuncu banlamak için kullan — admin menün, özel bir tespit, bir rapor sistemi vb. Ban, FeloxAC'ın dahili olarak kullandığı pipeline üzerinden uygulanır; böylece ban listene kaydedilir, panele senkronize edilir ve Discord'a loglanır.

İmza

exports['FeloxAC']:banPlayer(source, reason, details, duration)
ParametreTürZorunluAçıklama
sourcenumberOyuncunun server ID'si.
reasonstringBan sebebi (loglarda ve ban kaydında görünür).
detailstableopsiyonelBan ile loglanan ek bağlam (örn. { by = 'Admin' }).
durationnumberopsiyonelBan süresi saniye cinsinden. -1 = kalıcı. Belirtilmezse config'deki BanDuration kullanılır.

Döner: cezanın uygulanıp uygulanmadığını belirten bir boolean.

duration saniye cinsindendir, milisaniye değil. Kalıcı ban için -1, geçici ban için pozitif saniye kullan. Panelindeki BanDuration ayarına geri düşmek için hiç verme.

Örnekler

Kalıcı ban

-- duration verilmezse config'deki BanDuration kullanılır (varsayılan: kalıcı)
exports['FeloxAC']:banPlayer(source, 'Hile')

-- Veya açıkça belirt
exports['FeloxAC']:banPlayer(source, 'Hile', nil, -1)

Geçici ban

-- 1 gün banla (86400 saniye)
exports['FeloxAC']:banPlayer(source, 'Toksik davranis', { by = 'Moderator' }, 86400)
SüreSaniye
1 saat3600
1 gün86400
1 hafta604800
30 gün2592000
Kalıcı-1

Zengin detaylı ban

exports['FeloxAC']:banPlayer(source, 'Para exploiti', {
    by       = 'AutoDetect',
    amount   = 500000,
    resource = GetCurrentResourceName(),
}, -1)

Admin komutundan ban

RegisterCommand('myban', function(src, args)
    local target = tonumber(args[1])
    local reason = table.concat(args, ' ', 2)
    if not target or reason == '' then
        return print('Kullanim: myban [id] [sebep]')
    end
    exports['FeloxAC']:banPlayer(target, reason, { by = GetPlayerName(src) }, -1)
end, true) -- kisitli komut

Başka bir resource'tan event ile ban

-- Diger resource'unda (server tarafi)
RegisterNetEvent('myac:ban', function(targetId, reason, seconds)
    exports['FeloxAC']:banPlayer(targetId, reason, { by = 'myac' }, seconds or -1)
end)

Ban'ı kimin tetikleyebileceğini her zaman doğrula. Admin/ban komutlarını kısıtlı (restricted) olarak kaydet ve ham bir client event'ine yetki kontrolü olmadan asla güvenme — aksi halde bir hileci senin ban handler'ını silah olarak kullanabilir.

İlgili export'lar

ExportAmaç
kickPlayer(source, reason, details?, duration?)Ban yerine kick.
unbanPlayer(banId, reason, from)Ban ID'sine göre banı geri al.
getBanInfo(banId)Bir ban kaydını sorgula.
unbanAllPlayers(from)Tüm banları temizle.

Kullanım Örnekleri

En yaygın entegrasyonlar için kopyala-yapıştır kalıplar. Tüm export'lar FeloxAC resource'u üzerinden çağrılır.

Hatalı ban olmadan admin teleport

Oyuncuyu taşımadan hemen önce teleport'u meşru olarak işaretle.

Server tarafı:

RegisterCommand('tp', function(src, args)
    local target = tonumber(args[1]) or src
    exports['FeloxAC']:markExternalTeleport(target)
    -- ... teleport'unu yap (hedefin ped'ine SetEntityCoords) ...
end, true)

Client tarafı (yerel ışınlıyorsan):

exports['FeloxAC']:markExternalTeleport()
SetEntityCoords(PlayerPedId(), x, y, z, false, false, false, false)

Hatalı ban olmadan admin heal / revive

-- Client tarafi, heal/revive'dan once
exports['FeloxAC']:markExternalHeal()
SetEntityHealth(PlayerPedId(), 200)

-- Revive'dan sonra
exports['FeloxAC']:playerRevived()

Özel bir revive event'i kullanıyorsan, revive'ların asla tespit tetiklememesi için panelde Client Revive Event'i o event adına ayarla.

Güvenilir bir scriptten silah verme

En temiz yol, resource'unu panelde Safe Scripts listesine eklemektir; böylece silah vermeleri her zaman güvenilir sayılır (bkz. Yapılandırma).

Bunun yerine client kodundan eylem başına izin için:

exports['FeloxAC']:giveWeapon(GetHashKey('weapon_pistol'), 'my-weapon-shop')

Silah kara listesi her zaman geçerlidir, Safe Scripts için bile.

Kendi tespitinden bir hileciyi banla

-- Server tarafi
if isCheating then
    exports['FeloxAC']:banPlayer(source, 'Ozel tespit: para exploiti', {
        by = GetCurrentResourceName(),
    }, -1)
end

Tüm detaylar için Ban Export bölümüne bak.

Tehdit puanına göre içerik kısıtla

-- Server tarafi: yuksek tehditli oyunculara hassas eylemi reddet
local score = exports['FeloxAC']:getThreatScore(source) or 0
if score > 75 then
    TriggerClientEvent('chat:addMessage', source, { args = { 'System', 'Islem gecici olarak kullanilamiyor.' } })
    return
end

İstek üzerine kanıt topla

-- Server tarafi: supheli oyuncunun ekran goruntusunu al ve Discord'a gonder
exports['FeloxAC']:screenshot(source, 'https://discord.com/api/webhooks/...')

-- Son ~10 saniyelik oyununu al
exports['FeloxAC']:captureLastSeconds(source, 'https://discord.com/api/webhooks/...')

Meslek / kiralama scriptinden hatalı banları düzelt

Bir scriptin belirli bir event'i oyuncuları ışınlıyor veya eşya veriyor ve hatalı bana neden oluyorsa, yalnızca o event'i panelde Safe Events listesine ekle (event adını yaz, Enter'a bas). Resource'un tamamı güveniliyorsa bunun yerine Safe Scripts kullan.

Spawn edilen bir obje, araç veya ped kaynaklı hatalı banlar için (script değil), bkz. Hatalı Banlar.

Anti-cheat'in güvendiği entity'ler oluştur

-- Client tarafi
local veh = exports['FeloxAC']:CreateVehicle(GetHashKey('adder'))

-- Server tarafi
local ent = exports['FeloxAC']:CreateEntity(GetHashKey('prop_barrier_work05'))

Değişikliklerden sonra config'i yenile

exports['FeloxAC']:ReloadConfiguration()

Veya konsoldan:

fac reload