Skip to content

Settings, Localization and Audio

noteMASTER11 edited this page Sep 4, 2026 · 17 revisions

Settings, Localization and Audio

Settings behavior

Settings are grouped into expandable categories. A + means the category is collapsed and a - means it is open. Changes are applied and persisted automatically after a short debounce; there is no Save Settings button.

Connected phone is the exception: it is session-only and is always off when the mod or UI App starts. See External Web UI.

General

Setting Values Effect
Language English, Russian, German, French, Spanish, Italian, Brazilian Portuguese, Polish, Ukrainian, Simplified Chinese Selects all phone UI strings
Remember language Boolean Persists a non-default language; English is otherwise used initially
Interface scale 80–180% in 10% steps Scales the complete phone interface, including text, controls, icons, maps, spacing, and touch targets in both UI modes
Units Metric / Imperial Formats distance, speed, cargo weight, fuel quantity, and related values
Time format 24-hour / 12-hour Formats clock and arrival values

Gameplay and difficulty

Presets

Elementary, Easy, Standard, and Professional apply balanced groups of speed, collision, manoeuvre, fare-cap, and rating-loss parameters.

Selecting Custom exposes sliders for:

  • speed tolerance and grace duration;
  • speeding penalty strength;
  • collision sensitivity and penalty strength;
  • longitudinal and lateral g-force thresholds;
  • harsh-manoeuvre penalty strength;
  • late-pickup penalty strength;
  • maximum fare reduction;
  • early passenger-exit rating loss.

Order mix

The passenger/delivery slider selects the desired delivery share from 0% to 100%. It affects dispatcher targets, but route validity and sparse-map fallback can still change the final visible ratio.

Route length

Unlimited route length removes the normal 25 km upper bound from passenger and cargo offer generation. The normal minimum route length and all route-validity checks remain active. Extremely distant candidates cost more road-graph work and can therefore make the dispatcher populate more slowly.

Individual penalty switches

The following systems can be enabled independently:

  • speeding;
  • collisions;
  • harsh manoeuvres;
  • late pickup;
  • passenger refueling delay;
  • expired rush bonus;
  • cargo damage.

Custom difficulty values and penalty switches are stored separately in difficulty.json so players can share the file without sharing their language, UI, economy, or profile data.

AI driver

The section starts with complete profiles: Modest Novice, Cautious Driver, Balanced, Assertive, Mad Racer, and Custom. Ready-made profiles apply a coherent set of native-AI and traffic-guard values. Selecting Custom reveals the focused parameters used by the current implementation.

Setting Values/default Effect
Preset Balanced Complete driving style; Custom exposes manual controls
Aggression 30–100%, 40% BeamNG native AI aggression
Following time 1–4 s, 2.3 s Time component of the desired lead-vehicle gap
Minimum distance 2–10 m, 4 m Minimum bumper gap used by the traffic guard
Braking 2–8 m/s², 3.5 Comfortable progressive traffic and target deceleration
Traffic wait 1–10 s, 3 s BeamNG native traffic-wait parameter
Obey speed limits On Uses BeamNG's legal route-speed mode
Lane discipline On Requests native lane following
Strict GPS route Off Sends the displayed GPS node sequence instead of the autonomous legal route
AI trip debug log Off Streams route, target, traffic-guard, gearbox, collision and damage records to a dedicated JSONL file while AI is active

These preferences affect only TaxiDriver's optional AI control. They do not alter normal player driving or global traffic AI. Strict GPS is independent from the temperament preset and survives preset changes. See AI Driver and Recovery.

Fleet

The Fleet category controls background employees separately from the player's AI Driver:

Setting Values/default Effect
Fleet enabled On Allows hiring and fleet simulation
AI preset Standard Careful, Standard, or Fast native aggression/speed profile
Owner share 10–90%, 35% Portion of a completed worker fare credited to the player
Hiring fee $0–1,000, $75 One-time cost for each garage or traffic hire
Wage per 10 minutes $0–250, $12 Recurring salary; an unpaid worker suspends its route
Maximum drivers 1–12, 6 Active session employee limit
World label distance 50–1,000 m, 400 m Range for the localized label over an owned taxi
Passenger jobs On Allows passenger assignments
Delivery jobs On Allows cargo assignments

If both job switches are turned off, validation restores passenger work so employees always have an eligible assignment type. See Fleet Operations.

Fleet presets do not copy the player's target-specific AI Driver settings. Background employees use BeamNG's native route follower, a reduced-rate traffic guard, a staggered progress monitor and bounded current-segment replanning.

Navigation

Setting Values Effect
Road guidance On / Off Controls arrows and markers drawn over the road; phone navigation remains active
Dynamic zoom 0–200% 0% keeps map zoom fixed; higher values increase speed-sensitive zoom range
Overspeed warning 0–30 km/h Warning margin above the road limit; default 10 km/h

Above speed limit + warning margin, the trip speed-limit sign turns red and the overspeed alert plays once. The sign remains red until speed returns below the configured trigger. This visual/audio warning is independent of whether the speeding fare penalty is enabled.

Audio

Setting Values Effect
App sound volume 0–100% Additional multiplier for every TaxiDriver-managed sound
Test Button Plays a random currently enabled TaxiDriver sound at the current effective volume
Silent mode On / Off Mutes all TaxiDriver-managed sounds

Each of the seven pools also has its own switch: interface clicks, new rides, going online, going offline, penalties, passenger messages, and overspeed warnings. Silent Mode remains the global master mute. Disabled pools are excluded from the Test button.

Connected phone

The experimental Connected phone category starts BeamNG's External UI server, discovers and verifies a private-network address, tests native LAN reachability, falls back to a LAN-to-loopback proxy when required, displays its URL and QR code, and reports connection status. It requires free TCP port 8085 and firewall network permission for BeamNG.drive. The toggle is never restored automatically. See External Web UI.

Version 3.0.0 Beta adds persistent performance controls to this category: external map enablement, terrain-layer enablement, and Eco/Balanced/Smooth quality. They affect only the external browser. Sharing itself remains session-only and always starts disabled.

Version 4.0.1 adds an optional persistent Manual LAN IP field. Use it only when automatic discovery cannot find the computer's private address, notably on affected native Linux installations. The value must be a private IPv4 address assigned to the computer and must pass a local bind test; invalid, public, loopback, or unavailable values are ignored in favor of automatic discovery.

Cheat Zone

The red Cheat Zone intentionally modifies persistent progression:

  • set rating from 0.00 to 5.00 with a slider and Set button;
  • set every compatible fuel tank or battery in the current vehicle from 0% to 100%;
  • preserve an active trip across vehicle reset with God Mode;
  • enable or disable verbose structured [TaxiDriver] debug logging;
  • add a random review;
  • add $1, $5, $10, or $50 repeatedly;
  • set the fare/economy multiplier from 0.25× to 5.00×;
  • reset all player statistics after confirmation.

Set rating re-rates the complete stored history: driver totals, reviews, rating points, vehicle journal entries, and active/previous shift summaries. The energy slider uses the same BeamNG energyStorage bridge as Realistic Mode. God Mode defaults to off; debug logging defaults to on. Cheat actions are not separated from normal progress history, so back up the settings directory before testing if the profile matters.

Realistic Mode

Realistic Mode remains a pre-shift option on the start screen. It enables paid TaxiDriver refueling for the next shift and is persisted as a normal preference. See Realistic Refueling.

Random Events

Random Events are a separate pre-shift toggle and do not require Realistic Mode. The settings expander provides an independent enable switch and 0–100% probability for cancellation, destination change, additional stop, conditional tip, fragile cargo, passenger no-show, VIP/quiet ride, forgotten item, temporary reroute, and police inspection.

Only one compatible event is selected for an order. The police inspection is disabled by default and requires a confirmation before it can be enabled because TaxiDriver must preload an installed police configuration. Starting a shift with this event enabled can stall for 5–15 seconds while BeamNG loads that vehicle.

Passenger and cargo orders also use physical pickup props when BeamNG can create them. This is automatic rather than a user setting; failures fall back to the logical pickup flow.

Persistence files

current/settings/TaxiDriver/settings.json
current/settings/TaxiDriver/difficulty.json
current/settings/TaxiDriver/profile.json
current/settings/TaxiDriver/progress.json
current/settings/TaxiDriver/vehicles.json
current/settings/TaxiDriver/shiftshistory.json
current/settings/TaxiDriver/fleet.json
current/settings/TaxiDriver/lan.json

settings.json excludes custom difficulty, penalty switches, and the Connected phone enabled flag. It includes the optional manual LAN address, external-map performance preferences, player/fleet AI preferences, God Mode, and both logging switches. difficulty.json is the portable difficulty document. fleet.json stores fleet economic statistics but not live employees. lan.json preserves only pairing identity/address information; sharing remains disabled on startup.

Localization architecture

All UI strings live in:

ui/modules/apps/TaxiDriverHUD/locales.json

English is the fallback language. Every locale must contain the same key set. The currently supported codes are en, ru, de, fr, es, it, pt-BR, pl, uk, and zh-CN.

Phone notifications contain a localization key and value map rather than pre-rendered text. Notifications remain inside the phone and are not sent through the global game notification tray. Passenger emoji chat deliberately contains no words and does not require locale variants.

Adding or changing a string

  1. Add the key to all ten objects in locales.json.
  2. Use t("key") or t("key", values) from the Angular scope.
  3. Keep placeholders identical across locales.
  4. Run the UI test suite, which validates locale key parity and renders representative states.

Do not insert user-visible English or Russian strings directly into app.html when a localization key can be used.

Audio groups

Pool ID File Typical event
click taxidriver_ui_click.mp3 Button, input, or selector interaction
newRide taxidriver_new_ride.mp3 Each newly displayed floating offer
offline taxidriver_offline.mp3 Taxi mode goes offline
online taxidriver_online.mp3 Taxi mode goes online
violation taxidriver_violation_ping.mp3 New penalty event
message taxidriver_passenger_message.mp3 Passenger emoji message
overspeed taxidriver_overspeed.mp3 Crossing the configurable overspeed warning trigger

The in-game UI App pools HTML Audio elements so repeated events can restart promptly. Connected Phone embeds the complete generated sound set and decodes it into one Web Audio context. Independent buffer sources allow rapid game events to overlap without depending on a separately unlocked HTML Audio element for every pool slot.

Effective in-game volume is:

pool base volume × BeamNG Interface Volume × TaxiDriver app volume

Silent mode prevents both normal and test playback. Per-sound switches are checked before playback and are persisted with the ordinary settings document. Safari and other mobile browsers still require one interaction before audio may start. Connected Phone queues eligible events for up to five seconds, unlocks on pointer/touch/keyboard interaction, and attempts to resume audio when the page returns to the foreground.

Cheat rating behavior

Version 3.0.0 Beta retains the safe plain Lua command and applies the selected rating to every completed ride represented in progress, reviews, vehicle history, and shift summaries. This keeps the displayed profile approximation mathematically consistent.

Legacy settings import and recovery

Older UI versions stored settings in browser localStorage under taxiDriverHUD.settings.v1. If the Lua settings file is missing, the UI can import this data once and then removes the legacy entry after confirmation from the backend. Version 2.24.0 also migrates the former fontBoost range to uiScalePercent; the old default value 2 becomes 100%.

Invalid JSON, unsupported schema versions, and out-of-range fields fall back to sanitized defaults and are rewritten canonically.

Starting fuel (4.0.3)

Gameplay → Starting fuel accepts integer values from 5% to 30%, default 5%. It applies only to combustion tanks without a saved fuel record; saved energy takes priority and EV initialization remains 30%. See Realistic Refueling.

Map dragging, zoom and follow controls are described in Navigation and Map Controls. Their labels and the fuel setting are translated into all ten UI languages.

Clone this wiki locally