Config

Explanations for all config values.

General Information

The editable configuration is located in shared/unlocked/config.lua. Use /zyke_vehicleterrain_material to discover material hashes that are specific to your map.

#Config.Settings

All basic resource settings.

#debug

Enables terrain diagnostics and debug commands. Keep this disabled during normal production use.

Example:

lua
debug = false

#commandPermission

The ACE permission required to use the debug commands.

Example:

lua
commandPermission = "command"

#Config.Terrain

All material sampling, visual sinking, and terrain handling settings.

#enabled

Enables material sampling, visual sinking, and terrain handling.

Example:

lua
enabled = true

#preset

Selects the default terrain profile. Available values are 1 for Arcade, 2 for Casual, 3 for Balanced, 4 for Realistic, and 5 for Hardcore. Balanced is recommended for most servers.

The preset controls sampling, transitions, speed scaling, handling penalties, wheel-type resistance, and class multipliers.

Example:

lua
preset = 3

#visualEnabled

Enables visible wheel sinking, suspension changes, and tire-collider presentation. Terrain handling penalties can remain active when this is disabled.

Example:

lua
visualEnabled = true

#materials

Maps GTA material hashes to their terrain settings. Each entry can define a display label, sink depth, and optional surface category.

Example:

lua
materials = {
    [282940568] = {label = "Tarmac", depth = 0.00, surface = "road"},
    [-1885547121] = {label = "DirtTrack", depth = 0.035},
    [-1595148316] = {label = "SandLoose", depth = 0.14},
    [1109728704] = {label = "MudDeep", depth = 0.16},
}

#materials[hash].label

Readable name used when displaying and debugging the detected material.

Example:

lua
label = "DirtTrack"

#materials[hash].depth

Input used for the material's visual depth and handling penalties. This is not a world-space distance copied directly from a raycast. Make gradual adjustments and test different wheel types and vehicle classes.

Example:

lua
depth = 0.035

#materials[hash].surface

Optional surface category. Set this to "road" for hard road materials so sampling and road-wheel behavior can treat them correctly. Leave it unset for normal soft-terrain processing.

Example:

lua
surface = "road"