> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eagleanti.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Permissions

> Select your framework and configure the correct EC_AC and EC-PANEL permission system.

# Info

Pick your framework below. Each tab shows the **correct permission system** for **EC\_AC** and **EC-PANEL**.

<Warning>
  EC\_AC permissions and EC-PANEL permissions are separate.\
  Configure **both**, or staff will either get detected or bypass too much.
</Warning>

***

<Tabs>
  <Tab title="ESX (es_extended)">
    ## EC\_AC permissions (ESX)

    **File**

    ```text theme={null}
    resources/[EC]/EC_AC/configs/esx/s_config.lua
    ```

    EC\_AC uses ESX player groups via `xPlayer.getGroup()`.

    | Check                         | Default groups        | Who should have it | What it does                                                                        |
    | ----------------------------- | --------------------- | ------------------ | ----------------------------------------------------------------------------------- |
    | `EG_AC.PermCheck(source)`     | `admin`, `superadmin` | Staff              | Normal bypass for staff actions (noclip/spectate/invis/godmode used for moderation) |
    | `EG_AC.PermHighCheck(source)` | `superadmin`          | Owners             | High bypass (full bypass). Keep it very limited                                     |

    <Tip>
      If you use custom ESX groups, add them inside `PermCheck` / `PermHighCheck`.
    </Tip>

    ***

    ## EC-PANEL permissions (ESX)

    **File**

    ```text theme={null}
    resources/[EC]/EC-PANEL/config.lua
    ```

    Set:

    ```lua theme={null}
    Config.Framework = "es_extended"
    ```

    EC-PANEL checks permission by comparing ESX group name to the role key:

    * If `xPlayer.getGroup() == "superadmin"` → role `superadmin` applies
    * If `xPlayer.getGroup() == "admin"` → role `admin` applies (if you define it)

    <Info>
      You must create the roles you want inside `Config.Permissions` (example: `admin`, `moderator`, `viewer`).
    </Info>

    ### Dashboard action flags (what each one does)

    These flags enable features in the dashboard:

    | Flag                                                       | What it enables                                                     |
    | ---------------------------------------------------------- | ------------------------------------------------------------------- |
    | `AccessToken`                                              | High-privilege access (banlist/whitelist/loggers/stats). Owner-only |
    | `getPlayersData`                                           | Players list                                                        |
    | `banPlayer`                                                | Ban action                                                          |
    | `mutePlayer` / `unmute`                                    | Mute control                                                        |
    | `watchScreen`                                              | Watch player screen                                                 |
    | `toggleFreecam`                                            | Freecam tool                                                        |
    | `grabEntity` / `tpEntity` / `deleteEntity`                 | Entity tools                                                        |
    | `blacklistModel` / `unblacklistModel` / `getBlacklistData` | Model blacklist                                                     |
    | `toggleBoxESP` / `toggleSkeletonESP` / etc.                | ESP tools                                                           |
  </Tab>

  <Tab title="QBCore (qb-core)">
    ## EC\_AC permissions (QBCore)

    **File**

    ```text theme={null}
    resources/[EC]/EC_AC/configs/qbcore/s_config.lua
    ```

    QBCore uses permission roles lists:

    | List             | Default        | Who should have it | What it does              |
    | ---------------- | -------------- | ------------------ | ------------------------- |
    | `EG_AC.Perm`     | `admin`, `god` | Staff              | Normal bypass             |
    | `EG_AC.HighPerm` | `god`          | Owners             | High bypass (full bypass) |

    **Default**

    ```lua theme={null}
    EG_AC.Perm = { "admin", "god" }
    EG_AC.HighPerm = { "god" }
    ```

    <Note>
      Your config also accepts ACE fallbacks like `qbcore.admin`, `qbcore.mod`, `qbcore.god`.
    </Note>

    ***

    ## EC-PANEL permissions (QBCore)

    **File**

    ```text theme={null}
    resources/[EC]/EC-PANEL/config.lua
    ```

    Set:

    ```lua theme={null}
    Config.Framework = "qbcore"
    ```

    EC-PANEL checks roles using:

    ```lua theme={null}
    qbcore.Functions.HasPermission(src, "roleName")
    ```

    That means your `Config.Permissions` keys must match QBCore permission names you actually use, e.g.:

    * `superadmin`
    * `admin`
    * `god`
    * `mod`

    <Tip>
      Best practice: use clean role names like `superadmin/admin/moderator/viewer` and map them in QBCore.
    </Tip>

    ### Dashboard action flags (what each one does)

    | Flag                                                       | What it enables                                                     |
    | ---------------------------------------------------------- | ------------------------------------------------------------------- |
    | `AccessToken`                                              | High-privilege access (banlist/whitelist/loggers/stats). Owner-only |
    | `getPlayersData`                                           | Players list                                                        |
    | `banPlayer`                                                | Ban action                                                          |
    | `mutePlayer` / `unmute`                                    | Mute control                                                        |
    | `watchScreen`                                              | Watch player screen                                                 |
    | `toggleFreecam`                                            | Freecam tool                                                        |
    | `grabEntity` / `tpEntity` / `deleteEntity`                 | Entity tools                                                        |
    | `blacklistModel` / `unblacklistModel` / `getBlacklistData` | Model blacklist                                                     |
    | `toggleBoxESP` / `toggleSkeletonESP` / etc.                | ESP tools                                                           |
  </Tab>

  <Tab title="Standalone (ACE)">
    ## EC\_AC permissions (Standalone)

    **File**

    ```text theme={null}
    resources/[EC]/EC_AC/configs/other/s_config.lua
    ```

    EC\_AC uses ACE permissions:

    | ACE                | Who should have it | What it does  |
    | ------------------ | ------------------ | ------------- |
    | `eagle.admin`      | Staff              | Normal bypass |
    | `eagle.superadmin` | Owners             | High bypass   |

    ***

    ## EC-PANEL permissions (Standalone / ACE)

    **File**

    ```text theme={null}
    resources/[EC]/EC-PANEL/config.lua
    ```

    Set:

    ```lua theme={null}
    Config.Framework = "standalone"
    ```

    EC-PANEL checks roles like this:

    ```lua theme={null}
    IsPlayerAceAllowed(src, "roleName")
    ```

    So if your role key is `superadmin`, you must grant ACE `superadmin`.

    <Tip>
      Most people do this with principals. Example (adjust to your server):
    </Tip>

    ```cfg theme={null}
    add_ace group.admin superadmin allow
    add_ace group.admin admin allow
    add_ace group.admin moderator allow
    add_ace group.admin viewer allow
    ```

    ### Dashboard action flags (what each one does)

    | Flag                                                       | What it enables                                                     |
    | ---------------------------------------------------------- | ------------------------------------------------------------------- |
    | `AccessToken`                                              | High-privilege access (banlist/whitelist/loggers/stats). Owner-only |
    | `getPlayersData`                                           | Players list                                                        |
    | `banPlayer`                                                | Ban action                                                          |
    | `mutePlayer` / `unmute`                                    | Mute control                                                        |
    | `watchScreen`                                              | Watch player screen                                                 |
    | `toggleFreecam`                                            | Freecam tool                                                        |
    | `grabEntity` / `tpEntity` / `deleteEntity`                 | Entity tools                                                        |
    | `blacklistModel` / `unblacklistModel` / `getBlacklistData` | Model blacklist                                                     |
    | `toggleBoxESP` / `toggleSkeletonESP` / etc.                | ESP tools                                                           |
  </Tab>

  <Tab title="vRP (vrp)">
    ## EC\_AC permissions (vRP)

    **File**

    ```text theme={null}
    resources/[EC]/EC_AC/configs/vrp/shared_config.lua
    ```

    vRP supports both bypass + fine-grained feature permissions.

    ### Bypass levels

    | Permission             | Default          | Who should have it | What it does              |
    | ---------------------- | ---------------- | ------------------ | ------------------------- |
    | `EG_AC_PERMS.Perm`     | `admin.tickets`  | Staff              | Normal bypass             |
    | `EG_AC_PERMS.HighPerm` | `eagle.HighPerm` | Owners             | High bypass (full bypass) |

    ### Feature permissions

    | Permission                      | What it does                             |
    | ------------------------------- | ---------------------------------------- |
    | `eagle.Menu`                    | Access to Eagle staff menu               |
    | `eagle.NoClip`                  | Bypass noclip/fly detections             |
    | `eagle.Spectate`                | Bypass spectate detection/limits         |
    | `eagle.Invisible`               | Bypass invis detections                  |
    | `eagle.GodMode`                 | Bypass godmode detections                |
    | `eagle.AntiFreeCam`             | Bypass freecam detection                 |
    | `eagle.SuperJump`               | Bypass super jump detection              |
    | `eagle.WeaponDamage`            | Bypass weapon damage modifier detection  |
    | `eagle.Stamina`                 | Infinite stamina                         |
    | `eagle.BlackListedWeaponsPerm`  | Allow blacklisted weapons                |
    | `eagle.BlackListedVehiclesPerm` | Allow blacklisted vehicles               |
    | `eagle.DeleteObjects`           | Delete objects                           |
    | `eagle.DeletePeds`              | Delete peds                              |
    | `eagle.DeleteVehicles`          | Delete vehicles                          |
    | `eagle.DeleteGun`               | Delete-gun tool                          |
    | `eagle.BanPlayer`               | Ban from staff menu                      |
    | `eagle.UnBanPlayer`             | Unban from staff menu                    |
    | `eagle.ChatSettings`            | Control chat settings                    |
    | `eagle.ChatBypass`              | Talk while chat is locked                |
    | `eagle.ChatCharaterLimitPerm`   | Bypass chat char limit                   |
    | `eagle.RecentlyJoined`          | View recently joined players             |
    | `eagle.OnScreenMenuPerm`        | Bypass restricted words/on-screen checks |
    | `eagle.vMenu`                   | Allow vMenu usage                        |

    <Warning>
      Don’t give `eagle.HighPerm` broadly. It’s a full bypass.
    </Warning>

    ***

    ## EC-PANEL permissions (vRP)

    **File**

    ```text theme={null}
    resources/[EC]/EC-PANEL/config.lua
    ```

    Set:

    ```lua theme={null}
    Config.Framework = "vrp"
    ```

    EC-PANEL checks roles using vRP permissions:

    ```lua theme={null}
    vRP.hasPermission({ user_id, "roleName" })
    ```

    So your role keys inside `Config.Permissions` must match your vRP permission strings.

    <Tip>
      Example: if you keep `superadmin` as the role key, your vRP user must have permission `superadmin`.
    </Tip>

    ### Dashboard action flags (what each one does)

    | Flag                                                       | What it enables                                                     |
    | ---------------------------------------------------------- | ------------------------------------------------------------------- |
    | `AccessToken`                                              | High-privilege access (banlist/whitelist/loggers/stats). Owner-only |
    | `getPlayersData`                                           | Players list                                                        |
    | `banPlayer`                                                | Ban action                                                          |
    | `mutePlayer` / `unmute`                                    | Mute control                                                        |
    | `watchScreen`                                              | Watch player screen                                                 |
    | `toggleFreecam`                                            | Freecam tool                                                        |
    | `grabEntity` / `tpEntity` / `deleteEntity`                 | Entity tools                                                        |
    | `blacklistModel` / `unblacklistModel` / `getBlacklistData` | Model blacklist                                                     |
    | `toggleBoxESP` / `toggleSkeletonESP` / etc.                | ESP tools                                                           |
  </Tab>
</Tabs>

***

<Check>
  After configuring EC-PANEL permissions, join the server and press **F10** to open the panel.

  If the panel opens → permissions are correct.\
  If nothing happens → your EC-PANEL role or framework permission mapping is wrong.
</Check>
