Skip to main content

Requirements

RequirementNotes
ox_libCore library — callbacks, keybinds, notifications.
oxmysqlDatabase layer — poles are persisted here.
A targeting resource matching Config.Targetox_target, qb-target, or ox_lib zones. Default is ox_target.
Placement is built in — no object_gizmo (or any other placement resource) is required.

Install steps

  1. Drop the nex_polecreator folder into your server’s resources/ directory.
  2. Make sure the UI is built so the web/build/ folder exists (see Building the UI — it ships pre-built).
  3. Optionally import the database table (it is also auto-created on start — see Database).
  4. Add the resource to your server.cfg in the correct order (see below).
  5. Make sure your admins have the ace permission set in config.lua (AdminPermission, default group.admin).

server.cfg

Ensure the dependencies before nex_polecreator:
ensure ox_lib
ensure oxmysql
ensure nex_polecreator
Also ensure your target resource (ox_target, qb-target, or ox_lib) before nex_polecreator, and make sure it matches Config.Target. A mismatch means players cannot interact with poles.

Database

The nex_poles table is created automatically on start, so no manual import is required. If you prefer to import it manually, run the bundled SQL:
-- sql/poles.sql
SOURCE sql/poles.sql;
See Configuration for the full schema.

Building the UI

The React source lives in web/. The build outputs to web/build/, which fxmanifest.lua ships through ui_page. It is built with bun.
The build is already committed in this delivery, so the resource runs as-is. Only rebuild if you change anything under web/.
To rebuild after editing the UI source:
cd web
bun install
bun run build
This regenerates web/build/index.html and web/build/assets/. Commit the web/build/ folder (or build on deploy). For live UI development outside the game, run bun run dev.

Admin permissions

The /poles manager and every database write are gated by an ace permission, re-checked server-side on every mutation.
  • AdminPermission (default group.admin) is a FiveM ace. Grant it with add_ace / add_principal in your server.cfg or admin setup.
  • If your admins are admins through your framework instead (an ESX group or a QBCore permission), they are matched through AdminGroups (default admin, superadmin, god) — you do not have to touch the ace system at all.
See Configuration for details on both options.