Installation Guide
Install (or update) dependencies and optional
Verify all dependencies below are started before this script in your server.cfg.
Required
oxmysql
Database driver for player data, ranking, and match history. Download oxmysql
Framework
One of: qb-core, qbx_core (QBox), es_extended (ESX Legacy)
Inventory
One of: ox_inventory, qb-inventory, qs-inventory
Optional
ox_lib
Enhanced notifications. Download ox_lib
ox_target or qb-target
Target-based board interaction (alternative to DrawText)
Install cdev_citytour and create a new subfolder or extract folder to server's root
Install resource from Portal
After installing, you should get a zip file with the name shown below.
cdev_citytour.pack.zip
If you haven’t already, create a new subfolder named [cdev] in your server’s root resources directory. Unzip (extract) this script into the newly created [cdev] subfolder.
Add ACE permission
Open your server.cfg and add the following ACE permission:
add_ace group.admin cdev_citytour.admin allowor
add_ace identifier.license:xxxxxxxxxxxx cdev_citytour.admin allowImportant: If you are on the Qbox framework, the recommended place to paste the above permission is inside the permissions.cfg file instead of server.cfg.
Update server.cfg & perform a full restart
Once all other steps are completed, open your server.cfg & add ensure cdev_citytour to the very bottom of your resource start list (after oxmysql, your framework, inventory, and target if used). Finally, perform a full server restart. Failure to perform a full restart after installation will cause errors.
Note: Once completed, use /citytourgaming in-game to open the hub, or use the City Tour board item to place a table and play!
Add the City Tour board item
The item name must match CityTourConfig.Item.name (default: citytour_board). Follow the guide for your inventory:
Location: ox_inventory → data → items.lua
Open
resources/[ox]/ox_inventory/data/items.luaAdd the item inside the return table (with other items):
['citytour_board'] = {
label = 'City Tour Board',
weight = 500,
stack = false,
close = true,
consume = 0,
description = 'Place a City Tour table in the world',
server = {
export = 'cdev_citytour.useCityTourBoard',
},
},Important: keep consume = 0. The resource removes the item when placement starts and returns it if you cancel. Do not set consume = 1.
Add the image
citytour_board.pngyou can find inside the foldercdev_citytour /imageto your inventory's images folder (e.g.ox_inventory/web/images/).Save the file and perform a full server restart.
Location: qb-core → shared → items.lua
Open
resources/[qb]/qb-core/shared/items.luaAdd the item inside the
QBCore.Shared.Itemstable:
['citytour_board'] = {
name = 'citytour_board',
label = 'City Tour Board',
weight = 500,
type = 'item',
image = 'citytour_board.png',
unique = true,
useable = true,
shouldClose = true,
description = 'Place a City Tour table in the world',
},Add the image
citytour_board.pngyou can find inside the foldercdev_citytour /imageto your inventory's images folder (e.g.qb-inventory/html/images/).Save the file and perform a full server restart.
Location: depends on your framework:
QBCore:
qb-core→shared→items.luaESX:
qs-inventory→shared→items.lua
Open the items file for your framework.
Add the City Tour board item in the same format as your other items. Example:
Add
citytour_board.pngyou can find inside the foldercdev_citytour /imageto your inventory's images folder.Save the file and perform a full server restart.
If you have a custom framework, custom notify, custom inventory, and custom target, please read our configuration documentation so you can understand how to adapt it by clicking the link below.
Stream models checklist
Ensure the resource includes the stream/ folder with the City Tour models and cdev_citygame.ytyp.
Default models:
Board
cdev_citygame_board
Dice
cdev_citygame_player_dice_small
Pawns
cdev_citygame_player_red / blue / green / yellow
City houses 1–3
cdev_citygame_regular_house / _2 / _3
Hotel
cdev_citygame_hotel
Beach house
cdev_citygame_beach_house
Furniture uses native GTA props (prop_table_02, prop_chair_02). Cash stacks use prop_cash_pile_02.
Do not rename stream files unless you also update CityTourConfig.Props in public/shared/config.lua. The ytyp must list every custom archetype (same names as the .ydr basenames).
VIP currency (optional)
Real mode can charge vip as an entry account. Wire it in public/bridge/vip/server.lua:
Default: Qbox / QB
cryptoinsideplayers.moneyOr set
VIP_CFG.Mode = "export"and point at your VIP resource
If you do not use VIP, leave Real accounts as cash / bank only (Modes.Real.Accounts in config).
⭐ In-Game Preview
Features PreviewLast updated