Install qs-housing on ESX, QBCore or Qbox: requirements, server.cfg load order, esx.sql and qb.sql, 421 preset houses, housekey and other items, creator access and first config.
Before installing Housing Creator, make sure your server meets the requirements below. Four resources are hard dependencies: the script will not start without them.
Requirement
Status
Notes
oxmysql
Required
Database access. MariaDB is recommended: the SQL files use MariaDB syntax.
ox_lib
Required
Callbacks, zones, menus and progress bars.
bob74_ipl
Required
Loads the IPL interiors and their colour themes.
screenshot-basic
Required
Listing photos and furniture thumbnails.
Game build 3095+
Required
Set sv_enforceGameBuild 3095 or newer in server.cfg.
OneSync
Required
Every house interior runs in its own routing bucket.
Framework
Optional
ESX, QBCore or Qbox — auto-detected. Standalone works with your own bridge.
Inventory
Recommended
House stashes, furniture stashes and key items. 11 inventories are supported.
Garage
Optional
Without a supported garage script, houses have no garage.
Target
Optional
ox_target or qb-target. Without one, prompts are drawn on screen with [E].
3D sound
Optional
mx-surround, qs-3dsound or xsound for the house music player.
Clothing, phone, banking, dispatch and weather scripts are picked up automatically too. The full list is on Integrations.
After purchasing Housing Creator, the resource is linked to your CFX Portal account.
Sign in to the CFX Portal with the same account used during checkout, open Granted Assets and download the latest version.
After extracting the download, you should have the following folder:
lua
[housing]/
├── qs-housing/ -- the script
│ ├── config/ -- what you may edit
│ ├── client/custom/ -- bridges to other resources (editable)
│ ├── server/custom/ -- bridges to other resources (editable)
│ ├── locales/ -- 41 languages
│ └── music/ -- tracks for the house music player
├── [shells]/ -- interior shells (maruii, navypanda, subhampro)
├── [props]/ -- housing-addons, housing-island, housing-sign
├── [dlc]/ -- optional furniture packs
├── [sql]/ -- database files
├── [img]/ -- inventory item images
├── qs-weed/ -- optional weed growing for houses
└── items.lua -- food and cooking items
The folder must be named qs-housing. The interface paths depend on it, and a renamed copy prints You have renamed the script! and stops the server on purpose.
Move the whole [housing] folder into your server's resources directory. [sql], [img] and items.lua are not resources — they are covered below.
Then open your server.cfg and list every resource explicitly, in this order:
bash
sv_enforceGameBuild 3095
ensure oxmysql
ensure ox_lib
ensure bob74_ipl
ensure screenshot-basic
# Framework
ensure es_extended # or qb-core / qbx_core# Everything Housing Creator should detect starts BEFORE it
ensure ox_inventory # your inventory
ensure ox_target # your target (optional)
ensure qs-advancedgarages # your garage, clothing, phone, sound...# Housing assets
ensure housing-sign
ensure housing-addons
ensure housing-island
ensure maruii_shells
ensure navypanda_shells
ensure subhampro_exclusive_shells
# The script
ensure qs-housing
# These call qs-housing, so they start AFTER it
ensure qs-weed
ensure KawaiixQuasar_props
ensure KillstorexQuasar_props
ensure lunaticstudio_promo001
ensure murm_dec_pack
The loading order matters. Integrations are detected once, when qs-housing starts, so an inventory or garage that starts later is ignored. The furniture packs in [dlc] add their items to the catalogue through qs-housing, so they must start after it. Avoid ensure [housing]: a folder ensure starts the packs too early.
Resource
What it streams
housing-addons
Cleaning robots, dust and garbage, air conditioner and fireplaces, changeable wall art and rugs, pet mess and litter tray, the smart home panel. Required for those features.
housing-sign
The "for sale" board outside houses.
housing-island
16 private islands you can place under a house. Optional.
[shells]
The interior shells: Maruii, NavyPanda and the SubhamPRO exclusives. Do not rename their files.
[dlc]
Extra furniture packs (gaming setups, modern furniture, decor). Optional.
Import one schema file for your framework. Both files are safe to run again when you update: they only add what is missing. A few small columns are also added automatically at boot.
File
When to import it
esx.sql
ESX. Creates the tables and adds the realestate job with four grades and its society account.
qb.sql
QBCore and Qbox. Creates the tables. The job is added in your framework (below).
all_houses.sql
Optional. 421 ready-made houses and apartments across Vinewood, Mirror Park, Sandy Shores, Paleto Bay, Richman, Banham Canyon and Chumash.
mirror_park.sql
Optional. Only the 71 Mirror Park houses. They are already in all_houses.sql — import one or the other, never both.
only_for_fresh.sql
Deletes every housing table. Only for wiping an old or broken install before a clean start.
Tables
Hold
houselocations · player_houses
Every house, and who owns, rents or holds keys to it.
On ESX the job comes from esx.sql. On QBCore add it to qb-core/shared/jobs.lua (on Qbox, qbx_core/shared/jobs.lua) so real estate agents can open the creator:
The food and cooking items (bread, cheese, burger, pizza, coffee and the rest) are ready to paste from items.lua in the download. Their pictures, and most of the ones above, are in [img]: copy them into your inventory's image folder (for example ox_inventory/web/images/).
Eating the food is handled by your framework or consumables script, not by Housing Creator. If the fireplace fuel option is turned on, its wood items must exist too.
The house creator (/realestate or F7) is where every property is built, so only admins and real estate jobs can open it. When a player is not allowed, the command silently does nothing.
Any job and grade listed in config/main.lua. false means every grade:
With Config.AllowAdminsToCreateHouses = true (the default): ESX groups admin and superadmin; QBCore and Qbox god or admin permission, or the command ace.
Add the player's identifier to the Admins table at the top of server/custom/framework/standalone.lua: