QBCoreQBox

Garages

One resource for every garage on the server — public, job, gang and impound, plus police impound with insurance returns, player-to-player vehicle sales, buyable parking spaces and an in-game garage editor.

💡

Vehicles are spawned server-side after an ownership and state check, so a garage can never be used to duplicate a car or pull one the player doesn't own.

Requirements

ResourceRequiredNotes
ox_libYesCallbacks, menus, vehicle properties
oxmysqlYesGarages, spaces and job vehicles
ox_targetYesGarage and impound interaction
A frameworkYesqbx_core or qb-core
Vehicle keysOptionalqb-vehiclekeys / jj-vehiclekeys, wasabi_carlock, MrNewbVehicleKeys
BankingOptionaltgg-banking, Renewed-Banking, okokBanking, qb-banking — for impound society fees
FuelOptionalcdn-fuel, LegacyFuel, ps-fuel, ox_fuel, or native

Every optional backend is auto-detected and every third-party call is wrapped — a missing one never errors, it just falls back.

⚠️

ESX: the framework layer has an ESX branch for player, job and money, but the vehicle data layer uses the QBCore-schema player_vehicles table keyed by citizenid. ESX servers running that schema work; stock owned_vehicles does not.

Install

  1. Drop jj-garages into your resources folder.
  2. Import install/garages.sql. It creates three tables: jj_garages, jj_garage_spots and jj_job_vehicles.
  3. Add to server.cfg, after your framework, ox_lib, ox_target and oxmysql:
ensure jj-garages
  1. Restart and open the editor in-game with /garageeditor to place your first garage.

Vehicle images

The list shows a thumbnail per model, loaded from vehicle_images/. Images ship for the base game — for add-on vehicles, drop a PNG named after the spawn code into that folder.

Set Config.ShowVehicleImages = false to turn thumbnails off entirely.

First run

  1. Run /garageeditor as an admin.
  2. Create a garage, set its type (public, job, gang, impound, private or shared) and save. It persists to the database immediately — no config editing, no restart.
  3. Walk into the zone and press E (or use the radial, depending on Config.GarageAccess).
  4. Store a car, take it out, and check the fuel and condition bars carried over.

Players can find their cars at any time with /myvehicles, which lists every owned vehicle with its status and sets a waypoint.

Next: Configuration.