Skip to main content

1. Download Resource

Download the purchased resource from CFX Portal, the official FiveM site for purchased resources. Put the aps_cityhall folder into your resources directory. Keep the folder name: other scripts call its exports as exports['aps_cityhall'].

2. Install Required Dependencies

All other integrations (society accounts, phones, license systems, VMS scripts) are listed on the Compability page.

3. Database

Nothing to import. Every table is created automatically on the first start and upgraded on later versions. The database user needs the CREATE and ALTER rights.
If you prefer to create the tables yourself, run sql/aps_cityhall.sql (it works for ESX, QBCore and Qbox).

Not sure how to do it?

Open your database in HeidiSQL, phpMyAdmin or the txAdmin database tab, open a new query window, paste the SQL below and run it.
On start City Hall also adds the vin and vin_hidden columns to your owned vehicles table (Config.VIN.autoMigrate). See Database for the full table list.

4. Add Required Items

Documents are real inventory items with serial number, photo and validity. Icons for every item ship in aps_cityhall/web/items/ (SVG).
Every document needs server = { export = 'aps_cityhall.useDocument' } (makes it usable) and consume = 0 (keeps the item).
These inventories read PNG files from their own image folder. Convert the SVG icons from aps_cityhall/web/items/ to PNG and copy them there.

5. Register Jobs

The Government Portal can be opened by job, by login or both (Config.Government.access). If you want job access, add a government job. The grades match the default roles in goverment.lua: grade 0 = Clerk, grade 2 = Manager, grade 4 = Mayor. Salaries are examples.
Login accounts are set in config/config.server.lua → Config.GovernmentAccounts. Accounts with the password change-me are disabled. Change the example passwords before going live.

6. Additional Integrations

1

VIN for existing vehicles

Run _generatevin once in the server console. Read the VIN guide.
2

Paychecks collected at City Hall (optional)

Needs a small edit in your framework’s paycheck loop. Read the Paychecks guide.
3

Phone app, notifications and mails

Detected automatically. Read the Phone integration guide.
4

Coming from vms_cityhall?

Set Config.Compat.vmsCityhall = true so scripts calling exports['vms_cityhall'] keep working. Read Compability.

7. Start Resource

Start aps_cityhall in your server.cfg after your framework, target, inventory and banking resources so they are detected:
Then restart the server, go to the City Hall blip on the map and talk to the clerk.
On first start the console prints nothing unless something is wrong. Table upgrades are logged as [aps_cityhall] Upgraded ….