Installation guide — please follow each step carefully and exactly as described to ensure the script works correctly on your server. Skipping or modifying steps may cause the system to not function properly, so follow it step by step.
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.
This script may cause conflicts or errors if you use other races systems on your server. Common examples include qb-lapraces, qb-races or other similar races scripts. It’s strongly recommended to remove them completely before installation to prevent compatibility or functionality issues.
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.
ESX/QB
sql
CREATE TABLE IF NOTEXISTS `racing_competitions` (
`id` VARCHAR(50) NOT NULLDEFAULT''COLLATE'latin1_swedish_ci',
`track_id` INT(11) NOT NULLDEFAULT'0',
`creator_id` INT(11) NOT NULLDEFAULT'0',
`laps` SMALLINT(6) NOT NULLDEFAULT'1',
`type` SMALLINT(6) NOT NULLDEFAULT'0',
`vehicle_class` SMALLINT(6) NOT NULLDEFAULT'0',
`prize` INT(11) NOT NULLDEFAULT'0',
`buy_in` INT(11) NOT NULLDEFAULT'0',
`timestamp` TIMESTAMPNOT NULLDEFAULTcurrent_timestamp(),
`start_time` TIMESTAMPNULLDEFAULTNULL,
`automated_id` INT(11) NULLDEFAULTNULL,
INDEX `id` (`id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `racing_favorite_tracks` (
`track_id` INT(11) NOT NULL,
`user_id` INT(11) NOT NULL,
`favorite` TINYINT(1) NULLDEFAULTNULL,
UNIQUE INDEX `track_id_user_id` (`track_id`, `user_id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
;
CREATE TABLE IF NOTEXISTS `racing_race_finishers` (
`race_id` VARCHAR(50) NOT NULLDEFAULT''COLLATE'latin1_swedish_ci',
`user_id` INT(11) NOT NULL,
`track_id` INT(11) NULLDEFAULTNULL,
`vehicle_name` VARCHAR(50) NOT NULLDEFAULT''COLLATE'latin1_swedish_ci',
`vehicle_class` MEDIUMINT(9) NOT NULLDEFAULT'0',
`lap_time` INT(11) NOT NULLDEFAULT'0',
`finish_time` INT(11) NOT NULLDEFAULT'0',
`rating` INT(11) NOT NULLDEFAULT'0',
`money_earned` INT(11) NOT NULLDEFAULT'0',
`elo_change` INT(11) NULLDEFAULT'0',
`position` INT(11) NOT NULL,
`timestamp` TIMESTAMPNOT NULLDEFAULTcurrent_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 NOTEXISTS `racing_recent_events` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(50) NOT NULLDEFAULT''COLLATE'latin1_swedish_ci',
`user_id` INT(11) NOT NULLDEFAULT'0',
`timestamp` TIMESTAMPNOT NULLDEFAULTcurrent_timestamp(),
PRIMARY KEY (`id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1
;
CREATE TABLE IF NOTEXISTS `racing_tracks` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`title` VARCHAR(50) NULLDEFAULTNULLCOLLATE'latin1_swedish_ci',
`description` TINYTEXT NULLDEFAULTNULLCOLLATE'latin1_swedish_ci',
`creator_id` INT(11) NULLDEFAULTNULL,
`type` SMALLINT(6) NULLDEFAULTNULL,
`duration` MEDIUMINT(9) NULLDEFAULTNULL,
`points` TEXT NULLDEFAULTNULLCOLLATE'latin1_swedish_ci',
`objects` TEXT NULLDEFAULTNULLCOLLATE'latin1_swedish_ci',
`verified` TINYINT(1) NULLDEFAULT'0',
`timestamp` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
PRIMARY KEY (`id`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=8
;
CREATE TABLE IF NOTEXISTS `racing_users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(90) NOT NULLDEFAULT''COLLATE'latin1_swedish_ci',
`avatar` LONGTEXT NULLDEFAULTNULLCOLLATE'latin1_swedish_ci',
`name` VARCHAR(20) NULLDEFAULTNULLCOLLATE'latin1_swedish_ci',
`elo` MEDIUMINT(9) NULLDEFAULT'0',
`ranking` MEDIUMINT(9) NULLDEFAULT'0',
`tag` VARCHAR(50) NULLDEFAULTNULLCOLLATE'latin1_swedish_ci',
`timestamp` TIMESTAMPNULLDEFAULTcurrent_timestamp(),
`checkpoint_color` SMALLINT(6) NULLDEFAULTNULL,
`gps_color` SMALLINT(5) UNSIGNED NULLDEFAULTNULL,
`races` INT(11) NULLDEFAULT'0',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `identifier` (`identifier`) USING BTREE
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=983
;
ALTER TABLE `racing_tracks`
ADD IF NOTEXISTS `image` TEXT NULLDEFAULTNULL
;
ALTER TABLE `racing_competitions`
ADDCOLUMN IF NOTEXISTS `buy_in` INT(11) NOT NULLDEFAULT'0' AFTER `prize`;