Var FiveM
ScriptsPacksAbonnementsDocs
VAR
Var FiveM
ScriptsPacksAbonnementsDocs
Personnaliser le themeA proposContact
Acheter

-- 28 sections

  • ›paintball
    • configuration
    • features
    • anti-cheat-integration
    • game-modes
    • api
    • arenas
    • command
    • config
  • ›chess
    • configuration
    • events
    • integration-example
    • exports
    • controls
    • config
  • ›supermarket simulator
    • configuration
    • catalog-manager
    • commands-and-permissions
    • props-editors
    • owning-and-running-a-store
    • config
  • ›coins shop
    • configuration
    • identifier
    • export
    • server-event
    • languages
    • products
    • delivery
    • owner-panel
    • webhooks-discord
  • ›clothes shop
    • installation
    • configuration
    • blips-marker
    • translate
    • change-cam-and-pos
  • ›casino
    • installation
    • configuration
    • main-config
    • horse
    • lucky-whell
    • translate
  • ›drugs
    • installation
    • configuration
    • labs-and-interiors
    • maintenance-and-modules
    • missions
    • street-selling
    • administration
  • ›clothes shop v2
    • installation
    • configuration
    • position
    • advice-and-troubleshooting
    • configure-clothing-shops
  • ›interaction
    • configuration
    • public-api
    • interaction-config-reference
    • dialog-system
  • ›emote
    • configuration
    • config
    • adding-emote
    • menu
    • keybind
    • modules
    • 3d-placement
    • playlist
    • wheel
    • shared-emotes
  • ›crew
    • installation
    • export
  • ›alert job
    • installation
    • server-export
  • ›pin code
    • installation
    • export
  • ›society manager
    • installation
    • export
    • configuration
    • translate
    • max-salary
    • last-invoice
  • ›property
    • installation
    • configuration
    • translate
    • add-interior
  • ›barber shop
    • installation
    • configuration
    • change-menu-open-source
    • blips
    • translate
    • add-shop
  • ›shop with basket
    • installation
    • configuration
    • item-category-config
    • blips-marker
    • translate
    • add-shop
  • ›tattoo shop
    • installation
    • configuration
    • edit-tattoo
    • blips-marker
    • translate
    • add-shop
  • ›gardener job
    • installation
    • configuration
    • change-pos-farm
    • blips
    • translate
  • ›heist atm
    • installation
    • configuration
    • event-money
    • translate
    • police-alert
  • ›heist fleeca
    • installation
    • configuration
    • translate
    • pos-fleeca-heist
  • ›poster job
    • installation
    • configuration
    • change-pos-farm
    • change-poster-texture
    • blips-marker
    • translate
  • ›loading screen
    • installation
    • configuration
  • ›bank
    • installation
    • configuration
    • position
    • blips
    • translate
    • society
  • ›autocardealer
    • installation
    • configuration
    • add-vehicles
    • translate
    • blips
    • coords
  • ›character creator
    • installation
    • configuration
    • translate
    • expression
    • spawn
  • ›multi character
    • installation
    • configuration
    • translate
    • change-character-creator
    • commands
  • ›bill
    • installation
    • configuration
    • translate
    • control

~/docs/paintball/configuration/anti-cheat-integration

paintball docs›
  • configuration
  • configuration/features
  • configuration/anti-cheat-integration
  • configuration/game-modes
  • configuration/api
  • configuration/arenas
  • configuration/command
  • configuration/config

Paintball

Anti Cheat Integration

-- 3 code blocks · 2 min read

get var-paintballtry it on the test server

Var-PaintBall is a non-lethal combat gamemode. During a match, players legitimately have behaviour that most anti-cheats flag as cheating :

  • No combat damage : players don't take real health damage (elimination is kevlar-based).
  • Infinite / high ammo : the paintball weapon is given large ammo counts.

To prevent false-positive bans during a match, Var-PaintBall exposes two server-side events that fire when a player enters and leaves a live match. You hook these from your own resource to whitelist players in your anti-cheat — and un-whitelist them the moment the match is over.

inote

The script has no hard dependency on any anti-cheat. These are generic hooks, they work with WaveShield, FiveGuard, or any system that exposes a per-player bypass.


How it works

All authority stays server-side. The client never decides who is whitelisted, so a cheater cannot self-whitelist by replaying a client event.

Event Args Fires when
var-paintball:server:match:playerJoined src (number), matchId (number) The player is placed into a live match.
var-paintball:server:match:playerLeft src (number) Match end, death/elimination, kick, leave, or disconnect mid-match.

The two events are strictly paired : every playerJoined is followed by exactly one playerLeft, covering every exit path (match finished, player eliminated, kicked, left the lobby, or dropped from the server mid-match). This guarantees a bypass is always revoked.


Setup

Create a small server file in your own resource (do not edit Var-PaintBall), and listen to the two events.

WaveShield

lua
-- server.lua (in your own resource)

AddEventHandler("var-paintball:server:match:playerJoined", function(src)
    exports["WaveShield"]:toggleBypass(src, true)
end)

AddEventHandler("var-paintball:server:match:playerLeft", function(src)
    exports["WaveShield"]:toggleBypass(src, false)
end)

That's it. Players are whitelisted for the duration of the match and re-protected the instant it ends.

Any other anti-cheat

The pattern is identical — swap the export for your anti-cheat's whitelist/bypass call:

lua
AddEventHandler("var-paintball:server:match:playerJoined", function(src)
    -- enable your anti-cheat bypass for `src`
end)

AddEventHandler("var-paintball:server:match:playerLeft", function(src)
    -- disable your anti-cheat bypass for `src`
end)

Optional : safety-net auto-expire

If your anti-cheat supports a timed bypass, you can add one on join as a fallback. If a playerLeft is ever missed (e.g. an anti-cheat resource restart), the bypass still expires on its own instead of staying open.

lua
AddEventHandler("var-paintball:server:match:playerJoined", function(src)
    exports["WaveShield"]:toggleBypass(src, true)
    exports["WaveShield"]:tempBypass(src, 1800) -- auto-expires after 30 min
end)
!warning

Set the auto-expire duration longer than your longest possible match, otherwise a long match could lose its bypass mid-game. The paired playerLeft handler remains the primary way the bypass is revoked, tempBypass is only a fallback.


FAQ

Do I have to edit the Var-PaintBall files ? No. The hooks are built in. All your integration lives in your own resource.

What if a player disconnects in the middle of a match ? playerLeft still fires for them, so any bypass is revoked. (Most anti-cheats also clear per-player state on disconnect anyway.)

Can a cheater abuse the bypass outside a match ? No. The events fire only when the server places a player into a real match and removes them. The client has no control over this.

Which anti-cheats are supported ? Any of them, the hooks are generic. WaveShield is shown above because it ships ready-made toggleBypass / tempBypass exports.

previousfeaturesnextgame-modes
VAR
Var FiveM

Scripts FiveM premium. Low resmon, haute qualite. Pour ESX, QBCore & Standalone.

28scripts
1,500+ventes

Scripts

  • Marketplace
  • Packs
  • Abonnements
  • Personnaliser le theme

Plus populaires

  • Supermarket Simulator
  • FiveM Casino Script
  • FiveM Coin Shop
  • FiveM Emote Menu
  • FiveM Paintball Script

Ressources

  • Free Scripts
  • Guides
  • Documentation
  • Support

Entreprise

  • A propos
  • Contact
  • Discord

Legal

  • CGV
  • Confidentialite
  • Remboursements

© 2026 Var FiveM. Toutes les ventes sont definitives.

Paiements parTebex