- Documentation
- 06Game
PropertiesGame
Characters’ homes read in game, read only, on their citizen record: address, role, co-residents, entrance on the map. Supported scripts.
With Character properties, the citizen record of a game character gets a Properties tab: their homes as the game knows them. Before a search, you know where they live, whether they own or rent, and who lives with them.
Everything is read only: SuperMDT never changes anything in game.
Turn it on
Section titled “Turn it on”- Check that your housing script is in the compatibility table.
- In Settings › Game › Integrations, turn on Character properties (administrators, or a rank with Delegated administration › Set up the game). Off by default.
- Under the switch, SuperMDT shows the detected script.
game-integrationsOn the server side: Config.Integrations.properties.enabled in config.lua.
The Properties tab
Section titled “The Properties tab”citizen-propertiesFor each home:
- the address or name of the home;
- the type: House, Apartment or Home;
- the character’s role: Owner, Tenant or Has the keys;
- the co-residents: a link to their record when SuperMDT knows them, otherwise “Another character”;
- the entrance on the map (Show on the map, then Hide the map), when the script gives it; otherwise “Unknown entrance”.
At the top, SuperMDT shows when the properties were read in game and by which script. An Experimental script is flagged: check the information in game.
At most 20 homes per character and 8 co-residents per home.
When they are read
Section titled “When they are read”- on every join, reconnection or character switch, on every framework, unless the character was read less than a minute ago;
- then every 30 minutes for connected characters
(
Config.Integrations.properties.resyncMinutes).
The bridge reads one character at a time. An unchanged list is not sent again.
Who sees them
Section titled “Who sees them”| Permission | What it allows | Default |
|---|---|---|
| Properties › View properties | The Properties tab of records from the game | every rank, police and justice services only |
It sits under the Citizens module of the permission matrix, and only shows there when the game integration is on. In a medical or custom service, give it by hand if you need it.
Compatibility
Section titled “Compatibility”Tested in game tried in game on a real server. Verified in code written from the script’s source code or native API, covered by the bridge’s tests, not tried in game yet. Experimental from the publisher’s public documentation, never tried: check it on your server before relying on it.
| Script | Status | What is read |
|---|---|---|
| ps-housing | Verified in code | properties table: owner and has_access (has the keys). Apartments have no entrance position. |
| qbx_properties (Qbox) | Verified in code | properties table: owner, tenant (home with rent), key holders (keyholders), entrance. The starter apartment (zero price, no rent) is an Apartment. |
| qb-houses | Verified in code | player_houses and houselocations tables: owner, key holders, entrance. |
| esx_property (ESX Legacy) | Verified in code | The resource’s properties.json file (read with LoadResourceFile): Owner, Keys, Entrance. |
| qs-housing (paid) | Experimental | Same tables as qb-houses. |
| loaf_housing | Experimental | loaf_properties and loaf_houses tables. |
| bcs_housing | Experimental | GetOwnedHomeKeys export. A rental is read as Tenant. |
| nolag_properties | Experimental | GetAllProperties export. The role is inferred. |
If several scripts are started, the bridge takes the first in this order: ps-housing, qbx_properties or qs-housing, bcs_housing, nolag_properties, loaf_housing, esx_property, qb-houses.
Reading through oxmysql is read only: one bounded query per character, never a write.
You can turn it off with Config.Integrations.properties.sql = false: only the export
scripts (bcs_housing, nolag_properties) and esx_property remain.
Custom script?
Section titled “Custom script?”| Your housing script… | Result |
|---|---|
| keeps the original tables or file of a script in the table | Read. |
| stores homes in its own tables, or renames the owner columns | Not read. |
Bridge settings
Section titled “Bridge settings”In config.lua, Config.Integrations.properties:
| Setting | Role | Default |
|---|---|---|
enabled |
The integration on the game server side (false: off, whatever SuperMDT says) | on |
resyncMinutes |
Re-reading of connected characters (0: never) | 30 |
readIntervalMs |
At most one character read every… | 2,000 ms |
sql |
Reading tables through oxmysql | on |
Troubleshooting
Section titled “Troubleshooting”| What you see | Cause | What to do |
|---|---|---|
| No Properties tab | Integration off, or missing permission | Settings › Game › Integrations; Properties › View properties. |
| “Not read in game yet” | The character has not joined since it was turned on | They arrive when they next join. |
| “No known home” although they have one | Unsupported or custom script | supermdt status (“Properties” line) tells what is used. |
| “Unknown entrance” | The script gives no position (ps-housing apartments) | Expected. |