Overview
ls_trucking 1.4.0 adds a complete freight job with contracts, routes, company vehicles, progression, and contractor work. This guide shows how to install it, change its settings, create routes, test the player experience, and fix common problems.
Requirements
- Required
- ox_lib and oxmysql
- Interaction
- ox_target, qb-target, or OX TextUI
- Framework
- Supported framework or standalone mode
- Inventory
- Supported inventory system
Installation
Place ls_trucking in your server resources.
Add the matching inventory items from the install folder when required.
Configure the framework, routes, vehicles, trailers, contracts, service bay, and random events.
Start the required resources before ls_trucking, then check the database summary when it starts.
Configuration
Framework
Set Config.Framework to auto, qb, qbox, esx, nd or nd_framework, nd_core, or standalone. The adapters cover Qbox, QBCore, ESX, ND_Framework, legacy ND_Core, and a standalone fallback; standalone servers may need custom economy, job, and permission integration.
Config.Framework = 'auto' -- auto, qb, qbox, esx, nd/nd_framework, nd_core, standaloneInteraction
Set Config.TargetSystem to auto, ox, qb, or textui. The auto mode prefers a running ox_target or qb-target resource and falls back to the built-in ox_lib TextUI provider, which uses E for a single action or a compact list when several actions are available.
Config.TargetSystem = 'auto' -- auto, ox, qb, textuiInventory
Select auto, ox_inventory, ND_Inventory, qb-inventory, lj-inventory, ps-inventory, qs-inventory, or custom. ND Inventory definitions register automatically; other systems use the applicable item templates from the install folder and can fall back to the internal route trunk when required.
Config.Inventory = {
System = 'auto',
Debug = false,
UseInternalTrunkFallback = true,
TrunkPrefix = 'trunk'
}04Fuel and vehicle keys
Config.Fuel can auto-detect or explicitly select ox_fuel, ND_Fuel, lc_fuel, LegacyFuel, ps-fuel, cdn-fuel, lj-fuel, qb-fuel, BigDaddy-Fuel, or no fuel integration. Config.Keys supports QB and Qbox vehicle keys, Renewed-Vehiclekeys, MrNewbVehicleKeys, wasabi_carlock, cd_garage, or none; OwnerOnly keeps an assigned LSFC vehicle's keys with the driver who checked it out.
Config.Fuel = { System = 'auto', DefaultFuel = 100.0 }
Config.Keys = {
System = 'auto',
GiveOnSpawn = true,
RemoveOnReturn = false,
OwnerOnly = true
}05Contracts and routes
Use config/contracts.lua for route groups, contracts, stops, businesses, layouts, and shared Config.CargoDepots. Version 1.4.0 adds short routes and routes that run in reverse order. Trailer job boards show work for their depot, while supported van and box-truck jobs can use a chosen cargo starting point. That choice recalculates mileage, estimated arrival time (ETA), and mileage pay without changing the stop order.
06Vehicles and trailers
Define company and contractor vehicles in config/vehicles.lua, route trailers and cargo-prop layouts in config/route_trailers.lua, and cargo or trolley behavior in config/items.lua. Give every enabled company unit a unique, permanent garageId so per-character plates and saved modifications survive configuration reordering. Custom tractors also need vehicle.meta trailer support for every assigned trailer model.
07Progression and contractor work
The default career has ten ranks, experience points (XP), reputation, vehicles and contract types to unlock, and higher pay as players progress. Players can unlock contractor work with owned vehicles and daily routes. In 1.4.0, offers match the private vehicle in use, trailer boards show work for the correct depot, and supported van or box-truck drivers can choose a cargo terminal. Eligible boards can also reserve configured government and military work.
08Service bay
Configure the LSFC service bay in config/service_bay.lua. It supports drivetrain, body, and full-service work; engine, transmission, brake, suspension, armor, turbo, and tire upgrades; appearance work; reputation discounts; install timing; and saved staged-turbo state for company and private fleet vehicles.
09Random events
Configure delivery events in config/random_events.lua. Rush orders, dock delays, traffic reroutes, receiver audits, customer call-aheads, and dispatch schedule changes can adjust route time, payout, XP, reputation, alerts, radio chatter, and urgency.
How to use and test it
Dispatch, receiver, and dock
Use the dispatch tablet to manage contracts, active jobs, garages, contractor work, company progress, and route history. The 1.4 receiver has shortcuts for Route, Manifest, Load, Vehicle, Radio, and Settings. Players can move and resize it and choose their own wallpaper. The compact dock keeps the destination, cargo, radio, signal, and route progress visible near the edge of the screen.
Cargo and trailer workflow
Van and box-truck drivers must stand behind the open rear doors to take a package or trolley. Trailer drivers select Inspect Trailer, choose Begin Inspection to record the connection and cargo-safety checks, then submit the checklist from the receiver. When target verification is configured, they can request clearance from the interaction panel instead. If an inspection is interrupted, it resumes where it stopped. A trailer that was already cleared only needs its connection checked again after it is reattached.
Contract route editor
Authorized admins can build commercial, government, and military route records in game. Capture ordered delivery points, quantities, trailer depots, drop and receiver positions; preview numbered points and estimated mileage; validate required fields and cargo totals; then copy the generated Lua into the configuration path shown by the editor. The editor does not rewrite configuration files while the resource is running.
/lsrouteeditor
/lsrouteeditor boxtruck commercial
/lsrouteeditor trailer government 1Player commands
Use the documented player commands to open dispatch, toggle the receiver or route dock, access the service bay while inside its area, or cancel an active route. F2 toggles the receiver and F3 opens dispatch by default.
/trucking
/truckreceiver
/truckui
/lsservice
/canceltruckingAdmin commands
Framework admin or god permissions and the configured FiveM ACE permissions protect the reset, progression, route, trailer, and trolley administration commands.
/lstruck_resetjob
/lstruck_clearpeds
/lstruck_giveitems
/lstruck_summary
/lstruck_rank <playerId> <rank>
/lstruck_rep <playerId> <amount>
/lstruck_resetstats <playerId>
/lsrouteeditor [type] [pool] [routeIndex]
/lstraileredit <trailerKey>
/lstrailertest <trailerKey>
/lstrailerclear
/lstrolleytest <cargoType>
/lstrolleyclearTroubleshooting
Dispatch opens but work cannot start
Check the startup validation messages, database-ready status, framework adapter, database create/alter permissions, and whether the configured target and inventory resources started before ls_trucking.
A vehicle will not spawn
Confirm the spawn area is clear, the player is within the configured depot request range, Config.SpawnOccupancy is correct, and the company or contractor vehicle is stored when required.
A trailer will not attach
Confirm the tractor vehicle has the required trailer model entries in its vehicle.meta trailer tables.
Cargo cannot be loaded or delivered
Confirm the cargo item exists in the selected inventory, install the matching item definitions, and keep UseInternalTrunkFallback enabled when the inventory needs the resource's internal route trunk.
Targets or prompts are missing
Confirm the configured interaction system is installed, started first, and matches the option selected for the resource.
Progress does not persist
Confirm oxmysql starts before ls_trucking and review the server console for database initialization or query errors.
A contractor route remains active after restart
Confirm startup reports a ready database schema, verify write access for contractor route state, and inspect trucking_contractor_profiles and trucking_contractor_vehicles when needed.
The service bay does not open
Confirm Config.ServiceBay.Enabled is true, the player is inside the configured radius, the vehicle is an active LSFC garage or private contractor vehicle, and any service-bay job and duty requirement is satisfied.
Local photos or trailer props do not appear
Verify exact NUI-relative photo paths and extensions. For trailer props, confirm the model loads, the trailer entry has cargoProps, and test the configuration with /lstrailertest <trailerKey>.
Reference
Configuration files
Keep each system in its documented file: the main settings and commands, service bay, contracts and routes, vehicles, trailers, cargo items, random events, and matching Lua/NUI locale sources.
config/config.lua
config/service_bay.lua
config/contracts.lua
config/vehicles.lua
config/route_trailers.lua
config/items.lua
config/random_events.lua
locales/*.lua
html/locales/*.jsDatabase tables
Automatic database setup runs at startup: it creates missing tables, applies supported column migrations, preserves existing data, and restores checked-out vehicle records to stored state after a restart. Version 1.4.0 adds trucking_garage.garage_id so stable configuration IDs preserve each character's assigned plate and saved modifications. sql/ls_trucking.sql remains a backup or manual-recovery reference rather than a normal install step.
player_trucking
trucking_history
trucking_garage
trucking_contractor_profiles
trucking_contractor_vehiclesLocal media and inventory artwork
The resource keeps dispatch, vehicle, trailer, wallpaper, and item imagery local. Its inventory_images folder provides four complete artwork choices—Regular, Arcade, Brass Noir, and Neon—with the same twelve cargo and manifest filenames in each set. Copy one complete set into the selected inventory's image directory, keep filenames unchanged, and use exact NUI-relative paths and extensions for dispatch media.
Locales
Matching Lua and NUI translations are included for English, Czech, German, Spanish, French, Dutch, Brazilian Portuguese, Russian, and Turkish. Supported codes are en, cs, de, es, fr, nl, pt-br, ru, and tr; values are case-insensitive, underscores are accepted, and regional values such as pt_BR or ru-RU fall back to their supported base locale.
Config.Locale = 'en'- Test configuration changes on a development server before applying them to an active economy.
- The repository LICENSE is GPL-3.0; retain it with redistributed copies.