ZeroTrust
Dashboard
Documentation

ZeroTrust Documentation

Everything you need to install, configure, and manage ZeroTrust on your FiveM server.

Welcome

Official ZeroTrust Anticheat documentation.

Welcome to the ZeroTrust Documentation

Welcome to the official documentation for ZeroTrust, the best fivem anticheat (https://zerotrust-ac.net) to secure your server. Here, you'll find all the information you need to configure, use, and maximize the potential of ZeroTrust.

What's Inside?

  • Detailed explanations of every command available within the anti-cheat system.
  • Step-by-step guides for configuring various options to suit your server’s needs.
  • Tips and best practices to ensure your server remains secure and free of cheaters.

Haven't Purshased ZeroTrust Yet ?

If you're new here and haven't yet purchased ZeroTrust, you can head over to our official website for more details. Additionally, feel free to join our growing community on Discord (https://discord.gg/SaxsNEaJ) where you can ask questions, get support, and stay updated on the latest features and improvements. Check the FAQ page (https://zerotrust-ac.net/en/faq) of our website if your question is not already answered.

Thank you for choosing ZeroTrust, and we’re here to ensure your server is protected to the highest standard!

Jump right in

  • Getting Started — see Installation Guide (#installation-guide)
  • Commands — see Commands section (#ban-players)
  • Modes — see Modes (#modes) and Safe Modes (#only-kick)

Installation Guide

Step-by-step guide to install ZeroTrust on your FiveM server.

Installation Guide

Welcome to the ZeroTrust installation guide.

Follow these steps to put ZeroTrust Anticheat to your FiveM server.

Step 1

Download the files inside https://zerotrust-ac.net/dashboard by clicking on the "Download" button.

Step 2

Unzip the downloaded file and place ZeroTrust in your resources folder.

Step 3

Add the following lines to your server.cfg file

ensure ZeroTrust
add_ace resource.ZeroTrust command allow 
add_unsafe_child_process_permission ZeroTrust

Step 4

Start your fivem server, let the anticheat download the files and restart your server

Configuring the Anti-Cheat

Configure ZeroTrust for your server framework.

Installation

Welcome to the installation guide for ZeroTrust. In this section, you'll find all the necessary steps to set up and configure the anti-cheat system for your FiveM server. 

We've also included a detailed video tutorial to guide you through the process visually. Follow along to ensure a smooth and proper installation. 

If you need help, contact us (https://zerotrust-ac.net/contact), we will be pleased to help you out !

Installing for Standalone

ZeroTrust setup for standalone FiveM servers.

If you're using a standalone framework, you'll need to configure the <kbd>Cfg.GetGroupsFromSource</kbd> function inside the config.lua file to correctly retrieve the player's permission levels based on your own framework. Use the following configuration:

Cfg = {}

Cfg.WhitelistedGroups = { 
    -- Change with your framework's admin groups
    [2] = true,
    [3] = true,
    [4] = true,
    [5] = true
}

Cfg.GetGroupsFromSource = function(source) 
    if source == nil then return 0 end
    if source == 0 then return 5 end
    
    -- You should use exports to get the player permission
    return exports["core"]:GetPlayerGroups(source)
end

This setup ensures that the player's permission level is fetched correctly, allowing ZeroTrust to verify admin access. You should replace "core" and GetPlayerPerm(source) with your framework's appropriate export and permission check.

To avoid excessive calls to the export function and improve server performance, ZeroTrust caches the result of <kbd>Cfg.GetGroupsFromSource</kbd> after the first use per player. This ensures that each player's admin group is checked only once, minimizing unnecessary export calls and avoiding potential spam.

Installing for ESX

ZeroTrust setup for ESX framework.

To integrate ZeroTrust with an ESX-based server, you'll need to put your admin groups in Cfg.WhitelistedGroups inside config.lua with the following code to ensure proper compatibility:

Cfg = {}

Cfg.WhitelistedGroups = { 
     ["mod"] = true,
     ["admin"] = true,
     ["superadmin"] = true,
}

This ensures that ZeroTrust correctly retrieves the player's admin group, allowing it to recognize different permission levels (e.g., "superadmin") within your ESX framework.&#x20;

Make sure you have ESX installed and properly configured before making these changes. If you're running the latest version of ESX, this updated function is essential for correct operation.

ZeroTrust caches the result of the admin group after the first use per player. This ensures that each player's admin group is checked only once, minimizing unnecessary calls and avoiding potential spam.

Installing for QBCore

ZeroTrust setup for QBCore framework.

To integrate ZeroTrust with an QBCore-based server, you'll need to put your admin groups in Cfg.WhitelistedGroups inside config.lua with the following code to ensure proper compatibility:

Cfg = {}

Cfg.WhitelistedGroups = { -- Check your QBConfig.Server.Permissions to make sure its the same
     ["mod"] = true,
     ["admin"] = true,
     ["god"] = true,
}

This ensures that ZeroTrust correctly retrieves the player's admin group, allowing it to recognize different permission levels (e.g., "god") within your QBCore framework. You can check your config.lua inside the qb-core function and search QBConfig.Server.Permissions to see if its the same has Cfg.WhitelistedGroups.

Make sure you have QBCore installed and properly configured before making these changes.

ZeroTrust caches the result of the admin group after the first use per player. This ensures that each player's admin group is checked only once, minimizing unnecessary calls and avoiding potential spam.

Installing for QBox

ZeroTrust setup for QBox framework.

To integrate ZeroTrust with an QBox-based server, you'll need to put your admin groups in Cfg.WhitelistedGroups inside config.lua with the following code to ensure proper compatibility:

Cfg = {}

Cfg.WhitelistedGroups = { -- Check your qbx_core/config/server.lua to make sure its the same
     ["mod"] = true,
     ["admin"] = true,
     ["support"] = true,
}

This function ensures that ZeroTrust correctly retrieves the player's admin group, allowing it to recognize different permission levels (e.g., "god") within your QBox framework. You can check your config/server.lua inside the qbx_core folder and search permissions to see if its the same has Cfg.WhitelistedGroups.

Make sure you have qbx_core installed and properly configured before making these changes.

ZeroTrust caches the result of the admin group after the first use per player. This ensures that each player's admin group is checked only once, minimizing unnecessary calls and avoiding potential spam.

Installing for vRP

ZeroTrust setup for vRP framework.

To integrate ZeroTrust with an vRP-based server, you'll need to put your admin groups in Cfg.WhitelistedGroups inside config.lua with the following code to ensure proper compatibility:

Cfg = {}

Cfg.WhitelistedGroups = { -- If you have created or edited any group, add it here
    god = true,
    admin = true,
    superadmin = true
}

This function ensures that ZeroTrust correctly retrieves the player's admin group, allowing it to recognize different permission levels (e.g., "god") within your vRP framework. You can check your vrp/cfg/groups.lua file and search cfg.groups to see if there are differents groups, if so, add them to the Cfg.WhitelistedGroups

Make sure you have vRP installed and properly configured before making these changes.

You may have to add "@vrp/lib/utils.lua" in server_scripts inside the fxmanifest file of ZeroTrust.

ZeroTrust caches the result of the admin group after the first use per player. This ensures that each player's admin group is checked only once, minimizing unnecessary calls and avoiding potential spam.

> Groups are taken from the official vRP github : https://github.com/vRP-framework/vRP/blob/master/vrp/cfg/groups.lua

Installing for ACE Perms

ZeroTrust setup using ACE permissions.

To integrate ZeroTrust with ace permissions, you'll be able to ignore the function Cfg.GetAdminGroup inside config.lua and add these lines to your server.cfg :

add_ace group.admin zt.permission allow
add_principal identifier.license:xyz group.admin

This function ensures that ZeroTrust correctly retrieves the player's admin group.&#x20;

Make sure to change identifier.license:xyz to the identifier of your admins !

Framework Not Recognized

What to do when your framework is not auto-detected.

To integrate ZeroTrust with an unrecognized framework, you'll need to create your own <kbd>Cfg.GetGroupsFromSource</kbd> function inside <kbd>config.lua</kbd> :

Lets say the anticheat didn't find your ESX, the function <kbd>Cfg.GetGroupsFromSource</kbd> can override the actual check inside the anticheat if it returns something else than <kbd>nil</kbd> .

Cfg = {}

Cfg.WhitelistedGroups = { 
    -- Change with your framework's admin groups
    [2] = true,
    [3] = true,
    [4] = true,
    [5] = true
}

Cfg.GetGroupsFromSource = function(source) 
    if source == nil then return 0 end
    if source == 0 then return 5 end
    
    -- You should use exports to get the player permission
    return exports["core"]:GetPlayerGroups(source)
end

This function ensures that ZeroTrust correctly retrieves the player's admin group.&#x20;

Ban Players

Ban players using the /banac command.

Banning players

To ban players using ZeroTrust AntiCheat, a dedicated command is available:

Command:

/banac PlayerID Reason
  • PlayerID: The ID of the player you wish to ban.
  • Reason: The reason for the ban (optional).

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Even if the anti-cheat is set to Safe-Mode with modes like OnlyKick or OnlyLogs, the /banac command will still enforce bans on the specified player.

Unban Players

Remove bans from players.

UnBanning players

To unban players in ZeroTrust AntiCheat, use the following command:

Command:

/acunban BanID
  • BanID: The unique ID associated with the player's ban.

When a player is banned, a BanID is displayed on their screen and also logged in the server's logs. This BanID is essential for unbanning the player. Simply use the /acunban command followed by the correct BanID to immediately lift the ban. Then the player will be able to reconnect

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Anti Spoof will be disabled on the player who has been unbanned from the anticheat. Players banned for spoofing are not unbanned players ! More infos on our fivem anticheat (https://zerotrust-ac.net/) website

Re-ban Unbanned Players

Re-ban players who were previously unbanned.

Re-ban Unbanned players

To re-ban a previously unbanned player, use the following command:

Command:

/acrevertunban BanID
  • BanID: The unique ID associated with the original ban.

When a player is unbanned, the BanID from their original ban remains in the logs. If needed, you can use the /acrevertunban command with this BanID to reinstate the ban. This ensures that even unbanned players can be re-banned if necessary.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Ban Infos

View ban information for a player.

Ban Information

To view the details of a ban, including the reason, players with the appropriate permissions can use the following command:

Command:

/acbaninfo BanID
  • BanID: The unique ID of the ban you're inquiring about.

This command provides detailed information regarding the ban, such as the reason and other relevant data, directly from the logs.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Cross-Server Bans

Network-wide ban commands.

Cross-servers Bans

To ban a player across multiple servers that use ZeroTrust, use the following command:

Command:

/netbanaccept BanID
  • BanID: The unique ID of the ban to be enforced across servers.

When you use this command, the player associated with the BanID will be banned from all servers using ZeroTrust, provided the ban is accepted by the ZeroTrust staff. This allows for cross-server enforcement of bans, ensuring that cheaters are removed from the entire network.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Delete Player Entities

Remove entities spawned by a player.

Delete Player's Entities

To remove all entities created by a specific player (such as props, vehicles, and peds), use the following command:

Command:

/acdelplyentities PlayerID
  • PlayerID: The ID of the player whose entities you wish to delete.

This command will delete all entities spawned by the player, ensuring that no unwanted objects remain in the game. It’s useful for cleaning up after a disruptive player or removing any excessive objects created during gameplay.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Delete All Entities

Remove all entities on the server.

Delete All Entities

To remove all entities created by a all players (such as props, vehicles, and peds), use the following command:

Command:

/acdeleteallentities

This command will delete all entities spawned by the player, ensuring that no unwanted objects remain in the game. It’s useful for removing any excessive objects created during gameplay.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Blacklist IP

Block IP addresses from connecting.

Blacklist IP

If you have Cfg.CheckIp set to false in the anti-cheat configuration but still want to block a specific IP address, you can use the following command:

Command:

/blacklistIp IP
  • IP: The IP address you want to blacklist.

This command will block the specified IP from connecting to your server, especially if IP checking is disabled in the config. It ensures that problematic IPs are restricted from accessing your server.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Ignoring Bans

Configure ban ignore rules.

Ignoring Bans by Category

You can configure specific ban categories to be ignored using webhooks defined in the config_s.lua. This allows certain types of bans to be skipped for specific staff decisions.

Command:

/acRegisterNoban Category
  • Category: The category of bans you want to ignore.

For example, if a staff member or console uses the command:

/acRegisterNoban Executors

Players will no longer be detected or banned for actions related to executors. This gives flexibility in managing which infractions should trigger bans on the server.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Uninstall the Anticheat

Remove ZeroTrust from your server.

Uninstalling the anticheat

The anticheat edits the fxmanifest.lua of your server's resources on launch. It is used to hook into your natives and listen for injections to protect the server from cheaters. You can remove the edits by running the following command:

Command:

/acuninstall

This command can only be executed by the server console.

Modes

Anticheat operating modes overview.

Anti-cheat Modes

You can adjust the performance of ZeroTrust AntiCheat using the following command to switch between modes:

Command:

/acmode [active|slow]
  • active: All detections will be enabled, including those for aimbots and PvP-related cheats.
  • slow: Optimizes the resource, running at around 0.03 ms client-side and reducing server load by disabling some detections, such as aimbot and PvP-related cheats.

This allows you to balance cheat detection and server performance, especially during high-traffic periods. When in "active" mode, all detections are fully operational.

This command can only be executed by users with the appropriate permissions or via the server console. Unauthorized players won't be able to use this command.

Only Kick

Safe mode that kicks instead of banning.

Only Kick

The Only Kick mode is configurable within the settings tabs in the dashboard. When this mode is enabled, instead of banning detected cheaters, they will simply be kicked from the server. Kicked players are logged for later review, allowing you to monitor suspicious activity without permanently banning players immediately. This can be useful for testing purposes or when you want to be less aggressive in your anti-cheat actions.

Only Logs

Safe mode that logs detections without action.

Only Logs

The Only Logs mode is also configurable in the settings tab on the website. When this mode is enabled, no actions (kick or ban) are taken against detected cheaters. Instead, all suspicious activity is logged for review. This mode allows you to monitor potential cheaters without disrupting gameplay, making it ideal for testing and observation purposes before taking further action.

World Map & Zone Blocks

Use the dashboard world map and zone blocks.

Block mode allows you to restrict access to your server based on countries and regions, preventing players from those locations from connecting.

SDK

ZeroTrust SDK — coming soon.