Installation

Quasar Advanced Racing brings high-speed competition to FiveM with a built-in race creator, cinematic intros, countdowns, ghost racing, and live leaderboards. Create tracks anywhere with checkpoints, set vehicle restrictions, and reward winners with money, items, or points.


Download Script

To download the assets needed for this script, you must access the official Cfx.re portal, where all assets purchased through Tebex are managed.

  1. Go to the following link: 🔗 https://portal.cfx.re/assets/granted-assets

  2. Log in with the same Cfx.re account you used to make the purchase.

  3. In the list of granted assets, find and download the following:

    • Advanced Racing


Download Dependencies

This script requires some mandatory dependencies to function correctly. Make sure to download and extract them inside your server’s main directory, keeping their original folder structure intact.


Remove Other Scripts

This script may cause conflicts or errors if you use other races systems on your server. Common examples include qb-lapraces, or other similar races scripts. It’s strongly recommended to remove them completely before installation to prevent compatibility or functionality issues.


Server.cfg Placement

This script must always start after es_extended or qb-core, never before. We recommend placing it below in your server.cfg, ensuring that all its dependencies are started first to prevent errors or unexpected behavior.


Database Setup

This script includes an essential database required for its operation. You must import it before starting your server, preferably using HeidiSQL or any other manager compatible with MariaDB/MySQL.

DATABASE ESX/QBCORE
CREATE TABLE IF NOT EXISTS `racing_competitions` (
	`id` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci',
	`track_id` INT(11) NOT NULL DEFAULT '0',
	`creator_id` INT(11) NOT NULL DEFAULT '0',
	`laps` SMALLINT(6) NOT NULL DEFAULT '1',
	`type` SMALLINT(6) NOT NULL DEFAULT '0',
	`vehicle_class` SMALLINT(6) NOT NULL DEFAULT '0',
	`prize` INT(11) NOT NULL DEFAULT '0',
	`timestamp` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
	`start_time` TIMESTAMP NULL DEFAULT NULL,
	`automated_id` INT(11) NULL DEFAULT NULL,
	INDEX `id` (`id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;

CREATE TABLE IF NOT EXISTS `racing_favorite_tracks` (
	`track_id` INT(11) NOT NULL,
	`user_id` INT(11) NOT NULL,
	`favorite` TINYINT(1) NULL DEFAULT NULL,
	UNIQUE INDEX `track_id_user_id` (`track_id`, `user_id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;

CREATE TABLE IF NOT EXISTS `racing_race_finishers` (
	`race_id` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci',
	`user_id` INT(11) NOT NULL,
	`track_id` INT(11) NULL DEFAULT NULL,
	`vehicle_name` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci',
	`vehicle_class` MEDIUMINT(9) NOT NULL DEFAULT '0',
	`lap_time` INT(11) NOT NULL DEFAULT '0',
	`finish_time` INT(11) NOT NULL DEFAULT '0',
	`rating` INT(11) NOT NULL DEFAULT '0',
	`money_earned` INT(11) NOT NULL DEFAULT '0',
	`elo_change` INT(11) NULL DEFAULT '0',
	`position` INT(11) NOT NULL,
	`timestamp` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
	INDEX `race_id` (`race_id`) USING BTREE,
	INDEX `user_id` (`user_id`) USING BTREE,
	INDEX `track_id` (`track_id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;

CREATE TABLE IF NOT EXISTS `racing_recent_events` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`title` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci',
	`user_id` INT(11) NOT NULL DEFAULT '0',
	`timestamp` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
	PRIMARY KEY (`id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1
;

CREATE TABLE IF NOT EXISTS `racing_tracks` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`title` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
	`description` TINYTEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
	`image` TEXT NULL DEFAULT NULL,
	`creator_id` INT(11) NULL DEFAULT NULL,
	`type` SMALLINT(6) NULL DEFAULT NULL,
	`duration` MEDIUMINT(9) NULL DEFAULT NULL,
	`points` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
	`objects` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
	`verified` TINYINT(1) NULL DEFAULT '0',
	`timestamp` TIMESTAMP NULL DEFAULT current_timestamp(),
	PRIMARY KEY (`id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=8
;

CREATE TABLE IF NOT EXISTS `racing_users` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`identifier` VARCHAR(90) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci',
	`avatar` LONGTEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
	`name` VARCHAR(20) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
	`elo` MEDIUMINT(9) NULL DEFAULT '0',
	`ranking` MEDIUMINT(9) NULL DEFAULT '0',
	`tag` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci',
	`timestamp` TIMESTAMP NULL DEFAULT current_timestamp(),
	`checkpoint_color` SMALLINT(6) NULL DEFAULT NULL,
	`gps_color` SMALLINT(5) UNSIGNED NULL DEFAULT NULL,
	`races` INT(11) NULL DEFAULT '0',
	PRIMARY KEY (`id`) USING BTREE,
	UNIQUE INDEX `identifier` (`identifier`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=983
;