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 |
| Hareket | No-clip, teleport, hız hilesi, super jump, freecam, spectate |
| Çatışma | Aimbot, silent aim, no-recoil, no-reload, hasar çarpanı, hitbox değiştirme, patlayıcı/sahte mermi, kill-rate spam |
| Silahlar | Yetkisiz silah verme, silah spawner, mermi hilesi, kara listedeki silahlar |
| Entity'ler | Araç/ped/obje spawn taşkını, entity silme, araç attach/fırlatma, handling & hız değiştirme, request-control ele geçirme |
| Patlamalar | Patlama taşkını, sessiz/görünmez patlamalar, kötü amaçlı partiküller |
| Injection | Resource injection, backdoor, event sahteciliği (client & server), Lua menüler, dev araçları |
| Bütünlük | 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
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
| Gereksinim | Değer |
| Server build (artifact) | 14317 veya üzeri |
| OneSync | Açık |
fx_version | cerulean |
| Lua | lua54 'yes' |
| Lisans | Sunucu IP'n için aktif FeloxAC lisansı |
Adım 1 — Lisansını al
- feloxac.com üzerinden bir lisans satın al.
- Paneline gir ve Redeem Key (Anahtar Kullan) bölümüne git.
- 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
- FeloxAC resource'unu panelindeki Download sayfasından indir.
- Sunucunun
resources/ klasörüne çıkar.
- 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
FeloxAC klasöründeki license.txt'yi aç ve içindeki her şeyi sil.
- Panelde Documentation → Replace license.txt'ye git.
- Sunucunu seç, Copy license.txt Content'e tıkla ve içeriği
license.txt'ye yapıştır.
- 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.
- 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.
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ü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.
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?
| 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.
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 | İ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')
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ı. |
Yapılandırma
| Export | İmza | Açıklama |
ReloadConfiguration | () → boolean | Yeniden 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 | İ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. |
-- 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)
| Export | Açı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)
| Export | Açı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)
| Export | Açı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 / removeDamageModifier | Baz hasar ayarla, çarpan uygula veya kaldır. |
Entity, kamera & kanıt (client)
| Export | Açı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 / destroyCams | Kameraları whiteliste al (meşru freecam / admin araçları). |
disableE2 / disableCamControls / disableAllControls | Admin 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)
| Parametre | Tür | Zorunlu | Açıklama |
source | number | ✅ | Oyuncunun server ID'si. |
reason | string | ✅ | Ban sebebi (loglarda ve ban kaydında görünür). |
details | table | opsiyonel | 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.
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üre | Saniye |
| 1 saat | 3600 |
| 1 gün | 86400 |
| 1 hafta | 604800 |
| 30 gün | 2592000 |
| 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
| 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:
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