Skip to main content
Most problems come from the start order in server.cfg or a missing dependency. If your problem is not listed here, check the server console for lines starting with [aps_cityhall] and contact us on our Discord with the error.
The tables are created on start, so this means that failed. Check the console for an oxmysql error just after aps_cityhall starts: usually the database user lacks the CREATE right, or oxmysql isn’t connected yet. Fix that and restart, or run sql/aps_cityhall.sql by hand.
Check Config.Features.npc = true, that Config.Locations has at least one entry, and that the ped model name is valid.
ox_target / qb-target must be started before aps_cityhall. If none is running, the E prompt is used instead.
Start es_extended, qb-core or qbx_core before aps_cityhall, or set Config.Framework.
The model isn’t in your vehicle catalog (vehicles table / shared vehicles), or your owned vehicle columns differ — adjust Config.OwnedVehiclesColumns.
Add entries to Config.MediaStreams. A station that fails to play is usually not a direct audio link.
Check that Config.Locale matches the file names in locales/ and locales/ui/, and that the Lua file uses Locale['xx'] with the same code. A JSON error is reported in the F8 console when the PC loads.
The round was too short for the score under Config.Game.games. Loosen the rule for that game if your players are faster than expected.
The player’s PC storage is full. They can delete files in File Explorer or in Control Panel → System.
Accounts in Config.GovernmentAccounts with the password change-me are disabled and the console warns about them on start. After loginAttempts wrong passwords the player is locked out for lockoutSeconds.
Paid and state-changing actions only work within Config.Security.location.distance of a Config.Locations entry. If you open the PC with your own script elsewhere, use the server export openCityHall(source) or set Config.Security.location.enabled = false.
MugShotBase64 is not running. Install it and ensure MugShotBase64 before aps_cityhall.
The item needs server = { export = 'aps_cityhall.useDocument' } and consume = 0. See Installation → Items.
Make sure Config.Features.vin = true. Vehicles get a VIN the first time the Vehicle Registry loads them; run _generatevin in the server console to fill all vehicles at once.
The phone must be started before aps_cityhall. The PC Mail app only appears with sd-phone, LB Phone or 17Movement Phone, and the player needs a mail account on the phone. Errors are printed as [aps_cityhall] phone ….