Browse documentationlunar_garage
On this page
Resource guide

lunar_garage

Expanded vehicle storage with an experimental Qbox path.

ESXQBCoreQbox experimentalOX LibOX MySQLqtarget APIQBX PropertiesVehicle keys
Resource page View source
Version
v2.0.3
Updated
Aug 15, 2026
License
GPL-3.0
01 / OVERVIEW

Start here

This compatibility build expands Lunar Scripts' garage resource with synchronized Qbox-oriented storage fields, car/boat/air normalization, dynamic property garage exports, and a retrieval flow that leaves the player outside the vehicle. Treat the Qbox path as experimental: its adapter files are present, but the current manifest does not load their nested paths on a pure Qbox server.

02 / REQUIREMENTS

What you need

Requiredox_lib, oxmysql, and a loaded framework adapter
Ready adaptersESX or QBCore
Qbox statusExperimental; manifest adapter load must be corrected
Interactionqtarget-compatible export when Config.Target is enabled
03 / INSTALLATION

Install and start

  1. 01

    Back up player_vehicles and the existing garage configuration before applying the build.

  2. 02

    Place lunar_garage in resources and confirm ox_lib, oxmysql, and the intended framework are installed.

  3. 03

    For Qbox testing, apply sql/qbox_lunar_garage.sql and correct the manifest so the nested Qbox client and server adapters load.

  4. 04

    Review AutoRespawn, target, keys, fuel, vehicle types, garage names, impounds, property distances, and spawn checks before starting it.

Recommended start orderplain text
ensure oxmysql
ensure ox_lib
ensure es_extended         # or qb-core; these adapters load today
ensure ox_target           # qtarget-compatible export when Target is enabled
ensure lunar_garage
ensure qbx_properties      # optional property integration
ensure qr-vehicleshop      # optional schema-compatible shop
04 / CONFIGURATION

Configuration checkpoints

01

Resolve the Qbox adapter blocker first

Before testing on a pure qbx_core server, update fxmanifest.lua so client/framework/qbx.lua and server/framework/qbx.lua are explicitly loaded. The current wildcards do not recurse into those nested folders.

02

Back up and migrate vehicle storage

Back up player_vehicles, then review sql/qbox_lunar_garage.sql for the job, type, stored, state, and index additions. Do not run the repair SQL without a backup because it returns every out vehicle to stored state.

03

Choose restart behavior deliberately

Config.AutoRespawn defaults to true. Every time the resource starts, out vehicles are returned to stored=1 and state=1; disable it when the intended server policy is impound recovery.

Exampleplain text
Config.AutoRespawn = true
Config.SpawnpointCheck = true
04

Configure interaction and access

Config.Target defaults to true and expects a qtarget-compatible export. Review job restrictions, public garages, impounds, property access, entry distance, parking distance, and spawn checks.

Exampleplain text
Config.Target = true
Config.PropertyGarageDistance = 3.0
Config.PropertyGarageParkingDistance = 3.0
05

Review keys and fuel

The build contains qbx_vehiclekeys and qb-vehiclekeys handoff paths. Fuel can auto-detect ox_fuel, LegacyFuel, ps-fuel, cdn-fuel, or BigDaddy-Fuel before falling back to native levels.

05 / USAGE

Validate the resource

Test each vehicle type

Retrieve, park, and retrieve from impound at least one car, boat, and aircraft. Confirm each stays in its intended garage type and its stored and state fields change together.

Validate the retrieval behavior

Confirm the vehicle spawns at a clear point, remains locked, receives the intended fuel and keys, and turns the player toward it without placing the player in the seat.

Exercise property registration

When qbx_properties is used, test owner and keyholder access, separate entry and parking points, optional interiors, rental expiration, and resource restart registration.

06 / TROUBLESHOOTING

Common checks

Framework is nil on a Qbox server

This is the known experimental blocker. The Qbox client and server adapters are nested one directory deeper than the current manifest wildcard loads; explicitly add those paths before retesting.

A target export is missing

With Config.Target enabled, start a resource that exposes the qtarget-compatible AddCircleZone API before lunar_garage, or disable target mode and configure the TextUI path.

Vehicles mix between garage types

Confirm player_vehicles contains the type column, the rows use values the normalizer recognizes, and each garage has the correct car, boat, or air Type value.

Vehicles unexpectedly return after restart

Config.AutoRespawn is true by default and deliberately marks all out vehicles stored when the resource starts. Disable it if the server should send those vehicles to impound instead.

07 / REFERENCE

Source and release notes

  • Qbox support is experimental until fxmanifest.lua explicitly loads the nested Qbox adapters; ESX and QBCore adapters load under the current manifest.
  • The qbx_properties and qr-vehicleshop paths are optional. The shop uses compatible schema and garage names rather than a hard Lunar API call.
  • The repository is a manual GPL-3.0 derivative of Lunar Scripts' archived project and retains Lunar Scripts attribution.
  • The manifest remains 2.0.3 and the repository has no fork-specific tag or release, so this guide describes a repository snapshot rather than a formal release.