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.
Resource durdurma koruması, çalışma zamanı kurcalama tespiti, heartbeat/watchdog
Nasıl çalışır
Client tespit modülleri her oyuncuda hile davranışını izler ve sunucuya bildirir.
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.
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
Gereksinim
Değer
FiveM artifact (server build)
14317 veya üzeri
OneSync
Açık (zorunlu)
fx_version
cerulean
Lua
lua54 'yes'
Lisans
Aktif 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.
2
Programı aç
feloxac-setup.exe'ye çift tıkla. Sunucu klasörünü kendisi bulur; yanlış yolu gösterirse Change ile düzelt.
3
API token'ını yapıştır
Sunucunun token'ını panelden kopyala ve FELOXAC API TOKEN alanına yapıştır.
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 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.
Lisansın ödemeden sonra otomatik aktif olur — anahtar girmen gerekmez.
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.
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.
Sunucunu başlat.
Live Console'u (txAdmin veya sunucu konsolu) aç ve şunu çalıştır:
fac install smart
Kurulumun bitmesini bekle.
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ı
Komut
Açıklama
fac install smart
Önerilen. Yalnızca network event kullanan resource'ları korur.
fac install / fac install all
Tüm resource'ları korur.
fac install optimize
Yalnı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.
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 nesnesi
Neyi açar
FeloxAC.AdminMenu
Menünün tamamı — aşağıdaki her satır ve gelecek sürümlerde eklenecekler.
FeloxAC.AdminMenu.Players
Players sekmesi: kimlikler, güven puanı ve rozetlerle çevrimiçi oyuncu listesi.
FeloxAC.AdminMenu.Tools
Admin 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.CarSpawn
Self sekmesinden araç spawn (Tools gerekir).
FeloxAC.AdminMenu.Troll
Troll seçenekleri: ped değiştirme, super jump, vehicle jump (Tools gerekir).
FeloxAC.AdminMenu.Monitor
Canlı ekran: bir oyuncunun ekranını gerçek zamanlı izleme.
FeloxAC.AdminMenu.Bans
Ban listesi, oyuncu banlama, unban, toplu unban.
FeloxAC.AdminMenu.Kicks
Oyuncu atma.
FeloxAC.AdminMenu.Entities
Clear world: spawn edilmiş tüm araç / ped / objeleri tek seferde silme.
Admin Logs sekmesi: panelden ve menüden kim ne yaptı.
FeloxAC.AdminMenu.Settings
Anti-cheat yapılandırmasını menüden görme ve değiştirme.
FeloxAC.AdminMenu.Admins
Admin, moderatör, staff ve bypass listesini yönetme.
Bypass
ACE nesnesi
Ne yapar
FeloxAC.Bypass
Tam 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 nesnesi
Ne yapar
FeloxAC.Commands
Varlı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:
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üm
Amaç
Settings
Sunucu geneli seçenekler: banlar, webhook'lar, loglama, komut öneki ve script izin listeleri.
Main
Hareket & genel client hileleri (no-clip, teleport, hız, godmode, injection, event sahteciliği).
Weapons
Çatışma & silah tespitleri (aimbot, hasar, mermi, kara listeler).
Entities
Araç / ped / obje spawn ve manipülasyonu.
Explosions
Patlama & partikül tespitleri.
Punishments
Tespit başına eylem: Ban, Kick veya Log.
Ceza modları (Ban / Kick / Log)
Mod
Davranış
Ban
Oyuncuyu kalıcı banlar (panelden ban kaldırılana kadar).
Kick
Oyuncunun bağlantısını keser; tekrar girebilir.
Log
Ceza 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.
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?
Durum
Kullan
Bir scriptin tek bir event'i hatalı bana neden oluyor
Safe Events
Bir resource'un tamamı meşru şekilde ışınlıyor / silah veriyor
Safe 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.
Liste
Ne işe yarar
White Listed Peds
Her zaman izin verilen ped modelleri (tekrarlayan ped hatalı banlarını durdurur).
White Listed Objects
Her zaman izin verilen obje modelleri.
White Listed Vehicles
Her zaman izin verilen araç modelleri.
Weapons Black List
Oyuncuları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
Toggle
Varsayılan
Amaç
Anti No-Clip
Açık
No-clip tespiti.
Anti Teleport
Kapalı
Teleport tespiti (konum sıçraması).
Teleport Max Distance
200
Teleport sayılan mesafe (metre).
Anti Speed Hack
Açık
Hız hilesi tespiti.
Anti Super Jump
Açık
Super jump tespiti.
Anti Resource Injection
Açık
Kötü amaçlı resource injection tespiti.
Anti Resource Stop
Açık
FeloxAC resource'unun durdurulmasını engeller.
Anti Trigger Server/Client Event
Açık
Sahte event'leri engeller.
Client Revive Event
—
Özel revive event adın (revive hatalı banlarını önler).
Weapons
Toggle
Varsayılan
Amaç
Anti Aim Bot / Silent Aim
Açık
Aimbot & silent aim tespiti.
Anti Weapon Damages Modifier
Açık
Hasar çarpanı tespiti.
Max Damage Multiplier
2
İzin verilen maksimum hasar çarpanı.
Anti Give Weapons
Açık
Yetkisiz silah verme tespiti.
Weapons Black List
Kapalı / liste
Oyuncuların asla sahip olamayacağı silahlar.
Entities
Toggle
Varsayılan
Amaç
Anti Spawn Isolated Vehicles
Açık
Sahipsiz spawn edilen araç tespiti.
Same Owner Vehicle Spawn Limit
3
Bir oyuncunun sahip olabileceği max araç.
Vehicles Limit In 5 Seconds
7
Araç spawn hız limiti.
Anti Request Control
Açık
Entity kontrol ele geçirme tespiti.
Anti Attach Vehicles
Açık
Yasadışı 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:
Anti-cheat tam kurulmamıştır (koruma kurulumu hiç çalıştırılmamıştır), ya da
Sunucu temelleri doğru ayarlanmamıştır (OneSync / lisans), ya da
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:
Ö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:
Ö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.
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
İmza
Açı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, banData
ID'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
İmza
Açıklama
getPlayerIdentifiers
(netId) → table
Tüm identifier'lar (license, discord, ip…). BanIpAddress'e uyar.
getPlayerTokens
(netId) → table
Oyuncunun donanım/oturum token'ları.
getThreatScore
(playerId) → number|nil
Oyuncunun kümülatif tehdit puanı.
getPlayTime
(playerId) → number|nil
Oyuncunun bu oturumdaki oynama süresi.
hasBypass
(playerId) → boolean
Oyuncunun 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
İmza
Açıklama
ReloadConfiguration
() → boolean
Yeniden 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
İmza
Açı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) → entity
Anti-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?) → boolean
Bu 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) → boolean
Noclip penceresini hemen kapat (noclip kapanınca çağır).
markVoiceOverrideActive
(sourceId, active, fallbackSource?) → boolean
Scriptinin 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
İmza
Açı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) → boolean
Bir 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_bypassvarsayı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.
Hedefleme / 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.
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.
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.
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.
FeloxAC 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.
Ban ile loglanan ek bağlam (örn. { by = 'Admin' }).
duration
number
opsiyonel
Ban 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.
durationsaniye 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)
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
Export
Amaç
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:
-- 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'))