Maintenance & Wear
📄 Config file: shared/maintenance.lua
This file controls how quickly each vehicle part wears out and the gameplay effects of worn parts. Every part has a wear distance (how far the vehicle must drive before the part needs attention) and various settings that determine what happens when the part is degraded.
Wear values go from 0 (brand new) to 100 (completely broken). When a part reaches 100, it stops functioning properly and may cause serious issues like engine stalling or tire blowouts.
Spark Plugs
Config.SparkPlugChangeDistance = 1
Config.MaxSparkPlugWear = 100.0| Setting | What it does |
|---|---|
SparkPlugChangeDistance | Distance (in km/miles) before spark plugs need changing. Lower values mean more frequent maintenance. |
MaxSparkPlugWear | Maximum wear value. When reached, the spark plugs are completely worn out and cause misfires. |
Engine Oil & Oil Filter
Config.OilChangeDistance = 1
Config.OilFilterDistance = 2000
Config.EngineDamageRate = 0.5| Setting | What it does |
|---|---|
OilChangeDistance | Distance before oil needs changing. |
OilFilterDistance | Distance before the oil filter needs replacing. |
EngineDamageRate | How much engine health damage accumulates per tick when oil is severely degraded. Higher = more punishing. |
Air Filter
Config.AirFilterDistance = 1
Config.MaxSpeedReduction = 0.2
Config.AccelerationReduction = 0.3| Setting | What it does |
|---|---|
AirFilterDistance | Distance before the air filter needs replacing. |
MaxSpeedReduction | Maximum top speed penalty when the air filter is fully clogged. 0.2 = up to 20% speed loss. |
AccelerationReduction | Maximum acceleration penalty when the air filter is fully clogged. 0.3 = up to 30% slower acceleration. |
Tires
Config.TireWearDistance = 1
Config.BaseTireGrip = 2.5
Config.MinTireGrip = 0.5
Config.TireBurstThreshold = 0.98
Config.TireBurstChance = 0.05
Config.SteeringReductionRatio = 0.4
Config.SteeringLockReductionRatio = 0.3| Setting | What it does |
|---|---|
TireWearDistance | Distance before tires need replacing. |
BaseTireGrip | Grip level of brand new tires. Higher = more traction. |
MinTireGrip | Grip level of completely worn tires. The difference between Base and Min determines how much grip degrades. |
TireBurstThreshold | Wear ratio (0–1) at which tires risk randomly blowing out. 0.98 means at 98% wear (only 2% life left). |
TireBurstChance | Probability (0–1) per check that a tire actually bursts when above the threshold. 0.05 = 5% chance every 3 seconds. |
SteeringReductionRatio | Maximum reduction in steering speed when tires are worn. 0.4 = up to 40% slower steering. |
SteeringLockReductionRatio | Maximum reduction in turning radius when tires are worn. 0.3 = up to 30% wider turns. |
Wheel Balancing
Config.WheelBalanceDistance = 1
Config.WheelBalanceResonanceMin = 40.0
Config.WheelBalanceResonanceMax = 120.0
Config.WheelBalanceVibration = 0.5
Config.WheelBalanceJitter = 0.2
Config.WheelBalanceImpactChance = 0.1
Config.WheelBalanceSusImpact = 1.5| Setting | What it does |
|---|---|
WheelBalanceDistance | Distance before wheel balancing is needed. |
WheelBalanceResonanceMin | Speed (km/h) where vibration begins. Below this speed, unbalanced wheels feel normal. |
WheelBalanceResonanceMax | Speed (km/h) where vibration reaches maximum intensity. |
WheelBalanceVibration | Maximum camera shake intensity. Higher = more violent shaking. |
WheelBalanceJitter | Maximum steering jitter (random small inputs). Higher = harder to control. |
WheelBalanceImpactChance | Chance (0–1) of losing wheel balance after a high-speed collision. |
WheelBalanceSusImpact | Multiplier for suspension wear when wheels are unbalanced. 1.5 = suspension wears 50% faster. |
Brakes
Config.BrakeWearRate = 0.08
Config.MaxBrakeWear = 100.0
Config.BrakeEfficiencyLoss = 1.0
Config.BaseBrakeForce = 1.0
Config.BrakeChangeDistance = 1| Setting | What it does |
|---|---|
BrakeWearRate | How fast brakes wear per use. Higher = faster degradation. |
MaxBrakeWear | Maximum wear value (100 = completely worn). |
BrakeEfficiencyLoss | Maximum braking power loss when fully worn. 1.0 = 100% loss (no brakes at all). |
BaseBrakeForce | The baseline brake force of a vehicle with new brakes. |
BrakeChangeDistance | Distance before brakes need attention. |
Suspension
Config.SuspensionChangeDistance = 1
Config.MaxSuspensionWear = 100.0| Setting | What it does |
|---|---|
SuspensionChangeDistance | Distance before suspension needs servicing. |
MaxSuspensionWear | Maximum wear value. Worn suspension causes harsh ride quality and handling issues. |
Clutch
Config.ClutchWearRate = 0.1
Config.MaxClutchWear = 100.0
Config.ClutchEfficiencyLoss = 0.8
Config.ClutchChangeDistance = 1
Config.BaseClutchForce = 1.0| Setting | What it does |
|---|---|
ClutchWearRate | How fast the clutch wears per gear change. |
MaxClutchWear | Maximum wear value. |
ClutchEfficiencyLoss | Maximum efficiency loss when fully worn. 0.8 = 80% power loss through a slipping clutch. |
ClutchChangeDistance | Distance before the clutch needs replacing. |
BaseClutchForce | Baseline clutch engagement force. |
Pistons
Config.PistonChangeDistance = 1
Config.MaxPistonPowerLoss = 0.4
Config.PistonSmokeThreshold = 0.85
Config.PistonDynamicWearRate = 0.02| Setting | What it does |
|---|---|
PistonChangeDistance | Distance before pistons need servicing. |
MaxPistonPowerLoss | Maximum power loss when pistons are fully worn. 0.4 = 40% less engine power. |
PistonSmokeThreshold | Wear ratio (0–1) at which blue exhaust smoke starts appearing. 0.85 = at 85% wear. |
PistonDynamicWearRate | Additional wear added when revving above 80% RPM. High-revving wears pistons faster. |
Radiator
Config.RadiatorChangeDistance = 2
Config.RadiatorHeatMultiplier = 2.5
Config.RadiatorSteamThreshold = 0.90
Config.RadiatorDynamicWearRate = 0.05| Setting | What it does |
|---|---|
RadiatorChangeDistance | Distance before the radiator needs replacing. |
RadiatorHeatMultiplier | How much faster the engine overheats when the radiator is worn. 2.5 = 150% faster heating. |
RadiatorSteamThreshold | Wear ratio (0–1) at which steam starts coming from the hood. 0.90 = at 90% wear. |
RadiatorDynamicWearRate | Additional wear when engine temperature exceeds 105°. |
Fuel Pump
Config.FuelPumpChangeDistance = 2500
Config.FuelPumpDynamicWearRate = 0.01| Setting | What it does |
|---|---|
FuelPumpChangeDistance | Distance before the fuel pump needs replacing. |
FuelPumpDynamicWearRate | Wear added periodically while driving. |
A worn fuel pump causes intermittent fuel starvation, the engine will stutter and can randomly stall.
Alternator
Config.AlternatorChangeDistance = 2
Config.AlternatorFailChance = 0.3
Config.LightFlickerThreshold = 0.75
Config.AlternatorDynamicWearRate = 0.1| Setting | What it does |
|---|---|
AlternatorChangeDistance | Distance before the alternator needs replacing. |
AlternatorFailChance | Chance (0–1) that the engine fails to start when the alternator is worn. 0.3 = 30% fail rate. |
LightFlickerThreshold | Wear ratio (0–1) at which headlights start flickering. 0.75 = at 75% wear. |
AlternatorDynamicWearRate | Wear added each time the player attempts to start the engine. |
Gearbox
Config.GearboxChangeDistance = 2
Config.GearboxWearRate = 0.12
Config.GearboxFailShiftThreshold = 0.8
Config.GearboxGrindChance = 0.2
Config.GearboxClutchWearImpact = 0.1| Setting | What it does |
|---|---|
GearboxChangeDistance | Distance before the gearbox needs replacing. |
GearboxWearRate | How fast the gearbox wears per gear shift or per mile. |
GearboxFailShiftThreshold | Wear ratio (0–1) at which gear shifts start randomly failing. 0.8 = at 80% wear. |
GearboxGrindChance | Probability (0–1) of gears grinding when shifting with a worn gearbox. |
GearboxClutchWearImpact | Additional clutch wear caused by each shift when the gearbox is worn. Worn gearbox = worn clutch faster. |
Turbo
Config.TurboDynamicWearRate = 0.04
Config.TurboBaseWearRate = 0.01
Config.TurboPowerLossThreshold = 0.5
Config.TurboBlowThreshold = 0.95| Setting | What it does |
|---|---|
TurboDynamicWearRate | Additional wear when boost is active (RPM above turbo's threshold). |
TurboBaseWearRate | Baseline wear added periodically while driving with a turbo installed. |
TurboPowerLossThreshold | Wear ratio (0–1) where boost output starts declining. 0.5 = loses power at 50% wear. |
TurboBlowThreshold | Wear ratio (0–1) where the turbo can blow out entirely (black smoke, no boost). 0.95 = at 95% wear. |
Global Wear Settings
Config.WearTickInterval = 5000
Config.MaxPartCondition = 100.0| Setting | What it does |
|---|---|
WearTickInterval | How often (in milliseconds) the dynamic wear calculation runs. 5000 = every 5 seconds. Lower values are more accurate but use more CPU. |
MaxPartCondition | The maximum wear value any part can reach. 100 means fully broken. |