Skip to content

Settings, Localization and Audio

noteMASTER11 edited this page Jul 17, 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, Polish, Ukrainian 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.

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.

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 the in-mod LAN bridge, displays a private-network 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.

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. When enabled, generated work may include cancellations, route changes, additional stops, conditional tips, or fragile cargo. The preference is persisted in settings.json and defaults to off.

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/lan.json

settings.json excludes custom difficulty, penalty switches, and the Connected phone enabled flag. It includes external-map performance preferences, God Mode, and debug logging. difficulty.json is the portable difficulty document. 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, pl, and uk.

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 eight 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.

Clone this wiki locally