QBCoreQBoxESXox_core

Scoreboard

A hold-to-view player list with IDs above heads, disconnect tracking and an in-game settings editor. Hold a key to see who's online, watch IDs float above nearby players, and get told the moment somebody crashes out — with a full disconnect log for admins.

No database, no items, no images. One ensure line and you're done.

Supported backends (auto-detected, no config needed)

LayerSupported
Frameworkes_extended, qbx_core, qb-core, ox_core
Notificationsox_lib (default), lation_ui, ESX, QBCore, okokNotify, sd-notify, wasabi_notify, custom
Emotesrpemotes, rpemotes-reborn, dpemotes, scully_emotemenu (optional — skipped silently if none)
LoggingDiscord webhook, or off

Framework and emote detection live in bridge/server.lua and bridge/client.lua. Both are open files, and every detection chain ends in an -- Add custom framework here branch so you can wire in your own.

Requirements

ResourceRequiredNotes
ox_libYesCallbacks, commands and locales
A frameworkYesAny of the four above — auto-detected
An emote resourceNoOnly used for the clipboard emote while the board is held

Install

  1. Drop jj-scoreboard into your resources folder.
  2. Add it to your server.cfg, after ox_lib:
ensure ox_lib
ensure jj-scoreboard
  1. Restart the server. On boot you should see no errors from jj-scoreboard.
⚠️

If you see no supported framework found, your framework either isn't running or isn't one of the four supported. Open bridge/server.lua and add it to the InitializeFramework() chain.

Admin access

A player counts as an admin if any of these is true:

  • Your framework already considers them one — admin or god on QBCore and QBox, admin or superadmin on ESX, the admin group on ox_core.
  • They have the command ACE permission.
  • Their identifier is listed in Config.Setup.admins.

To grant access manually, add the identifier to config/config.lua:

admins = {
    ['ABC12345'] = true,
},

Use the citizen ID on QBCore and QBox, the char1:... identifier on ESX, or the charId on ox_core.

First run

  1. Hold U — the board appears in the top right and lists everyone online.
  2. Walk near another player while holding it — their server ID renders above their head.
  3. Run /sbadmin — the settings editor opens. Toggle something and hit Save; it applies to every player instantly, no restart.
  4. Run /dclist — the full disconnect log opens, empty until somebody leaves.
💡

Players can rebind the key themselves under FiveM → Settings → Key Bindings → FiveM. Config.Keybind.key only sets the default for players who've never bound it.

Next: head to Configuration for the full config key reference.