Fleet Manager
Fleet Manager is a persistent department vehicle system for FiveM. Administrators can create departments and motor pools, assign access rules, capture fully configured vehicles from the world, and manage vehicle availability through an in-game interface.
POPULAR LINKS
REQUIREMENTS
- A current FiveM server with OneSync enabled
- A database resource:
oxmysqlormysql-async - Optional job integration through Qbox, QBCore, or ESX Legacy
The database resource must start before Fleet Manager. Database tables are created automatically when the resource starts successfully.
INSTALLATION
- Open the downloaded ZIP file.
- Place the
BigDaddy-FleetManagerfolder inside your server's resources directory. - Add your product key to
settings.ini. - Start your supported database resource before Fleet Manager.
- Add
ensure BigDaddy-FleetManagertoserver.cfg.
Example server.cfg entries
ensure oxmysql
ensure BigDaddy-FleetManager
DO NOT RENAME THE FOLDER.
If you change the name of the folder it will not function correctly, so leave the name as
BigDaddy-FleetManager.
{:is-danger}
CONFIGURATION
Fleet Manager's gameplay configuration is stored in settings.json.
GENERAL SETTINGS
| SETTING | DEFAULT | DESCRIPTION |
|---|---|---|
adminAce |
command |
ACE permission required to use the administrative interface. |
checkoutCooldownSeconds |
30 |
Seconds before the same vehicle can be checked out again after return or recovery. Set to 0 to disable. Negative values are treated as 0. |
INTERACTION SETTINGS
| SETTING | DEFAULT | DESCRIPTION |
|---|---|---|
interaction.useKeyPrompt |
true |
Enables the in-world checkout and return prompt. |
interaction.keyControl |
47 |
FiveM control used for interaction. Control 47 is the G key. |
interaction.keyLabel |
G |
Label displayed in the interaction prompt. |
interaction.distance |
3.0 |
Maximum interaction distance from a fleet vehicle. |
The control number and displayed label should always describe the same key.
TRACKING SETTINGS
| SETTING | DEFAULT | DESCRIPTION |
|---|---|---|
vehicleTracking.enabled |
false |
Enables the tracking interface and vehicle blips. |
vehicleTracking.updateInterval |
3000 |
Tracking refresh interval in milliseconds, with a minimum of 1000. |
vehicleTracking.showParkedVehicles |
true |
Allows available parked vehicles to appear on the map. |
vehicleTracking.showCheckedOutVehicles |
true |
Allows checked-out vehicles to appear on the map. |
vehicleTracking.showLastKnownPosition |
true |
Displays the last known position when a live entity is unavailable. |
Restart Fleet Manager after changing configuration files so the client and server load the new values.
ADMINISTRATOR PERMISSION
The /fleetadmin command uses the ACE permission configured as adminAce in settings.json.
The default value is:
"adminAce": "command"
Anyone with the general command ACE can use the administration interface when this default is used. A dedicated permission is recommended for production servers.
"adminAce": "bigdaddy.fleetadmin"
add_ace group.admin bigdaddy.fleetadmin allow
Use your existing principal assignments to place administrators in group.admin.
COMMANDS
| COMMAND | ACCESS | DESCRIPTION |
|---|---|---|
/fleetadmin |
Configured administrator ACE | Opens the complete Fleet Manager administration interface. |
/fleet |
Department and Motor Pool access, or administrator | Opens the tracking-only fleet list when tracking is enabled. |
/returnfleet |
Current checkout driver | Requests check-in of the occupied fleet vehicle inside its Motor Pool return area. Works even when the key prompt is disabled. |
FLEET STRUCTURE
Fleet Manager uses three different location concepts.
- Department — The organization that owns the vehicles and controls access.
- Motor Pool — A shared return area belonging to a department. Its location and radius determine where vehicles may be checked in.
- Parking Spot — The exact saved spawn position and heading of one individual fleet vehicle.
A vehicle's Parking Spot does not have to be at the center of its Motor Pool. Moving or recapturing a Parking Spot does not change the Motor Pool return area. You should be sure parking spots are within the motor pool area so there is no confusion about returning vehicles.
INITIAL SETUP
- Use
/fleetadminand create a Department. - Add one or more job or ACE access rules to the Department.
- Stand at the center of the desired return area.
- Create a Motor Pool and capture the current location.
- Set a radius large enough to cover the intended return area.
- Use Show Area to confirm the Motor Pool center and radius in the world.
- Prepare a vehicle exactly as it should appear when spawned.
- Park the vehicle at its intended Parking Spot.
- Capture the vehicle and assign it to the Motor Pool.
- Confirm the vehicle becomes locked, frozen, and protected.
- Test checkout and return with an authorized department member.
DEPARTMENTS AND ACCESS
A Department owns its Motor Pools, access rules, and fleet vehicles.
Job rules compare the player's framework job name and numeric minimum grade. Job access supports:
- Qbox through
qbx_core - QBCore through
qb-core - ESX Legacy through
es_extended
ACE rules compare a server ACE permission and work with framework or standalone servers.
Matching any one Department rule grants Department access. A Department with no rules allows only administrators.
Use Access beside a Motor Pool to add optional job or ACE rules for that pool. A Motor Pool without its own rules inherits Department access. When pool rules exist, a player must have Department access and match at least one pool rule. These additional rules apply to checkout, the player fleet list, tracking, and waypoints. Administrators bypass these access rules, but cannot check out vehicles from a paused pool.
Administrators can access every Department. All administrative and fleet actions are validated by the server; hiding or manipulating the NUI does not grant permission.
MOTOR POOLS
A Motor Pool defines where vehicles belonging to a Department may be returned.
When creating a Motor Pool, capture the center of the desired return area and select an appropriate radius. Use Show Area to display the saved area in the game world. The preview remains visible after the admin interface closes so the boundary can be inspected properly. Use Hide Area when finished.
The visible cylinder is intentionally tall enough to account for uneven ground. The Motor Pool radius controls return validation; the visual preview does not alter the saved area.
PAUSING AND RESUMING A MOTOR POOL
Open /fleetadmin, select Motor Pools, and click PAUSE beside the desired pool to temporarily take the entire pool out of service. Its status changes to PAUSED, and the button changes to RESUME. You can also change this state through Edit using the Motor Pool's Status field.
While a Motor Pool is paused:
- Its available parked vehicles are removed from the world and do not spawn.
- Checkout, normal check-in, and administrative force return are blocked.
- Its vehicles are excluded from the player fleet list and tracking, and existing tracking blips are removed.
- Automatic recovery is suspended for its checked-out vehicles. Those vehicles remain in the world.
The pause applies only to the selected Motor Pool. Its saved vehicles, configurations, Parking Spots, access rules, and individual vehicle statuses are retained. The paused state is saved in the database and survives resource and server restarts.
Click RESUME to restore normal service. Available vehicles return to the normal spawning system, and checkout, return, tracking, and recovery become active again. Individually disabled vehicles remain disabled. Resume the pool before returning or force-returning a checked-out vehicle.
CAPTURING VEHICLES
Fleet Manager captures the vehicle the administrator is currently inside. If the administrator is not inside a vehicle, it uses the nearest vehicle within 10 meters. This distance is currently fixed for both capture and recapture.
Before capture:
- Spawn the desired vehicle.
- Apply all modifications and options.
- Set its extras, livery, colors, wheels, tint, lighting, and plate configuration.
- Park it at the exact position and heading it should use after a restart.
- Open
/fleetadminand capture the vehicle. - Assign it to the correct Department and Motor Pool.
Fleet Manager saves the configured vehicle directly. It does not require or depend on a separate vehicle customization script.
VEHICLE CONFIGURATION
Captured properties include vehicle modifications, toggle modifications, extras, liveries, primary and secondary colors, custom colors, wheel settings, tint, neon, xenon, plate settings, interior colors, dashboard colors, tire smoke, and other supported properties.
- Edit changes administrative values such as the vehicle name, plate, or assigned Motor Pool.
- Move Parking Spot Here saves the administrator's current coordinates and heading as the vehicle's new Parking Spot.
- Recapture replaces both the saved vehicle configuration and its Parking Spot with the currently selected world vehicle.
- Disable removes a vehicle from service without deleting its saved configuration.
- Delete permanently removes the fleet vehicle record.
Use Recapture when modifications have changed. Use Move Parking Spot Here when only the saved spawn position needs to change.
CHECKOUT AND RETURN
Available fleet vehicles remain parked, locked, frozen, and protected until an authorized player checks them out.
The default interaction key is G. The prompt includes the vehicle's license plate so players can identify the correct vehicle when several are parked close together.
Only the checkout driver may return a vehicle. Passengers cannot check it in. During a normal return, the driver exits the vehicle and closes the door before Fleet Manager marks it available again.
A normal check-in leaves the physical vehicle where the driver parked it while that parked entity remains present. This avoids visibly snapping the vehicle while the player is standing nearby. The configured Parking Spot is not changed and is used again after a resource or server restart, or if the parked entity is deleted and respawned.
After check-in or recovery, the same vehicle has a 30-second checkout cooldown by default. It can appear parked and available during this period, but a checkout attempt reports the remaining time. Change checkoutCooldownSeconds to adjust this delay. Cooldowns are held in memory and reset when the resource restarts.
VEHICLE KEYS
No vehicle-key resource is required.
When qbx_vehiclekeys or qb-vehiclekeys is running, Fleet Manager grants keys during checkout and requests their removal during normal check-in. The current recovery path deletes the vehicle without sending a key-removal event. Integration behavior is contained in vehiclekeys.client.lua.
VEHICLE RECOVERY
Fleet Manager monitors active checkouts and can recover vehicles after abnormal use, including:
- Player death
- Player disconnect
- Missing or deleted vehicle entities
- Administrative force return
Destroyed vehicles with entity health or engine health at or below zero are deliberately left in the world. Automatic recovery on player death or disconnect is skipped for these wrecks. Use Force Return for manual recovery, or remove the wreck so missing-entity recovery can handle it. A wreck remains checked out until it is returned or recovered; damage alone does not set its status to Disabled.
Recovery ends the active checkout and makes it possible for the configured fleet vehicle to return to service. Administrators can review status and use force-return controls when manual intervention is needed.
This behaves this way so if a vehicle is wrecked or breaks down or whatever, there can be RP around that situation until the vehicle is cleared which will then let the script reset the vehicle to the motorpool.
VEHICLE STATUS
| STATUS | DESCRIPTION |
|---|---|
| Available | Parked and ready for an authorized player to check out. |
| Checked Out | Assigned to its current driver. |
| Recovery | Temporary tracking indicator after abnormal return; the database status is reset to Available. |
| Disabled | Removed from active service without deleting its configuration. |
Deleting is different from disabling. A disabled vehicle can be enabled again. A deleted vehicle and its saved configuration are permanently removed.
VEHICLE TRACKING
Tracking is disabled by default and can be enabled in settings.json.
The /fleet command shows only vehicles whose Department and Motor Pool access rules the player satisfies. Administrators bypass access rules. Paused pools are excluded for everyone. Players can track or untrack a vehicle and set a waypoint from the fleet list.
Recently checked-in and recovery tracking indicators last for 30 seconds.
Tracking selections are stored for the current client session and do not survive a reconnect or resource restart.
| BLIP COLOR | MEANING |
|---|---|
| Green | Parked and available |
| Orange | Checked out |
| Blue | Recently checked in |
| Red | Recovery or disabled |
| Gray | Last known position |
DATABASE AND PERSISTENCE
The required tables are created automatically. database.sql is included as a reference and recovery option, but normal installation does not require manually importing it.
The database resource must be healthy and started before Fleet Manager. A successful startup displays:
[BigDaddy-FleetManager][MySQL] Database tables verified
TROUBLESHOOTING
MYSQL_NOT_READY
Start a healthy supported database resource before Fleet Manager. Check your connection string and database resource logs before restarting Fleet Manager.
A TABLE DOES NOT EXIST
Look for the “Database tables verified” startup message. Verify the configured database user is allowed to create tables.
VEHICLE TRACKING DOES NOT APPEAR
- Set
vehicleTracking.enabledtotrue. - Confirm the player has access to the vehicle's Department.
- Confirm the player also satisfies any Motor Pool access rules and the pool is resumed.
- Use
/fleetand select Track. - Confirm the relevant parked, checked-out, or last-known visibility setting is enabled.
VEHICLE IS AVAILABLE BUT CHECKOUT IS DELAYED
Wait for the checkout cooldown reported in the notification, or adjust checkoutCooldownSeconds in settings.json and restart Fleet Manager.