-
Notifications
You must be signed in to change notification settings - Fork 3
Changelog
- Added damage-based repair at physical gas stations and Magic Fuel, with timed progress, Realistic Mode pricing, free non-realistic repair, and shift cost accounting.
- Replaced the crash-prone vehicle reload with BeamNG 0.39's in-place sandbox repair path.
- Preserved the active shift and pre-repair fuel or battery level across the expected physics reset.
- Prevented repair and refueling from running at the same time in both UI and Lua.
- Fixed parking failure paths that could leave AI Driver unavailable until a vehicle reset.
- Manual disable now returns control immediately and restores brake, parking-input, and gearbox state; route-ending transitions still park the stopped vehicle.
- Added a 12-second native route-request watchdog and accepted same-session parking commands after failed route revisions.
- Removed temporary gearbox diagnostic logging after the faults were isolated.
- Added Brazilian Portuguese (
pt-BR) across the UI and Fleet world labels. - Restored full-map widget occlusion and fixed the BeamNG 0.39 rectangle around the moving player arrow with a scale-synchronized one-shot texture clear. Normal dirty-region rendering remains active between zoom changes, and minimized mode does not incur forced clears.
- Bumped Connected Phone assets to revision
402.
- JamDaBam: original repair implementation and verification in PR #2, plus the AI parking/gearbox/route-timeout investigation in issue #5.
- SweetRlk: Brazilian Portuguese translation from issue #7.
Release: TaxiDriver Reloaded 4.0.2
This patch restores the Connected Phone map on BeamNG.drive 0.39 and adds a manual LAN-address fallback for platforms where BeamNG cannot enumerate a usable private adapter.
- External-phone mode is identified explicitly by its dedicated bootstrap rather than relying only on BeamNG's
beamng.ingameflag. - Map delivery now uses revision-aware polling over
bngApi.engineLua, replacing customguihooks.triggerevents that BeamNG 0.39 no longer delivered to the external browser. - Every visible-map poll returns vehicle position and heading. Roads, terrain metadata, and the active route are returned only when their revisions change.
- Eco, Balanced, and Smooth poll at 2 Hz, 4 Hz, and 8 Hz respectively; canvas rendering retains its existing quality-specific frame cap.
- The native in-game phone map remains on its existing renderer.
- Added an optional persistent Manual LAN IP field for affected platforms, including native Linux configurations where automatic adapter discovery is unavailable inside BeamNG's sandbox.
- Manual values must be private IPv4 addresses assigned to the computer and pass the existing bind test. Invalid values fall back to automatic discovery.
- Fixed the lazy optional LAN wrapper so the manual address can be queued before the bridge loads without crashing the core mod.
- Target: BeamNG.drive 0.39.
- Existing
4.0.0-rcsettings and saved gameplay data remain compatible. - External UI cache revision:
401. - AI Driver and other gameplay systems are unchanged from
4.0.0-rc.
Special thanks to JamDaBam for diagnosing, implementing, and testing the Connected Phone polling repair in PR #4, and for contributing the validated manual LAN-address fallback in PR #1. These fixes made 4.0.1 possible.
Release: TaxiDriver Reloaded 4.0.1 — Connected Phone Map and LAN Reliability
This release candidate completes TaxiDriver's compatibility pass for BeamNG.drive 0.39 and replaces both the driver-facing visual system and the experimental player AI architecture.
- Rebuilt the native and Connected Phone layouts with a compact high-contrast black, white, and BeamNG-orange visual system.
- Reduced the native default to 340 × 650 px and supported minimum to 300 × 500 px at 100% scale.
- Replaced nested card borders with neutral surfaces, spacing, and intentional dividers while restoring visible control affordances and modal depth.
- Added bounded screen/control animations, a one-time
New shiftsheen, and reduced-motion behavior. - Added extreme-value audits for 193 shifts, long localized names, six-digit counters, large currencies/distances, HiDPI, and 180% scaling.
- AI Driver is disabled by default, requires an experimental warning confirmation, hides all route controls while off, and now keeps its master switch visually synchronized with the Lua runtime.
See Driver UI Design for the visual, fit, contrast, and motion contracts.
- Added an asynchronous adapter for BeamNG 0.39's route service with generation cancellation, legal target-edge orientation, protected approach nodes, short bounded start-path trimming, and a bounded graph-path fallback.
- Kept BeamNG stock AI authoritative for steering, throttle, braking, lane following, traffic lights, and ordinary avoidance.
- Added a bounded 50–200 ms traffic supervisor for smooth following, predicted collision corridors, confirmed threats, static clearance, guarded overtaking, and emergency evasion when braking is insufficient.
- Restricted overtaking to a checked same-direction passing lane with safe front/rear gaps, road width, junction distance, and static clearance.
- Prevented ordinary opposing traffic on bends and clear static rays from causing false repeated braking.
- Changed arrival to a full-stop target with only a 0.5 km/h wheel-speed sensor tolerance.
- Added a confirmed parking lifecycle: Park for automatics, Neutral for manuals, parking brake for both, then native AI shutdown.
- Passenger pickup now uses a 10-metre logical trigger without the walking dummy or horn sequence.
See AI Driver Engine 0.39 for architecture, route planning, threat gates, performance limits, profiles, diagnostics, and known limitations.
- Restored BeamNG 0.39 route arrows, the in-world destination marker, and stable orange minimap vehicle rendering.
- Fixed the post-80%-progress proposal queue so an expired or dismissed card schedules another offer instead of disabling all later proposals.
- Added a sequential UI regression test for multiple expiring and replacement offers.
- Target: BeamNG.drive 0.39.
- Existing
3.4.2-rcsettings and persistent gameplay records remain compatible. - External UI cache revision:
400-rc. - AI Driver remains experimental and is intentionally published in an off-by-default state.
- LuaJIT compiled all 41 Lua source/test files, 355 responsive UI states passed, LAN HTTP/WebSocket self-tests passed, and the required 62-entry archive was verified.
Thank you to the BeamNG developers for the official MCP server in BeamNG.drive 0.39. It enabled rapid AI-assisted in-game control, log inspection, UI verification, and repeatable mod test runs, dramatically reducing the release feedback cycle.
Release: TaxiDriver Reloaded 4.0.0 RC — New Driver UI and BeamNG 0.39 AI Engine
This patch release addresses native AI remaining active after route-ending events and protects dispatcher availability from malformed semantic map data.
- A verified final
Route Donenow enters BeamNG's nativestopmode. - The vehicle completes braking, applies the parking brake, restores its normal gearbox mode, and disables AI.
- Passenger cancellation, no-show, passenger collision, and every other transition back to dispatcher search use the same parked handoff.
- TaxiDriver releases any temporary pickup forced-stop input while preserving the native parking sequence.
- Dispatcher search immediately creates a per-map JSON file below
settings/TaxiDriver/route_cache. - Every offer shown in the regular pool or floating next-order card is stored with pickup, optional stops, destination, per-leg distances, type, timing, and fare metadata.
- Histories are schema-validated, endpoint-deduplicated, and bounded to 96 complete routes per map.
- If live generation fails, TaxiDriver restores a compatible cached passenger or delivery offer, assigns a fresh ID, and refreshes pickup distance when the live graph remains available.
- JSON follows BeamNG's active user folder when it has been moved through the Launcher.
- Trigger, Sites, parking-spot, and POI failures are contained independently.
- Stock
Routedistance failures use a protected graph-path fallback. - New stop discovery retains an in-memory road-edge fallback independent from semantic map modules.
- Passed LuaJIT gameplay combinatorics, 357 responsive UI states, Lua 5.1 syntax validation, archive inspection, and installed-artifact hash verification.
- Existing
3.4.1-rcpersistence remains compatible. Browser UI cache revision remains341-rc.
Release: TaxiDriver Reloaded 3.4.2 RC — Parked AI and Resilient Route Cache
This release candidate contains every change made after 3.4.0-beta.
Experimental AI notice: AI Driver remains an entertaining adapter around BeamNG's built-in vehicle AI. Map graphs, vehicle controllers and traffic behavior can still produce imperfect decisions.
- Replaced active use of the predictive free-space planner, local A* bypass, reverse recovery and custom steering controller with native
ai.driveUsingPath. - Added a strict player-vehicle identity boundary and disabled native traffic safe-teleport for the player's car.
- Added legal directed-edge target approaches that cannot immediately reverse through the opposing lane.
- Added Strict GPS route, independent from driving presets, to follow the exact displayed ground-marker node sequence.
- Recalculating the GPS route now refreshes an active strict route.
- Filtered coordinate-only ground-marker entries before native waypoint serialization.
- Native
Route Doneis accepted only inside the physical target radius; early completion causes an immediate bounded current-position replan. - Simplified presets and Custom settings to native aggression, following time, minimum gap, braking, traffic wait, speed-limit compliance and lane discipline.
- Removed the obsolete world decision-visualization setting.
- Added
taxiDriverStockAiObserver, a speed-only safety layer that leaves steering to BeamNG. - Added smooth following with configurable time/minimum gaps, stopping-distance compensation and jerk-limited speed caps.
- Added steering-arc traffic prediction for vehicles entering the swept path during a turn.
- Full emergency braking is reserved for critical TTC or physically excessive required deceleration.
- Added target-aligned final braking.
- AI passenger pickup now requires a full stop inside seven metres, emits two 600 ms horn pulses, waits for boarding and only then starts the passenger route.
- Physical passenger and cargo props use BeamNG's unicycle and small cardboard box with a safe logical fallback.
- Hitting the passenger cancels the order, records the incident and applies a major fine.
- Added independent enable switches and 0–100% probabilities for every Random Event.
- Added passenger no-show, VIP/quiet ride, forgotten item and temporary reroute.
- Added an opt-in native police inspection with installed-content selection, asynchronous preload, 500–600 m activation, pursuit flow and a possible administrative fine.
- Police inspection is disabled by default and requires a load-stall warning confirmation.
- Reviews now expand into trip records containing outcome, fare, date, penalties and Random Event history.
- The Fleet button remains available as
F 0during an active personal shift so hiring is always reachable. - Fleet map labels and controls remain CEF overlays above the native map.
- Every hired vehicle now receives a reduced-rate traffic guard: 200 ms and six curved samples versus the player's 100 ms and twelve.
- Fleet route/traffic state remains isolated per worker and never depends on the player's position.
- Extracted native map ownership, dynamic zoom, occlusions and navigation restoration into
navigationUi.lua. - Reduced
taxiDriver.luafrom 4,199 to 4,026 lines and from 179 to 166 main-chunk locals.
- Passed Lua combinatorics for native/strict-GPS routing, premature completion, traffic safety, physical pickup, event/police lifecycle, Fleet routing/economy and 500 deferred respawns.
- Passed 357 responsive native/Connected Phone UI states across all localizations and HiDPI.
- Built and verified a deterministic 59-entry archive.
- Existing
3.4.0-betasaves remain compatible. - UI cache revision:
341-rc.
This cumulative prerelease contains every change made after 3.3.1-beta.
- Added full, compact-map, and button-only stages to the native UI App.
- Added separate minimize and super-minimize controls with proper SVG icons and spacing.
- Added a collapsed-state attention indicator for new queued orders and notifications without forcing the app open.
- Every UI App session starts in the full interface; the Connected Phone layout remains independent.
- Fixed the Vehicles history sort menu so its options render above vehicle cards.
- Reduced
taxiDriver.luato 174 top-level locals and extracted ride rules, offer planning, Vehicle Bridge guards, fault boundaries, and optional LAN loading. - Added per-subsystem protected updates and independent teardown cleanup. One optional service failure no longer aborts the rest of the game tick.
- Added generation-checked asynchronous vehicle callbacks and re-resolution of the current object after Vehicle Config, reset, replacement, or level lifecycle changes.
- Routed dashboard energy, Realistic Mode setup, cheat fuel/charge assignment, paid refueling, Magic Fuel, and shift restoration through the guarded bridge.
- Fixed AI completion callbacks that could receive a missing vehicle.
- Removed the unused telemetry reset entry point while preserving Vehicle Config suspension and lazy stable-VM refresh through
vehicleScanGuard.
- Periodic HUD updates now build scalar partial patches; offers, shifts, Fleet, garage previews, and settings are rebuilt only after explicit state changes or collection dirty events.
- Fixed Fleet dirty-state consumption so collection changes are neither repeated forever nor lost between HUD intervals.
- Connected Phone is now an optional lazy service and cannot prevent core taxi gameplay from loading.
- Road-network export runs in a coroutine that yields every 500 links and rejects stale level builds.
- Split normal collision and exact-approach raycasts into independent fixed 50 ms clocks, removed FPS-dependent braking scans, and reused one nearby-object snapshot per pass.
- Filtered extended reset logging to the player and active TaxiDriver vehicle.
- Scoped the native-AI route observer to active route watching and restores the original GUI hook afterward.
- Stops heartbeat and LAN work at early UI or mission shutdown and restarts sharing safely for the next mission.
- Applied the second native-speaker Simplified Chinese revision and added collapse/restore labels in all supported languages.
- Passed Lua syntax validation, gameplay combinatorics including 500 deferred respawns, 343 responsive locale/HiDPI UI states, and LAN HTTP/WebSocket proxy tests.
- Existing
3.3.1-betasettings, progress, vehicle history, shift history, Fleet data, and LAN identity remain compatible. - UI cache revision:
340-beta.
Release: TaxiDriver Reloaded 3.4.0 Beta — Runtime Stability and Compact UI
This focused prerelease separates hired Fleet drivers from the experimental predictive AI Driver used by the player's vehicle.
- Replaced a full predictive/spatial AI supervisor per hired vehicle with a lightweight worker using BeamNG's native
ai.driveUsingPath. - Removed per-Fleet-worker scene scans, spatial sensor fans, local A* searches, parked-vehicle tracking, exact-approach controllers, and gearbox overrides.
- Kept the player's predictive AI Driver unchanged and isolated from Fleet route decisions.
- Staggered 250 ms employee monitoring across four update phases to prevent all workers checking on the same simulation tick.
- Preserved persistent hired vehicles, purple map/world markers, assignments, wages, owner share, and operating statistics.
- Rebuilds failed routes from the employee's current road segment and removes already passed nodes instead of sending the vehicle back toward the route origin.
- Validates native
Route Doneagainst the physical target before accepting arrival. - Uses a minimum 45-second no-progress window, at most three replans, and safe job abandonment/replacement when a destination remains unreachable.
- Added Lua combinatorics for native route dispatch, passed-node trimming, current-segment replanning, bounded recovery, and manager failure hand-off.
Existing 3.3.0 Beta settings, progress, Fleet records, vehicle history, and shift history remain compatible. UI cache revision: 331-beta.
Release: TaxiDriver Reloaded 3.3.1 Beta — Lightweight Fleet Routing
This cumulative prerelease contains every change made after 3.2.0-beta, including the Connected Phone reliability changes first published in 3.2.1 Beta.
Experimental AI notice: AI Driver is still a gameplay experiment around BeamNG's native vehicle AI. Predictive routing and spatial recovery reduce several visible failure modes but cannot guarantee human-level behavior on every map, vehicle, or traffic layout.
- Added early final-entrance planning at up to 75 m from passenger, cargo, stop, and refueling triggers.
- Evaluates all nearby drivable access edges, both graph start nodes, both access endpoints, and an exact local suffix into the physical trigger.
- Rejects graph candidates that initially run backwards, jump away from the active native route, or exceed the early 10/16 m cross-track envelope.
- Selects the shortest complete graph-prefix plus local-suffix route; local score and clearance break only near-equal costs.
- Added lower-bound ordering and branch-and-bound pruning for access candidates.
- Densifies the selected route to a maximum four-metre waypoint spacing and derives the controller timeout from path length.
- Tightened physical arrival to a 0.7–0.8 m completion radius and retained explicit verification after native
Route Done.
- Replaced narrow world-horizontal sensing with vehicle-aligned 180° forward and reverse fans sampled every 10 degrees.
- Added five full-width static probes per direction/path segment to catch chargers, posts, fences, and other thin edge obstacles.
- Added pitch/roll-aware rays plus ground height, step, slope, and cross-slope checks; traversable pavement can participate in a bypass while unsafe geometry is rejected.
- Merged map traffic with all scene vehicles and temporarily tracks nearby parked cars that BeamNG normally omits from
map.objects. - Added a bounded local A* graph over seven distance rings and 24 directions when a smooth minimum-offset bypass is insufficient.
- Expanded reverse-space planning and live rear-path rescanning for collision-checked 3–6 m escape maneuvers.
- Corrected the conversion between geometric left/right and BeamNG steering-input sign for forward and reverse recovery.
- Added curved trajectory collision checks, progressive/emergency braking, and rapid 1.5-second static-contact recovery.
- Fixed TaxiDriver's own safety-input override prematurely releasing a collision hold.
- Added a persisted Visualize AI decisions setting, disabled by default.
- Draws clear/blocked sensor rays, rejected/feasible paths, surface samples, spatial-graph nodes, selected waypoints, and planner status in world space.
- Strategic perception refreshes every 330 ms while rendering uses the cached result.
- Expanded AI JSONL records with graph/access nodes, route/local costs, candidate counts, waypoint no-progress state, and reverse fan/trajectory clearance.
- Added an explicit close button that dismisses the displayed proposed next order.
- Added a dedicated phase-independent Lua expiry guard using real time, including while Vehicle Config suspends normal gameplay updates.
- Clamps corrupt timers and closes stale offers safely.
- Added a browser-side monotonic deadline that stale HUD packets cannot extend.
- Added the new dismissal and visualization strings to all nine localizations.
- Added ranked Windows private-IPv4 discovery, bind validation, physical-adapter preference, VPN/virtual penalties, clean
lan.jsoncreation, and structured diagnostics. - Replaced the blank QR failure state with an actionable localized diagnostic.
- Uses BeamNG's native LAN listener when reachable and falls back to a bounded non-blocking LAN-to-loopback byte proxy when the game exposes only
127.0.0.1. - Added a live phone simulator covering the external HTML/assets,
bng-ext-app-v1WebSocket, heartbeat, and authoritativeTaxiDriverHUDStateresponse. - Incorporated 156 native-speaker Simplified Chinese corrections while preserving newer keys.
- Expanded Lua combinatorics for graph/reference alignment, candidate ordering, sensor coverage, footprint/surface checks, parked vehicles, steering direction, reverse/static recovery, offer expiry, and 500 deferred respawns.
- Verified 343 responsive UI states across both surfaces, all nine locales, compact/full layouts, and DPR 2 HiDPI.
- Passed LAN HTTP/WebSocket checks and deterministic 49-entry packaging.
- Existing 3.2.0/3.2.1 Beta settings and progress remain compatible. UI cache revision:
330-beta.
Release: TaxiDriver Reloaded 3.3.0 Beta — Predictive Routing and Spatial AI
This patch contains every change made after 3.2.0-beta.
- Replaced the loopback proxy path with BeamNG's native all-interface External UI listener.
- Added ranked IPv4 discovery from BeamNG adapter data, the native server result, the Windows route-selected socket, Winsock hostname resolution, and a previously confirmed address.
- Added RFC1918/CGNAT validation, real bind checks, physical-adapter preference, and penalties for common VPN, Hyper-V, VirtualBox, VMware, tunnel, Bluetooth, and other virtual interfaces.
- Added a Windows 10/11 fallback for systems where BeamNG reports only
127.0.0.1: LuaSocket resolves the computer hostname through Winsock and evaluates every returned IPv4. - Persisted
lan.jsononly after a usable address and server have been confirmed. - Added structured
native_server_started,adapter_discovery,hostname_discovery,route_discovery,address_candidate, andaddress_selecteddiagnostics. - Replaced the empty white QR square on failed startup with a localized Local server unavailable state and the underlying diagnostic message.
- Confirmed clean discovery with no pre-existing
lan.json:192.168.93.143was selected over the Hyper-V address172.25.192.1, and the phone connected successfully.
- Incorporated 156 native-speaker corrections to the Simplified Chinese interface while preserving keys introduced after the contributed locale revision.
- Added a plain-language BeamNG Repository description covering supported gameplay modes, physical cargo mass, shifts, AI driving, fleet operations, refueling, persistence, and diagnostics.
- Updated the runtime documentation for native LAN listening and the dedicated
networkAddress.luaselector.
- Passed LAN address-selection combinatorics, Lua syntax verification, and HTTP/WebSocket subnet transport checks.
- Verified 343 responsive UI states across the in-game UI App, Connected Phone, all nine locales, and DPR 2 HiDPI rendering.
- Passed deterministic 48-entry package validation. Existing 3.2.0 Beta settings, progression, fleet, vehicle, and shift data remain compatible.
Release: TaxiDriver Reloaded 3.2.1 Beta — Connected Phone Reliability
This prerelease contains every change made after 3.1.1-rc.
- Added My Fleet to the start screen and active-route map overlay.
- Added separate garage spawning and recruitment of existing traffic cars.
- Added one independent TaxiDriver AI worker per hired vehicle, with passenger/cargo assignments and Careful, Standard, or Fast background-driver presets.
- Added hiring fees, ten-minute wages, configurable owner share, maximum driver count, and insufficient-funds suspension.
- Added persistent fleet totals and per-vehicle statistics in
fleet.json. - Added a live fleet screen with job state, speed, progress, distance, controls, player-centered map, purple markers, and access during the player's own route.
- Added localized nearby world labels with a configurable 50–1,000 m range.
- Added full fleet interface and settings translations for all nine languages.
- Added an opt-in streaming
taxidriver_ailog_<timestamp>.jsonljournal from AI activation until manual deactivation/session shutdown. - Added route/target snapshots, graph progress, signal and lead state, speed caps, controller inputs, gearbox/ignition changes, recovery, collision safety, and damage records.
- Added route-segment projection plus curve/junction look-ahead speed caps.
- Added temporal and collision-ray validation for lead vehicles.
- Added a startup preflight and improved repeated-stuck escalation through controlled forward creep or rescanned reverse escape.
- Expanded Lua combinatorics for fleet presets, job combinations, hiring sources, economics, lifecycle, persistence, AI logging, recovery, and 500 deferred respawns.
- Verified 343 responsive UI states across both surfaces, all nine locales, compact/full layouts, and HiDPI.
- Passed LAN HTTP/WebSocket transport tests and deterministic 47-entry package validation.
- Bumped the UI asset revision to
320-beta; existing 3.1.1 RC settings and progress remain compatible.
Release: TaxiDriver Reloaded 3.2.0 Beta — Fleet Operations
This release candidate contains every change made after 3.1.0-beta.
Experimental AI notice: the AI driver remains a little clumsy and is provided mainly for fun. It is an experiment built around BeamNG's native vehicle AI, with an additional TaxiDriver supervisor that tries to make the built-in behavior more sensible in a visible passenger, delivery, and refueling scenario. It is not intended to behave like a production autonomous-driving system on every map, vehicle, junction, or traffic layout.
- Added Modest Novice, Cautious Driver, Balanced, Assertive, Mad Racer, and Custom AI profiles.
- Ready-made profiles apply all driving, rule, maneuver, and recovery parameters together. Manual controls appear only for Custom.
- Split traffic-rule obedience into independent Obey speed limits and Obey traffic signals switches.
- Added a nested Maneuvers and recovery section for overtaking, lane-change clearance, oncoming-lane recovery, reverse recovery, recovery-attempt count, and exact-approach speed.
- Existing 3.1.0 Beta settings migrate to Custom without losing values; new installations default to Balanced.
- Added the new settings to all nine interface localizations.
- Added rear-facing collision-fan planning across multiple steering angles.
- When no forward angle is available, AI can reverse 3–6 metres through the clearest rear corridor and then recalculate its minimum-offset forward bypass.
- Rear geometry and nearby vehicles are rescanned during the escape; a newly blocked path aborts and brakes.
- Added a configurable maximum recovery-attempt count so an unsuccessful AI stops for player intervention instead of repeating aggressive maneuvers indefinitely.
- Lane-change safety margin now scales required clearance both ahead and behind; exact-approach speed is independently configurable.
- Made Arcade gearbox selection idempotent and persistent for the current vehicle session.
- Removed direct gear-index manipulation so BeamNG Arcade remains responsible for clutch and direction selection.
- Stopped vehicles now remain in Drive under the service brake rather than cycling Drive/Neutral at traffic lights and slow queues.
- Added a parking-brake-protected handoff from Neutral/Reverse to forward motion and improved startup holding while ignition and powertrain state settle.
- Removed automatic low-energy fuel detours from AI mode.
- Low fuel or charge no longer interrupts or redirects a route on its own.
- Refueling now begins only after the player presses Refuel. AI can then be enabled explicitly on the fuel-route screen.
- Creating a fuel route releases the previous AI route, leaving the handoff decision to the player.
- Expanded Lua combinatorics for rear-fan planning, blocked reverse paths, Arcade idempotence, Drive holding, preset migration, independent rule combinations, and all recovery-setting bounds.
- Added functional checks for atomic presets, Custom-only controls, and the nested settings expander.
- Verified 301 responsive states across both UI surfaces, all nine locales, compact/full layouts, and HiDPI rendering.
- Kept the deterministic 44-entry archive and bumped the asset revision to
311-rc. - Existing 3.1.0 Beta persistence remains compatible.
- Added
shiftshistory.jsonand a focusedshiftHistory.luaservice. - Added previous-shift selection on the start screen and in the Driver Profile Shifts tab.
- Stored vehicle model/configuration, preview, fuel/charge state, ride totals, AI rides, income, costs and rating.
- Added 60-second active snapshots plus lifecycle saves so normal game shutdown does not require a finish button.
- Restoring a shift replaces the current vehicle and reapplies its compatible fuel/battery percentages after the replacement VM settles.
- Excluded zero-ride sessions, capped/sanitized history, and removed configurations whose vehicle mod is no longer installed.
- Added an AI control overlay to trip and refueling maps in both UI surfaces.
- Added a route supervisor for passenger pickup, stops, destination, cargo and fuel phases around BeamNG's native vehicle AI.
- Added aggression, following gap, braking, stuck-delay, traffic-rule, overtaking and oncoming-recovery settings.
- Added speed-dependent lead following, emergency-gap handling and automatic release when traffic clears.
- Added same-direction multi-lane overtaking with road metadata, clearance checks, cooldowns and turn signals.
- Added red/yellow signal decisions, stop-line commitment and intersection-exit priority.
- Fixed ordinary traffic-light queues entering permanent
Watching for clear lane: the lane and lead are now rescanned, and route/speed control is restored immediately after traffic moves. - Added immediate native
Route Doneobservation and physical-distance validation instead of trusting road-node completion. - Added exact low-speed final approach into order/fuel trigger volumes.
- Added repeatable engine-start requests and temporary Arcade gearbox control, with short stops held in Drive and the previous gearbox behavior restored afterward.
- Added
autopilotPerception.luato measure the road, obstacle dimensions, boundaries, traffic and both bypass sides. - Replaced fixed lateral recovery with the smallest collision-free seven-point smooth path.
- Added projected-traffic checks along the complete bypass corridor.
- Added lazy Vehicle Lua
taxiDriverAutopilotRecovery.luafor exact approach, bypass steering, indicators and completion callbacks. - Added three-wide straight/curved trajectory rays against dynamic oriented vehicle boxes and static geometry.
- Added progressive comfortable braking and immediate emergency braking from distance, closing speed and time-to-collision.
- Added critical-energy thresholds of 5% for combustion vehicles and 15% for EVs.
- Before pickup/loading, AI inserts the normal priority fuel detour without cancelling the accepted order.
- Passenger/cargo trips already underway are not interrupted; refueling waits until order completion.
- Maps without a compatible station stop and open Magic Fuel for player input.
- Kept the AI control accessible above the refueling map.
- Recorded AI use per order and exposed it in reviews, shifts, per-vehicle history and a cumulative Profile Analytics counter.
- Separated customer/order score from resulting profile rating with colored comparison states.
- Made review page size depend on actual available height and measured regular/AI row heights; recalculation covers resize, scale, locale, tab and data changes.
- Added Unlimited route length, removing the standard 25 km maximum while retaining the minimum and validation rules.
- Added complete Simplified Chinese localization, bringing the UI to nine languages.
- Added responsive shift cards, preview loading and restore progress.
- Kept shift persistence, AI supervision, perception and Vehicle Lua recovery in focused modules outside the LuaJIT-sensitive main chunk.
- Updated cache revision to
310-betaand deterministic packaging to 44 verified entries. - Passed 301 responsive UI states across nine locales, both UI surfaces, compact/full layouts, 80–180% scaling and DPR 2 HiDPI.
- Expanded Lua combinatorics for shift restoration, route limits, AI settings/phases, signals, queues, following, overtaking, early
Route Done, adaptive bypass, trajectory rays, powertrain/gearbox behavior and 500 deferred vehicle respawns.
The release remains a prerelease while AI behavior is tested across more maps, traffic configurations, powertrains and community vehicles. Existing 3.0.0 Beta persistence remains compatible.
This prerelease contains every change made after 2.25.1.
- Added independent external-map and terrain-layer switches.
- Added Eco (6 FPS / 0.5 s telemetry / 1× DPR), Balanced (15 FPS / 0.25 s), and Smooth (30 FPS / 0.125 s) quality modes.
- Replaced continuous canvas repainting with movement-, heading-, route-, speed-, and camera-driven rendering.
- Added idle-frame suppression and stopped rendering while the map view is not visible.
- Replaced repeated complete HUD documents with compact field-level patches while a phone is connected.
- Increased heartbeat tolerance from 3.5 to 8 seconds for mobile-browser timer throttling.
- Added cache revisions to external HTML, CSS, scripts, and localization requests.
- Added HUD epochs, revisions, and
baseRevisionvalidation. - Clients now reject missed, delayed, duplicated, and out-of-order patches and request a full snapshot automatically.
- Fixed the in-game app remaining on an accepted-offer screen after Connected Phone entered the trip.
- Fixed the phone map drawing one frame and then freezing while the vehicle moved.
- Made Lua's trip phase authoritative so hiding the game CEF layer cannot freeze the independently visible phone.
- Added explicit external view/visibility reporting and revision-aware client heartbeats.
- Prevented older periodic packets from reverting freshly changed settings, toggles, or language.
- Removed TaxiDriver telemetry and cargo extensions from BeamNG's automatic Vehicle Lua directory.
- Telemetry and cargo support now load only while needed and unload when inactive.
- Added a Vehicle Config guard that suspends the Angular root, minimap, scans, telemetry, cargo, and energy work before BeamNG rebuilds the vehicle VM.
- Added a 1.5-second settle period and generation checks before deferred vehicle-side work resumes.
- Prevented stale VM callbacks from overwriting the current vehicle.
- Treats live part changes on the same BeamNG object as the same vehicle-history entry.
- Prevented repeated detail scans, JSON writes, odometer jumps, and profile-row recreation during part changes.
- Added a 0–100% tank/battery control using the exact BeamNG energy-storage setter used by Realistic Mode.
- Fixed the range control transmitting a stale Angular value; Set now reads the actual HTML slider value.
- Updated rating assignment to re-rate all completed rides across profile totals, reviews, rating history, vehicle history, and shift summaries.
- Added God Mode, disabled by default, to preserve active trips across vehicle reset.
- Added Debug logging, enabled by default.
- Added structured
[TaxiDriver]operation, runtime, LAN, vehicle-lifecycle, warning, and error records. - Warnings and errors remain logged when verbose debug records are disabled.
- Added focused
hudPublisher.lua,vehicleScanGuard.lua, andlogger.luamodules. - Moved Vehicle Lua files from
extensions/autoto lazyextensionsloading. - Packaging now requires all new modules, rejects automatic TaxiDriver vehicle extensions, and verifies 40 archive entries.
- Passed 258 responsive UI states, eight localizations, scaling, compact layouts, and DPR 2 HiDPI rendering.
- Added 48 Connected Phone performance/God Mode/debug combinations.
- Added revision-gap, settings-race, hidden-CEF, frame-budget, lazy-extension, and 500-respawn regression coverage.
- Added a physical range-input test proving that selecting 73% transmits
cheatSetEnergyPercent(73). - Existing 2.25.1 settings and progression documents remain compatible.
See the 2.25.1 GitHub release for the complete native UI, minimap, mobile-audio, and long-route stability notes.
- Added a complete shift lifecycle with rides, gross income, fuel costs, penalty losses, net income, average rating, and a previous-shift summary.
- Renamed the primary action to Start Shift in all eight localizations.
- Added optional Random Events behind a separate persistent toggle: cancellation before pickup, destination changes, additional stops, conditional tips, and fragile cargo.
- Added order sorting by highest fare, nearest pickup, shortest duration, and income per kilometre/mile.
- Replaced the native HTML order selector with a CEF-safe button menu so sorting works at every interface scale.
- Added estimated income per minute and per kilometre/mile to order cards.
- Added projected final payout, fuel sufficiency, next-stop information, and a collapsible violation summary to active trips.
- Added a persistent per-configuration odometer in
vehicles.json. - Added the current vehicle's BeamNG preview, selector name, odometer, fuel/charge, and range to the start screen.
- Made the vehicle card open BeamNG's native vehicle selector.
- Made vehicle identity and mileage refresh immediately after switching vehicles or reloading a level.
- Expanded the Vehicles journal with mileage, ride and income totals, averages, ratings, passenger/cargo split, losses, fuel use/cost, and profit per distance.
- Added journal sorting and stopped retaining vehicles with zero completed work.
- Added a distinct Magic Fuel fallback for maps without a compatible station.
- Added quick-fill presets, before/after level, unit price, total cost, projected range, and active-order sufficiency.
- Split the main GE extension into focused persistence, routing, vehicle-control, vehicle-history, shift-tracking, and trip-event modules.
- Fixed Fatal Lua errors from unavailable
getRoadLinkand incorrect player-vehicle API usage. - Fixed stale selected-vehicle data and start-shift crashes.
- Added a deterministic packaging script with archive-entry and installed-hash verification.
- Expanded responsive visual and interaction coverage to 258 states across both interfaces, all eight locales, scaling, and HiDPI.
- Added a 20-state UI settings/scenario matrix and Lua combinatorics for four settings combinations across four order types.
- Added syntax checks for all 16 Lua files and regression coverage for sorting, vehicle selection/history, route lookup, refueling projections, and collapsed violations.
See also the 2.25.0 GitHub release.
- Added full-interface scaling from 80% to 180% in 10% steps for both the in-game UI App and Connected Phone Web UI.
- Added automatic migration from the former
fontBoostsetting to the equivalent newuiScalePercentvalue. - Added a Web Audio playback engine for Connected Phone, with decoded embedded sounds, overlapping event playback, and an HTML Audio fallback.
- Added short-lived audio event queuing so game events received before Safari unlocks audio can still play after the first interaction.
- Replaced text-only enlargement with layout-level scaling of typography, controls, icons, maps, spacing, and touch targets.
- Added high-scale layout adaptations that preserve the AppBar, keep trip content scrollable, keep the active-trip footer reachable, and wrap important values instead of truncating them.
- Made Connected Phone navigation start closer to the vehicle and zoom out more gradually at speed, with smooth camera interpolation and a smaller mobile vehicle pointer.
- Added automatic Connected Phone audio resume attempts after pointer, touch, keyboard, and Safari foreground events.
- Updated all eight localizations for the new interface-scale control and explanatory text.
- Fixed Connected Phone sounds that passed the manual test but were silently lost when game events fired on iPhone outside a user gesture.
- Fixed inconsistent scaling where headings and labels changed size while surrounding controls and geometry remained unchanged.
- Fixed high-scale content collisions, clipped trip information, and unreachable footer controls in compact layouts.
- Fixed overly aggressive Connected Phone map zoom that made the vehicle pointer dominate the useful road area at ordinary driving speeds.
- Expanded automated responsive coverage from 211 to 230 states across both interface modes.
- Added coverage for every scale step from 80% through 180%, legacy-setting migration, scaled geometry, map bounds, and HiDPI canvas rendering.
- Added Connected Phone map-radius checks at 0, 60, and 120 km/h.
- Added an iOS-style AudioContext gate test covering queued offline events, first-interaction unlock, normal online playback, and rapid overlapping event bursts.
- Introduced a consistent Noto Sans type system for captions, body text, labels, headings, titles, and display values across every font-size preset.
- Standardized spacing, radii, borders, colors, control sizes, and text contrast throughout the in-game phone and Connected Phone surfaces.
- Reworked the trip layout so the map and content share available space predictably, while the active-trip footer remains sticky and reachable.
- Removed avoidable ellipsis truncation from important trip, delivery, review, and settings content; values now wrap within collision-safe cards.
- Added dedicated Connected Phone styles for narrow phones, tablets, desktop browsers, landscape screens, safe-area insets, wide order grids, profile panels, and settings navigation.
- Preserved the app bar across Web UI states and improved compact-mode density at small and landscape resolutions.
- Added a large circular remaining-fuel gauge during fuel-station detours, including two-decimal quantity, percentage, and estimated range.
- Added maximum-capacity and percentage fields to vehicle-energy telemetry, including aggregation across compatible storage tanks.
- Fixed Connected Phone startup failing at Live trip state by subscribing the lightweight WebSocket client to BeamNG GUI hooks before requesting
TaxiDriverHUDState. - Improved the staged external loader on short landscape screens and kept all recovery controls reachable without horizontal overflow.
- Expanded automated coverage to 211 responsive states across the in-game UI and Web UI, all eight locales, three font scales, portrait/landscape layouts, and DPR 2 HiDPI rendering.
- Added 11 visual regression baselines, collision/overflow audits, native-resolution canvas assertions, and a regression check for the external GUI-hook subscription.
- Fixed the Cheat Zone rating setter so the chosen value is persisted and immediately republished to both HUD and profile views.
- Removed callback-incompatible
if/returncontrol flow from the UI-to-Lua rating command, resolving the Fatal Lua Error introduced by the short-lived 2.22.1 build. - Added independent switches for all seven TaxiDriver sound groups: clicks, new rides, online, offline, penalties, passenger messages, and overspeed warnings.
- Updated the Audio Test button to select only from currently enabled sound groups.
- Added regression coverage for the serialized rating command and muted overspeed-warning behavior.
- Synchronized all eight localization dictionaries at 324 keys each.
- Added the first implementation of per-sound audio switches.
- Added stricter validation and logging around Cheat Zone rating input.
- Attempted to return the authoritative rating through a callback; its generated conditional Lua command could fail and was replaced in 2.22.2.
- Added a configurable overspeed warning margin from 0–30 km/h, defaulting to 10 km/h.
- The trip speed-limit sign now turns red for the complete duration of an active warning.
- Added a one-shot overspeed alert that rearms only after speed returns below the trigger.
- Integrated the new sound with BeamNG Interface Volume, TaxiDriver app volume, Silent Mode, sound testing, and the external phone cache.
- Fixed Cheat Zone rating changes not refreshing the visible HUD/profile rating after pressing Set.
- Added interaction tests for rating updates and overspeed warning entry/release behavior.
- Added a detailed staged loader for game connection, runtime, interface/sounds, and live state.
- Added stable token identity, private IPv4 selection, QR pairing, and session-only startup behavior.
- Connected phone is always disabled when the UI App starts and must be enabled explicitly.
- Added live state reconstruction so refreshing the browser no longer resets the shift or current order.
- Added external sound caching and the same application/game-volume behavior as the in-game phone.
- Added a lightweight in-game phone button while an external device is connected.
- Removed Minimize from the external Web UI.
- Added a heading-following external canvas map with active route, complete chunked road graph, terrain tiles when available, vehicle position, and dynamic zoom.
- Added an in-mod LuaSocket bridge from the computer's private IPv4 address to BeamNG's loopback-only native External UI server. No companion executable is required in production.
- Added a real-subnet automated test that verifies HTTP, WebSocket Upgrade, and bidirectional data through the bridge.
- Added 41 mock-driven visual/interaction states covering full, compact, settings, connection, trip, cargo, fuel, loader, external map, overspeed, and other screens.
- Added best-effort trunk/tailgate operation during cargo loading and unloading.
Experimental networking requirement: Connected phone requires TCP port 8085 to be free and BeamNG.drive to have inbound private-network permission in the operating-system firewall/security suite. If the port is occupied or the game is denied network access, the external Web UI will not open from another device.
- Added experimental local-network sharing for the TaxiDriver phone through BeamNG External UI.
- Added synchronized in-game/external state and interactive browser controls.
- Added QR/link presentation, connection status, and trusted-network security guidance.
- Added an external-only phone runtime instead of launching BeamNG's complete UI in the browser.
- Rebuilt Settings as expandable General, Gameplay, Navigation, Audio, Connected phone, and Cheat Zone categories.
- Settings now apply automatically without a Save Settings button.
- Added Italian, bringing the interface to eight complete localizations.
- Added metric/imperial units and 12/24-hour clock formats.
- Added fully adjustable Custom difficulty sliders and individual penalty switches.
- Added a portable
difficulty.jsonfor sharing Custom difficulty configurations. - Added dynamic map-zoom intensity and passenger/delivery order-ratio settings.
- Added TaxiDriver volume control with a random Test sound button.
- Added Cheat Zone rating, review, wallet, economy multiplier, and progress-reset tools.
- Added long-distance cargo deliveries with 2–250 kg physical vehicle mass.
- Added weight-based payout premiums up to +150% at 250 kg.
- Added collision-only package damage, proportional payout reduction, and delivery ratings.
- Improved dispatcher fallback and spatial route diversity on sparse maps.
- Added a separate compact navigation dashboard with map and essential statistics.
- Added fuel/charge quantity and estimated range to the ride footer.
- Added TaxiDriver sound-volume control and sound testing.
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