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:

  • Kurulum — lisans, resource yerleştirme, server.cfg ve koruma kurulumu.
  • ACE Yetkileri — server.cfg üzerinden yetkili izinleri: her admin menü özelliği, bypass ve komutlar ayrı ACE nesnesi olarak.
  • Yapılandırma — tespitler, ceza modları ve hatalı banları önleyen Safe Events / Safe Scripts listeleri.
  • Hatalı Banlar — neden olur ve nasıl çözülür.
  • Geliştirici API (Exports) — FeloxAC'ın diğer resource'lara sunduğu tüm export'lar.
  • Ban Export — banPlayer export'u detaylı olarak.
  • Kullanım Örnekleri — kopyala-yapıştır entegrasyon tarifleri.

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

İki yol var. Tek tıklık kurulum programı her şeyi senin yerine yapar; ya da aşağıdaki beş adımlık manuel yolu izlersin: lisans al, resource'u ekle, license.txt dosyanı ayarla, server.cfg'yi güncelle ve koruma kurulumunu çalıştır.

Hızlı yol — tek tıklık kurulum programı

feloxac-setup.exe aşağıdaki 2–5. adımları otomatikleştirir: resource'u çıkarır, API token'ından license.txt'yi yazar, server.cfg'yi ayarlar ve üçüncü parti export'ları ile guard'ları enjekte eder. Sunucunun çalıştığı makinede lokal olarak çalışır. Programı ve kuracağın sunucunun API token'ını panelindeki Download sayfasından alırsın.

1

feloxac-setup.exe'yi server.cfg ile aynı klasöre koy

Programı sunucu klasörüne at — server.cfg ve resources/ ile aynı klasör. İndirilenler klasöründen çalıştırma.

feloxac-setup.exe sunucu klasöründe, server.cfg'nin yanında
2

Programı aç

feloxac-setup.exe'ye çift tıkla. Sunucu klasörünü kendisi bulur; yanlış yolu gösterirse Change ile düzelt.

Sunucu klasörünü bulmuş FeloxAC kurulum penceresi
3

API token'ını yapıştır

Sunucunun token'ını panelden kopyala ve FELOXAC API TOKEN alanına yapıştır.

FeloxAC kurulum programında token alanı işaretli
4

INSTALL'a bas

FeloxAC'yi çıkarır, license.txt'yi yazar, server.cfg'yi ayarlar ve export'ları ekler. Bitince sunucunu yeniden başlat — fac install smart yazmana gerek yok.

FeloxAC kurulum programında INSTALL butonu işaretli

FeloxAC zaten kuruluysa ve sadece üçüncü parti export'ları yenilemek istiyorsan Add exports only kullan — paketi, token'ı ve server.cfg'yi atlar. Dosya imzasız olduğu için Windows SmartScreen bilinmeyen yayımcı uyarısı verebilir: Ek bilgi → Yine de çalıştır.

Elle yapmayı tercih ediyorsan manuel yol aşağıda.

Ö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. Lisansın ödemeden sonra otomatik aktif olur — anahtar girmen gerekmez.
  3. Paneline gir ve Lisans sayfasına geç. Sunucularım altında public sunucu IP'ni (connect adresindeki IP) gir ve Sunucuyu ekle ve token'ı al'a tıkla. API token'ın hemen orada görünür.

Bir lisans = bir sunucu. İkinci sunucu kendi lisansını ister: Buy License sayfasından al, sipariş adımında Yeni sunucu seç, sonra sunucuyu Lisans sayfasından ekle. Yenileme mi? Sipariş adımında Uzat: sunucun seçeneğini seç — yeni süre kalan günlerin üstüne eklenir. Yetkiliden ya da bayiden anahtar aldıysan Lisans sayfasındaki Lisans anahtarın mı var? kutusunu aç ve yapıştır.

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.

Yetkili izinleri (ACE) — isteğe bağlı

Yetkili izinleri (admin menüsü, bypass, komutlar) server.cfg üzerinden de verilir. Kendi bölümü var: ACE Yetkileri.

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.

ACE Yetkileri

Yetkili izinleri doğrudan server.cfg içinden, FiveM'in ACE sistemiyle verilebilir — txAdmin ve diğer resource'ların için zaten kullandığın add_ace / add_principal satırlarıyla. Oyun içi /fac admin menüsünün her parçasının kendi yetkisi var; yani bir moderatöre troll seçenekleri ve araç spawn vermeden ban ve kick verebilirsin.

ACE ile web paneli birlikte çalışır. ACE satırları server.cfg güvenidir: burada verdiğin yetki panelden kısıtlanamaz. ACE satırı olmayan kişiler ise tam olarak panelin Admins sayfasında işaretlediğin yetkileri alır. txAdmin yetkilileri ayrıca otomatik olarak sınırlı bypass alır.

Tüm yetkiler

Nesneler hiyerarşiktir, tıpkı FiveM'in kendi command / command.kick yapısı gibi: FeloxAC.AdminMenu izni altındaki her şeyi açar; daha özel bir deny, daha geniş bir allow'u ezer.

AdminMenu — oyun içi /fac menüsü

ACE nesnesiNeyi açar
FeloxAC.AdminMenuMenünün tamamı — aşağıdaki her satır ve gelecek sürümlerde eklenecekler.
FeloxAC.AdminMenu.PlayersPlayers sekmesi: kimlikler, güven puanı ve rozetlerle çevrimiçi oyuncu listesi.
FeloxAC.AdminMenu.ToolsAdmin araçları ve Self sekmesi: noclip, freecam, ESP, oyuncuya git / getir / dondur, entity inceleme ve silme. Aşağıdaki Troll ve CarSpawn için zorunlu.
FeloxAC.AdminMenu.CarSpawnSelf sekmesinden araç spawn (Tools gerekir).
FeloxAC.AdminMenu.TrollTroll seçenekleri: ped değiştirme, super jump, vehicle jump (Tools gerekir).
FeloxAC.AdminMenu.MonitorCanlı ekran: bir oyuncunun ekranını gerçek zamanlı izleme.
FeloxAC.AdminMenu.BansBan listesi, oyuncu banlama, unban, toplu unban.
FeloxAC.AdminMenu.KicksOyuncu atma.
FeloxAC.AdminMenu.EntitiesClear world: spawn edilmiş tüm araç / ped / objeleri tek seferde silme.
FeloxAC.AdminMenu.MessagesYetkili sohbeti ve oyunculara özel mesaj.
FeloxAC.AdminMenu.AnnouncementsSunucu geneli duyurular (her oyuncuya gösterilir).
FeloxAC.AdminMenu.LookupOyuncunun Discord lookup'ı.
FeloxAC.AdminMenu.LogbookLogs sekmesi: bu sunucudaki tespit geçmişi.
FeloxAC.AdminMenu.AdminLogsAdmin Logs sekmesi: panelden ve menüden kim ne yaptı.
FeloxAC.AdminMenu.SettingsAnti-cheat yapılandırmasını menüden görme ve değiştirme.
FeloxAC.AdminMenu.AdminsAdmin, moderatör, staff ve bypass listesini yönetme.

Bypass

ACE nesnesiNe yapar
FeloxAC.BypassTam tespit muafiyeti. Oyuncu FeloxAC tarafından hiçbir zaman banlanmaz, atılmaz, uyarılmaz. Yalnızca tamamen güvendiğin kişilere ver — kısmi bir sürümü bilerek yok.

Commands

ACE nesnesiNe yapar
FeloxAC.CommandsVarlık temizleme, toplu unban gibi konsol ve sohbet komutları (fac ...).

Kısayol — bir gruba hepsini ver

Her nesneyi tek tek yazmak zorunda değilsin. Kategoriyi ver, o gruptaki herkes tamamını alır:

add_ace group.admin FeloxAC.AdminMenu allow

Aynı gruptan tek bir özelliği daha özel bir deny ile geri al:

add_ace group.mod FeloxAC.AdminMenu allow
add_ace group.mod FeloxAC.AdminMenu.Troll deny
add_ace group.mod FeloxAC.AdminMenu.CarSpawn deny

Örnek server.cfg

# FELOXAC YETKILERI server.cfg icinde
# add_ace [principal] [object] [allow|deny]      -> bir gruba / kimlige nesne verir (veya reddeder)
# add_principal [child_principal] [parent_principal] -> bir kimligi gruba koyar
# Her FiveM kimligi olur: discord, steam, license, fivem, ip, xbl, live.
# Kimlikleri txAdmin > Players'ta veya FeloxAC paneli > Players'ta bulursun.

# SUPER ADMINLER
add_principal identifier.discord:123456789012345678 group.superadmin

# ADMINLER
add_principal identifier.discord:234567890123456789 group.admin
add_principal identifier.license:1a21a2380bca020822ad301eb4e579e00a7063f3 group.admin

# MODERATORLER
add_principal identifier.discord:345678901234567890 group.mod

# SUPER ADMINLERE VERILEN YETKILER
add_ace group.superadmin FeloxAC.AdminMenu allow
add_ace group.superadmin FeloxAC.Commands allow
add_ace group.superadmin FeloxAC.Bypass allow

# ADMINLERE VERILEN YETKILER
add_ace group.admin FeloxAC.AdminMenu allow
add_ace group.admin FeloxAC.AdminMenu.Admins deny

# MODERATORLERE VERILEN YETKILER
add_ace group.mod FeloxAC.AdminMenu.Players allow
add_ace group.mod FeloxAC.AdminMenu.Tools allow
add_ace group.mod FeloxAC.AdminMenu.Monitor allow
add_ace group.mod FeloxAC.AdminMenu.Bans allow
add_ace group.mod FeloxAC.AdminMenu.Kicks allow
add_ace group.mod FeloxAC.AdminMenu.Messages allow
add_ace group.mod FeloxAC.AdminMenu.Lookup allow
add_ace group.mod FeloxAC.AdminMenu.Logbook allow

Nesne adlarını tam olarak listelendiği gibi yaz (FeloxAC.AdminMenu.CarSpawn). Yetkileri düzenledikten sonra sunucu konsolunda refresh çalıştırıp kişinin yeniden bağlanmasını sağla ya da sunucuyu yeniden başlat.

Hangisini kullanmalıyım — ACE mi panel mi?

  • Panel (Admins sayfası) — kişi bazlı, dosyaya dokunmadan her an değiştirilebilir, sunucuya canlı senkronlanır. Günlük yetkili yönetimi için en iyisi.
  • ACE (server.cfg) — grup bazlı, diğer sunucu yetkilerinle aynı yerde durur, panel değişikliklerinden etkilenmez. Sunucu sahipleri ve her yetkiyi server.cfg'de tutan sunucular için en iyisi.
  • İkisi aynı anda kullanılabilir. İkisine de sahip olan kişi ikisinin birleşimini alır.

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ÇIK — set onesync on
  • OneSync population KAPALI — set 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ın — fac install smart, ardından sunucuyu yeniden başlattın

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

Ban sebebi → ne düzeltilir

Banda veya tespit logunda yazan sebebi bul, karşısındaki çözümü uygula.

Illegal Object Spawn Detected

Bir resource, anti-cheat'in tanımadığı bir obje spawn etti. Obje meşruysa ve hep aynı objeyse whiteliste al:

  • Config → Entities → White Listed Objects — model adını veya hash'ini yaz, Enter'a bas.
  • Enable Objects White List'in AÇIK olduğundan emin ol, kapalıysa liste dikkate alınmaz.
  • Uygulamak için fac reload çalıştır (veya yeniden başlat).

Exceeded Object / Vehicle / Ped Spawn Rate

Bu bir hız limiti, model sorunu değil: bir script 5 saniye içinde limitin izin verdiğinden fazla entity spawn etti. Config → Entities altından limiti yükseltebilir veya limiter'ı kapatabilirsin:

  • Objeler — Objects Limit In5 Seconds / Enable Objects Limiter
  • Araçlar — Vehicles Limit In5 Seconds / Enable Vehicles Limiter
  • Ped'ler — Peds Limit In5 Seconds / Enable Peds Limiter

Önce limiti yükselt. Bir limiter'ı yalnızca meşru bir resource gerçekten toplu spawn yapıyorsa kapat (harita yükleyiciler, garajlar, etkinlik scriptleri).

Illegal Vehicle Spawn Detected

Bu neredeyse her zaman, aracı spawn eden resource'ta FeloxAC include'unun kurulu olmadığı anlamına gelir. Include olmadan spawn imzasız gelir ve anti-cheat onu enjekte edilmiş bir spawn'dan ayıramaz.

  • Aracı hangi resource'un spawn ettiğini bul ve include'un o resource'ta kurulu olduğundan emin ol.
  • fac install smart çalıştır ve sunucuyu yeniden başlat — uygun resource'lara include'u enjekte eder.

Include'un kurulu olduğunu doğruladıktan sonra hâlâ tetikleniyorsa bize ulaş — bunu whiteliste alarak geçiştirme. Eksik include gerçek bir koruma boşluğudur; whiteliste almak onu düzeltmez, gizler.

Resource Injection Detected

Tespitin detay satırını oku — hangi çözümü kullanacağını o söyler:

  • Detayda bir event adı varsa → o event'i Config → Main → Safe Events'e ekle.
  • Detayda @@Script/test.lua gibi bir dosya yolu varsa → Config → Main → Anti Resource Injection Safe List'e ekle, ama @@ olmadan: Script/test.lua yaz.

Girdiler callsite yolunun alt dizisi (substring) olarak eşleşir, yani muafiyetin genişliğini sen seçersin:

  • my-resource/client/cl-garage.lua — sadece o dosyayı muaf tutar (tercih edilen).
  • my-resource — o resource'taki tüm dosyaları muaf tutar (çok daha geniş; mecbur kalmadıkça kullanma).

Her zaman hatalı banı durduran en dar girdiyle başla. Bu muafiyet yalnızca callsite uyuşmazlığını bastırır — enjeksiyon kontrollerinin geri kalanı her hâlükârda aktif kalır.

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')

-- Banlamak yerine at
exports['FeloxAC']:kickPlayer(source, 'Cok uzun AFK', { by = 'Admin' })

-- Bir bani sorgula, sonra sunucudaki tum banlari kaldir
local found, banData = exports['FeloxAC']:getBanInfo('BAN-ID-BURAYA')
if found then print(banData.reason) end
exports['FeloxAC']:unbanAllPlayers('HeadAdmin')

-- Kaniti dogrudan Discord webhook'una gonder
exports['FeloxAC']:screenshot(source, 'https://discord.com/api/webhooks/...')
exports['FeloxAC']:captureLastSeconds(source, 'https://discord.com/api/webhooks/...')

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ı.
-- FeloxAC'in bagli bir oyuncu hakkinda bildigi her sey
local ids    = exports['FeloxAC']:getPlayerIdentifiers(source)
local tokens = exports['FeloxAC']:getPlayerTokens(source)
local score  = exports['FeloxAC']:getThreatScore(source)
local played = exports['FeloxAC']:getPlayTime(source)

print(ids.license, ids.discord, #tokens, score, played)

-- FeloxAC'in zaten muaf tuttugu oyuncuda kendi admin kontrolunu atla
if exports['FeloxAC']:hasBypass(source) then return end

Yapılandırma

ExportİmzaAçıklama
ReloadConfiguration() → booleanYeniden başlatmadan config'i yenile (fac reload ile aynı).
-- Config degisikliklerini resource'u yeniden baslatmadan uygula (fac reload ile ayni)
if exports['FeloxAC']:ReloadConfiguration() then
    print('FeloxAC config yeniden yuklendi')
end

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.
unregisterLegalSuperJump(playerId)Süresi dolmadan super jump iznini kaldır.
registerLegalNoclip(playerId, durationMs?) → booleanBu oyuncunun senin admin menünün noclip'ini kullandığını FeloxAC'a bildir. Kısa bir muafiyet penceresi açar (varsayılan 30000 ms, tavan 600000). Noclip açık kaldıkça tekrar çağırıp yenile.
unregisterLegalNoclip(playerId) → booleanNoclip penceresini hemen kapat (noclip kapanınca çağır).
markVoiceOverrideActive(sourceId, active, fallbackSource?) → booleanScriptinin bu oyuncu için ses menzilini/kanalını meşru şekilde değiştirdiğini işaretle (telsiz, megafon). Override başlarken true, biterken false ile çağır.
-- Admin, oyuncuyu hatalı ban olmadan ışınlar
exports['FeloxAC']:markExternalTeleport(target)
SetEntityCoords(GetPlayerPed(target), x, y, z)

-- Server scriptinden oyuncuya can bas
exports['FeloxAC']:markExternalHeal(target)

-- Meslek scripti silah veriyor: kaydet, yoksa possession taramasi banlar
local weapon = GetHashKey('weapon_pistol')
exports['FeloxAC']:registerLegalWeapon(target, weapon)

-- ...silahi geri alinca kaydi da dusur
exports['FeloxAC']:unregisterLegalWeapon(target, weapon)
exports['FeloxAC']:clearLegalWeapons(target)   -- ya da hepsini birden dusur

-- Ped model degisimi (kiyafet menusu, meslek kiyafeti). nil = mevcut modeli kabul et.
exports['FeloxAC']:registerLegalPedModel(target, 'a_m_y_business_01')

-- Parkur / minigame super jump. durationMs MILISANIYE cinsindendir.
exports['FeloxAC']:registerLegalSuperJump(target, 30000)
exports['FeloxAC']:unregisterLegalSuperJump(target)   -- erken bitir

-- Kendi admin menunun noclip'i. SERVER tarafinda, kendi yetki kontrolunden SONRA cagir.
-- durationMs MILISANIYE cinsindendir (varsayilan 30000, tavan 600000 = 10 dakika).
exports['FeloxAC']:registerLegalNoclip(target)          -- noclip acilirken
exports['FeloxAC']:registerLegalNoclip(target, 60000)   -- ...ya da daha uzun pencere iste
exports['FeloxAC']:unregisterLegalNoclip(target)        -- noclip kapanirken

-- Megafon / telsiz. Yapiskan: her true'yu bir false ile esle.
exports['FeloxAC']:markVoiceOverrideActive(target, true)
exports['FeloxAC']:markVoiceOverrideActive(target, false)

-- Server-side spawn: ya onayli olarak yarat, ya da elindeki handle'i isaretle
local veh = exports['FeloxAC']:CreateEntity(GetHashKey('adder'))
exports['FeloxAC']:MarkServerEntity(veh, GetHashKey('adder'))

registerLegalNoclip noclip'in kendisini ve uçmanın yan etkilerini kapsar: teleport, hız, araç warp, kamera ve görünmezlik. Pencere açıkken geri kalan her şey yine ban atar — silah/aimbot, god mode, blacklist spawn, overlay ve FeloxAC'ın kendisine yapılan müdahaleler. /fac menüsünden ve panelden atılan manuel ban/kick de çalışmaya devam eder. server.cfg'ye bir şey eklemen gerekmez; set feloxac_script_noclip 0 varsayılan açık olan acil durum kill-switch'idir.

Bu export "bu oyuncu şu an noclip kullanıyor" der — "bu oyuncu yetkilidir" demez. Kendi yetki kontrolünü noclip'i vermeden önce yap ve export'u server tarafında çağır. Client'tan gelen bir event'e bağlarsan herhangi bir hileci aynı event'i tetikleyip pencereyi kendisi açar. Noclip açıkken ~10 saniyede bir yenile; yenileme durursa pencere kendiliğinden söner.

Bypass & teşhis (server)

ExportİmzaAçıklama
toggleBypass(playerId, toggle)Bir oyuncu için tam tespit muafiyetini aç/kapat (etkinlik, freeroam bölgesi).
tempBypass(playerId, duration)Aynısı, ama duration sonunda kendiliğinden biter.
IsEventProtected(eventName) → booleanBir event adının FeloxAC'ın korumalı event listesinde olup olmadığı.
-- Freeroam / etkinlik bolgesi: tespitleri kaldir, sonra MUTLAKA geri koy
exports['FeloxAC']:toggleBypass(target, true)
-- ...
exports['FeloxAC']:toggleBypass(target, false)

-- Daha guvenlisi: kendiliginden biten pencere. duration SANIYE (tavan 43200 = 12 saat).
exports['FeloxAC']:tempBypass(target, 60)

-- Bu event adi FeloxAC'in korumali listesinde mi?
if exports['FeloxAC']:IsEventProtected('myresource:giveMoney') then
    print('zaten korumali')
end

toggleBypass ve tempBypass kutudan çıktığı gibi çalışır — bunun için server.cfg'ye hiçbir şey eklemene gerek yok. feloxac_runtime_bypass varsayılan açık olan bir acil durum kill-switch'idir, kurulum adımı değildir: yalnızca tüm runtime bypass'ı sunucu genelinde kapatmak istersen set feloxac_runtime_bypass 0 yazarsın, geri açmak için set feloxac_runtime_bypass 1 (ya da satırı tamamen sil).

Muafiyet penceresi açıkken oyuncu her tespitten muaftır — dar kapsamlı kullan, kısa süreli tempBypass'i tercih et ve toggleBypass(id, true) çağrısını sebep bitince mutlaka bir false çağrısıyla eşle.

Client export'ları

Client export'ları birer işaretleyicidir: scriptinin birazdan yapacağı şeyin meşru olduğunu FeloxAC'a bildirirler. banPlayer, kickPlayer, screenshot ve captureLastSeconds dışında hiçbiri işi senin yerine yapmaz. Kalıp her zaman aynı — önce işaretle, sonra native'i çağır:

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

Silah, hasar ve ölümsüzlük işaretleyicileri GetInvokingResource() okur ve çağıran resource yoksa çağrıyı yok sayar; yani executor'dan sürülemezler. İzinler ayrıca süre sınırlıdır — işaretleyici kısa bir pencere açar, bir tespiti kalıcı olarak kapatmaz.

Meşru-eylem işaretleyicileri (client)

ÇağrıNe yapar
exports['FeloxAC']:markExternalTeleport()
exports['FeloxAC']:hasTeleported()
Aynı işaretleyicinin iki adı. Oyuncuyu taşımadan hemen önce çağır.
exports['FeloxAC']:markExternalHeal()
exports['FeloxAC']:healthRefilled()
Aynı işaretleyicinin iki adı. Heal / can dolumundan hemen önce çağır.
exports['FeloxAC']:playerRevived()Oyuncunun meşru şekilde revive edildiğini işaretler.
exports['FeloxAC']:resettedStamina()Meşru bir stamina sıfırlaması için ~10 sn'lik pencere açar.
exports['FeloxAC']:hasAddedAmmo()Meşru bir mermi eklemesi için ~5 sn'lik pencere açar. Bridge zaten AddAmmoToPed / SetPedAmmo üzerinde senin yerine çağırıyor.
exports['FeloxAC']:hasChangedPedModel(model) → booleanBirazdan uygulayacağın ped modelini bildirir — ad ya da hash. Çağrı bir resource'tan geldiyse true döner. Tekrar tazelemeler 60 sn'de bire sınırlıdır.
exports['FeloxAC']:displayInputBox()DisplayOnscreenKeyboard'dan hemen önce çağır ki input-box tespiti tetiklenmesin.
exports['FeloxAC']:allowImmortalityFlags(durationMs) → booleanHedefleme / lock-on ped flag'lerine durationMs boyunca izin verir — varsayılan 5000, tavan 60000. Çağıran resource yoksa false döner. Kelepçe, taşıma, cutscene ve safezone scriptleri için.
exports['FeloxAC']:MarkVehicleRepair()Aracı tamir etmeden hemen önce çağır (tamirci scriptleri), ardından SetVehicleFixed'i kendin çağır.
-- Asagidaki her isaretleyici ayni kalibi izler: once isaretle, sonra native'i cagir.
exports['FeloxAC']:hasTeleported()          -- markExternalTeleport() ile ayni isaretleyici
SetEntityCoords(PlayerPedId(), x, y, z, false, false, false, false)

exports['FeloxAC']:healthRefilled()         -- markExternalHeal() ile ayni isaretleyici
SetEntityHealth(PlayerPedId(), 200)

exports['FeloxAC']:playerRevived()
exports['FeloxAC']:resettedStamina()        -- ~10 sn'lik pencere acar
exports['FeloxAC']:hasAddedAmmo()           -- ~5 sn'lik pencere acar

-- Uygulamadan once ped modelini bildir (isim ya da hash). Cagri bir resource'tan
-- geldiyse true doner; tekrar tazelemeler 60 sn'de bire sinirlidir.
exports['FeloxAC']:hasChangedPedModel('a_m_y_business_01')
SetPlayerModel(PlayerId(), GetHashKey('a_m_y_business_01'))

-- Ekran klavyesinden hemen once
exports['FeloxAC']:displayInputBox()
DisplayOnscreenKeyboard(1, 'FMMC_KEY_TIP8', '', '', '', '', '', 30)

-- Kelepce / tasima / cutscene / safezone. durationMs varsayilan 5000, tavan 60000.
exports['FeloxAC']:allowImmortalityFlags(10000)

-- Tamirci scripti araci tamir ediyor
exports['FeloxAC']:MarkVehicleRepair()
SetVehicleFixed(veh)

Godmode / oyuncu durumu (client)

Bunlar tek seferlik işaretleyici değil, durum anahtarıdır: neyi açtıysan onu geri kapatman gerekir.

ÇağrıNe yapar
exports['FeloxAC']:proofsEnabled(toggle)Meşru godmode scriptleri için proof-of-life kontrollerini açar/kapatır.
exports['FeloxAC']:canBeDamaged(toggle)Oyuncunun şu an hasar alıp alamayacağını bildirir. Dokunulmaz yaparken false, bırakırken true gönder.
exports['FeloxAC']:isInvincible(toggle)Meşru bir ölümsüzlük penceresi bildirir. Her true çağrısını bir false ile eşle.
exports['FeloxAC']:isVisible(toggle)Görünürlüğü bildirir. Ped'i gizlemeden önce false, tekrar görünür olunca true gönder.
exports['FeloxAC']:canRagdoll(toggle)Ragdoll'un meşru şekilde kapatıldığını / açıldığını bildirir.
exports['FeloxAC']:setSpectatorMode(toggle)Meşru spectate'i açar/kapatır.
-- admin görünmez olup geri dönüyor
exports['FeloxAC']:isVisible(false)
SetEntityVisible(PlayerPedId(), false, false)
-- ...
exports['FeloxAC']:isVisible(true)
SetEntityVisible(PlayerPedId(), true, false)

-- Diger anahtarlar da ayni ac/kapa disiplinini izler
exports['FeloxAC']:proofsEnabled(false)
exports['FeloxAC']:canBeDamaged(false)
exports['FeloxAC']:isInvincible(true)
SetEntityInvincible(PlayerPedId(), true)
-- ...actigin her seyi geri birak
SetEntityInvincible(PlayerPedId(), false)
exports['FeloxAC']:isInvincible(false)
exports['FeloxAC']:canBeDamaged(true)
exports['FeloxAC']:proofsEnabled(true)

-- Ragdoll ve spectate de ayni sekilde bildirilir
exports['FeloxAC']:canRagdoll(false)
exports['FeloxAC']:setSpectatorMode(true)

Silahlar & hasar (client)

Bunların hiçbiri kendi başına silah vermez, almaz ya da hasar değiştirmez — scriptinin birazdan yapacağı şeyi whiteliste alırlar. Önce export'u, sonra native'i çağır.

ÇağrıNe yapar
exports['FeloxAC']:giveWeapon(weaponHash, callsite)Silah verilmesini ~30 sn whiteliste alır; silahı GiveWeaponToPed ile kendin verirsin. callsite loglarda görünen serbest bir etikettir (shop / meslek adın). Blacklistteki silahlar reddedilir.
exports['FeloxAC']:removeWeapon(weaponHash)Silahı geri alırken bu kaydı düşür — yoksa possession taraması silahı 10-25 sn daha bildirmeye devam eder.
exports['FeloxAC']:removeAllWeapons()Tüm whitelist kayıtlarını tek seferde düşürür.
exports['FeloxAC']:markToolScenario(scenarioName, callsite)Admin araçları için bir scenario / animasyon adını whiteliste alır.
exports['FeloxAC']:setDamageModifier(weaponHash, modifier) → booleanSilah başına hasar çarpanını whiteliste alır; çarpanı SetWeaponDamageModifier ile kendin uygularsın.
exports['FeloxAC']:setNewDamage(weaponHash, modifier)setDamageModifier'ın eski adı, davranışı birebir aynı. Baz hasar ayarlamaz.
exports['FeloxAC']:removeDamageModifier(weaponHash) → booleanBuff bitince o silahın kaydını kaldırır.
exports['FeloxAC']:setPlayerDamageModifier(kind, modifier) → booleanSetPlayer*Modifier ailesi için oyuncu geneli çarpanı whiteliste alır. 3.0 üstü 3.0'a kırpılır; 1.0 ve altı kaydı siler.
exports['FeloxAC']:removePlayerDamageModifier(kind) → booleanO oyuncu geneli kaydı kaldırır.

kind şu string'lerden biridir (büyük/küçük harf farketmez): weaponDamage, meleeDamage, vehicleDamage, weaponDefense, weaponDefense2, meleeDefense.

local weapon = GetHashKey('weapon_pistol')

-- silah ver
exports['FeloxAC']:giveWeapon(weapon, 'my-weapon-shop')
GiveWeaponToPed(PlayerPedId(), weapon, 250, false, true)

-- geri al
exports['FeloxAC']:removeWeapon(weapon)
RemoveWeaponFromPed(PlayerPedId(), weapon)

-- silah başına hasar çarpanı
exports['FeloxAC']:setDamageModifier(weapon, 1.5)
SetWeaponDamageModifier(weapon, 1.5)

-- ...ve buff bitince
exports['FeloxAC']:removeDamageModifier(weapon)
SetWeaponDamageModifier(weapon, 1.0)

-- oyuncu geneli melee buff (spor salonu, PD, safezone...)
exports['FeloxAC']:setPlayerDamageModifier('meleeDamage', 1.8)
SetPlayerMeleeWeaponDamageModifier(PlayerId(), 1.8)

exports['FeloxAC']:removePlayerDamageModifier('meleeDamage')
SetPlayerMeleeWeaponDamageModifier(PlayerId(), 1.0)

-- Tum silah whitelist kayitlarini birden dusur
exports['FeloxAC']:removeAllWeapons()
RemoveAllPedWeapons(PlayerPedId(), true)

-- Admin araci bir senaryo / animasyon oynatiyor
exports['FeloxAC']:markToolScenario('WORLD_HUMAN_WELDING', 'my-admin-menu')

-- setNewDamage, setDamageModifier'in eski adi -- davranisi birebir ayni
exports['FeloxAC']:setNewDamage(weapon, 1.5)
SetWeaponDamageModifier(weapon, 1.5)

FeloxAC'ın resource'larına enjekte ettiği bridge, SetWeaponDamageModifier üzerinde setDamageModifier'ı, RemoveWeaponFromPed / RemoveAllPedWeapons üzerinde de removeWeapon / removeAllWeapons'ı zaten çağırıyor. GiveWeaponToPed yalnızca Safe Scripts listesindeki resource'lar için otomatik bildirilir — diğer her yerde giveWeapon'ı kendin çağırırsın. SetPlayer*DamageModifier ailesi ise hiçbir zaman otomatik bildirilmez, yani setPlayerDamageModifier her zaman elle çağrılır.

Entity, kamera & kanıt (client)

ÇağrıNe yapar
exports['FeloxAC']:CreateVehicle(modelHash)
exports['FeloxAC']:CreatePed(modelHash)
exports['FeloxAC']:CreateObject(modelHash)
Birazdan spawn edeceğin modeli bildirir (ad ya da hash); entity'yi normal native ile kendin oluşturursun. Bu export'lar entity yaratmaz.
exports['FeloxAC']:ChangeVehiclePlate(vehicle, plateText)Meşru bir plaka değişimini işaretler; ardından SetVehicleNumberPlateText'i kendin çağırırsın.
exports['FeloxAC']:allowTexture(textureDict)Bir texture dictionary'yi adıyla whiteliste alır.
exports['FeloxAC']:createCam(cam)Az önce oluşturduğun kamera handle'ını whiteliste alır (meşru freecam / admin araçları).
exports['FeloxAC']:destroyCam(cam)Tek bir kamera handle'ını whitelistten düşürür.
exports['FeloxAC']:destroyCams()Whitelistteki tüm kamera handle'larını düşürür.
exports['FeloxAC']:disableE2()
exports['FeloxAC']:disableCamControls()
exports['FeloxAC']:disableAllControls()
Admin araçları için 5 sn'lik input kapatma penceresi açar. Araç açık kaldığı sürece çağırmaya devam et.
exports['FeloxAC']:screenshot(webhookUrl)Yerel oyuncunun ekranını yakalar ve yükler. webhookUrl bir Discord webhook string'i olmalı.
exports['FeloxAC']:captureLastSeconds(webhookUrl)Yerel oyuncunun son ~10 sn'sini o webhook'a yükler.
exports['FeloxAC']:CreateVehicle(GetHashKey('adder'))
local veh = CreateVehicle(GetHashKey('adder'), x, y, z, heading, true, false)

exports['FeloxAC']:ChangeVehiclePlate(veh, 'FELOX01')
SetVehicleNumberPlateText(veh, 'FELOX01')

-- Ped ve obje de tipki arac gibi bildirilir
exports['FeloxAC']:CreatePed(GetHashKey('a_m_y_business_01'))
local ped = CreatePed(4, GetHashKey('a_m_y_business_01'), x, y, z, heading, true, false)

exports['FeloxAC']:CreateObject(GetHashKey('prop_barrier_work05'))
local obj = CreateObject(GetHashKey('prop_barrier_work05'), x, y, z, true, true, false)

-- Texture dictionary'yi adiyla whitelist'le
exports['FeloxAC']:allowTexture('mpleaderboard')

-- Mesru freecam / admin kamerasi
local cam = CreateCam('DEFAULT_SCRIPTED_CAMERA', true)
exports['FeloxAC']:createCam(cam)
-- ...isin bitince
exports['FeloxAC']:destroyCam(cam)
DestroyCam(cam, false)
exports['FeloxAC']:destroyCams()   -- ya da tum handle'lari birden dusur

-- Girdiyi kilitleyen admin araci: arac acik kaldikca cagirmaya devam et
exports['FeloxAC']:disableCamControls()
exports['FeloxAC']:disableAllControls()

Araç değiştiricileri (client)

Scriptin araç fiziğini meşru şekilde değiştirdiğinde bunları çağır; speed-hack katmanı yeni değerleri bayrak atmak yerine referans olarak benimser.

ÇağrıNe yapar
exports['FeloxAC']:newTopSpeedModifier(value)Meşru bir maksimum hız çarpanı bildirir. 1.1 ve altındaki değerler 1.1 kabul edilir.
exports['FeloxAC']:newCheatPowerIncrease(value)Meşru bir motor gücü artışı bildirir (nitro, tuning). Aynı 1.1 tabanı geçerli.
exports['FeloxAC']:newGravity(value)Meşru bir yerçekimi değişimi bildirir. 25.0 altındaki değerler 25.0 kabul edilir.
exports['FeloxAC']:registerLegalSpeedModifier()O an uygulanmış olan değiştiricileri meşru kabul eder. Scriptin bunları uygulamayı bitirdikten hemen sonra çağır.
SetVehicleCheatPowerIncrease(veh, 1.6)
exports['FeloxAC']:newCheatPowerIncrease(1.6)
exports['FeloxAC']:registerLegalSpeedModifier()

-- Maksimum hiz ve yercekimi de ayni sekilde bildirilir
SetVehicleMaxSpeed(veh, GetVehicleModelMaxSpeed(GetEntityModel(veh)) * 1.4)
exports['FeloxAC']:newTopSpeedModifier(1.4)   -- 1.1 ve altindaki degerler 1.1 sayilir

SetGravityLevel(2)
exports['FeloxAC']:newGravity(30.0)           -- 25.0 altindaki degerler 25.0 sayilir
exports['FeloxAC']:registerLegalSpeedModifier()

Moderasyon & teşhis (client)

ÇağrıNe yapar
exports['FeloxAC']:banPlayer(reason, details, duration)Client scriptten yerel oyuncuyu banlar. details opsiyonel bir tablo, duration saniye cinsinden ve -1 kalıcı demek. Ban payload'unun server pipeline'ına ulaşıp ulaşmadığını döner.
exports['FeloxAC']:kickPlayer(reason, details, duration)Client scriptten yerel oyuncuyu atar.
exports['FeloxAC']:IsEventProtected(eventName) → booleanBir event adının FeloxAC'ın korumalı event listesinde olup olmadığı.
exports['FeloxAC']:isRunning() → alive, lastHeartbeat, lastLoopTimeFeloxAC client döngüsünün canlı olduğunu, son heartbeat zaman damgalarıyla doğrular.
local alive, lastHeartbeat, lastLoopTime = exports['FeloxAC']:isRunning()
if not alive then print('FeloxAC calismiyor') end

exports['FeloxAC']:banPlayer('Ozel client tespiti', { by = 'my-resource' }, -1)

-- Bunun yerine yerel oyuncuyu at
exports['FeloxAC']:kickPlayer('Ozel client tespiti', { by = 'my-resource' })

-- Bir event'i tetiklemeden once adini kontrol et
if exports['FeloxAC']:IsEventProtected('myresource:giveMoney') then
    print('bu event FeloxAC tarafindan korunuyor')
end

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.

FeloxAC ayrıca resource'larına enjekte ettiği include/bridge katmanının kullandığı dahili export'lar da kaydeder. Bunlar uygulama detayıdır, build'ler arasında değişir ve bu API'nin parçası değildir — doğrudan çağırma.

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
sourcenumber✅Oyuncunun server ID'si.
reasonstring✅Ban 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