OffRoad
INSTALLATION
- Copy the complete
BigDaddy-OffRoadresource folder into your server's resources directory. - Enter your product key in
[licensing]→key1insidesettings.ini. - Confirm OneSync is enabled on your server.
- Review
offroad.jsonand choose whether diagnostics should require ACE permission insettings.ini. - Add the following to
server.cfg, then start or restart the resource:
ensure BigDaddy-OffRoad
Keep the folder named BigDaddy-OffRoad.
USING OFFROAD
Drive an eligible vehicle onto a configured surface after licensing completes. Terrain effects apply automatically; players do not need to open a menu or run a command.
| CONTROL | ACTION |
|---|---|
/offroad |
Toggles the read-only diagnostics HUD, subject to the configured permission check. |
Escape |
Hides the diagnostics HUD. |
The HUD leaves driving controls available and does not take mouse or keyboard focus. Wheel depth is shown in millimetres; AIR indicates a wheel without detected ground contact. Use wheel material IDs from the HUD when tuning custom maps.
CONFIGURATION
Use settings.ini for licensing and diagnostics access. Use offroad.json for terrain, vehicle, weather, and performance tuning. Restart the resource after changing either file.
The server loads and validates gameplay configuration, then sends normalized settings to licensed clients. Out-of-range numeric values are replaced with fallback values and logged. Missing or invalid JSON, empty surface profiles, and structurally invalid configuration leave terrain simulation inactive. Use [] or {} for empty lists or maps rather than null.
SETTINGS.INI
| SECTION / SETTING | SHIPPED VALUE | DESCRIPTION |
|---|---|---|
[licensing] key1 |
Your product key | Enter the key supplied for your license. |
[settings] UseAcePermissions |
false |
Set to true to require ACE permission for diagnostics. This does not restrict normal driving physics. |
[settings] AcePermission |
bigdaddy.offroad.admin |
Permission checked for /offroad when permission checks are enabled. |
[settings] debug |
false |
Enables additional diagnostic logging. |
[settings] DesyncKey |
Supplied value | Internal licensing synchronization setting. Leave it unchanged. |
To restrict diagnostics, set UseAcePermissions=true and grant the configured ACE to the appropriate group or principal:
add_ace group.admin bigdaddy.offroad.admin allow
Your server must assign the intended users to that group. Permission is checked on the server for each HUD toggle request. Licensing remains required regardless of the permission setting.
OFFROAD.JSON — GAMEPLAY
| SETTING | DEFAULT | ACCEPTED VALUES / EFFECT |
|---|---|---|
Enabled |
true |
Enables terrain simulation server-wide. |
DepthMultiplier |
1 |
0–3. Global sinking depth scale; 0 disables sinking. |
SinkSpeedMultiplier |
1 |
0–5. Scales the rate at which wheels sink. |
TractionLossMultiplier |
1 |
0–3. Global terrain and weather grip-loss scale; 0 retains normal grip. |
RecoverySpeed |
0.12 |
0.01–1 metres per second. Wheel depth recovery rate. |
Resistance |
2.5 |
0–10. Bogging resistance; 0 disables extra drag. |
MinimumTorque |
0.2 |
0–1. Minimum torque multiplier while bogged; 1 disables torque reduction. |
RainGripLoss |
0.12 |
0–0.8. Additional grip loss, scaled by rain intensity. |
RainDepthMultiplier |
1.3 |
1–3. Depth multiplier approached as rain reaches full intensity. |
SnowGripLoss |
0.25 |
0–0.8. Additional grip loss during configured snow weather. |
OffRoadTireBonus |
0.25 |
0–0.6. Capability bonus for fitted off-road wheels; also improves grip on soft surfaces. |
AwdBonus |
0.15 |
0–0.5. Capability bonus for vehicles whose handling drive bias powers both axles. |
RoadsideAssist |
true |
Reduces sinking near a road node. |
RoadsideDistance |
8 |
0–25 metres. Distance to the nearest road node, including elevation. |
RoadsideDepthMultiplier |
0.2 |
0–1. Sinking depth scale within roadside-assist range. |
SnowWeathers |
XMAS, SNOW, SNOWLIGHT, BLIZZARD |
Weather names that activate the snow grip penalty. Does not create snow or change terrain materials. |
PERFORMANCE AND SYNCHRONIZATION
| SETTING | DEFAULT | ACCEPTED RANGE / EFFECT |
|---|---|---|
SampleIntervalMs |
150 |
50–500 ms. Terrain, wheel contact, and handling sampling interval. |
IdleIntervalMs |
250 |
100–1000 ms. Checks during an active vehicle session while waiting for an eligible driver vehicle or network control. |
SyncIntervalMs |
750 |
500–2000 ms. Interval between active sinking reports. |
HudIntervalMs |
250 |
100–1000 ms. Diagnostics refresh interval while open and data has changed. |
SyncDistance |
250 |
50–500 metres. Observer synchronization radius within the same routing bucket. |
Higher intervals reduce sampling or reporting frequency, with less immediate updates. A lower-workload starting point is SampleIntervalMs: 300, IdleIntervalMs: 500, SyncIntervalMs: 1200, HudIntervalMs: 400, and SyncDistance: 200. Measure with your server's vehicles and player population before adopting these values.
Terrain sampling is throttled separately from per-frame torque and force updates for the active driver vehicle. Sinking reports are sent while wheels are sunk, followed by a release message when recovered. With the HUD closed, no vehicle session, and no nearby sinking vehicles to display, the terrain update tick detaches. Nearby observer updates still require work while on foot; no fixed CPU or resource-monitor result is guaranteed.
VEHICLE CAPABILITY AND EXCLUSIONS
| SETTING | DESCRIPTION |
|---|---|
ClassCapability |
Maps vehicle class IDs to bonuses from -0.5 to 0.8. Positive values improve soft-ground capability; negative values make it harder. |
ModelCapability |
Maps vehicle spawn names to bonuses in the same range. A model entry replaces its class bonus. |
ExcludedModels |
Vehicle spawn names that receive no terrain effects. Shipped entries: rhino, khanjali, rcbandito. |
ExcludedClasses |
Class IDs that receive no terrain effects. Shipped entries: 13, 14, 15, 16, 21, 22 — cycles, boats, helicopters, planes, trains, and open-wheel racers. |
The shipped configuration gives off-road class vehicles a 0.35 class bonus and SUVs 0.15. Model overrides include sandking and sandking2 at 0.4, sanchez and sanchez2 at 0.25, and bf400 at 0.3.
Tire radius, suspension travel and raise, mass, drive bias, and wheel count also contribute to the final capability. The fitted-tire bonus requires off-road wheel type 4 and an installed wheel modification. A stock vehicle can still benefit from its class or model profile without receiving that fitted-tire bonus.
SURFACES
Surfaces maps integer wheel material IDs to terrain profiles. The supplied file includes firm road surfaces, several sand types, gravel, mud, marsh, grass, farmland, and forest ground.
| FIELD | ACCEPTED VALUES | DESCRIPTION |
|---|---|---|
Name |
Text | Surface label displayed by diagnostics. |
Depth |
0–0.5 metres |
Base maximum depth before capability, weather, roadside, zone, and global modifiers. |
Softness |
0–0.5 metres per second |
Base sinking rate. |
Grip |
0.15–1 |
Base grip multiplier; 1 is normal material grip. |
Example entry inside the existing Surfaces object:
"40": {
"Name": "Wet dirt / mud",
"Depth": 0.24,
"Softness": 0.07,
"Grip": 0.6
}
Use the wheel material ID displayed by /offroad, rather than a raycast material hash. Unknown IDs use firm-ground defaults, although weather penalties still apply. Actual sinking is capped at 60% of the wheel's baseline tire collider radius and an absolute maximum of 0.5 metres.
MAP EXCLUSIONS AND ZONES
ExcludedAreas disables terrain effects inside configured spheres. This is useful for custom garages or interiors with unsuitable ground materials. Example replacement for the initially empty array:
"ExcludedAreas": [
{
"Name": "Custom garage",
"X": 100.0,
"Y": 200.0,
"Z": 30.0,
"Radius": 35.0
}
]
Coordinates are world coordinates and Radius accepts 1–1000 metres.
Zones changes depth and material traction loss for named GTA zones. Both multipliers accept 0–3. Example replacement for the initially empty object:
"Zones": {
"SANDY": {
"DepthMultiplier": 0.65,
"TractionLossMultiplier": 0.8
}
}
These examples are entries in the complete configuration, not standalone replacement files. Preserve valid JSON commas when inserting them.
MULTIPLAYER AND COMPATIBILITY
The controlling driver simulates their vehicle. The server validates driver-seat occupancy, network ownership, entity type, report frequency, and depth payload bounds before forwarding sinking depths to nearby observers in the same routing bucket. Observers apply wheel sinking visuals rather than the driver's torque, drag, or grip changes. Old state expires, and release paths clear temporary effects after recovery, driver changes, disconnects, or resource stop.
OffRoad temporarily changes tire collider radii, traction curves, and brake force. It preserves wheel mesh size and restores captured values when releasing a vehicle, with checks to avoid overwriting detected changes from other resources. Scripts that continuously write the same handling fields, tire collider sizes, or torque values need compatibility testing together.
Simulation applies to eligible player-driven vehicles rather than ambient NPC traffic. Water, attached vehicles, dead entities, airborne or overturned vehicles, and configured exclusions prevent or release terrain effects as applicable. Unsupported wheel geometry is rejected.
This resource does not edit handling metadata files, deform the map, damage engines, or persist abandoned vehicles' bogging. Leaving the vehicle releases its effects. Snow settings apply grip penalties to selected weather states rather than generating snow terrain.
TROUBLESHOOTING
| SYMPTOM | CHECK |
|---|---|
| No terrain effects or diagnostics command | Confirm successful licensing, the exact resource folder name, OneSync, and all packaged runtime files. Review client and server logs for startup errors. |
| Diagnostics access denied | Check UseAcePermissions, AcePermission, and the player's assigned ACE principals. Driving physics does not require diagnostics permission. |
| Vehicle does not sink | Check Enabled, exclusions, DepthMultiplier, surface Depth and Softness, capability, and roadside assistance. Verify actual wheel material IDs in diagnostics. |
| Custom garage or MLO behaves like mud | Inspect its wheel material IDs, then add an ExcludedAreas sphere or tune the relevant surface. |
| Configuration changes do not apply | Validate JSON syntax and restart the resource. Look for rejected configuration or numeric fallback messages. |
| Another player cannot see sinking | Confirm OneSync, the same routing bucket, synchronization distance, and that the driver owns the networked vehicle. |
| Handling or wheel sizes conflict | Test alongside resources that change traction, braking, torque, or tire collider sizes. Add-on wheel geometry also needs an in-game check. |