Agency Docs
QBESXStandalone

Agency-Anticheat कॉन्फ़िगरेशन

FiveM के लिए एक एंटीचीट जो आपके सर्वर को जानना सीखता है। यह हर खिलाड़ी को सर्वर साइड पर जाँचता है, जहाँ कोई चीट छिप.

v1.0.0सशुल्क5 पेजसे October 3, 2026, 20:00 CEST

01कॉन्फ़िगरेशन

त्वरित इंस्टॉलेशन · config.lua · Agency-Anticheat

config.lua डाउनलोड करें

-- ===================================================== -- AGENCY ANTICHEAT - CONFIG -- ===================================================== -- Everything a server owner may want to change lives in this file. -- It is never encrypted, and an update never overwrites your wording: -- put your own texts into Config.Text at the bottom. -- -- How a detection turns into a punishment -- --------------------------------------- -- Every detection has a severity: 'high', 'medium' or 'low'. -- The active MODE decides what a severity does: how many hits -- (strikes) inside Config.StrikeWindow it takes, and which action follows. -- -- log only written to the log, the Discord webhook and the Agency-Admin panel -- warn like log, and the player gets a warning on screen -- kick the player is kicked with a case number -- ban the player is banned (identifiers AND hardware tokens) -- -- A single detection can skip the mode with its own `action` and `strikes`. Config = {} Config.Locale = 'en' -- en, de, fr, es, it, pt, nl, pl, cs, ro, hu, sv, da, fi, el, bg, hr, uk, ru, tr, ar, hi, zh, ja, ko Config.Debug = false -- prints every hit to the server console Config.Framework = 'auto' -- 'auto' | 'qbcore' | 'esx' | 'standalone' -- ===================================================== -- 1. MODES -- ===================================================== -- The active mode is saved on the server. `/acmode strict` or the -- Agency-Admin panel switch it live, without a restart. This value -- is only the default for a fresh install. Config.Mode = 'balanced' -- A fresh install first runs this many hours in 'learning' (nothing is -- punished, everything is shown), then switches to Config.Mode by itself. -- 0 = start in Config.Mode right away. Config.LearnFirst = 48 Config.Modes = { -- Detects everything and punishes nobody. Every hit shows what -- 'balanced' would have done. Start here on a new server for a day or -- two: you see exactly what your other scripts trigger, risk free. learning = { high = { strikes = 1, action = 'log' }, medium = { strikes = 1, action = 'log' }, low = { strikes = 1, action = 'log' }, }, -- Detects and logs everything, punishes only what is certain. -- Good for the first days, to see what your other scripts trigger. relaxed = { high = { strikes = 3, action = 'kick' }, medium = { strikes = 5, action = 'warn' }, low = { strikes = 8, action = 'log' }, }, -- The recommended mode for a live server. balanced = { high = { strikes = 2, action = 'ban' }, medium = { strikes = 3, action = 'kick' }, low = { strikes = 5, action = 'log' }, }, -- Zero tolerance. Use it once your server ran a few days on -- balanced without false hits. strict = { high = { strikes = 1, action = 'ban' }, medium = { strikes = 2, action = 'ban' }, low = { strikes = 3, action = 'kick' }, }, } -- Strikes older than this many seconds are forgotten. Config.StrikeWindow = 300 -- ===================================================== -- 1b. PATTERN RECOGNITION -- ===================================================== -- Every hit also adds to a risk score per player. One weak signal is -- nothing, a teleport can be a script. A teleport, thermal vision and a -- vehicle spawned far away within a few minutes is a pattern: no single -- check had to be sure, together they are. The score falls back by itself. Config.Pattern = { threshold = 100, -- score that counts as a pattern (detection "pattern") points = { high = 35, medium = 20, low = 10 }, -- per hit, by severity variety = 0.25, -- +25 % per further different detection in the window decay = 1, -- points lost every 10 seconds } -- ===================================================== -- 1c. LEARNING YOUR SERVER -- ===================================================== -- The anticheat gets to know your server while it runs: jumps that several -- clean players make (elevators, house interiors, garages) stop counting as -- teleports, and players who played here a while without hits are "known". Config.Learn = { teleportPlayers = 3, -- clean players needed before a jump counts as part of the server knownMinutes = 120, -- playtime without hits after which a player is known } -- ===================================================== -- 1d. LOCKDOWN (when the server is being overrun) -- ===================================================== -- Several cheaters at once or a wave of fresh accounts: the server switches -- to strict, only known players may join, spam limits are halved, and -- Discord / AgencyMod raise the alarm. Ends by itself. -- By hand: /aclockdown on|off, the Agency-Admin panel or /anticheat lockdown in AgencyMod. Config.Lockdown = { enabled = true, players = 3, -- different players with a high hit within 60 s joins = 15, -- joins of unknown players within 60 s minutes = 15, -- how long, extended while the attack goes on } -- ===================================================== -- 1e. AGENCYMOD (Discord bot) -- ===================================================== -- Nothing to set up: if your Discord server uses AgencyMod and has this FiveM -- server entered in its FiveM tab, both connect by themselves. Bans then show -- up in Discord and cheaters are banned from your Discord as well. Config.AgencyMod = { enabled = true, } -- ===================================================== -- 2. WHO IS NEVER CHECKED -- ===================================================== Config.Exempt = { -- Players with this ACE are never checked: -- add_ace group.admin agency.anticheat.bypass allow aces = { 'agency.anticheat.bypass' }, -- Agency-Admin installed? Then every admin of its panel (ranks, ACE, -- framework groups, players added in the panel) may use noclip, godmode, -- spectate and everything else without being flagged. Nothing to set up. agencyAdmin = true, -- Players logged into the txAdmin in-game menu (it has noclip and godmode too). txAdmin = true, -- Framework staff groups (QBCore permission / ESX group). frameworkAdmins = true, frameworkGroups = { 'god', 'admin', 'superadmin' }, -- How often (seconds) the above is looked up again for an online player. recheck = 60, } -- Who may use the /ac commands. Agency-Admin admins always may -- (with the panel permissions anticheat_view / anticheat_manage). Config.AdminAce = 'agency.anticheat' -- ===================================================== -- 3. BANS -- ===================================================== Config.Ban = { duration = 0, -- seconds for automatic bans, 0 = permanent tokens = true, -- also ban the hardware tokens (stops new accounts on the same PC) ip = false, -- also ban the IP (off by default: shared and changing IPs) extend = true, -- a banned PC with a new account: add the new identifiers to the ban prefix = 'AC', -- ban ids look like AC-7K3P9 appeal = '', -- shown on the ban screen, e.g. 'discord.gg/yourserver' } -- ===================================================== -- 4. DISCORD -- ===================================================== Config.Webhook = { url = '', -- every hit, kick and ban banUrl = '', -- optional: bans and kicks only, to a second channel name = 'Agency Anticheat', avatar = '', mention = '', -- e.g. '<@&123456789>' on bans screenshots = true, -- needs screenshot-basic; attaches a screenshot to kicks and bans logHits = true, -- false = only actions (warn, kick, ban), no single hits dailyReport = true, -- a short protection report every night at midnight } -- ===================================================== -- 5. PERFORMANCE -- ===================================================== -- The defaults cost well under 0.05 ms on the server and the client. Config.Performance = { serverInterval = 1000, -- ms between two server checks of every player clientInterval = 750, -- ms between two client checks clientSlow = 15000, -- ms between the heavier client scans (commands, resources) logKeep = 500, -- detections kept for the panel } -- ===================================================== -- 6. HEARTBEAT -- ===================================================== -- The server asks every client for a fresh code. A client whose anticheat -- part was stopped or blocked by a cheat cannot answer. Config.Heartbeat = { enabled = true, interval = 15, -- seconds between two questions timeout = 90, -- no answer for this long = detection firstTimeout = 600, -- the very first answer may take this long (loading screen) } -- After joining, spawning or being revived, a player gets this many -- seconds before movement checks (teleport, speed, noclip) run. Config.Grace = 20 -- ===================================================== -- 7. DETECTIONS -- ===================================================== -- enabled on / off (also switchable live in the Agency-Admin panel) -- severity high | medium | low (see the modes above) -- action optional, overrides the mode: log | warn | kick | ban -- strikes optional, overrides the mode Config.Detections = { -- ---------- player (checked on the server, cannot be hidden by the client) ---------- -- Godmode is never judged by one value alone: health above the maximum, -- or a hit that the shooter's game called lethal and the player survived. godmode = { enabled = true, severity = 'high' }, lethal_survived = { enabled = true, severity = 'medium' }, -- The bare "invincible" flag for 10 s while moving. Safe zones and some -- jobs set it on purpose, which is why it only logs in 'balanced'. -- Your safe zone script can call exports['Agency-Anticheat']:SetExempt(source, seconds). invincible = { enabled = true, severity = 'low' }, armour = { enabled = true, severity = 'high', max = 100 }, superjump = { enabled = true, severity = 'high' }, damage_modifier = { enabled = true, severity = 'high', max = 1.0 }, -- weapon and melee damage multiplier invisible = { enabled = true, severity = 'medium' }, speedhack = { enabled = true, severity = 'medium', maxSpeed = 16.0 }, -- m/s on foot (sprint is about 7) teleport = { enabled = true, severity = 'low', distance = 250.0 }, -- metres in one second, outside a vehicle teleport_player = { enabled = true, severity = 'medium' }, -- the same, landing right next to another player -- Combat, cross-checked from both sides of every hit. kill_distance = { enabled = true, severity = 'medium', distance = 400.0, -- metres between shooter and victim ignore = { 'WEAPON_SNIPERRIFLE', 'WEAPON_HEAVYSNIPER', 'WEAPON_HEAVYSNIPER_MK2', 'WEAPON_MARKSMANRIFLE', 'WEAPON_MARKSMANRIFLE_MK2', 'WEAPON_PRECISIONRIFLE' }, }, rapid_kills = { enabled = true, severity = 'medium', kills = 6, window = 10 }, -- lethal hits on players -- Aim statistics: share of head hits on players, only hits from at least -- minDistance metres count. Humans land far below 85 % over 30 hits. aimbot = { enabled = true, severity = 'medium', minHits = 30, minDistance = 25.0, ratio = 0.85, headComponents = { 20 } }, -- Many hits from different detections in a short time, see Config.Pattern. pattern = { enabled = true, severity = 'high' }, -- A weapon in the hand that is not in the inventory (QBCore, QBox, ESX, ox_inventory). -- Only for weapons in shared/weapons.lua, never on standalone servers. weapon_no_item = { enabled = true, severity = 'low' }, weapon_blacklist = { enabled = true, severity = 'high', weapons = { 'WEAPON_RAILGUN', 'WEAPON_RAILGUNXM3', 'WEAPON_MINIGUN', 'WEAPON_RPG', 'WEAPON_HOMINGLAUNCHER', 'WEAPON_GRENADELAUNCHER', 'WEAPON_COMPACTLAUNCHER', 'WEAPON_RAYPISTOL', 'WEAPON_RAYCARBINE', 'WEAPON_RAYMINIGUN', 'WEAPON_FIREWORK', }, }, ped_blacklist = { enabled = true, severity = 'medium', models = { 'a_c_chimp', 'a_c_mtlion', 'u_m_y_juggernaut_01', 'u_m_y_zombie_01', 's_m_m_movalien_01' }, }, -- ---------- hardware ---------- -- FiveM hands every server a set of hardware tokens per PC. A resource -- cannot see deeper into the hardware than that, and these are used fully: hardware_match = { enabled = true, severity = 'medium' }, -- a new account on a PC that was kicked or flagged before hardware_spoof = { enabled = true, severity = 'low' }, -- a client without any hardware tokens (HWID spoofer) -- ---------- client (scanned on the player's PC) ---------- noclip = { enabled = true, severity = 'high' }, spectate = { enabled = true, severity = 'high' }, freecam = { enabled = true, severity = 'medium', distance = 120.0 }, -- camera far away from the own ped vision = { enabled = true, severity = 'low' }, -- night / thermal vision outside a helicopter infinite_ammo = { enabled = true, severity = 'medium', shots = 40 }, vehicle_speed = { enabled = true, severity = 'medium', factor = 1.6, minimum = 70.0 }, vehicle_godmode = { enabled = true, severity = 'low' }, injected_resource = { enabled = true, severity = 'high' }, -- a resource runs on the client that the server never sent resource_stop = { enabled = true, severity = 'high' }, -- a server resource was stopped on the client injected_command = { enabled = true, severity = 'high' }, -- a command registered by an injected resource blacklisted_command = { enabled = true, severity = 'high', commands = { 'chocolate', 'lynx', 'brutan', 'hammafia', 'lumia', 'killmenu', 'panic', 'tiago', 'desudo', 'eulen', 'redengine' }, }, heartbeat = { enabled = true, severity = 'medium' }, -- ---------- world (game events, cancelled before anyone sees them) ---------- entity_blacklist = { enabled = true, severity = 'high', models = { 'rhino', 'khanjali', 'apc', 'halftrack', 'minitank', 'hydra', 'lazer', 'strikeforce', 'oppressor', 'oppressor2', 'deluxo', 'vigilante', 'scramjet', 'ruiner2', 'thruster', 'chernobog', 'cargoplane', 'jet', 'titan', 'bombushka', 'volatol', 'avenger', 'tula', 'blimp', 'blimp2', 'blimp3', 'a_c_chimp', 'a_c_mtlion', 'u_m_y_juggernaut_01', 'u_m_y_zombie_01', 's_m_m_movalien_01', 'prop_windmill_01', 'p_spinning_anus_s', 'prop_ld_ferris_wheel', 'prop_cs_dildo_01', }, }, -- networked entities a single player may create inside `window` seconds entity_spam = { enabled = true, severity = 'medium', window = 10, vehicle = 8, ped = 10, object = 30 }, explosion_blacklist = { enabled = true, severity = 'high', types = { 1, 4, 5, 6, 16, 29, 32, 36, 37, 38 }, -- grenade launcher, rocket, tank shell, hi-octane, ship, blimp, plane rocket, railgun, blimp2, firework }, explosion_spam = { enabled = true, severity = 'medium', window = 10, max = 8 }, explosion_invisible = { enabled = true, severity = 'medium' }, -- invisible explosions, a menu signature remote_explosion = { enabled = true, severity = 'medium', distance = 250.0 }, -- an explosion far away from the player who caused it remote_spawn = { enabled = true, severity = 'low', distance = 400.0 }, -- a vehicle or ped created far away from its creator particle_spam = { enabled = true, severity = 'medium', window = 10, max = 30 }, fire_spam = { enabled = true, severity = 'medium', window = 10, max = 12 }, weapon_give = { enabled = true, severity = 'high' }, -- a client giving weapons to another player weapon_remove = { enabled = true, severity = 'high' }, -- a client taking weapons from another player clear_tasks = { enabled = true, severity = 'high' }, -- pulling other players out of vehicles -- ---------- chat and names ---------- -- Lua patterns, lower case. Menus advertise themselves in chat and names. chat_spam = { enabled = true, severity = 'low', max = 8, -- messages per 10 s patterns = { 'discord%.gg/', 'discord%.com/invite', 'menu by', 'mod menu', 'modmenu', 'eulen', 'redengine', 'skript%.gg' }, }, name_filter = { enabled = true, severity = 'low', patterns = { 'discord%.gg/', 'https?://', '%.gg/', 'mod menu', 'modmenu', '^admin$', '^%[admin%]', 'eulen', 'redengine' }, }, -- ---------- other scripts ---------- -- exports['Agency-Anticheat']:Flag(source, 'sold 900 items in 2 s') from any server script. external = { enabled = true, severity = 'high' }, -- ---------- events ---------- -- Events of resources this server does NOT run. Nobody can trigger them -- legitimately here, only a menu that fires them blindly. An entry is -- armed only while its resource is missing, so it never hits a real one. event_honeypot = { enabled = true, severity = 'high', events = { { event = 'esx_ambulancejob:revive', resource = 'esx_ambulancejob' }, { event = 'esx_policejob:handcuff', resource = 'esx_policejob' }, { event = 'esx_jailer:sendToJail', resource = 'esx_jailer' }, { event = 'esx-qalle-jail:jailPlayer', resource = 'esx-qalle-jail' }, { event = 'esx_dmvschool:addLicense', resource = 'esx_dmvschool' }, { event = 'esx_vehicleshop:setVehicleOwned', resource = 'esx_vehicleshop' }, { event = 'esx_billing:sendBill', resource = 'esx_billing' }, { event = 'esx_truckerjob:pay', resource = 'esx_truckerjob' }, { event = 'esx_garbagejob:pay', resource = 'esx_garbagejob' }, { event = 'esx_mechanicjob:startHarvest', resource = 'esx_mechanicjob' }, { event = 'esx_drugs:startHarvestWeed', resource = 'esx_drugs' }, { event = 'esx_society:withdrawMoney', resource = 'esx_society' }, { event = 'police:server:JailPlayer', resource = 'qb-policejob' }, { event = 'hospital:server:RevivePlayer', resource = 'qb-ambulancejob' }, { event = 'qb-vehiclekeys:server:AcquireVehicleKeys', resource = 'qb-vehiclekeys' }, -- Your own traps: an event name no script of yours uses. -- { event = 'admin:giveAllMoney' }, }, }, -- Rate limits for events of your own scripts: name = most calls per 10 seconds. event_spam = { enabled = true, severity = 'medium', events = { -- ['qb-shops:server:UpdateShopItems'] = 20, }, }, } -- ===================================================== -- 8. YOUR OWN WORDING -- ===================================================== -- Wins over the language files and survives updates. Same keys as locales/en.lua. Config.Text = { -- kick_message = 'Kicked by the anticheat. Case %s. Appeal in our Discord.', }

इस पेज के बाद भी अटके हैं? आगे हमारा सपोर्ट संभाल लेगा।