Skip to content

Troubleshooting

Troubleshooting

Concrete fixes for the issues you're most likely to hit, all grounded in the resource's real config and dependencies.

"No free bay" / players can't rent

Cause: every bay in Config.SpawnPoints is currently held (each is reserved for Config.SpawnHoldSeconds after a spawn), so the server refuses the rental with err_no_spawn. No money is charged.

Fix: add more entries to Config.SpawnPoints. More bays = more simultaneous rentals. You can also lower Config.SpawnHoldSeconds if renters drive off quickly.

Car doesn't spawn

Cause: the vehicle model isn't in the game (missing addon / typo). The client checks IsModelInCdimage and shows the err_model_missing notification.

Fix: verify the model in Config.Vehicles is spelled correctly and, for addon cars, that the vehicle resource is started before bupa-rental.

Keys aren't given

Cause: Config.VehicleKeys doesn't match your server's keys resource, or that resource isn't running.

Fix: set Config.VehicleKeys to one of qbx_vehiclekeys, qb-vehiclekeys, mk_vehiclekeys, Renewed-Vehiclekeys, qs-vehiclekeys, or use custom and wire your calls in bridge/keys/custom.lua. Use none to disable key handling entirely.

Contract item icon missing

Cause: the icon image isn't in your inventory's images folder.

Fix: copy bupa-rental/img/rental_contract.png into ox_inventory/web/images/ (or qb-inventory/html/images/), or point the item image at nui://bupa-rental/img/rental_contract.png. Restart the inventory afterwards.

Using the contract item does nothing

Cause: the item isn't registered as usable, or Config.UseRentalDocument is off.

Fix: ensure Config.UseRentalDocument = true. On ox_inventory the item must include server = { export = 'bupa-rental.useRentalContract' }. On QB-Core the item just needs useable = true — the resource registers the handler itself.

Interface text is in the wrong language / all English

Cause: the ox:locale convar isn't set, or it's set to a code without a matching locales/<code>.json.

Fix: add setr ox:locale "tr" (or another supported code) to server.cfg. Unset keys fall back to English by design.

Rentals aren't saving / lost after restart

Cause: oxmysql isn't ready or started after bupa-rental.

Fix: confirm ensure oxmysql runs before ensure bupa-rental, and that your database connection string is valid. The tables are created automatically on first start under MySQL.ready; with Config.RestoreRentalsOnStart = true, active rentals are re-tracked after a restart.

UI won't open at the NPC

Cause: the interaction method doesn't match your installed resources, or the UI wasn't built.

Fix: set Config.Interaction to a system you actually run (ox_target, qb-target, textui, marker), and make sure you ran npm run build in web/ so web/build exists.

Wrong price charged

There's nothing to fix here by design: the server always recomputes the price from Config.RentalUnits and ignores whatever the client sends. If a price looks wrong, adjust the vehicle price (per-day base) or the unit mult values in config.lua.

Set Config.EnableDebug = true for verbose logs and the rentalui test command while diagnosing issues.