Modes
Vehicle persistence has two modes controlled by convars:Semi Persistence (Default)
Vehicles automatically respawn when deleted if they’re marked as persisted. Does not automatically spawn vehicles on server start.Full Persistence
Vehicles are saved to the database with their position and automatically spawned when players get near them after server restart.Usage
Enabling Persistence
Vehicles spawned usingqbx.spawnVehicle are automatically persisted. To manually enable persistence on a vehicle:
Disabling Persistence
To prevent a vehicle from respawning when deleted:Tracked Properties
The system automatically tracks and saves the following vehicle properties:Health and Damage
- bodyHealth - Body damage state (server/vehicle-persistence.lua:39)
- engineHealth - Engine condition (server/vehicle-persistence.lua:42)
- tankHealth - Fuel tank integrity (server/vehicle-persistence.lua:47)
Resources
- fuelLevel - Current fuel amount (server/vehicle-persistence.lua:50)
- oilLevel - Oil level (server/vehicle-persistence.lua:54)
Visual State
- dirtLevel - Vehicle dirt/cleanliness (server/vehicle-persistence.lua:58)
- windows - Broken windows state (server/vehicle-persistence.lua:62)
- doors - Door damage state (server/vehicle-persistence.lua:66)
- tyres - Tire burst/pop state (server/vehicle-persistence.lua:70)
How It Works
Semi Persistence
When a persisted vehicle is deleted, the system:- Captures the vehicle’s current state (position, heading, occupants)
- Retrieves the vehicle’s properties from the database
- Deletes the entity
- Spawns a new vehicle at the same location with the same properties
- Restores all passengers to their seats
Full Persistence
With full persistence enabled:Saving
Vehicles are saved to the database:- Every 10 seconds while the driver is in the vehicle (client/vehicle-persistence.lua:92)
- When the driver exits the vehicle (client/vehicle-persistence.lua:96)
- Before server shutdown (server/vehicle-persistence.lua:248)
- Before scheduled restarts (server/vehicle-persistence.lua:254)
Spawning
On server start:- All player vehicles are loaded from the database (server/vehicle-persistence.lua:237)
- Zones are created at each vehicle’s last known position (client/vehicle-persistence.lua:73)
- When a player enters a zone (within 75m), the vehicle spawns (client/vehicle-persistence.lua:77)
- The zone is removed after spawning (server/vehicle-persistence.lua:218)
Requirements
Vehicle persistence requires:qbx_vehiclesversion 1.4.1 or higher (server/vehicle-persistence.lua:23)- Proper database setup with vehicle storage tables
Configuration
Configure vehicle lock state on spawn inconfig/server.lua: