Usage
Opening the Tablet
Use the racing_tablet item from your inventory to open the racing UI. The tablet is required to join or participate in any race - players without it are disqualified at the start countdown.
The tablet can also be opened programmatically from another resource:
exports["prp-racing"]:OpenUI(source)Race Modes
| Mode | Description |
|---|---|
| Unranked | Open race created by any player; no ELO change |
| Ranked | Auto-generated system race; affects ELO and season standings |
| Private | Password-protected race; invite only |
| Pink Slip | Winner receives a vehicle transfer claim for the loser's car |
Creating a Race
- Open the tablet and go to the Races section.
- Select a track and click Create Race.
- Configure the race:
- Name, vehicle class(es), min/max players, lap count
- Bid (entry fee) and additional reward pool with currency
- Ghost mode, reverse route, first person, password (for private races)
- The race appears in the active race list. Players can join by selecting their registered vehicle.
- The race creator starts the countdown when ready. Vehicles are frozen and a 15-second countdown begins.
Vehicle class check
Players must arrive at the start in the correct vehicle matching the race class and registration plate. Wrong vehicle = automatic DNF.
Ghost Mode
| Setting | Behaviour |
|---|---|
| None | No ghosts - full contact racing |
| Full | Other cars are always ghost |
| 30 s / 60 s / 90 s / 120 s | Cars become ghost after the set time gap to the leader |
Pink Slips
- Create a Pink Slip race and set the vehicles to be wagered.
- The winner receives a vehicle claim recorded in the database.
- Travel to the pink slip redemption point (configured in
sv_config.lua→SvConfig.PinkSlips.redeem). - Pay 120 RACE (configurable) to complete the transfer and receive the vehicle.
Crews
- Open the tablet and go to Crews.
- Click Create Crew - costs $10,000. Set a name, tag and color.
- Invite players by nickname. You can define custom roles with specific permissions.
- The crew ELO is tracked per season alongside individual ELO.
Track Creator
- Open the tablet, go to Tracks and click Create Track.
- A free-cam mode activates. Place checkpoints along your route using the prop selection menu.
- Switch to Prop Mode to place decorative objects (tires, cones, barriers, lights, trailers).
- Save the track - it is saved as unpublished. Publish it to make it available for races.
Track flags
Admins can mark tracks as Verified, Official or Featured from the admin panel in the tablet.
Daily Rewards
| Races completed | Reward |
|---|---|
| 2 | RACING_CASE |
| 5 | RACING_CASE |
| 7 | RACING_CASE |
Progress resets at midnight. Up to 9 races are tracked per day. There is also a 2.5 % (25/1000) random chance to receive an additional case after any race that qualifies for rewards.
Reward Validation
Races must meet these minimum criteria for money/ELO rewards to be granted:
| Requirement | Default |
|---|---|
| Minimum players | 4 |
| Minimum race duration | 5 minutes |
| Minimum checkpoints | 0 |
| Require verified track | No |
Configuration
config.lua
| Option | Default | Description |
|---|---|---|
Config.TrackCamEntityPrevention | true | If the track creator prop is placed on another entity, should the camera be returned to it's original position, prevents props on top of each other |
Config.TrackCreatorCamDist | 25.0 | How far ahead can the track creator prop go |
Config.RacingItem | "racing_tablet" | Inventory item name |
Config.RequireItemToOpen | true | Require item to open tablet |
Config.LeaderboardTimeout | 15000 | Post-race leaderboard display duration (ms) |
Config.ShowCreatorUsage | true | Show active track creator sessions to others |
sv_config.lua
| Option | Default | Description |
|---|---|---|
SvConfig.StartTime | 15 | Race countdown duration (seconds) |
SvConfig.EloSettings.startingElo | 1000 | Starting ELO for new players |
SvConfig.EloSettings.kFactor | 64 | ELO k-factor (how fast ELO changes) |
SvConfig.CrewSettings.maxMembers | 20 | Maximum crew members |
SvConfig.CrewSettings.createCost | 10000 | Crew creation cost ($) |
SvConfig.DNFTime | 600 | Seconds until DNF is applied after last finisher |
SvConfig.SeasonLength | 2678400 | Season duration in seconds (31 days) |
SvConfig.CaseRewardChance | 25 | Case drop chance per qualifying race (0–1000) |
SvConfig.PoliceDispatchChance | 0.50 | Probability police are alerted to a race |
SvConfig.PinkSlips.process.amount | 120 | RACE currency cost to redeem a pink slip |
SvConfig.UseBridgeAllowlist | true | Use prp-bridge allowlist system |
SvConfig.UseAdminAllowlist | true | Whether admin checks use bridge allowlist also or just bridge.fw.isAdmin |
SvConfig.UseRankedAllowlist | true | Whether rank allowlist is needed for ranked race creation |
SvConfig.RequireALToCreateRace | false | Do they need the "create_race" allowlist to create a race |
SvConfig.RequireALToCreateTrack | false | Do they need the "track_creator" allowlist to create a race |
SvConfig.GenerateRaceOfTheHour | true | Will races of the hour generate |
Allowlist keys
| Key | Purpose |
|---|---|
track_creator | Permission to open the track creator tool |
create_race | Permission to create races (if RequireALToCreateRace = true) |
create_ranked_race | Permission to create ranked races |
racing_admin | Full admin access in the racing tablet |