SleepyCode
Home
AboutBlogSubscriptionDocs
Cart0
SleepyCode
Cart0
  • πŸ’£Documentation

Scripts

  • Multicharacter
  • DevTool
  • Fishing
  • πŸ—ƒοΈGarages V2
    • What's New
    • Installation
    • Config File
    • Features
    • Exports and Hooks
    • Framework and Integrations
    • Commands
    • Troubleshooting
  • 🚌Bus Job
  • πŸš—Vehicle Shop V1
  • πŸ—ƒοΈGarages V1
  • 🍁Selldrugs
  • πŸŽ…Advent Calendar
  1. Docs
  2. /Garages V2
  3. /Config File

Garages V2

Config File

Configure Garages V2 gameplay, framework, database, webhook, and validation settings.

On this page12 sections
  • General
  • Target system
  • Car keys
  • Keys and markers
  • Vehicle classes and allowed types
  • Blips and TextUI
  • Impound and police tow
  • Boats, showroom, and hide car
  • Insurance, plates, admin, and cache
  • Server config
  • Framework config
  • Database config

Garages V2 uses two main config files:

  • shared/ConfigClient.lua
  • shared/ConfigServer.lua

Changes apply after a resource restart.

GeneralLink copied

OptionTypeDefaultDescription
Config.DebugbooleanfalseEnable debug logging for target, carkeys, locale, database, and framework info
Config.ImgDirectorystring"nui:/ox_inventory/web/images/"Vehicle image path used in the UI
Config.Localestring"en"Locale file name from locales/

Target systemLink copied

OptionTypeDefaultDescription
Config.UseTargetbooleantrueUse a target system instead of markers and keys
Config.Target.Resourcestring""Force a specific target resource
Config.Target.KnownResourcestableauto-detect listSupported target resources

Auto-detect order:

  • ox_target
  • qb-target
  • qtarget
  • interact

If no target resource is found, the script falls back to markers and keys.

Car keysLink copied

OptionTypeDefaultDescription
Config.CarKeys.Resourcestring""Force a specific car keys resource
Config.CarKeys.KnownResourcestablesupported listSupported car key resources
Config.CarKeys.functionsfunction or nilnilCustom key handler

Supported car key integrations:

  • qb-vehiclekeys
  • vehicles_keys
  • mk_vehiclekeys
  • qs-vehiclekeys
  • MobbKeys
  • Renewed-Vehiclekeys
  • brp-vehiclekeys
  • t1ger_keys
  • jacksam_vehiclekeys

Custom handler example:

Lua
Config.CarKeys.functions = function(source, plate, action)    if action == "addKey" then        exports.my_keys:GiveKey(source, plate)    elseif action == "removeKey" then        exports.my_keys:RemoveKey(source, plate)    endend

Keys and markersLink copied

Keys

OptionTypeDefaultDescription
Config.Keys.Interactnumber38Interact key
Config.Keys.HideCarnumber38Store vehicle key

Control reference: FiveM controls (opens in a new tab)

Markers

OptionTypeDefaultDescription
Config.Marker.Typenumber23Marker type
Config.Marker.Sizevector3vec3(1.2, 1.2, 0.5)Marker size
Config.Marker.Colortable{r=30, g=144, b=255, a=180}RGBA color
Config.Marker.DrawDistancenumber8.0Draw distance
Config.Marker.BobUpDownbooleanfalseBobbing animation
Config.Marker.FaceCamerabooleanfalseFace camera
Config.Marker.RotatebooleanfalseRotate animation

Vehicle classes and allowed typesLink copied

Vehicle classes

OptionTypeDefaultDescription
Config.Classes.carstring"car"Car type name
Config.Classes.seastring"sea"Boat type name
Config.Classes.airstring"air"Aircraft type name
Config.Classes.bikestring"bike"Bike type name

Allowed types per zone

OptionDescription
Config.AllowedTypes.VehicleTypes allowed in vehicle garages
Config.AllowedTypes.BoatTypes allowed in boat garages
Config.AllowedTypes.PlanesTypes allowed in aircraft garages

Blips and TextUILink copied

Blips

OptionTypeDescription
Config.Blip.VehicleGaragetableDefault car garage blips
Config.Blip.PlanesGaragetableDefault aircraft garage blips
Config.Blip.BoatsGaragetableDefault boat garage blips

TextUI

OptionTypeDescription
Config.TextUi.KeyControlnumberInteraction key
Config.TextUi.StyletableUI style object
Config.TextUi.showfunctionCustom TextUI renderer

Impound and police towLink copied

Impound

OptionTypeDefaultDescription
Config.Impound.PedModelstring"s_m_y_dockwork_01"Impound NPC model
Config.Impound.Targettabledefault tableTarget settings
Config.Impound.Bliptabledefault tableDefault impound blip
Config.ImpoundPrice.Accountstring"money"Payment method
Config.ImpoundPrice.Pricenumber5000Default release fee

Police tow

OptionTypeDefaultDescription
Config.PoliceTow.EnabledbooleantrueEnable police tow system
Config.PoliceTow.ImpoundNamestring"police_impound"Default police impound
Config.PoliceTow.MaxHoldHoursnumber72Maximum hold duration
Config.PoliceTow.DefaultHoldnumber24Default hold duration
Config.PoliceTow.RequiredJobstable{"police", "sheriff"}Jobs that can tow
Config.PoliceTow.NotifyPlayerbooleantrueNotify owner on tow

Police tow commands

OptionTypeDefaultDescription
Config.PoliceTowCommands.ImpoundPolicestring"impoundpolice"Police tow command
Config.PoliceTowCommands.MassTowstring"odholuj"Admin mass tow command

Boats, showroom, and hide carLink copied

Boats

OptionTypeDescription
Config.Boats.PedModelstringBoat garage NPC model
Config.Boats.Coordsvector4Default NPC position
Config.Boats.TargettableTarget settings
Config.Boats.BliptableBlip settings

Hide car

OptionTypeDefaultDescription
Config.HideCar.iconstring"fa fa-car"Target icon
Config.HideCar.labelstring"Store vehicle"Target label
Config.HideCar.distancenumber2.0Interaction distance
Config.HideCar.NoTargetTextstring"[E] Store vehicle"Non-target prompt

Showroom DUI

OptionTypeDefaultDescription
Config.Showroom.PedModelstring"a_m_m_salton_01"Showroom NPC model
Config.Showroom.Dui.Widthnumber512Texture width
Config.Showroom.Dui.Heightnumber256Texture height
Config.Showroom.Dui.RoofExtranumber0.5Height offset
Config.Showroom.Dui.MaxDrawDistancenumber8.0Draw distance
Config.Showroom.Dui.SpriteSizenumber1.2Base sprite size
Config.Showroom.Dui.WarmupFramesnumber60Warmup frames
Config.Showroom.Dui.InitTimeoutMsnumber5000Init timeout
Config.Showroom.Dui.TextureRetriesnumber4Retry count
Config.Showroom.Dui.TextureRetryWaitMsnumber120Retry delay

Insurance, plates, admin, and cacheLink copied

Insurance

OptionTypeDefaultDescription
Config.Insurance.CacheTtlSecondsnumber300Server-side insurance cache lifetime
Config.Insurance.CooldownSeconds.Buynumber3Buy cooldown
Config.Insurance.CooldownSeconds.Cancelnumber3Cancel cooldown
Config.Insurance.CooldownSeconds.Checknumber1Check cooldown
Config.Insurance.CooldownSeconds.GetVehicleInsurancenumber1Insurance detail fetch cooldown
Config.Insurance.ExtendFromActivePolicybooleantrueExtend from current policy end date
Config.Insurance.Features.FreeRepairbooleantrueEnable free repair benefit
Config.Insurance.Features.ImpoundDiscountbooleantrueEnable impound discount benefit
Config.Insurance.Features.ProtectDeletebooleantrueEnable delete protection

Insurance tier fields

FieldTypeDescription
labelstringDisplay name
pricenumberPurchase price
accountstringPayment account
daysnumberDuration in days
freeImpoundbooleanFree impound release
impoundDiscountnumberDiscount from 0.0 to 1.0
freeRepairbooleanFree repair on pull
protectDeletebooleanPrevent admin deletion

Default tiers:

TierPriceDaysImpound DiscountFree RepairDelete Protection
Basic$5,0003025%NoNo
Standard$12,0006060%YesNo
Premium$25,00090100%YesYes

Example custom tier:

Lua
Config.InsuranceTiers.vip = {    label           = "VIP",    price           = 50000,    account         = "bank",    days            = 180,    freeImpound     = true,    impoundDiscount = 1.0,    freeRepair      = true,    protectDelete   = true,}

Plate change

OptionTypeDefaultDescription
Config.ChangePlate.Commandstring"plate"Plate UI command
Config.ChangePlate.Pricenumber5000Plate change cost
Config.ChangePlate.Accountstring"money"Payment account
Config.ChangePlate.PlateLength.Minnumber6Minimum length
Config.ChangePlate.PlateLength.Maxnumber8Maximum length
Config.ChangePlate.BlackListedWordstable{}Blocked words

Example blacklist:

Lua
Config.ChangePlate.BlackListedWords = { "ADMIN", "POLICE", "SWAT" }

Give car and admin panel

OptionTypeDefaultDescription
Config.GiveCar.Commandstring"givecar"Give car command
Config.GiveCar.Adminstable{"best", "admin", "superadmin"}ESX admin groups
Config.AdminPanel.Commandstring"garagesadmin"Admin panel command
Config.AdminPanel.Shortcut.EnabledbooleantrueEnable shortcut
Config.AdminPanel.Shortcut.HoldKeynumber21Hold key
Config.AdminPanel.Shortcut.PressKeynumber29Press key

Sub-owner, cache, validation, and version check

OptionTypeDefaultDescription
Config.SubOwner.Commandstring"subowner"Add co-owner command
Config.Cache.VehicleTtlSecondsnumber8Vehicle list cache
Config.Cache.AvatarTtlSecondsnumber300Avatar cache
Config.Validation.MaxPlateLengthnumber8Max plate length
Config.Validation.MaxNameLengthnumber64Max name length
Config.Validation.MaxGarageLengthnumber128Max garage name length
Config.VersionCheck.EnabledbooleantrueEnable version checks
Config.VersionCheck.UrlstringGitHub raw URLVersion file URL

Server configLink copied

Webhook

OptionTypeDefaultDescription
ConfigServer.Webhookstring""Discord webhook URL
ConfigServer.SteamAPIKeystring""Steam API key for avatars

Security

OptionTypeDefaultDescription
ConfigServer.Security.EnableAntiExploitBanbooleantrueBan on detected exploits
ConfigServer.Security.BanReasonPrefixstring"[sc_garages anti-exploit] "Ban reason prefix

Log templates

Each ConfigServer.Logs entry supports these fields:

  • Title
  • Color
  • ShowAvatar
  • Fields

Field values support placeholders like %1, %2, and %3.

Common log keys include:

  • PullCar
  • HideCar
  • ImpoundCar
  • ImpoundPickup
  • TransferCar
  • ChangePlate
  • BuyInsurance
  • CancelInsurance
  • AdminAddVehicle
  • AdminRemoveVehicle
  • AdminEditVehicle
  • AdminCreateGarage
  • AdminDeleteGarage
  • AdminCreateImpound
  • AdminDeleteImpound
  • AdminCreateShowroom
  • AdminDeleteShowroom

Framework configLink copied

Framework-specific options are stored in framework/shared/config.lua.

Lua
Bridge.Config.ESX = {    AdminGroups = { "admin", "superadmin", "owner" },}Bridge.Config.QBCore = {    AdminPermissions = { "admin", "god" },    DefaultCommandRank = "admin",    NotifyTypeMap = { ... },}Bridge.Config.QBox = {    AdminGroups = { "admin", "superadmin", "god", "owner" },}Bridge.Config.Standalone = {    AdminAces = { "command", "admin" },}

Database configLink copied

Database tables and column names are fully configurable through Config.Database.

Tables

OptionDefaultDescription
Config.Database.Tables.OwnedVehicles"owned_vehicles"Main vehicle table
Config.Database.Tables.VehicleHistory"vehicle_history"Vehicle history table
Config.Database.Tables.Users"users"Users table
Config.Database.Tables.Jobs"jobs"ESX jobs table

Columns

OptionDefaultUsed in
Owner"owner"Vehicle owner identifier
CoOwner"co_owner"Co-owner identifier
Plate"plate"Vehicle plate
VehicleData"vehicle"JSON vehicle props
VehicleType"type"Vehicle type
Stored"stored"Storage state
Parking"parking"Last known location
Insurance"insurance"Insurance JSON
ImpoundName"impound_name"Active impound
ImpoundedAt"impounded_at"Impound timestamp
PoliceHoldUntil"police_hold_until"Hold expiry
ImpoundReason"impound_reason"Impound reason
LastUsed"last_used"Last interaction

History columns

OptionDefault
HistoryAction"action"
HistoryDetails"details"
HistoryActor"actor"
HistoryActorName"actor_name"
HistoryLocation"location"
HistoryCreatedAt"created_at"
← PreviousInstallationGarages V2Next β†’FeaturesGarages V2

On this page

  • General
  • Target system
  • Car keys
  • Keys and markers
  • Vehicle classes and allowed types
  • Blips and TextUI
  • Impound and police tow
  • Boats, showroom, and hide car
  • Insurance, plates, admin, and cache
  • Server config
  • Framework config
  • Database config
↑ Back to top
Ready when you are

Put your server on something that holds up

150+ servers run our resources - ESX, QBCore and standalone. Once the payment clears, the package is waiting in Keymaster.

Browse the catalogueAsk on Discord β†—
  • Delivered instantly
  • Support with no expiry
  • 100+ reviews
  • Payment via Tebex

SleepyCode

FiveM Scripts

Checkout is run by Tebex Limited- they handle payment, invoicing and refunds. Β© 2026

Community

  • Discord
  • YouTube
  • X (Twitter)

Navigation

  • Home
  • All Scripts
  • ESX Scripts
  • QBCore Scripts
  • Free Scripts
  • About
  • Blog
  • Documentation
  • Support

Legal

  • Privacy Policy
  • Tebex Privacy Policy
  • Terms of Service
  • Impressum

Β© 2026 SleepyCode. Not affiliated with Rockstar Games or Take-Two Interactive.

Powered byTebex