# F.A.Q > Frequently asked questions for ML Vehicle Persistence Category: VEHICLE PERSISTENCE · Source: https://miciomods.it/docs/ml-vehicle-persistence-faq · Last updated: 2026-09-23 ## Setup **Is a garage script required?** No. Persistence runs on its own. A garage is only used to decide when a vehicle should leave the world, and any garage that deletes the vehicle on store is handled automatically. **Does it work on standalone servers?** Yes. World-vehicle claiming works on any framework. Database-owned vehicle detection needs a framework with a `player_vehicles` or `owned_vehicles` table; on standalone, enable `Config.WorldVehicles` and use the `OpenServer.CanPersist` hook for custom ownership. ## World Vehicles **What happens when a player drives an NPC vehicle?** With `Config.WorldVehicles.enabled = true`, the first eligible driver can claim an unowned vehicle. Claiming still checks the type, blacklists, exclusions, the CanClaim hook and the parking limit. **How do I stop a mission or rental vehicle from being saved?** Call the export from the spawning resource: ```lua exports.ml_vehicle_persistence:DoNotSave(plateOrNetId, 'mission') ``` **Can a vehicle spawned by another script be claimed?** Yes, if it is eligible and not already owned or tracked. Call `exports.ml_vehicle_persistence:DoNotSave(plateOrNetId, reason)` from the spawning resource to exclude staff, mission, rental or temporary vehicles. **Do claimed vehicles count toward the parking limit?** By default yes. Set `Config.WorldVehicles.countTowardLimit = false` to exempt them. ## Persistence **What happens when a player disconnects while parked?** The vehicle stays in the world with its owner attached and respawns after a restart. **Are mods, colors, fuel and damage saved?** Yes. Full vehicle properties, fuel level and body and engine health are stored and reapplied when a player streams the vehicle in. **What happens to a destroyed vehicle?** It leaves persistence by default. Set `Config.PersistDestroyed = true` and the wreck comes back as a wreck, with burnt body, dead engine and burst tyres, on respawn and after a restart. **How does the parking limit work?** `Config.MaxVehiclesPerPlayer` caps how many parked vehicles count toward an owner. Once full, a new vehicle is not saved and existing saved vehicles remain. Set it to `0` for no limit. **How many vehicles can the server hold?** Saved records use server memory and database storage. Vehicle entities spawn only near players within `Config.SpawnDistance` and despawn when nobody is nearby. The script sets no maximum record count; server memory, database and nearby entity load still matter. **Why does an admin /dv bring the vehicle back?** The default `Config.RespawnOnExternalDelete = false` drops an externally deleted vehicle from persistence. If it comes back, check whether this value is true. With true, route intentional deletes through `deletehook.lua` or the `PurgeVehicle` export. **Does a tow truck moving a parked car break it?** No. A vehicle moved without a driver is detected on the next world scan and its saved position is updated. A tow that deletes and respawns the entity instead counts as a removal. ## Decay and Orphans **When does decay reduce health?** When saved records are restored after a restart, `Config.Decay` applies body and engine loss based on time since the last save and the grace period. It does not tick continuously during server uptime. Protected vehicles and vehicles linked to an active protected base skip decay. **What happens to an orphaned claimed vehicle?** Claimed World Vehicles are deleted after the configured owner absence threshold, even when `Config.OrphanedVehicles.action` is set to 'impound'. Database-owned vehicles use `OpenServer.ImpoundVehicle` for the impound action; its default implementation supports Qbox/QBCore. ## GPS **What does the GPS item do?** It lists the owner's persisted vehicles with their distance and sets a waypoint on the one picked. Vehicles currently in a garage are listed too, marked as stored instead of a waypoint. **How does GPS tampering work?** A thief uses the `gps_scanner` item and sweeps around a vehicle. The beep gets faster the closer the GPS is, and bystanders hear it too. Holding the scan next to the vehicle rips the GPS out, and the owner's GPS then freezes on the last known position with a tampered badge. **How does the owner get the GPS back?** Only the vehicle's owner can install a `gps_module` on the recovered vehicle, which consumes the item and restores live tracking. Until then the position stays frozen. **Can I disable the scanner but keep the GPS item?** Yes. Set `Config.GpsScanner.enabled = false` and leave `Config.GpsItem` set. ## Admin **How do I open the admin panel?** Run `/vpadmin` in chat, or open it from the shared admin hub. The command is set in `Config.Admin.command`. **Who can open the panel?** Any `ml_bridge` admin. Set `Config.AdminAcePermission` to a dedicated ACE node to restrict it to a sub-team. **Do panel settings survive a restart?** Yes. Settings shown in the panel are stored as overrides of `shared/config.lua` values and survive restarts. Reset clears all panel overrides and restores the config file defaults. **What does Suite Doctor check?** It reports orphaned locks, grants and trackers, mechanic records without a matching vehicle, plate format mismatches and links to missing bases. It reports findings; it does not repair records. **How do admin integrations work?** The Integrations page reports available optional providers. When the matching resource is running, its provider can add vehicle data and actions to inspection. Custom providers can be added under `open/integrations/`. **How do I clear only the vehicles around me?** `/vpclear ` removes persisted vehicles within that many meters of your ped. `/vpclear` with no argument wipes every persisted vehicle. ## Updates **How do I update the script?** 1. Download latest from CFX Portal 2. Backup config files 3. Replace all files except config 4. Restart the resource New database columns are added automatically on boot. No manual migration is needed.