Skip to content

Configuration Reference

noteMASTER11 edited this page Jul 30, 2026 · 15 revisions

Configuration Reference

Static configuration lives in lua/ge/extensions/taxiDriver/config.lua. Values are loaded once by the main GE extension. Runtime state does not belong in this module.

Supported languages

en, de, fr, es, it, pl, uk, ru, zh-CN

Runtime configuration

Key Value Unit / meaning
minRideDistance 1,000 metres
maxRideDistance 25,000 metres
minPickupDistance 400 metres
maxPickupDistance 3,500 metres
arrivalRadius 14 metres
passengerPickupRadius 10 metres; logical passenger pickup only
maxArrivalSpeedKmh 0.5 km/h wheel-speed sensor tolerance; AI targets zero
averageCitySpeedKmh 40 ETA reference speed
minimumDrivability 0.7 route/road cutoff
hudUpdateInterval 0.2 real seconds
boardingDuration 3 simulation seconds
alightingDuration 3 simulation seconds
completedDuration 4 simulation seconds
stopWaitingDuration 10 simulation seconds
forcedExitDuration 5 simulation seconds

Sanitized user-setting ranges

AI Driver also stores a master enabled flag. It defaults to false; the UI requires an experimental-feature confirmation before writing true.

Setting Default Range
uiScalePercent 100% 80–180% in 10% steps
appVolume 0.65 0–1
dynamicZoomIntensity 100% 0–200%
overspeedWarningKmh 10 km/h 0–30 km/h
economyMultiplier 1.00× 0.25–5.00×
deliveryOrderSharePercent 50% 0–100%
unlimitedRouteDistance false Boolean; removes the 25 km upper bound
aiDriver.aggressionPercent 40% 30–100%
aiDriver.followingTimeGap 2.3 s 1–4 s
aiDriver.minimumFollowingDistance 4 m 2–10 m
aiDriver.brakingDeceleration 3.5 m/s² 2–8 m/s²
aiDriver.trafficWaitSeconds 3 s 1–10 s
aiDriver.preset balanced novice, cautious, balanced, assertive, racer, custom
aiDriver.obeySpeedLimits true Boolean
aiDriver.laneDiscipline true Boolean
aiDriver.strictGpsRoute false Boolean; independent from the preset
aiDebugLogging false Boolean; streams dedicated AI JSONL diagnostics
randomEvents.<event>.enabled Event-specific Boolean
randomEvents.<event>.chancePercent Event-specific 0–100%
randomEvents.policeCheck.preloadConfirmed false Must be true before police preload is allowed
fleet.enabled true Boolean
fleet.aiPreset standard careful, standard, or fast
fleet.ownerSharePercent 35% 10–90%
fleet.hiringFee $75 $0–1,000
fleet.wagePerTenMinutes $12 $0–250
fleet.maxDrivers 6 1–12
fleet.worldLabelDistance 400 m 50–1,000 m in 50 m steps
fleet.minimumJobDistanceKm 1.5 km 0.5–20 km
fleet.maximumJobDistanceKm 8 km minimum–50 km
fleet.passengerJobs / deliveryJobs true / true At least one remains enabled
lanManualAddress Empty Optional private LAN IPv4 address; normalized and bind-tested before use
externalMapEnabled true Boolean
externalTerrainEnabled true Boolean
externalMapQuality balanced eco, balanced, or smooth
godMode false Boolean
debugLogging true Boolean

routePlanner.isDistanceAllowed() receives no maximum when unlimited routes are enabled. Minimum passenger/delivery distances and drivability checks are unchanged.

AI supervisor configuration

The native adapter has a small set of fixed safety rules:

Value Current behavior
Player observer interval 100 ms
Curved-path samples 12
Observer jerk limit 2.5 m/s³
Emergency threshold TTC below 0.55 s or required deceleration at least 8.5 m/s²
Pickup radius 7 m plus complete stop
Premature Route Done retries 3
Horn sequence 600 ms on, 200 ms off, 600 ms on

The old predictive planner, local spatial graph, custom bypass, reverse escape and world visualization constants are retained only in historical release notes and are not part of the active 4.0.0 RC runtime. See AI Driver Engine 0.39 and AI Driver and Recovery.

Fleet AI presets

Fleet workers use fixed profiles rather than the player's six-profile/Custom editor. They apply only native aggression/legal-speed values and the following/braking values used by the reduced-rate traffic guard.

Preset Native aggression Native speed mode Effective no-progress window Replans
careful 20% Legal 45 s minimum 3
standard 30% Legal 45 s minimum 3
fast 52% Unrestricted 45 s minimum 3

All Fleet workers use native avoidCars="on", driveInLane="on", recover-on-crash, and enabled electrics. Traffic observation runs every 200 ms with six curved-path samples. Route monitoring runs every 250 ms with per-worker phase offsets. A retry starts from the current closest road segment, and an assignment is abandoned after the bounded retry budget.

See Fleet Operations for hiring, wages, assignments, persistence, and worker lifetime.

Offer configuration

Key Value Meaning
initialDelay 1.5 s Delay before first generation job
intervalMin / intervalMax 1.2 / 2.2 s Delay between completed offers
generationStepInterval 0.02 s Cooldown between coroutine resumes
semanticScanBatchSize 6 Objects processed before yielding
semanticCandidateAttempts 40 Bounded semantic candidates per stop search
randomRouteAttempts 24 Bounded graph-derived fallback attempts
semanticLongitudinalJitterMax 70 m Maximum variation along a semantic road segment
randomDistanceExponent 1.15 Random route-distance distribution
recentStopLimit 48 Remembered roadside points
recentStopSeparation 150 m Preferred separation from recent points
routeDiversityMinimumShare 0.65 Pool share requiring strict endpoint diversity
routeDiversityAttempts 3 Candidate routes checked per normal offer
routeDiversityCellSize 400 m Spatial route-history cell size
routeDiversityEndpointSeparation 280 m Minimum endpoint separation under strict checks
recentRouteLimit 20 Remembered accepted/generated route pairs
minVisible / maxVisible 10 / 12 Dispatcher pool target
nextOfferDuration 5 s Floating offer lifetime
nextOfferRetryMin / Max 5 / 10 s Retry after expiry/failure
nextOfferProgressThreshold 0.80 Route progress required for floating offers
pickupTimeMultiplier 1.35 Pickup ETA multiplier
pickupTimeGraceSeconds 60 s Added pickup grace
pickupTimeMinSeconds / Max 120 / 600 s Pickup budget clamp
multiStopChance 0.24 Random unplanned type chance
multiStopVisibleMin / Max 2 / 3 Requested pool composition
rushVisibleMin / Max 2 / 4 Requested pool composition
multiStopCountMin / Max 2 / 2 Intermediate stop count
multiStopMinimumCandidates 20 Semantic candidates required
multiStopSegmentMin / Max 3,000 / 7,000 m Normal leg range
multiStopRouteAttempts 18 Attempts per special leg
generationFailureBackoffMin / Max 4 / 7 s Backoff after repeated failures
rushChance 0.28 Random unplanned type chance
rushBonusMin / Max 0.22 / 0.42 22–42% bonus
rushTimeRatioMin / Max 0.72 / 0.86 Normal ETA fraction

Base fare and rating

Key Value
baseFare $3.25
farePerKm $1.55
farePerMinute $0.20
ratingBonusThreshold 3.99
maxRatingBonus 0.15
maxTotalPenalty 0.50
ratingPenaltyScale 8
collisionRatingPenalty 0.15
minimumRideRating 1

Pickup penalty

Key Value
pickupLateBasePenalty 0.05
pickupLatePenaltyPerSecond 0.000333
maxPickupLatePenalty 0.12

Passenger mood and stress

Key Value
calmPenaltyIgnoreMaximum 0.70
calmPenaltyMultiplierThreshold 50
passengerStressThresholdMinimum 72
passengerStressThresholdCalmBonus 23
passengerMoodMaximumGain 40
passengerMoodPerfectRideGain 40
passengerMoodStressRecovery 0.8
passengerMoodPickupLateLoss 4
passengerMoodPickupLateStepLoss 2
passengerMoodSpeedingBaseLoss 2
passengerMoodCollisionBaseLoss 10
passengerMoodAggressionBaseLoss 4
passengerMoodRushExpiredLoss 6

Difficulty matrix

Speeding

Preset Fixed tolerance Ratio tolerance Grace Rate Configured max
Elementary 15 km/h 25% 6 s 0.00025 6%
Easy 11 km/h 20% 4.5 s 0.00045 10%
Standard 8 km/h 15% 3 s 0.0008 15%
Professional 4 km/h 8% 1.5 s 0.0018 25%

Collision

Preset Damage threshold Damage scale Damage factor Event add Configured max
Elementary 60 22,000 0.10 0.004 10%
Easy 35 17,000 0.14 0.007 14%
Standard 20 12,000 0.18 0.010 20%
Professional 10 8,000 0.24 0.020 30%

Collision events use a three-second cooldown in every preset.

Harsh manoeuvre

Preset Longitudinal trigger/release Lateral trigger/release Event add Extra rate / cap Configured max
Elementary 0.88 / 0.55 g 0.78 / 0.48 g 0.002 0.006 / 0.004 5%
Easy 0.74 / 0.48 g 0.66 / 0.42 g 0.0035 0.010 / 0.006 8%
Standard 0.62 / 0.40 g 0.55 / 0.35 g 0.005 0.015 / 0.010 12%
Professional 0.48 / 0.32 g 0.42 / 0.28 g 0.010 0.025 / 0.018 20%

Aggression events use a three-second cooldown in every preset.

Internally, individual component accumulators allow up to twice the configured component max so a low-mood sensitivity multiplier can be represented. The final combined fare penalty remains capped at 50%.

Early-exit and abandonment reductions

Both passenger-triggered early exit and the extra percentage portion of driver abandonment use:

Preset Reduction
Elementary 10%
Easy 20%
Standard 30%
Professional 45%

Driver abandonment additionally subtracts one full rating star before clamping to 0–5.

Realistic fuel configuration

Key Value
fuelInitialLevel 5%
electricInitialLevel 30%
fallbackPricePerUnit $1.00
fuelRatePerSecond 2 readable units/s
electricPercentRatePerSecond 4 percentage points/s
Gasoline fixed price $0.93/L
Electric fixed price $0.50/kWh
dashboardRefreshInterval 1 s

Estimated range uses 10 L/100 km for gasoline, 8.5 L/100 km for diesel, 12.5 L/100 km for kerosene, and 22 kWh/100 km for electric energy.

Cargo delivery configuration

Key Value Meaning
visibleMin / visibleMax 5 / 7 Requested delivery count in a full pool
minimumWeightKg / maximumWeightKg 2 / 250 kg Generated cargo range
weightDistributionExponent 1.55 Bias toward lighter cargo
minimumDistance / maximumDistance 2,000 / 25,000 m Delivery route range
routeAttempts 28 Route attempts per delivery candidate
diversityAttempts 3 Spatially distinct candidates checked
fareMultiplier 0.82 Pre-weight rate relative to passenger work
weightFareBonusThresholdKg 15 kg Weight premium threshold
maximumWeightFareBonus 1.50 Maximum +150% premium at 250 kg
collisionDamageThreshold 20 Minimum telemetry damage delta
minimumImpactDamagePercent / maximumImpactDamagePercent 1 / 35% Package damage per impact
impactDamageScale 4,500 Exponential impact-severity scale
ratingDamageThresholdPercent 5% Damage threshold before rating loss

Phase IDs

inactive, searching, toFuelStation, toPickup, boarding,
toStop, stopWaiting, toDestination,
passengerStopDemand, passengerForcedExit, driverAbandoning,
alighting, complete, error

Clone this wiki locally