Choose the race format before choosing a script
A checkpoint time trial, a multi-lap circuit and a shared street race require different behavior. If you need a physical venue, the race track MLO guide compares map packages and their integration checks. Write down whether players race alone or together, how they enter, how a winner is determined and what happens if someone disconnects. Match the package to those requirements before comparing its interface.
For a server with custom vehicles, decide whether eligibility follows model names, GTA vehicle classes or your own balancing tiers. A vehicle class is an engine category; it does not establish equal acceleration or lap performance. Keep your race rules explicit and test the intended fleet.
What the reviewed qb-lapraces configuration controls
The example is pinned to commit 2a33aba3f44d24b466931bfff548fea84ce747da. Its config contains WhitelistedCreators with a PUTCID placeholder and RaceSetupAllowed set to true. These are resource-specific settings, not commands shared by all racing scripts.
Treat creator access and permission to set up an event as separate questions. Decide who may publish tracks and who may organize races on approved tracks. Use staging characters for access checks; a hidden menu alone does not establish that server-side actions are protected.
Check framework, database and entry-point integrations
The reviewed manifest declares GTA V, version 1.5.0, a local HTML interface and an OxMySQL server import. It loads config.lua, client.lua and server.lua. Match those files and dependencies to your installed revision rather than mixing instructions from another fork.
The server source uses qb-core exports and notifies qb-phone when race listings change. Confirm how your phone or replacement interface reaches the race editor and event list. A running resource does not prove a custom phone exposes the required workflow.
Before any database import, inspect the package schema against a backed-up staging database. Connection success, table availability and correct saved data are different checks. This guide does not execute the resource or provide a tested migration recipe.
Design checkpoints that describe an unambiguous route
The reviewed client source represents checkpoints with coordinates and left/right offsets, and includes editor paths for adding and deleting them. Treat checkpoint position and gate width as separate layout choices.
Start with a short synthetic test course: a straight, a turn and a finish. Check the approach from the driver’s view. Place gates so the intended lane is clear, then inspect nearby parallel roads, stacked roads and shortcuts. A marker visible through a bridge does not prove the intended road surface is selected.
Expand only after the short route behaves correctly. Keep a course version, screenshot of each ambiguous gate and a written expected order. This provides a reproducible report when changing a map or checkpoint layout affects the route.
Use a repeatable race acceptance matrix
The following checks are proposed tests, not results from a Magnate gameplay session. Run them with two staging players and the actual vehicle and map resources you intend to publish.
| Scenario | Expected evidence |
|---|---|
| Creator access | An approved creator can edit; an unapproved character cannot publish |
| Checkpoint order | The intended sequence advances and skipping a required gate does not complete the course |
| Lap boundary | Crossing the finish advances or ends the event according to the configured format |
| Two-player finish | Both participants see the intended result and ordering |
| Cancellation or disconnect | The event releases participants and cleans up according to server policy |
| Saved-track reload | The same course and checkpoint order return after a controlled restart |
| Map update | Every gate remains on the intended accessible road surface |
Separate track persistence from a race that works once
The reviewed server source stores track details in a lapraces table, including the name, checkpoints, creator, distance and race identifier. Use a distinctive synthetic course name to compare editor output, saved data and the reloaded course.
A track appearing immediately after creation only proves the current session can display it. Reload through the supported workflow and compare the start, final checkpoint and order. Check that a selected course still refers to the intended stored course after restart.
Document the expected behavior for editing or replacing an existing track before changing live records. Keep backups and use the resource’s supported maintenance path. Do not apply SQL from another racing package merely because it uses a similarly named table.
Troubleshoot the first failing stage
If the editor is unavailable, check creator access and the interface integration. If creation works but saving fails, inspect the first relevant server error and database setup. If the course reloads but a race does not finish, reduce it to the smallest checkpoint sequence that reproduces the failure.
Record the exact resource revision, framework, map version, vehicle model and expected-versus-observed behavior. Share a synthetic reproduction without credentials or private player records. Validate permissions and result handling on the server before exposing an event to public players.
For broader setup, use the vehicle resource guide for model checks and the OxMySQL guide for the database connection layer. None of these checks establishes compatibility with GTA VI or ranks a commercial racing script as the best option.
Questions, answered.
Does qb-lapraces work with every FiveM framework?
This example uses QBCore integrations. Verify the supported framework and revision of your actual package; configuration names and phone entry points can differ.
Is a saved track proof that a complete race works?
No. Test checkpoint order, lap completion, multiple participants and reload behavior separately.
Can GTA vehicle classes guarantee fair race categories?
No. Engine classes are useful categories, but custom vehicle handling and performance need their own eligibility and balancing checks.
Sources & editorial notes
Source review: November 7, 2026. Platform announcements can change. This guide separates published facts from Magnate’s original analysis and preparation advice.
- QBCore — qb-lapraces pinned config.lua Creator allowlist and race setup switch.
- QBCore — qb-lapraces pinned fxmanifest.lua GTA V target, resource version and database import.
- QBCore — qb-lapraces pinned server.lua Framework, phone and saved-course integration; source review only.
- QBCore — qb-lapraces pinned client.lua Checkpoint geometry and editor behavior; no gameplay test performed.
Published by an independent editorial brand. Read our editorial standards.