Skip to main content

Overview

vrs_permanentid assigns a permanent, static ID number (e.g., #1042) to each player account. Unlike standard FiveM server slot IDs (1, 2, 3…), a permanent ID never changes when a player reconnects, when the server restarts, or when they switch characters.

Simplified tracking

Cleaner admin tracking, player reports, bans, clips, logs, and staff communication.

Framework support

Fully supports QBox, QBCore, and ESX via vrs_bridge.

Server-authoritative

IDs are assigned by MySQL AUTO_INCREMENT. Clients cannot influence them.

Statebag replication

Every online player carries Player(src).state.vrs_pid for any HUD or scoreboard.

Prerequisites

Ensure the following dependencies are installed and running before installation:
ox_lib and oxmysql are included by default in QBox and QBCore project templates. No manual SQL import is required; database tables are generated automatically on first run.

Installation Steps

Resource deployment

Extract or copy the vrs_permanentid directory into your server’s resources directory (e.g., resources/[assets]/vrs_permanentid).

Configuration file setup (server.cfg)

Open your server.cfg and add the following lines below your core framework (qbx_core, qb-core, or es_extended) and ox_lib:
Critical load order: ensure vrs_bridge must run before ensure vrs_permanentid. Failure to adhere to this order will prevent execution.

ACE permissions (optional)

If your staff members do not already possess admin, god, or superadmin privileges within your core framework, grant permission explicitly in server.cfg:

Verification and first run

Boot your server and verify the initialization output:
Connect to the server and confirm the live connection log:
Execute /id in the in-game chat to confirm your assigned ID (e.g., #1000).

Optional Integrations

Option A: Enable permanent IDs in core commands

To allow core framework commands (e.g., /giveitem 1042 water) to target permanent IDs alongside standard slot IDs:

Open the patches directory

Navigate to the local patches/ directory inside the resource.

Apply the snippet

Follow the instructions in patches/README.md to insert the specified code into your framework files.
ID resolution logic: Permanent IDs default to starting at 1000, while server slot IDs correspond to sv_maxclients (e.g., 164). The script differentiates input automatically:

Option B: txAdmin integration

To display permanent IDs within txAdmin interface elements:
  • Player list display: modify <artifacts>/citizen/system_resources/monitor/resource/sv_playerlist.lua
  • Badge display: modify <artifacts>/citizen/system_resources/monitor/panel/index-*.js
Refer to Patch 3 in patches/README.md for implementation instructions.
Artifact update notice: updating your FXServer artifacts overwrites txAdmin core files. These modifications must be reapplied after any FXServer artifact upgrade.

Reference

Command reference

Configuration options (config.lua)

Configuration guardrail: ensure Config.StartId is strictly greater than your sv_maxclients setting before the initial startup. Modifying this parameter after database population will not re-index existing records.

Migration and Upgrades (v1.0.0 → v1.1.0+)

Version 1.1.0 transitions from per-character tracking to per-account tracking. Database migrations execute automatically upon launch.

Database backup command

Before updating from v1.0.0, execute:

Manual database reset (development / fresh servers only)

To clear all data and re-index ID sequences on an unlaunched server:

Developer API Exports

Troubleshooting

Last modified on August 12, 2026