Quasar Store Logo

Installation

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.

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

Access the Granted Assets Page

Open the Cfx.re granted assets page: https://portal.cfx.re/assets/granted-assets.

This page contains all assets linked to your Cfx.re purchases.

2

Log In with Your Cfx.re Account

Sign in using the same Cfx.re account you used when purchasing the asset.

If you use a different account, the assets will not appear.

3

Download the Housing Assets

In the granted assets list, locate and download:

Housing [main]
Housing [props]

These two packages are required to install the full housing system.

These files include the models, materials, and visual resources required for the proper operation of the housing system.





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.

This is an optional dependency used to enable extended functionality when running with the ESX.

This is an optional dependency used to enable extended functionality when running with the QB.





Remove Other Scripts

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





Database Setup

Avoid using tools like XAMPP or other non-optimized local servers, as they may cause connection errors.

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

CREATE TABLE IF NOT EXISTS `houselocations` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL DEFAULT '', `label` VARCHAR(255) NULL DEFAULT NULL, `coords` TEXT NULL DEFAULT NULL, `owned` TINYINT(2) NULL DEFAULT NULL, `price` INT(11) NULL DEFAULT NULL, `defaultPrice` INT(11) NULL DEFAULT NULL, `tier` TINYINT(2) NULL DEFAULT NULL, `garage` TEXT NULL DEFAULT NULL, `garageShell` TEXT NULL DEFAULT NULL, `creator` VARCHAR(50) NULL DEFAULT NULL, `mlo` TEXT NULL DEFAULT NULL, `ipl` TEXT NULL DEFAULT NULL, `console` INT(11) NULL DEFAULT NULL, `board` TEXT NULL DEFAULT NULL, `for_sale` INT(11) NULL DEFAULT '1', `extra_imgs` TEXT NULL DEFAULT NULL, `description` TEXT NOT NULL DEFAULT '', `creatorJob` VARCHAR(50) NULL DEFAULT NULL, `blip` TEXT NULL DEFAULT NULL, `upgrades` TEXT NULL DEFAULT NULL, `apartmentCount` INT(11) NULL DEFAULT NULL, PRIMARY KEY (`name`) USING BTREE, INDEX `name` (`name`) USING BTREE, INDEX `id` (`id`) USING BTREE ) COLLATE='utf8mb4_general_ci' ; CREATE TABLE IF NOT EXISTS `player_houses` ( `id` INT(255) NOT NULL AUTO_INCREMENT, `house` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `citizenid` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `owner` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `keyholders` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `stash` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `outfit` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `logout` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `decorateStash` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `charge` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `credit` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `creditPrice` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `console` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `decorateCoords` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `rented` INT(11) NULL DEFAULT NULL, `rentPrice` INT(11) NULL DEFAULT NULL, `rentable` INT(11) NULL DEFAULT NULL, `purchasable` INT(11) NULL DEFAULT NULL, `vaultCodes` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', PRIMARY KEY (`id`) USING BTREE, INDEX `house` (`house`) USING BTREE, INDEX `owner` (`owner`) USING BTREE, INDEX `citizenid` (`citizenid`) USING BTREE ) COLLATE='utf8mb4_general_ci' ENGINE=InnoDB AUTO_INCREMENT=3 ; CREATE TABLE IF NOT EXISTS `house_rents` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `house` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci', `identifier` VARCHAR(80) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci', `payed` INT(11) NOT NULL DEFAULT '0', `date` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) USING BTREE ) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1; CREATE TABLE IF NOT EXISTS `house_objects` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `creator` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'latin1_swedish_ci', `model` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'latin1_swedish_ci', `coords` TEXT NOT NULL COLLATE 'latin1_swedish_ci', `house` VARCHAR(80) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `construction` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `created` TIMESTAMP NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) USING BTREE ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `house_junk` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `house` VARCHAR(255) NOT NULL, `model` VARCHAR(255) NOT NULL, `coords` LONGTEXT NULL DEFAULT NULL, `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP(), PRIMARY KEY (`id`) USING BTREE, INDEX `idx_house` (`house`) USING BTREE ) COLLATE='utf8mb4_unicode_ci' ENGINE=InnoDB AUTO_INCREMENT=1; ALTER TABLE `house_objects` ADD IF NOT EXISTS `construction` VARCHAR(50) NULL DEFAULT NULL, ADD IF NOT EXISTS `created` TIMESTAMP NULL DEFAULT current_timestamp() ; CREATE TABLE IF NOT EXISTS `house_plants` ( `id` int(11) NOT NULL AUTO_INCREMENT, `building` varchar(50) DEFAULT NULL, `stage` varchar(50) DEFAULT 'stage-a', `sort` varchar(50) DEFAULT NULL, `gender` varchar(50) DEFAULT NULL, `food` int(11) DEFAULT 100, `health` int(11) DEFAULT 100, `progress` int(11) DEFAULT 0, `coords` text DEFAULT NULL, `plantid` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `building` (`building`), KEY `plantid` (`plantid`) ) ENGINE = InnoDB AUTO_INCREMENT = 7123 DEFAULT CHARSET = utf8mb4; CREATE TABLE IF NOT EXISTS `house_meta_keys` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `house` VARCHAR(255) NOT NULL, `key_id` VARCHAR(255) NOT NULL, `owner_identifier` VARCHAR(255) NOT NULL, `created_at` TIMESTAMP NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `key_id` (`key_id`) USING BTREE, INDEX `idx_house` (`house`) USING BTREE, INDEX `idx_key_id` (`key_id`) USING BTREE ) COLLATE='utf8mb3_general_ci' ENGINE=InnoDB ; ALTER TABLE `player_houses` CHANGE COLUMN IF EXISTS `identifier` `owner` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci'; ALTER TABLE `houselocations` ADD IF NOT EXISTS `blip` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `upgrades` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `apartmentCount` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `creatorGotMoney` TINYINT(1) NOT NULL DEFAULT '0', ADD IF NOT EXISTS `permissions` LONGTEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `paymentMethod` VARCHAR(50) NULL DEFAULT NULL, ADD IF NOT EXISTS `photos` TEXT NULL DEFAULT NULL ; ALTER TABLE `player_houses` ADD IF NOT EXISTS `rented` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `rentPrice` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `rentable` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `purchasable` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `console` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `decorateCoords` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `vaultCodes` TEXT NULL DEFAULT NULL ; ALTER TABLE `houselocations` DROP IF EXISTS `houseID` ; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `doorbellSound` VARCHAR(50) DEFAULT NULL AFTER `paymentMethod`; ALTER TABLE `player_houses` DROP IF EXISTS `houseID`, DROP IF EXISTS `timer`, DROP IF EXISTS `insideId` ; ALTER TABLE `houselocations` CHANGE COLUMN `tier` `tier` SMALLINT NULL DEFAULT NULL; CREATE TABLE IF NOT EXISTS `house_decorations` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `house` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', `creator` VARCHAR(70) NOT NULL DEFAULT '0' COLLATE 'utf8mb3_general_ci', `modelName` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb3_general_ci', `coords` TEXT NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', `rotation` TEXT NOT NULL DEFAULT '' COLLATE 'utf8mb3_general_ci', `inStash` TINYINT(1) NOT NULL DEFAULT '0', `inHouse` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', `uniq` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', `created` TIMESTAMP NULL DEFAULT NULL, `lightData` TEXT NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', PRIMARY KEY (`id`) USING BTREE, INDEX `id` (`id`, `house`) USING BTREE ) COLLATE='utf8mb3_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `house_bills` ( `id` INT NOT NULL AUTO_INCREMENT, `house` VARCHAR(100) NOT NULL, `payed_by` VARCHAR(80) NULL DEFAULT NULL, `total` INT NOT NULL, `breakdown` LONGTEXT NOT NULL, `payed` TINYINT(1) NOT NULL DEFAULT 0, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), INDEX `idx_house_payed_by` (`house`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `qs_housing_furnitures` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `creator` VARCHAR(80) NULL DEFAULT NULL, `category_key` VARCHAR(100) NOT NULL, `object` VARCHAR(200) NOT NULL, `label` VARCHAR(255) NOT NULL, `description` TEXT NULL DEFAULT NULL, `price` INT(11) NOT NULL DEFAULT '0', `img` TEXT NULL DEFAULT NULL, `colorlabel` VARCHAR(255) NULL DEFAULT NULL, `type` VARCHAR(50) NULL DEFAULT NULL, `stash` LONGTEXT NULL DEFAULT NULL, `offset` LONGTEXT NULL DEFAULT NULL, `colors` LONGTEXT NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, INDEX `creator` (`creator`) USING BTREE, INDEX `category_key` (`category_key`) USING BTREE )COLLATE='utf8mb4_unicode_ci' ENGINE=InnoDB; CREATE TABLE IF NOT EXISTS `house_stolen_furniture` ( `id` int(11) NOT NULL AUTO_INCREMENT, `identifier` varchar(50) NOT NULL, `house` varchar(50) NOT NULL, `model_name` varchar(100) NOT NULL, `stolen_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `lights_on` TINYINT(1) DEFAULT 0; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `lights_on_since` BIGINT DEFAULT NULL; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `sale_furnished` TINYINT(1) DEFAULT NULL; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `rent_furnished` TINYINT(1) DEFAULT NULL; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `hideFromBrowser` TINYINT(1) DEFAULT 0; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `allowPlantInside` TINYINT(1) NOT NULL DEFAULT 1; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `allowPlantOutside` TINYINT(1) NOT NULL DEFAULT 1; ALTER TABLE `house_decorations` ADD COLUMN IF NOT EXISTS `price` INT(11) DEFAULT NULL; CREATE TABLE IF NOT EXISTS `qs_housing_furniture_shops` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(100) NOT NULL, `enter` LONGTEXT NOT NULL, `blip` LONGTEXT NULL DEFAULT NULL, `categories` LONGTEXT NULL DEFAULT NULL, `creator` VARCHAR(100) NOT NULL, `created_at` DATETIME NULL DEFAULT current_timestamp(), `updated_at` DATETIME NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `users` ADD IF NOT EXISTS `inside` VARCHAR(50) NULL DEFAULT ''; INSERT IGNORE INTO `addon_inventory` (name, label, shared) VALUES ('propery', 'Property', 0); INSERT IGNORE INTO `datastore` (name, label, shared) VALUES ('propery', 'Property', 0); INSERT INTO `jobs` (`name`, `label`, `whitelisted`) VALUES ('realestate', 'Real Estate Agency', 1); INSERT INTO `job_grades` (`job_name`, `grade`, `name`, `label`, `salary`, `skin_male`, `skin_female`) VALUES ('realestate', 0, 'agent', 'Agent', 400, '{}', '{}'), ('realestate', 1, 'senior_agent', 'Senior Agent', 600, '{}', '{}'), ('realestate', 2, 'manager', 'Manager', 800, '{}', '{}'), ('realestate', 3, 'boss', 'Boss', 1000, '{}', '{}'); INSERT INTO `addon_account` (`name`, `label`, `shared`) VALUES ('society_realestate', 'Real Estate Society', 1); INSERT INTO `addon_account_data` (`account_name`, `money`) VALUES ('society_realestate', 0);
QB

ALTER TABLE `players` ADD IF NOT EXISTS `inside` VARCHAR(50) NULL DEFAULT ''; CREATE TABLE IF NOT EXISTS `houselocations` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci', `label` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `coords` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `owned` TINYINT(2) NULL DEFAULT NULL, `price` INT(11) NULL DEFAULT NULL, `defaultPrice` INT(11) NULL DEFAULT NULL, `tier` TINYINT(2) NULL DEFAULT NULL, `garage` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `garageShell` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `creator` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `mlo` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `ipl` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `console` INT(11) NULL DEFAULT NULL, `board` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `for_sale` INT(11) NULL DEFAULT '1', `extra_imgs` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `description` TEXT NOT NULL DEFAULT '' COLLATE 'latin1_swedish_ci', `creatorJob` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `blip` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `upgrades` TEXT NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `apartmentCount` INT(11) NULL DEFAULT NULL, PRIMARY KEY (`name`) USING BTREE, INDEX `name` (`name`) USING BTREE, INDEX `id` (`id`) USING BTREE ) COLLATE='utf8mb4_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `player_houses` ( `id` INT(255) NOT NULL AUTO_INCREMENT, `house` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `citizenid` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `owner` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `keyholders` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `stash` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `outfit` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `logout` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `decorateStash` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `charge` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `credit` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `creditPrice` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `console` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `decorateCoords` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', `rented` INT(11) NULL DEFAULT NULL, `rentPrice` INT(11) NULL DEFAULT NULL, `rentable` INT(11) NULL DEFAULT NULL, `purchasable` INT(11) NULL DEFAULT NULL, `vaultCodes` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', PRIMARY KEY (`id`) USING BTREE, INDEX `house` (`house`) USING BTREE, INDEX `owner` (`owner`) USING BTREE, INDEX `citizenid` (`citizenid`) USING BTREE ) COLLATE='utf8mb4_general_ci' ENGINE=InnoDB AUTO_INCREMENT=3 ; CREATE TABLE IF NOT EXISTS `house_rents` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `house` VARCHAR(50) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci', `identifier` VARCHAR(80) NOT NULL DEFAULT '' COLLATE 'utf8mb4_general_ci', `payed` INT(11) NOT NULL DEFAULT '0', `date` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) USING BTREE ) COLLATE = 'utf8mb4_general_ci' ENGINE = InnoDB AUTO_INCREMENT = 1; CREATE TABLE IF NOT EXISTS `house_objects` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `creator` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'latin1_swedish_ci', `model` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'latin1_swedish_ci', `coords` TEXT NOT NULL COLLATE 'latin1_swedish_ci', `house` VARCHAR(80) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `construction` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_swedish_ci', `created` TIMESTAMP NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) USING BTREE ) COLLATE='latin1_swedish_ci' ENGINE=InnoDB AUTO_INCREMENT=1 ; ALTER TABLE `house_objects` ADD IF NOT EXISTS `construction` VARCHAR(50) NULL DEFAULT NULL, ADD IF NOT EXISTS `created` TIMESTAMP NULL DEFAULT current_timestamp() ; CREATE TABLE IF NOT EXISTS `house_plants` ( `id` int(11) NOT NULL AUTO_INCREMENT, `building` varchar(50) DEFAULT NULL, `stage` varchar(50) DEFAULT 'stage-a', `sort` varchar(50) DEFAULT NULL, `gender` varchar(50) DEFAULT NULL, `food` int(11) DEFAULT 100, `health` int(11) DEFAULT 100, `progress` int(11) DEFAULT 0, `coords` text DEFAULT NULL, `plantid` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `building` (`building`), KEY `plantid` (`plantid`) ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4; CREATE TABLE IF NOT EXISTS `house_meta_keys` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `house` VARCHAR(255) NOT NULL, `key_id` VARCHAR(255) NOT NULL, `owner_identifier` VARCHAR(255) NOT NULL, `created_at` TIMESTAMP NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `key_id` (`key_id`) USING BTREE, INDEX `idx_house` (`house`) USING BTREE, INDEX `idx_key_id` (`key_id`) USING BTREE ) COLLATE='utf8mb3_general_ci' ENGINE=InnoDB ; CREATE TABLE IF NOT EXISTS `house_junk` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `house` VARCHAR(255) NOT NULL, `model` VARCHAR(255) NOT NULL, `coords` LONGTEXT NULL DEFAULT NULL, `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP(), PRIMARY KEY (`id`) USING BTREE, INDEX `idx_house` (`house`) USING BTREE ) COLLATE='utf8mb4_unicode_ci' ENGINE=InnoDB AUTO_INCREMENT=1 ; ALTER TABLE `player_houses` CHANGE COLUMN IF EXISTS `identifier` `owner` VARCHAR(46) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci'; ALTER TABLE `houselocations` ADD IF NOT EXISTS `blip` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `upgrades` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `apartmentCount` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `creatorGotMoney` TINYINT(1) NOT NULL DEFAULT '0', ADD IF NOT EXISTS `permissions` LONGTEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `paymentMethod` VARCHAR(50) NULL DEFAULT NULL, ADD IF NOT EXISTS `photos` TEXT NULL DEFAULT NULL ; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `doorbellSound` VARCHAR(50) DEFAULT NULL AFTER `paymentMethod`; ALTER TABLE `player_houses` ADD IF NOT EXISTS `rented` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `rentPrice` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `rentable` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `purchasable` INT(11) NULL DEFAULT NULL, ADD IF NOT EXISTS `console` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `decorateCoords` TEXT NULL DEFAULT NULL, ADD IF NOT EXISTS `vaultCodes` TEXT NULL DEFAULT NULL ; ALTER TABLE `houselocations` DROP IF EXISTS `houseID` ; ALTER TABLE `player_houses` DROP IF EXISTS `houseID`, DROP IF EXISTS `timer`, DROP IF EXISTS `insideId` ; ALTER TABLE `houselocations` CHANGE COLUMN `tier` `tier` SMALLINT NULL DEFAULT NULL; CREATE TABLE IF NOT EXISTS `house_decorations` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `house` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', `creator` VARCHAR(70) NOT NULL DEFAULT '0' COLLATE 'utf8mb3_general_ci', `modelName` VARCHAR(50) NOT NULL DEFAULT '0' COLLATE 'utf8mb3_general_ci', `coords` TEXT NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', `rotation` TEXT NOT NULL DEFAULT '' COLLATE 'utf8mb3_general_ci', `inStash` TINYINT(1) NOT NULL DEFAULT '0', `inHouse` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', `uniq` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', `created` TIMESTAMP NULL DEFAULT NULL, `lightData` TEXT NULL DEFAULT NULL COLLATE 'utf8mb3_general_ci', PRIMARY KEY (`id`) USING BTREE, INDEX `id` (`id`, `house`) USING BTREE ) COLLATE='utf8mb3_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `house_bills` ( `id` INT NOT NULL AUTO_INCREMENT, `house` VARCHAR(100) NOT NULL, `payed_by` VARCHAR(80) NULL DEFAULT NULL, `total` INT NOT NULL, `breakdown` LONGTEXT NOT NULL, `payed` TINYINT(1) NOT NULL DEFAULT 0, `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), INDEX `idx_house_payed_by` (`house`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `house_stolen_furniture` ( `id` int(11) NOT NULL AUTO_INCREMENT, `identifier` varchar(50) NOT NULL, `house` varchar(50) NOT NULL, `model_name` varchar(100) NOT NULL, `stolen_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; CREATE TABLE IF NOT EXISTS `qs_housing_furnitures` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `creator` VARCHAR(80) NULL DEFAULT NULL, `category_key` VARCHAR(100) NOT NULL, `object` VARCHAR(200) NOT NULL, `label` VARCHAR(255) NOT NULL, `description` TEXT NULL DEFAULT NULL, `price` INT(11) NOT NULL DEFAULT '0', `img` TEXT NULL DEFAULT NULL, `colorlabel` VARCHAR(255) NULL DEFAULT NULL, `type` VARCHAR(50) NULL DEFAULT NULL, `stash` LONGTEXT NULL DEFAULT NULL, `offset` LONGTEXT NULL DEFAULT NULL, `colors` LONGTEXT NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE, INDEX `creator` (`creator`) USING BTREE, INDEX `category_key` (`category_key`) USING BTREE )COLLATE='utf8mb4_unicode_ci' ENGINE=InnoDB; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `lights_on` TINYINT(1) DEFAULT 0; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `lights_on_since` BIGINT DEFAULT NULL; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `sale_furnished` TINYINT(1) DEFAULT NULL; ALTER TABLE `player_houses` ADD COLUMN IF NOT EXISTS `rent_furnished` TINYINT(1) DEFAULT NULL; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `hideFromBrowser` TINYINT(1) DEFAULT 0; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `allowPlantInside` TINYINT(1) NOT NULL DEFAULT 1; ALTER TABLE `houselocations` ADD COLUMN IF NOT EXISTS `allowPlantOutside` TINYINT(1) NOT NULL DEFAULT 1; ALTER TABLE `house_decorations` ADD COLUMN IF NOT EXISTS `price` INT(11) DEFAULT NULL ALTER TABLE `player_houses` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ALTER TABLE `houselocations` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE TABLE IF NOT EXISTS `qs_housing_furniture_shops` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(100) NOT NULL, `enter` LONGTEXT NOT NULL, `blip` LONGTEXT DEFAULT NULL, `categories` LONGTEXT DEFAULT NULL, `creator` VARCHAR(100) NOT NULL, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;





Dynamic Doors Activation

Dynamic Doors allows you to place doors with real movement in the world, enabling them to open and close dynamically instead of being static objects. This system adds a higher level of realism and interaction, making doors feel natural and responsive during gameplay.

1

Server Configuration

Add the following line to your server.cfg:

setr game_enableDynamicDoorCreation "true"

2

Script Configuration

Enable Dynamic Doors in your config.lua:

Config.DynamicDoors = true

Once both options are enabled, Dynamic Doors will be fully active and ready to use in your server.





Photo System Setup

Do not use Discord webhooks. Use Fivemanage only, it’s the correct and safe way to store photos from the phone.

This step is very important, if you skip it, you won’t be able to take photos in the phone. Please follow everything carefully.

1

Update CFX-Natives

Go to: https://github.com/citizenfx/cfx-server-data/tree/master/resources

Download the latest CFX-Natives files and replace the old ones on your server with the new versions. These files are required for FiveM to run properly.

2

Clear Server Cache

Open your main server folder (where server.cfg is located) and delete the cache folder.

This ensures your server loads the updated files correctly.

3

Setup FiveManage Token

Create an account at https://fivemanage.com and generate a token.

Then open config/fivemanage.lua and paste your token in Config.FiveManageToken.

Follow this step-by-step video guide to learn how to create your FiveManage account, generate your API token, and connect it properly with your server configuration so the phone photo and media system works correctly.