βοΈConfiguration
This guide covers all configurable options in the DevHub Racing script, organized by category and file location.
Shared Configuration (configs/sh.config.lua)
Debug and Development
Config.Debug = true
Config.DevMode = falseDebug: Enables debug mode for troubleshooting and logging additional information.
DevMode: Displays developer-related information for testing purposes.
Skill Tree Integration
Config.SkillTreeEnabled = falseSkillTreeEnabled: Enables skill tree integration (requires
devhub_skillTreeto be ensured first).Must be set to
trueand the skill tree resource must be started before this script.
Checkpoint System
Config.EnableCheckpointMarkers = trueEnableCheckpointMarkers: Enables/disables the 3D checkpoint marker system with UI and props.
Disabling this will reduce resource monitor usage but remove visual markers.
Race Blips Configuration
enabled: Show/hide race start blips on the map.
showDistance: Distance in meters to display race blips (default: 2000m / 2km).
groupingDistance: Distance in meters to group nearby races into single blip (default: 50m).
blipSprite: Blip icon sprite ID (315 = racing flag).
blipColor: Blip color ID (46 = default race color).
blipScale: Size of the blip icon.
blipName: Display name for race start blips.
Checkpoint Blips Configuration
enabled: Show/hide checkpoint blips during active races.
blipScale: Default size for all checkpoint blips.
startSprite/Color/Name: Settings for the start line checkpoint blip.
finishSprite/Color/Name: Settings for the finish line checkpoint blip.
nextCheckpointSprite/Color/Name: Settings for the next active checkpoint blip.
checkpointSprite/Color/Name: Settings for regular checkpoint blips.
MMR (Match Making Rating) System
DefaultMmr: Starting MMR points for new players (default: 1000).
AllowMrrOnAllRaces: If true, players can earn MMR on all races (not just official ones).
LeaderboardCacheTimeout: Cache refresh interval in milliseconds (default: 15 minutes).
MaxMmrHistory: Maximum number of MMR history entries to store per player.
MaxRaceHistory: Maximum number of race history entries to display in profile.
MmrForWin: MMR points awarded for top 3 positions.
MmrForLost: MMR points lost per position below 3rd (multiplied by place number).
Race Synchronization
SyncPlayerPositionInterval: How often to sync player positions with other racers in milliseconds (default: 1000ms / 1 second).
Routing Bucket System
DefaultRaceBucket: Default routing bucket ID for races (adds server ID of first player for uniqueness).
CreatorBucket : Default routing bucket for race creator mode, to make it unique for each creator session we are adding server id of the player (adds server ID).
Set to
falseto disable routing bucket system.Routing buckets isolate players in different dimensions for collision-free racing.
Official Race Generator
start: Race start time in 24-hour format (hour and minute).
mapId: Specific map ID (number) or "random" for verified maps pool.
winnerReward: Cash reward for 1st place (number or
falsefor no reward).vehicleClass: Allowed vehicle class ("ALL", "S", "A", "B", "C", "D").
collisions: Enable/disable player vehicle collisions (props are always collision-free).
fpv: Force first-person view during the race.
laps: Number of laps for loop-type race maps.
Vehicle and Traffic Settings
DisableLocalVehicleDuringRace: Disables all local vehicles and traffic while racing.
Payment Configuration
EntryFeePaidVia: Payment method for entry fees (
'cash'or'bank').MoneyRewardPaidVia: Payment method for rewards (
'cash'or'bank').EntryFeeRewardMultiplier: Multiplier for entry fee pool rewards (1.0 = exact amount paid by all players).
Admin Permissions
verifyMap: Requires admin to verify maps for official race pool.
createMap: Requires admin to create new maps.
createRace: Requires admin to create new races.
editMap: Requires admin to edit own maps (false = anyone can edit their maps).
editAnyMap: Requires admin to edit any user's maps.
Race Music System
enabled: Enable/disable background music during races.
volume: Music volume level (0.0 to 1.0).
fadeInDuration: Fade in time in milliseconds when music starts.
fadeOutDuration: Fade out time in milliseconds when music stops.
tracks: Array of YouTube video URLs to play during races (auto-skips restricted videos).
Teleport Settings
OnRaceEndTeleportToStart: Teleports players back to start position when race ends.
Laptop App Integration
label: App name displayed in laptop.
img: Icon URL for the app.
path: NUI path to the racing interface.
category: App category in laptop store.
rating/description/reviews: Metadata for laptop app display.
Checkpoint Waypoints and Highlights
Language Configuration (configs/sh.lang.lua)
All user-facing messages: Every notification, UI label, and system message is customizable.
Format placeholders: Use
%{value}syntax for dynamic values (e.g.,%{vehicleClass},%{seconds}).Navigation labels: Menu items like "HOME", "RACES", "MAPS", "MAP CREATOR", "PROFILE", "LEADERBOARD".
Race information: Checkpoint names, race types, vehicle classes, MMR labels.
UI elements: Buttons, forms, placeholders, tooltips, keyboard hints.
Discord webhook: Translations for Discord announcements of official races.
Day names: Monday through Sunday for official race scheduling.
Skill Tree Configuration (configs/sh.skills.lua)
XP Rewards
XpForFinishingRace: XP points awarded based on race position.
Only top 5 positions receive XP.
Skill Tree Category
skill: Internal identifier for the skill tree category.
title: Display name for the skill tree tab.
Skills List
uid: Unique identifier for the skill (referenced in code).
index: Grid position in the skill tree UI.
title: Display name of the skill.
icon: Font Awesome icon class.
img: Image URL for skill icon.
description: HTML-formatted skill description.
points: Skill points required to unlock.
effect: Numeric value for percentage-based skills (e.g., +10% MMR).
lines: Connection lines to other skills in the tree (directional: top, bottom, left, right, etc.).
Skill Categories
Vehicle Class Unlocks:
class_s,class_a,class_b,class_c- Unlock participation in higher vehicle classes.MMR Boosts:
more_mmr_1,more_mmr_2- Increase MMR gains by 10% per level (stacks).Cash Boosts:
more_cash_1,more_cash_2- Increase cash rewards by 10% per level (stacks).
Achievements Configuration (configs/sh.achivements.lua)
text: Achievement description displayed to players.
img: Image filename for achievement icon (located in public/images/medals/).
index: Display order in achievements list.
Achievement Types
Win Milestones:
win_1,win_10,win_25,win_50,win_100,win_200- Win X races in 1st place.Podium Finishes:
reach_podium_10,reach_podium_50,reach_podium_100,reach_podium_200- Finish top 3.Race Completion:
complete_50_races,complete_100_races,complete_250_races,complete_500_races- Complete X races.Class-Specific Wins:
win_50_S_race,win_50_A_race,win_50_B_race,win_50_C_race,win_50_D_race,win_50_ALL_race- Win 50 races in specific vehicle classes.
Client Configuration (configs/c.functions.lua)
Open client-side functions for custom integration:
CanJoinRace: Custom validation before joining a race (return true/false).
JoinRace: Triggered when player joins a race.
RaceLeave: Triggered when player leaves or is removed from race.
CheckpointPassed: Triggered each time a checkpoint is passed.
LapComplete: Triggered after completing a lap (loop races only).
RaceFinish: Triggered when player finishes the race.
Server Configuration (configs/s.functions.lua)
Open server-side functions for custom integration:
CanAddUserToRace: Server-side validation before adding player to race.
AddUserToRace: Triggered when player successfully joins a race.
RaceFinishByUser: Triggered when individual player finishes.
RaceFinish: Triggered when entire race concludes (all players finished/DNF).
RaceLeave: Triggered when player leaves race.
StartRace: Triggered when race countdown starts.
RaceDelete: Triggered when race is deleted/cancelled.
CreateMap: Triggered when new map is created.
Discord Webhook Configuration (configs/s.logs.lua)
LogsWebhook: Discord webhook URL for general race logs (map creation, race results, etc.).
OfficialRacesAnnouncementsWebhook: Discord webhook URL for official race announcements (auto-scheduled races).
Vehicle Classes Configuration (configs/c.vehicleClasses.lua)
S Class: Super cars (fastest, most prestigious).
A Class: High-end sports cars.
B Class: Mid-range sports cars and muscle cars.
C Class: Regular cars and lower-end sports.
D Class: Low-end vehicles, trucks, vans, utility vehicles.
Helper Functions
GetVehicleClassByHash: Returns vehicle class (S/A/B/C/D) based on model hash.
IsVehicleAllowedInRace: Checks if vehicle is allowed in a specific race class.
Map Creator Props Configuration (configs/c.creatorProps.lua)
Prop Categories
start: Props available for start line (flags, gantries, signs).
finish: Props available for finish line (flags, gantries).
checkpoint: Props available for checkpoints (flags, poles, gantries).
decoration: Props for track decoration (barrels, barriers, lights, hay bales).
Prop Properties
image: URL to prop preview image.
prop: In-game prop model name.
solo: If true, only one of this prop can be placed per checkpoint (used for large gantries).
Configuration Best Practices
Backup before changes: Always backup configuration files before making modifications.
Test incremental changes: Change one setting at a time and test thoroughly.
Vehicle class balance: Ensure vehicle classes are fairly distributed for competitive racing.
Official race timing: Schedule official races during peak server hours for maximum participation.
MMR tuning: Adjust MMR gains/losses based on your server's competition level.
Entry fees: Set entry fees appropriate to your server's economy.
Webhook testing: Test Discord webhooks with a test channel before using production channels.
Skill tree integration: Only enable if you have the DevHub Skill Tree resource installed.
Translation completeness: Ensure all language strings are translated for consistent user experience.
Last updated