Skip to content

Releases: noteMASTER11/TaxiDriverReloaded

TaxiDriver Reloaded 4.0.3 — Fuel Persistence and Player Feedback Fixes

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 04 Sep 08:42
a15fa82

4.0.3 — Fuel Persistence and Player Feedback Fixes

This patch addresses player-reported vehicle, navigation, fuel and UI problems on BeamNG.drive 0.39.

Vehicle and driving fixes

  • Suspend vehicle reads and actions throughout vehicle selection/configuration and the replacement settle period. Reject stale callbacks and avoid sending the old shift's cleanup to the newly selected car (#3).
  • Capture the driver's gearbox behavior before native AI switches modes. Passenger stops temporarily hold Realistic behavior so held braking cannot become Arcade reverse throttle, then restore the driver's mode (#6).
  • Reject newly generated and cached pickup, intermediate-stop and drop-off locations under tunnel ceilings or other static cover. Routes may still pass through tunnels (#10).

Fuel and energy

  • Save remaining fuel and charge by stable vehicle identity and restore them when a later Realistic Mode shift starts, instead of resetting purchased fuel.
  • Add Starting fuel in Gameplay settings: 5–30%, default 5%, for combustion tanks without a saved record. Electric vehicles retain their initial 30% charge.
  • Store energy separately in settings/TaxiDriver/fuel.json: Career uses profile plus inventory ID; Free Roam uses model plus parts configuration. Saved records take precedence over the initial-fuel slider.

Navigation and UI

  • Respect the game's existing floating-arrow and ground-marker preferences when TaxiDriver route guidance is enabled.
  • Preserve minimized and button-only views across native HUD recreation within the same game UI session.
  • Hide the native TaxiDriver UI and minimap while vanilla map, delivery and other non-driving screens own the UI.
  • Keep native app corners consistently rounded.
  • Add map dragging, + / − zoom and follow/reset in native and Connected Phone views, including Fleet.
  • Fix the initial native-route query to satisfy BeamNG's Lua callback-expression contract.
  • Refresh Connected Phone assets to revision 403; translate the new controls in all ten UI languages.

Compatibility and scope

  • Target: BeamNG.drive 0.39. Existing settings, profiles, progress, shift history, Fleet and LAN records remain compatible with 4.0.2.
  • Fuel saved before this feature existed cannot be reconstructed; a vehicle without a fuel record uses the configured initial reserve once.
  • Fuel checkpoints cover TaxiDriver's Realistic Mode tracking. Career identity separation does not imply full Career gameplay support.
  • Free Roam cars with the same model and parts configuration share a fuel record. The covered-stop filter can also exclude stops beneath bridges or awnings.
  • Shift recovery/flying-vehicle reports, initial passenger opinion, voice navigation, an iPad redesign and a decorative phone frame are outside this patch.

Acknowledgements

Thanks to TheBiggestNerd2014 for the UI, fuel, map and tunnel feedback in #10, to the reporters of #3 and #6, and to the player who supplied the detailed private fuel/navigation/UI report.

Release: TaxiDriver Reloaded 4.0.3

Validation

  • Maintainer confirmed the candidate works in-game before publication.
  • LuaJIT syntax: 56 source/test files passed.
  • 11 focused Lua regression scripts passed, including fuel lifecycle, vehicle replacement, passenger-stop controls, navigation, native callback syntax, minimap rendering and repair.
  • 8 native/Connected Phone UI scenarios passed in Microsoft Edge.
  • HUD and Connected Phone JavaScript syntax passed.
  • LAN HTTP and bidirectional WebSocket self-tests passed.
  • Legacy suite limitations: combinatorics.lua fails its route-suffix assertion at line 311 on both this candidate and unchanged 4.0.2. The older full visual suite also fails on unchanged 4.0.2 (a source-size assertion); on this candidate its old vehicle-history source-pattern assertion is additionally obsolete. Those suites are not reported as passing.

Download integrity

Archive: taxidriver.zip, 905,716 bytes, 66 files. Every archived file was compared byte-for-byte with the Git source archive exported from the release tag.

SHA-256: 337C123E025BADAD8C0C65B10163CD28A2746E930BF7BEE33544B0EB7EA88E59

TaxiDriver Reloaded 4.0.2 — Repair Services and AI Hand-back

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 10 Aug 12:35
b69c752

TaxiDriver Reloaded 4.0.2 integrates the community fixes tested after 4.0.1 and hardens them for BeamNG.drive 0.39.

Vehicle repair

  • Adds damage-based repair at physical gas stations while preserving the active shift.
  • Adds the same repair workflow to Magic Fuel.
  • Keeps repair paid in Realistic Mode and free outside it.
  • Replaces the crash-prone vehicle reload with BeamNG 0.39's in-place sandbox repair path, then restores the previous fuel or battery level.
  • Prevents refueling and repair from running simultaneously.

AI Driver hand-back

  • Clears parking fault states that could leave AI Driver unavailable until a reset.
  • Manual disable now releases AI, brake, parking, and temporary gearbox control immediately.
  • Route completion and route-ending events still stop safely and select Park, or Neutral plus parking brake for a manual gearbox.
  • Adds a timeout for native route-planner jobs that never return.
  • Restores the player's original Arcade/Realistic gearbox behavior after AI control.

UI, minimap and localization

  • Adds complete Brazilian Portuguese (pt-BR) UI and Fleet localization.
  • Restores the native minimap occlusion masks so full-mode trip widgets stay above the map.
  • Fixes the BeamNG 0.39 dirty-region rectangle around the full-mode player arrow by retaining normal WhenDirty rendering and scheduling one transparent full-texture clear for the next frame only when dynamic zoom changes scale. Minimized mode remains on the stock low-cost path.
  • Refreshes Connected Phone asset revision 402 to avoid mixed cached UI files.

Compatibility

  • Target game version: BeamNG.drive 0.39.
  • Existing settings, profiles, progress, histories, route cache, Fleet data, and LAN identity remain compatible with 4.0.1.

Thanks

  • Thank you to JamDaBam for the original gas-station repair implementation and extensive in-game verification in PR #2, and for diagnosing the AI parking, gearbox restoration, stale control revision, and route-timeout failures in issue #5.
  • Thank you to SweetRlk for preparing and sharing the Brazilian Portuguese translation in issue #7.

Known limitation

  • Issue #3, the intermittent invisible vehicle after changing vehicles during a shift, is not claimed as fixed because it was not reproduced reliably enough for a validated targeted change.

Validation

  • LuaJIT syntax checked for 46 source and test files.
  • Focused AI hand-back, minimap scale-transition clearing, and in-place repair regressions passed.
  • The diagnostic in-game run reduced frequent full-mode zoom flashes to one occurrence; its log identified BeamNG 0.39's required numeric clear-color argument, now covered by the regression test.
  • The release archive contains the expected 64 entries.

Download integrity

taxidriver.zip SHA-256: C7D2AA9E2280F03D2593F6911A7C0A4A2A712737ADC7CB9E11D38DC9D0300498

TaxiDriver Reloaded 4.0.1 — Connected Phone Map and LAN Reliability

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 30 Jul 00:16

TaxiDriver Reloaded 4.0.1

Compatibility patch for BeamNG.drive 0.39 focused on Connected Phone reliability.

Changes

  • Restored the Connected Phone navigation map with revision-aware polling over bngApi.engineLua.
  • Vehicle position and heading now update at the selected map-performance rate; road, terrain, and route payloads are sent only when their revisions change.
  • Added an optional persistent Manual LAN IP fallback for systems where BeamNG cannot enumerate a usable private network adapter.
  • Added validation and bind checks for manual LAN addresses and fixed forwarding through the lazy optional LAN bridge.
  • Updated all supported localizations for the new LAN setting.
  • Bumped the external UI cache revision to 401.

AI Driver, dispatcher, economy, and route-cache behavior are unchanged from 4.0.0 RC.

Thanks

Special thanks to JamDaBam for diagnosing, implementing, and testing the BeamNG 0.39 Connected Phone map repair in PR #4, and for contributing the validated manual LAN-address fallback in PR #1. These fixes made this release possible.

Installation

Download taxidriver.zip and place it directly in the BeamNG user-folder mods directory. After updating, close any old Connected Phone browser tab and reopen the current Share URL so cache revision 401 is loaded.

SHA-256: 7DBA017D9E1392E3DB64DE4A05CB0DCCD84F97F940EF20217E30005BED5C38B4

TaxiDriver Reloaded 4.0.0 RC — New Driver UI and BeamNG 0.39 AI Engine

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 29 Jul 22:14

This release candidate is the BeamNG.drive 0.39 compatibility release. It replaces the driver-facing visual system, rebuilds the experimental player AI around the current 0.39 routing and vehicle-AI capabilities, and closes navigation and dispatcher regressions found during live in-game testing.

New compact driver UI

  • Reworked the native UI App and Connected Phone interface into a flat, high-contrast black, white, and BeamNG-orange visual system.
  • Reduced the default window to 340 ? 650 px and the supported minimum to 300 ? 500 px so the app remains usable at 100% scale on a 1080p display.
  • Replaced stacked card borders with spacing, neutral surfaces, and intentional dividers while retaining visible control boundaries, pressed feedback, focus states, and modal depth.
  • Added bounded entry and interaction motion, including a one-time New shift sheen, switch/progress transitions, and reduced-motion handling.
  • Rebuilt the driving hierarchy around route, ETA, destination, passenger or cargo state, and immediate warnings. Secondary metrics are removed at very small sizes instead of overlapping controls.
  • Added overflow-safe formatting and stress fixtures for 193 shifts, long translated names, six-digit counts, large balances, long distances, and 180% UI scaling.
  • Removed the long fuel/EV and optional-surprise captions from the Home switches; their meaning remains available in the corresponding settings.
  • Added explicit UI confirmation before enabling AI Driver. The feature defaults to off, its route button is absent while disabled, and turning the master switch off now immediately updates both the runtime and the visual control.

BeamNG 0.39 AI Driver engine

  • Added a dedicated asynchronous adapter around BeamNG 0.39's gameplay/route/route planner. Superseded jobs are cancelled by generation, coordinate-only markers are filtered, and a bounded graph-path fallback is retained for sparse maps.
  • Routes preserve the legal direction of the target road, protect the final approach/departure nodes, avoid an immediate reverse through a one-way edge, and trim only a short, unambiguous waypoint prefix behind the vehicle.
  • BeamNG's stock vehicle AI remains responsible for steering, throttle, lane following, ordinary obstacle avoidance, and traffic lights. TaxiDriver supplies route ownership and a bounded speed/manoeuvre supervisor instead of a second full driving controller.
  • The supervisor samples at an adaptive 50?200 ms interval, tracks at most 16 nearby vehicles, confirms threats across scans, and distinguishes ordinary oncoming traffic from a genuine collision corridor.
  • Following uses time gap, minimum bumper gap, closing speed, comfortable deceleration, and jerk-limited speed caps. A clear static ray is no longer misread as an obstacle on an empty road.
  • Overtaking is permitted only after a persistent slow lead is confirmed on an explicit same-direction multi-lane one-way road, with front/rear gaps, rear TTC, junction distance, road width, and static clearance checked first.
  • Emergency lane-change evasion is considered only for a confirmed oncoming collision that cannot be stopped for, and only when both the road boundary and predicted dynamic corridor are clear. Otherwise the supervisor brakes.
  • Arrival now targets a full stop; the gameplay state accepts only a 0.5 km/h wheel-speed sensor tolerance. Passenger pickup uses a 10-metre logical trigger without the walking dummy or horn sequence.
  • Route completion, cancellation, no-show, failed pickup, AI master-switch shutdown, and other route-ending transitions share a verified parking hand-off. Automatics select Park; manual gearboxes select Neutral; both apply the parking brake before native AI is released.
  • Rebalanced the Assertive preset to remain speed-limit compliant by default. Cautious and Balanced remain the recommended profiles; AI Driver is still experimental and disabled by default.

BeamNG 0.39 navigation and dispatcher fixes

  • Restored the route-arrow setting against both BeamNG 0.39 ground-marker controls and clear the regenerated arrow pool while guidance is disabled.
  • Restored the in-world destination marker independently from the ground-arrow path.
  • Removed the flashing white rectangle around the orange minimap vehicle marker by making map-transform invalidation idempotent across repeated CEF visibility events.
  • Fixed the floating next-order lifecycle after 80% trip progress. Expiring or dismissing one offer clears only that card and schedules the next proposal instead of disabling the queue for the rest of the trip.
  • Added a regression sequence covering multiple independently expiring and replacement offers without stale-card flashing.

Compatibility and validation

  • Target game version: BeamNG.drive 0.39.
  • Existing settings, profile, progress, reviews, route cache, vehicle history, shift history, Fleet data, and LAN identity remain compatible with 3.4.2-rc.
  • External UI cache revision is 400-rc, preventing 3.x browser assets from mixing with this UI rewrite.
  • LuaJIT compiled all 41 Lua source and test files; the primary taxiDriver.lua main chunk also passed the LuaJIT local/size constraint.
  • Passed 355 responsive native/Connected Phone UI states, including every locale, HiDPI, extreme-value layouts, sequential proposed orders, and the AI master-toggle cycle.
  • Passed the LAN HTTP subnet bridge, loopback response, WebSocket Upgrade, and bidirectional transport self-tests.
  • Built and inspected the required 62-entry release archive; the final checksum is recorded on the GitHub Release.

Acknowledgements

Thank you to the BeamNG developers for the official MCP server introduced with BeamNG.drive 0.39. It made rapid, AI-assisted in-game control, telemetry inspection, log analysis, UI verification, and repeatable mod test runs possible, dramatically shortening the feedback loop for this release.

Known limitations

  • AI Driver remains an experimental assistant, not a safety-certified autonomous-driving system. Vehicle controllers, incomplete road graphs, community maps, and unusual traffic layouts can still produce poor native-AI decisions.
  • Safe overtaking requires explicit lane metadata and is intentionally unavailable on ambiguous or opposing-traffic roads.
  • Emergency evasion is conservative and used only when braking is predicted to be insufficient and a checked escape corridor exists.
  • This build is published as a prerelease while the new UI and BeamNG 0.39 AI behavior receive wider testing across vehicles, maps, display layouts, and community content.

Package

  • taxidriver.zip
  • 62 verified entries
  • 875,387 bytes
  • SHA-256: A05FF9836019CEAFE7E499F8A9ED744528D7B4E417423740E1EEB83A6AEBF777

TaxiDriver Reloaded 3.4.2 RC — Parked AI and Resilient Route Cache

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 26 Jul 12:44

This patch release addresses two player-reported failure modes after 3.4.1-rc: native AI remaining active after a route or cancelled order, and dispatcher generation becoming unavailable when map-provided semantic data fails.

AI completion and cancelled-order parking

  • Final native Route Done now hands the vehicle to BeamNG's stop mode instead of merely leaving the previous AI route active.
  • BeamNG completes the deceleration, applies the parking brake at its stationary threshold, restores the normal gearbox mode, and disables native AI.
  • Entering dispatcher search is now a route-ending invariant. Passenger cancellation, no-show, passenger collision, an empty order pool, and other transitions back to search stop an active AI route before clearing the trip.
  • The shared search transition also releases TaxiDriver's temporary pickup forced-stop input so a cancelled pickup cannot keep the next route permanently braked.
  • Arrival processing retains a second parked handoff as a fallback when physical arrival is detected without a usable native completion callback.

UI-published dispatcher route cache

  • Added routeCache.lua with a versioned, map-scoped JSON history under /settings/TaxiDriver/route_cache.
  • Dispatcher search creates or migrates the current map file immediately.
  • Every regular pool offer and floating next-order offer is appended in the same transition that publishes it to the UI.
  • Cached records contain the complete route shown to the player: pickup, optional stops, destination, per-leg distances, order type, passenger/cargo properties, timing, and fare metadata.
  • Cache files follow BeamNG's active user folder, including installations moved away from %LOCALAPPDATA%.
  • Route histories are sanitized, endpoint-deduplicated, bounded to 96 records per map, and assigned fresh IDs when restored.
  • If live generation fails, the dispatcher selects a compatible cached passenger or delivery route, prefers the requested subtype and diverse nearby pickups, refreshes pickup distance when routing is available, and publishes it through the normal UI path.
  • Cached offers can still be accepted when live distance lookup is unavailable; the known route distance is retained without understating direct pickup distance.

Map-module fault isolation and routing fallback

  • Bus-stop triggers, Sites files, parking spots, and POIs are enumerated through independent protected calls so one malformed community module cannot abort all order generation.
  • BeamNG Route distance failures fall back to direct graph-path distance and emit at most one warning per level session.
  • A semantic-independent in-memory road-edge sampler remains available for discovering new stops. Persistent JSON is reserved for complete offers that actually reached the UI.
  • Invalid cached numbers, coordinates, malformed node identifiers, map IDs, schemas, and incomplete records are discarded instead of entering gameplay.

Validation and compatibility

  • Passed the LuaJIT gameplay combinatorics suite, including dispatcher JSON creation, UI-offer persistence, route restoration, native parking commands, Fleet lifecycle, and 500 deferred respawns.
  • Passed 357 responsive native/Connected Phone UI states across every supported locale and HiDPI rendering.
  • Built and verified a deterministic 60-entry archive.
  • Existing 3.4.1-rc settings, profile, progress, reviews, vehicle history, shift history, Fleet records, and LAN identity remain compatible.
  • UI cache revision remains 341-rc; no browser-cached UI asset changed in this patch.

Package

  • taxidriver.zip
  • SHA-256: DA8D52857A1692BFB1BAC65F7C25B6862E17C7DEA379A4C918D8FC147B08079F

TaxiDriver Reloaded 3.4.1 RC — Native AI Driver and Dynamic Events

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 24 Jul 12:08

This release candidate contains every change made after 3.4.0-beta. It replaces the overextended predictive driving experiment with a smaller adapter around BeamNG's native vehicle AI, adds traffic-aware protection for the player and hired Fleet vehicles, and expands Random Events and physical pickups.

Experimental AI notice: AI Driver still depends on BeamNG road graphs, vehicle controllers and traffic behavior. It is intended as an entertaining assisted-driving mode rather than a guarantee of human-level autonomous driving on every map or mod vehicle.

Native AI Driver architecture

  • Replaced runtime use of the predictive free-space planner, local A* controller, aggressive bypass and custom reverse-recovery stack with BeamNG's native ai.driveUsingPath.
  • Added an explicit player-vehicle identity guard. AI commands for a stale or NPC vehicle ID are rejected instead of moving, teleporting or despawning the player's car.
  • Disabled native setRecoverOnCrash for the player vehicle so a stationary boarding sequence cannot be mistaken for a crashed traffic bot and safe-teleported.
  • Kept native obstacle avoidance and lane following enabled during ordinary travel.
  • Simplified AI presets and Custom settings to parameters the current native adapter actually uses: aggression, following time, minimum following distance, comfortable braking, traffic wait time, speed-limit compliance and lane discipline.
  • Removed the obsolete decision-visualization setting from the UI.

Legal routes and optional strict GPS

  • Added directed-edge route planning for the final target road. It approaches the target edge in its legal travel direction and forbids an immediate reversal through the opposing lane.
  • Added Strict GPS route as a setting independent of driving temperament. When enabled, AI receives the exact ordered road-node sequence currently displayed by BeamNG ground navigation.
  • A recalculated GPS route immediately marks the AI route dirty and sends the updated shortest route to the vehicle.
  • If a strict GPS path is temporarily unavailable, AI falls back to the legal autonomous graph route instead of turning itself off.
  • Filtered coordinate-only ground-marker entries before Vehicle Lua serialization, preventing invalid table: 0x... waypoint IDs and native AI errors.
  • Native Route Done is accepted only after checking physical distance to the active TaxiDriver target. A premature completion causes an immediate current-position replan, bounded to three retries.
  • Final-target braking activates only after the vehicle is aligned with the target-side travel direction, preventing early stops on the opposite side of the road.

Smooth traffic guard

  • Added the lazy Vehicle Lua taxiDriverStockAiObserver around native driving.
  • It observes map-tracked vehicles, maintains both a configurable time gap and minimum bumper gap, and derives a progressive speed cap from relative speed and comfortable stopping distance.
  • Speed reduction is jerk-limited. Full emergency braking is reserved for critical time-to-collision or a physically excessive required deceleration.
  • Added steering-arc prediction so vehicles crossing the swept path during a turn can be detected even when they are outside the straight lane corridor.
  • Added target-aligned final-approach speed limiting without taking steering away from native AI.
  • The observer owns the protected native Route Done hook only while an AI route is active and restores the original BeamNG hook when stopped.

Passenger and cargo pickup flow

  • Passenger orders can spawn BeamNG's unicycle character at the pickup point; cargo orders can spawn the small cardboard-box vehicle.
  • Physical pickup is optional at runtime: missing content or an unsupported spawn falls back to the existing logical pickup without cancelling the order.
  • A manual horn near the passenger starts walking toward the taxi.
  • AI pickup now requires the taxi to be within seven metres and fully stopped.
  • After stopping, AI emits two 600 ms horn pulses separated by 200 ms, waits for the passenger boarding event, and only then starts the destination route.
  • The passenger is treated as a pickup obstacle. Hitting the passenger cancels the order, records the incident and applies a major fine.
  • Reduced physical-passenger command frequency and excluded its prop from broad vehicle prediction scans to prevent pickup-area frame spikes.

Configurable Random Events

  • Added a dedicated Random Events settings expander.
  • Every event has an independent enable switch and probability from 0% to 100%.
  • Existing cancellation, destination-change, additional-stop, conditional-tip and fragile-cargo events now use the same configuration model.
  • Added passenger no-show, VIP/quiet ride, forgotten-item return and temporary road-reroute events.
  • Added an opt-in police inspection using BeamNG's native police and pursuit systems.
  • Police content is selected from installed compatible configurations, preloaded asynchronously and activated 500?600 metres behind the player when the event begins.
  • Police inspection is disabled by default. Enabling it requires a confirmation explaining that preparing a police vehicle can stall the start of a shift for 5?15 seconds.
  • A completed native police stop can apply a small randomized administrative fine; unavailable police content fails safely without breaking the trip.

Trip history and Fleet access

  • Reviews are now expandable trip-history records containing outcome, fare, date, penalties and Random Event history.
  • AI-assisted trips remain marked in review and profile history.
  • The Fleet map button remains present with F 0 when no driver is hired, allowing the hiring screen to be opened during an active personal shift.
  • Fleet controls and driver-count labels remain CEF overlays above both personal and Fleet maps.

Traffic-aware Fleet workers

  • Hired drivers keep the low-cost native route worker introduced in 3.3.1 Beta.
  • Each Fleet vehicle now runs a simplified instance of the traffic guard: smooth following, minimum-gap control and steering-arc collision prediction.
  • Fleet observation runs every 200 ms with six trajectory samples, versus the player's 100 ms and twelve samples, limiting aggregate CPU cost.
  • Fleet presets provide aggression, legal-speed behavior, following time and braking values without instantiating player-only target logic.
  • Fleet route progress remains staggered at 250 ms, trims already passed nodes, rebuilds from the current road segment and abandons an unreachable job after bounded retries.
  • Fleet traffic state is isolated per worker and never uses the player's position when selecting or repairing a route.

Runtime modularization

  • Extracted native minimap ownership, dynamic zoom, occlusion regions and restoration of BeamNG navigation settings into navigationUi.lua.
  • Reduced taxiDriver.lua from 4,199 to 4,026 lines and from 179 to 166 main-chunk locals, restoring meaningful safety margin below LuaJIT's 200-local limit.
  • Kept Vehicle Config suspension and lazy vehicle rescanning unchanged so editing parts does not reintroduce the previous long configuration stalls.
  • Added dedicated physicalPickup.lua, policeCheckEvent.lua and tripHistory.lua services.

Validation and compatibility

  • Passed the Lua gameplay combinatorics suite, including native player routing, strict GPS, directed-edge approach, premature Route Done, traffic observation, physical pickup, Random Events, police lifecycle, Fleet economy/routing and 500 deferred respawns.
  • Passed 357 responsive UI states across all supported locales, native/Connected Phone layouts and DPR 2 HiDPI rendering.
  • Built a deterministic 59-entry release archive and verified the installed archive hash.
  • Existing 3.4.0-beta settings, driver progress, reviews, vehicle history, shift history, Fleet records and LAN identity remain compatible. Removed AI fields are safely ignored during settings migration.
  • UI cache revision: 341-rc.

Package

  • taxidriver.zip
  • SHA-256: C3E58715FEFF5F3543D76CA6E7FE9BAF4826BCEB250D9F33D2BA38E41B0BED9F

TaxiDriver Reloaded 3.4.0 Beta — Runtime Stability and Compact UI

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 23 Jul 15:52

TaxiDriver Reloaded 3.4.0 Beta

This cumulative prerelease contains every change made after 3.3.1 Beta. It focuses on a less intrusive in-game UI, safer asynchronous vehicle work, lower periodic runtime cost, and stronger fault isolation.

Three-stage in-game UI

  • Added full phone, compact route-map, and translucent button-only stages.
  • Added independent minimize and super-minimize controls with proper SVG icons.
  • Added an attention indicator for queued orders and notifications while collapsed.
  • New UI App sessions always start fully open; Connected Phone remains independent.
  • Fixed the Vehicles history sort menu so its options render above vehicle cards.

Runtime stability

  • Reduced the main Lua chunk to 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.
  • A failure in an optional or periodic subsystem no longer aborts all later work in the same game tick.
  • Removed the unused telemetry reset entry point while preserving Vehicle Config suspension through vehicleScanGuard.
  • Fixed AI completion/recovery callbacks that could receive a missing vehicle.

Safe vehicle and fuel callbacks

  • Added vehicle-ID and VM-generation validation around asynchronous Vehicle Bridge responses.
  • Re-resolves the live vehicle before applying dashboard energy, refueling, Magic Fuel, cheat fuel/charge, or restored-shift energy.
  • Realistic Mode initialization and the cheat slider now share the same guarded setEnergyStorageEnergy implementation.
  • Vehicle Config and lifecycle changes invalidate stale pending energy work before lazy scanning resumes.

Performance

  • Periodic HUD work now builds revisioned scalar patches. Offers, shift history, Fleet, garage previews, and settings are rebuilt only after explicit or dirty collection changes.
  • Fixed Fleet HUD dirty-state consumption.
  • Connected Phone is now a lazy optional service and cannot prevent core taxi gameplay from loading.
  • Road-network export runs in a coroutine that yields every 500 examined links and rejects stale level builds.
  • Split collision and exact-approach raycasts into independent fixed 50 ms clocks.
  • Reuses one nearby-object snapshot for a ray fan and predicted trajectory instead of enumerating scene vehicles twice.
  • Filters extended reset logging to the player's and active TaxiDriver vehicle.
  • Scopes the native-AI route observer to active route watching and restores the original GUI hook afterward.
  • Stops HUD heartbeat and LAN work during early UI or mission shutdown.

Localization

  • Applied a second native-speaker Simplified Chinese revision.
  • Added collapse/restore labels in every supported language.

Validation

  • Lua syntax validation passed for every changed module.
  • Lua gameplay combinatorics passed, including stale callback and cleanup-continuation cases plus 500 deferred respawns.
  • 343 responsive UI states passed across all locales and HiDPI scenarios.
  • LAN HTTP, loopback proxy, WebSocket Upgrade, and bidirectional traffic tests passed.

Existing 3.3.1 Beta settings, driver progress, reviews, vehicle history, shift history, Fleet records, and LAN identity remain compatible.

TaxiDriver Reloaded 3.3.1 Beta — Lightweight Fleet Routing

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 22 Jul 17:31

Fleet architecture and performance

  • Replaced the full predictive/spatial AI supervisor in every hired Fleet vehicle with a lightweight worker using BeamNG's native ai.driveUsingPath.
  • Kept the experimental predictive AI Driver unchanged for the player's vehicle.
  • Removed per-worker scene scans, sensor fans, local A* searches, parked-vehicle tracking, exact-approach controllers, and gearbox overrides.
  • Staggered Fleet monitoring across four phases to avoid checking every hired vehicle on the same simulation tick.
  • Preserved persistent vehicles, purple map/world markers, assignments, wages, owner share, and operating statistics.

Route reliability

  • Replans from the employee's current road segment and removes already passed nodes, preventing route-origin U-turns.
  • Validates BeamNG Route Done against the physical target before accepting arrival.
  • Uses a minimum 45-second no-progress window and at most three replans.
  • Safely abandons an unreachable assignment and selects a replacement instead of consuming recovery work indefinitely.

Validation

  • Added Lua combinatorics for native Fleet routing, passed-node trimming, current-segment replanning, bounded recovery, and manager failure hand-off.
  • Passed 343 responsive UI states across locales and HiDPI.
  • Passed LAN HTTP/WebSocket bridge self-tests.
  • Built and verified the deterministic 49-entry mod archive.

Existing 3.3.0-beta settings, progression, Fleet records, vehicle history, and shift history remain compatible. UI cache revision: 331-beta.

TaxiDriver Reloaded 3.3.0 Beta — Predictive Routing and Spatial AI

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 22 Jul 14:46

This cumulative prerelease contains every change made after 3.2.0-beta, including the Connected Phone reliability work first published as 3.2.1-beta.

Experimental AI notice: AI Driver remains a gameplay experiment around BeamNG's built-in vehicle AI. The predictive planner and spatial supervisor make target approaches and recovery more deliberate, but unusual map graphs, vehicle controllers, traffic layouts, and community content can still produce imperfect decisions. The player can take control at any time.

Predictive target routing

  • Added a predictive access-route model for passenger, cargo, stop, and refueling triggers. It begins planning before the final entrance instead of waiting for native AI to report Route Done beside the target.
  • Samples every drivable road edge near the physical target, projects the target onto each edge, and asks BeamNG's graph for candidate paths from both nearby start nodes to both access-edge endpoints.
  • Rejects graph prefixes that initially move backwards along the active route, jump to an unrelated parallel road, or exceed the early cross-track envelope.
  • Ranks complete routes by graph-prefix length plus the collision-checked local suffix. Clearance and local-path quality break only near-equal route costs, preventing a visually attractive detour from beating the shortest feasible entrance.
  • Densifies selected graph polylines to at most four metres between controller waypoints and removes the first graph-centre point when it would demand an immediate full-lock lateral turn.
  • Verifies final arrival against the physical trigger, uses a sub-metre completion radius, and gives the exact-approach controller a path-length-derived timeout instead of a fixed final-approach window.
  • Added early graph planning at 75 metres with retry and failure cooldowns so entrances are selected while the vehicle can still turn into them.

Vehicle-aligned spatial perception

  • Replaced narrow road-lane-only recovery sensing with complete 180? forward and reverse sensor fans sampled every 10 degrees.
  • Aligns every ray with the vehicle's forward/left/up basis, including pitch and roll, so slopes, descents, banked roads, and serpentine sections are measured relative to the car instead of the world horizon.
  • Evaluates the full vehicle width with five parallel static probes, including both body edges plus a safety margin. Thin chargers, bollards, fences, barriers, and other edge contacts can no longer pass through a single centre ray.
  • Merges BeamNG map objects with all live scene vehicles and temporarily enables tracking for nearby parked vehicles that BeamNG normally removes from map.objects.
  • Uses oriented vehicle dimensions and projected traffic motion when validating a candidate corridor.
  • Samples surface height, longitudinal slope, cross-slope, and step height. Traversable kerbs and pavements can participate in a recovery path when the vehicle geometry can climb them; unsafe ledges and inclines are rejected.
  • Reassesses the strategic space model every 330 ms, approximately a human reaction interval, while drawing the cached result every render frame.

Local planning, reverse escape, and collision safety

  • Added a local spatial graph with seven distance rings and 24 angular samples. A bounded A* search can construct a multi-segment route around geometry when a single smooth left/right corridor is insufficient.
  • Preserved the smooth minimum-offset bypass as the preferred simple solution and falls back to the spatial graph only when it produces the better feasible path.
  • Expanded rear-space evaluation and reverse telemetry. A blocked vehicle can select a collision-checked 3?6 metre escape, rescan the rear trajectory while moving, stop, and replan forward.
  • Centralized conversion between geometric travel angle and BeamNG steering input. This fixes forward and reverse recovery turning to the opposite side from the selected green path.
  • Curved safety trajectories now cover steering arcs as well as straight motion and apply progressive comfortable braking before the emergency threshold.
  • Added rapid static-contact recovery: repeated contact with nearby untracked geometry starts replanning after 1.5 seconds instead of waiting for the normal 15-second stuck timer.
  • Fixed the safety brake releasing itself through TaxiDriver's own input override.

AI decision visualization and diagnostics

  • Added an independent Visualize AI decisions toggle to AI Driver settings; it is persisted and disabled by default.
  • World rendering distinguishes free/blocked sensor rays, evaluated candidates, surface samples, spatial-graph nodes, selected waypoints, and the current planner reason.
  • Expanded streaming AI journals with waypoint best-distance/no-progress fields and reverse remaining distance, steering, fan clearance, trajectory clearance, and ray count.
  • Added structured planner records for strategy, route/access nodes, graph and local lengths, candidate counts, score, clearance, target error, and timeout.

Queued-order fail-safe

  • Added an explicit close button to a proposed next-order modal. It dismisses that exact order and removes it from the active queue.
  • Moved next-offer expiry into a dedicated Lua guard driven by real time and independent of the trip-update phase.
  • Invalid, stale, negative, or overlong timers are clamped and closed safely, including while Vehicle Config temporarily suspends normal gameplay work.
  • Added a browser-side monotonic deadline that stale HUD packets cannot extend. The modal closes locally and notifies Lua even if no newer state packet arrives.
  • Added localized dismissal text in all nine interface languages.

Connected Phone reliability since 3.2.0

  • Added ranked private-IPv4 discovery across BeamNG adapter data, native-server results, Windows route-selected sockets, Winsock hostname resolution, and a previously confirmed address.
  • Added bind validation, physical-adapter preference, virtual/VPN adapter penalties, structured selection diagnostics, and clean lan.json creation only after a usable endpoint is confirmed.
  • Replaced an empty QR placeholder with an actionable localized server-unavailable state.
  • Restored a bounded non-blocking LAN-to-loopback byte proxy when BeamNG creates its External UI listener only on 127.0.0.1; native all-interface listening remains preferred when reachable.
  • The transparent fallback carries both static HTTP assets and the bng-ext-app-v1 WebSocket without creating a second gameplay state.
  • Added a live phone simulator that reads a fresh lan.json, loads every external asset over the selected LAN address, performs the WebSocket handshake, sends a real heartbeat, and waits for TaxiDriverHUDState.
  • Incorporated 156 native-speaker Simplified Chinese corrections while preserving newer keys.

Validation and compatibility

  • Expanded Lua combinatorics for route-reference alignment, graph candidate ordering, 180? sensor coverage, slope-aware rays, vehicle-footprint probes, parked vehicles, steering direction, reverse escape, static-contact recovery, next-offer expiry, and 500 deferred vehicle respawns.
  • Verified 343 responsive UI states across the in-game UI App, Connected Phone, all nine locales, compact/full layouts, and DPR 2 HiDPI rendering.
  • Passed LAN HTTP/WebSocket transport tests and deterministic 49-entry package validation.
  • Existing 3.2.0/3.2.1 Beta settings, profile, progression, fleet, vehicle history, and shift history remain compatible.
  • UI cache revision: 330-beta.

Archive SHA-256: 170A6AA609A76EEBD8F8E19E5556337ECF19DF9620D2C0B34E17CEF17C9C793E

TaxiDriver Reloaded 3.2.1 Beta — Connected Phone Reliability

Choose a tag to compare

@noteMASTER11 noteMASTER11 released this 22 Jul 09:35

Connected Phone Reliability

This patch contains every change made after 3.2.0-beta.

Connected Phone networking

  • 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.
  • lan.json is now written only after a usable address and server have been confirmed. Deleting it cleanly forces complete discovery and a new pairing token.
  • Added structured native_server_started, adapter_discovery, hostname_discovery, route_discovery, address_candidate, and address_selected diagnostics under [TaxiDriver] area=lan.
  • Replaced the empty white QR square on failed startup with a localized Local server unavailable state and the underlying diagnostic message.
  • Verified a clean Windows 11 startup with no existing lan.json: 192.168.93.143 was selected over the Hyper-V address 172.25.192.1, and Connected Phone opened successfully.

Simplified Chinese localization

  • Incorporated 156 native-speaker corrections contributed for the Simplified Chinese interface.
  • Preserved keys added after the contributor's source revision and retained complete parity with the other eight locales.

Documentation

  • Added a plain-language BeamNG Repository description covering supported gameplay modes, physical cargo mass, shifts, AI driving, fleet operations, refueling, persistence, and diagnostics.
  • Updated README and Wiki architecture documentation for the native listener and the dedicated networkAddress.lua selector.
  • Added Mermaid diagrams for LAN candidate discovery, validation, ranking, persistence, and failure handling.

Validation and compatibility

  • Passed LAN address-selection combinatorics and Lua syntax verification.
  • Passed HTTP and WebSocket subnet transport checks.
  • Verified 343 responsive UI states across the in-game UI App, Connected Phone, all nine locales, compact/full layouts, and DPR 2 HiDPI rendering.
  • Passed deterministic package validation with 48 entries.
  • Existing 3.2.0 Beta settings, progression, fleet, vehicle, and shift data remain compatible.
  • UI cache revision: 321-beta.

Archive SHA-256: ECBEC476853CEE5E1A4D069B6B8DECAF8B2127A0BFF218BE075EA5AF1C647A0D