RDE_ADMIN DOCS
RED DRAGON ELITE // INFRASTRUCTURE

In-Game Admin Desktop.
Not a Chat Command Menu.

rde_admin is a real draggable desktop window for FiveM ox_core — player manager, live console, ingame database CRUD, and native ox_core bans, gated behind triple-layer admin verification so a single mis-configured ACE can never lock you out of your own server.

01 / Start Here

Overview

Every other admin panel is either paid, ESX/QB-only, a one-line chat-command menu, or a Tebex rug-pull waiting to happen. rde_admin replaces all of that with a real desktop window UI — draggable, macOS-style traffic lights, multi-page sidebar — built entirely on ox_core native RPC instead of lib.callback.

Core Principle Triple-layer admin verification (ACE + ox_core groups + hardcoded identifier fallback) means no single mis-configured permission can ever lock you out of your own server.

Why this over a Tebex admin panel

Other Admin Scriptsrde_admin
Paid Tebex resources100% free forever — RDE Black Flag
ESX / QBCore bloatox_core native
No ingame DB accessFull ingame DB CRUD, paginated browse + raw query
DB row delete drops GTA to windowed modeNUI-native confirm modal, zero focus loss
Clicking in the panel fires your weaponAll combat inputs disabled while the panel is open
0.5ms+ idle< 0.01ms idle when closed
02 / Start Here

Quick Start

Dependencies & load order

Important Use the CommunityOx forks of ox_core / ox_lib / oxmysql, not the abandoned overextended/* repos — ox_core was discontinued in 2025 and forked by the community.
server.cfg
-- Dependencies first — order matters!
ensure oxmysql
ensure ox_lib
ensure ox_core

-- The admin panel
ensure rde_admin

-- Grant ACE permission to your admin group
add_ace group.admin rde.admin allow
add_principal identifier.steam:XXXXXXXXXXXXXXXXX group.admin

Open the panel

The rde_admin_warns table auto-creates on first boot — no SQL import needed. In-game: press F9, or type /rde_admin_toggle in F8.

03 / Reference

Triple Admin Verification

Three independent layers. Any one passes = admin. The first layer to pass is cached for the session.

LayerSourceUse Case
1 — ACEIsPlayerAceAllowed(src, 'rde.admin')Standard admins, server.cfg-driven
2 — ox_core Groupsplayer.getGroup({...})Full ox_core integration, group hierarchy
3 — IdentifiersHardcoded steam/license/discord IDsEmergency back door for the architect

This model is borrowed from rde_doors — set up Layer 3 with your own Steam identifier first and you have a guaranteed back door.

/rde_admin_check output
[RDE_ADMIN] Admin check for SerpentsByte: GRANTED
Reason: ace:rde.admin
Your identifiers:
  • steam:110000101605859
  • license:abc123def456...
  • discord:456789012345678
04 / Reference

Configuration

config.lua is fully self-documented. Defaults work out of the box.

config.lua
Config.OpenKey = 'F9'

Config.AdminSystem = {
    acePermission = 'rde.admin',
    oxGroups = { admin=true, superadmin=true, management=true },
    identifiers = { 'steam:110000101605859' }, -- emergency back door
}

Config.DB_MaxRows = 500   -- hard cap per browse page
Config.DefaultLanguage = 'en'  -- or 'de'
05 / Reference

Debug Commands

CommandNotes
/rde_admin_toggleOpen or close the admin panel (same as F9)
/rde_admin_checkDiagnose your admin status — GRANTED/DENIED + reason + all identifiers

With Config.Debug = true, every RPC dispatch is logged with action name, source, request ID, and admin-cache state on both client (F8) and server console.

06 / More

Common Pitfalls

Real bugs found while building this — worth reading before you hit them yourself.

Panel opens but every page shows "Access Denied"

This was the v1.0.x NUI hostname bug. NUI fetch URLs were resolving as cfx-nui-rde_admin instead of rde_admin on some FiveM builds.

Fix: patched in v1.1.0 with dynamic hostname detection via GetParentResourceName(). If you're still on v1.0.x, update.

Deleting a DB row drops GTA to windowed mode

The delete confirmation used the browser's native window.confirm(), which causes GTA V to lose focus every time.

Fix: replaced with an NUI-native confirm modal in v1.1.2 — fully inside the panel, zero GTA focus loss.

Clicking inside the panel fires your weapon

While the panel was open, GTA V still received mouse-click events as INPUT_ATTACK / INPUT_ATTACK2, so clicking inside the UI could fire a weapon or start a melee attack.

Fix: v1.1.3 adds a dedicated thread that calls DisableControlAction every tick for all combat inputs while the panel is open, releasing instantly on close.

Why no lib.callback?

Community ox_lib has a vararg-with-nil dispatch edge case when fired from inside a RegisterNUICallback coroutine on FiveM b3000+.

Fix: replaced entirely with a 40-line native RPC layer (monotonic request-IDs, single-shot resolve guard) since v1.1.0.

07 / More

FAQ

Do I need ox_inventory or ox_target?

No — rde_admin only needs oxmysql, ox_lib and ox_core.

Console page is empty, what's wrong?

On versions before v1.1.1 this was a missing initial-buffer load — update to v1.1.2+. If it's still empty, set Config.Debug = true and check F8 for RPC dispatch logs when the Console page opens.

Can DROP/TRUNCATE/ALTER be run from the DB manager?

No — these are blocked server-side regardless of admin level, and every UPDATE/DELETE carries a hard LIMIT 1.

08 / More

Changelog

v1.1.3

Bugfix — attack inputs (weapon fire, melee) blocked while the NUI panel is open.

v1.1.2

Bugfix — DB row delete no longer triggers window.confirm() / GTA windowed mode; NUI-native modal instead.

v1.1.1

Fixed missing initial-buffer load on Console page open.

v1.1.0

Breaking fix — NUI hostname resolution (cfx-nui- bug). Replaced lib.callback with native RPC layer.