Configuration
Buyer settings live in the open config/ folder, while integration adapters live in the open custom/ folder. Restart the resource (ensure lx-busjob) after changes.
Config map
Section titled “Config map”| File | Contents |
|---|---|
config/shared.lua |
Integrations, depot location, vehicle defaults, doors, passengers, driving score |
custom/fuel/*.lua |
Open fuel adapters, including a custom template |
custom/keys/*.lua |
Open vehicle-key adapters, including a custom template |
custom/target/*.lua |
Open target adapters, including a custom template |
config/vehicles.lua |
Fleet catalog — add or remove depot vehicles |
config/contracts.lua |
Economy: pay scale, contract bonuses, daily board, objectives |
config/routes.lua |
Routes and stop lists (pay derives automatically from route length) |
locales/*.json |
All player-facing text |
Core defaults such as integration detection order, map projection, route construction, path-bake thresholds, passenger stream radius, and career compatibility live in encrypted shared/internals.lua. They are intentionally not buyer settings.
config/shared.lua
Section titled “config/shared.lua”Config.Debug = falseEnables verbose console logging. Leave false in production.
Integrations
Section titled “Integrations”Config.Integrations = { fuel = 'auto', keys = 'auto', target = 'auto',}Each slot accepts auto, custom, none, or an exact resource name. See Integrations for supported resources and buyer-editable adapters.
Config.Depot = { coords = vec4(456.63, -633.42, 28.5, 216.87), pedModel = `s_m_m_gentransport`, scenario = 'WORLD_HUMAN_CLIPBOARD', blip = { sprite = 513, colour = 38, scale = 0.75, label = 'Bus Depot', shortRange = true },}Config.BusSpawn = vec4(463.5, -628.51, 27.47, 172.24)Config.ReturnZone = { coords = vec3(463.5, -628.51, 27.47), radius = 8.0, passengerDisperse = vec3(454.8, -618.4, 28.5),}Move the depot anywhere: update Depot.coords (NPC), BusSpawn (vehicle spawn point + heading), and ReturnZone (shift end). passengerDisperse is where final passengers walk after alighting at the depot.
Vehicle defaults
Section titled “Vehicle defaults”Config.Vehicle = { model = `bus`, platePrefix = 'LXBUS', spawnFuel = 100.0,}Stops and doors
Section titled “Stops and doors”| Option | Default | Meaning |
|---|---|---|
Config.StopRadius |
12.0 |
Radius (m) around a shelter that counts as “at the stop” |
Config.DoorOpenMaxSpeed |
2.2 |
Max speed (m/s) at which doors may be opened |
Config.Doors |
board={1}, exit={3,1} |
Fallback door routing for vehicles without a doors table |
Passengers
Section titled “Passengers”Config.Passengers = { min = 2, -- min boarders per stop max = 4, -- max boarders per stop exitChance = 40, -- % chance a rider wants off at each stop maxExitPerStop = 2, models = { `a_f_y_hipster_01`, --[[ ... ]] },}Add any ped models you like to models. Fine-grained timing (door hold, queue spacing, exit timing) lives in shared/passenger_tuning.lua internals, but any key can be overridden by adding it to Config.Passengers — for example Config.Passengers.boardDoorHoldMs = 600.
Driving score
Section titled “Driving score”Config.Score = { baseScore = 100, speedLimit = 22.0, -- m/s (~79 km/h) before speeding penalties crashPenalty = 25, speedingPenalty = 8, doorWhileMovingPenalty = 30, improperStopPenalty = 15,}The final score scales tips at every drop-off. Raise penalties for stricter servers, lower them for casual ones.
Internal settings
Section titled “Internal settings”shared/internals.lua, shared/passenger_tuning.lua, and the path-bake implementation are not buyer configuration surfaces. Existing Config.Passengers keys can still override named passenger timing values when LX support specifically recommends one, but these are advanced compatibility overrides rather than stable public settings.