-
Notifications
You must be signed in to change notification settings - Fork 3
Fleet Operations
Version 3.2.0 Beta adds a player-owned taxi fleet alongside the normal personal shift. The player can continue driving, open My Fleet from the start screen or the map overlay, and monitor hired drivers without replacing the active passenger, cargo, or refueling state.
Fleet AI is experimental. Every hired car has its own TaxiDriver worker and supervised BeamNG AI instance, so it is more purposeful than an ordinary traffic car but can still hesitate or need intervention on unusual roads, junctions, vehicles, and traffic layouts.
Two sources are available:
- Garage: select an installed model/configuration and spawn a separate fleet car near a safe point around the player. The player is not moved into it.
- Traffic: recruit one of the nearest eligible AI traffic cars. TaxiDriver removes it from the normal traffic pool so BeamNG does not despawn it while employed.
Both paths charge the configured hiring fee and respect the active-driver limit. Dismissing a garage vehicle deletes that spawned car. Dismissing a recruited traffic vehicle returns it to the traffic system where possible.
flowchart TD
Open[Open My Fleet] --> Source{Hiring source}
Source -->|Garage| Select[Choose installed model and configuration]
Source -->|Traffic| Nearby[Choose a nearby eligible traffic car]
Select --> Validate{Enabled, capacity and funds valid?}
Nearby --> Validate
Validate -->|no| Error[Show localized reason]
Validate -->|yes| Fee[Charge hiring fee]
Fee --> Own[Detach from player/traffic lifecycle]
Own --> Worker[Create an independent fleet worker]
Worker --> Plan[Plan first assignment]
A worker randomly selects from the enabled passenger and delivery categories, builds a road-graph route between the configured minimum and maximum distance, and hands it to an isolated autopilot.lua supervisor. The simplified Fleet AI preset is independent from the detailed player AI Driver preset.
stateDiagram-v2
[*] --> Planning
Planning --> Working: route created
Planning --> Planning: graph temporarily unavailable
Working --> Resting: physical destination reached
Resting --> Planning: four-second break ends
Working --> Unpaid: ten-minute wage cannot be paid
Unpaid --> Working: wallet can pay wage
Working --> [*]: dismissed or session ends
Resting --> [*]: dismissed or session ends
Unpaid --> [*]: dismissed or session ends
On completion, the fare is based on driven distance and job time. Only the configured owner share is credited to the player's wallet. Hiring fees and wages are charged separately, so a larger fleet is not automatically profitable.
Default economy:
| Setting | Default | Allowed range |
|---|---|---|
| Owner share | 35% | 10–90% |
| Hiring fee | $75 | $0–1,000 |
| Wage per 10 minutes | $12 | $0–250 |
| Active drivers | 6 | 1–12 |
| Job distance | 1.5–8 km | 0.5–50 km |
| World label distance | 400 m | 50–1,000 m |
At least one job category always remains enabled after validation.
| Preset | Intended behavior |
|---|---|
| Careful | Long following gap, no overtaking or oncoming recovery, conservative exact approach |
| Standard | Obeys speed limits and signals, permits validated overtaking and recovery |
| Fast | Shorter gap, higher aggression, no legal-speed cap, but still obeys traffic signals and collision checks |
These presets configure the same underlying supervisor fields used by the player AI Driver: following, braking, rules, overtaking, clearance, reverse recovery, attempt count, and final-approach speed. They are deliberately exposed as three fixed choices to keep background-driver configuration manageable.
The fleet screen provides:
- total jobs, gross fleet revenue, owner revenue, wages, hiring costs, and net profit;
- active vehicle, source, passenger/cargo assignment, status, progress, remaining distance, speed, and AI status;
- a player-centered live map with owned taxis shown as purple markers;
- access during a personal trip through the purple fleet button over the map;
- localized world labels identifying an owned taxi and its current activity within the configured range.
The native minimap and Connected Phone canvas use separate rendering integrations but consume the same authoritative fleet marker list from Game Engine Lua. A dedicated map occlusion keeps the Active drivers overlay above the native road renderer.
/settings/TaxiDriver/fleet.json stores aggregate and per-vehicle statistics:
- rides, passenger rides, and delivery rides;
- driven distance;
- gross revenue and owner revenue;
- wages and hiring fees.
Active workers themselves are session-scoped. On level/session shutdown TaxiDriver stops their AI, releases recruited traffic vehicles, deletes separately spawned fleet vehicles, restores wrapped minimap functions, and flushes dirty statistics. A stale vehicle ID is removed from the active list instead of being persisted as a live employee.
flowchart LR
UI[TaxiDriverHUD fleet view] -->|fleet command| Main[taxiDriver.lua]
Main --> Manager[fleetManager.lua]
Manager --> Economy[Wallet delta and fleet.json]
Manager --> W1[fleetWorker #1]
Manager --> W2[fleetWorker #2]
Manager --> WN[fleetWorker #N]
W1 --> A1[autopilot supervisor #1]
W2 --> A2[autopilot supervisor #2]
WN --> AN[autopilot supervisor #N]
A1 --> V1[BeamNG vehicle #1]
A2 --> V2[BeamNG vehicle #2]
AN --> VN[BeamNG vehicle #N]
Manager --> NativeMap[Native purple markers]
Manager --> Labels[Localized world labels]
Main --> Publisher[HUD snapshot / Connected Phone]
Publisher --> WebMap[Canvas purple markers]
The main distinction is ownership: fleetManager.lua owns economy, persistence, hiring, markers, and lifetime; fleetWorker.lua owns one assignment state; each worker owns a separate autopilot.lua instance and runtime table. No worker shares the player's active trip state.
TaxiDriver Reloaded documentation · Version 4.0.3 · BeamNG.drive 0.39
- Installation and Quick Start
- Gameplay and Ride Lifecycle
- Order Generation and Routing
- Passengers, Fares and Ratings
- Cargo Deliveries
- Realistic Refueling
- Driver Profile and Persistence
- Settings, Localization and Audio
- Navigation and Map Controls
- External Web UI
- Driver UI Design
- AI Driver Engine 0.39
- AI Driver and Recovery
- Fleet Operations
- Troubleshooting and Compatibility