β¬οΈ Updating from 2.x
3.0 is a rewrite. Your properties, buildings, furniture, keys, and agencies carry over on their own. Your config.lua does not, and job permissions are set up again in-game.
- 1
- 2
Replace the resource
Delete the old
nolag_propertiesfolder and put in the new one. Addnolag_properties_assetsfrom the same download, and start it before the script:server.cfgDon't copy your old
config.luainto the new folder. See Config changes below. - 3
- 4
Start the server
On the first start the script:
- Creates the new
nolag_*tables. - Copies every 2.x table into them. Property, building, and other IDs stay the same.
- Moves furniture and utility data into the new format.
- Gives every imported property Tier 3 of the storage and furniture capacity upgrades, so stashes and furniture limits don't shrink.
- Moves your saved in-game blip and script settings, if you had any.
- Checks the copy, then drops the 2.x tables.
- Adds the base furniture catalog.
Watch the server console. It ends with
[Migrator] Database is up to date. - Creates the new
- 5
Set up permissions
Config.RealEstateJobsis no longer read. Permissions now live in the database, per agency and job grade.- Give your admins the ACE in
server.cfg:
server.cfg- Run
/manageagencies. On the first start an agency is created for each job inRealEstateAgencyJobsinconfig.lua(realestateby default), with every permission at its default grade. - Check each agency's permissions and which grades get them. Your old per-permission grades from 2.x are not copied. Boss grades always get every permission of their agency.
See Real estate agencies.
- Give your admins the ACE in
- 6
Go through Settings
Open
/propertiesβ Settings and go through each tab. Most options from your oldconfig.luaare here now. See In-game Settings.
Config changes
3.0 splits the config in three:
Where the most common 2.x options went:
The lockpick minigame, the wash and stress hooks, and the power box minigames are Lua functions, so they stay in config.lua under ConfigHooks.
Shells, IPLs, and furniture
- Shells: packs in
custom/shells/*.jsonload on their own when their resource is started. There are no per-pack switches in the config anymore. See Add More Shells. - IPLs: IPL data moved from
ipls.luato JSON packs incustom/ipls/. If you added your own IPLs toipls.luain 2.x, add them again with the IPL Editor in/properties. - Furniture: the catalog is in the database now. Pieces you added to
furniture.luain 2.x are not imported. Add them again from/propertiesβ Furniture Catalog.
Database tables
All tables now start with nolag_. If you have your own SQL, queries, or scripts that read the property tables, update the names:
You don't need to import any SQL file. New database changes run on their own at each start, and the applied ones are listed in nolag_migrations.
Other changes
screencaptureis no longer needed. Photos upload to Fivemanage withPROPERTIES_UPLOAD_TOKENinserver.cfg. See Installation.- Integrations load as adapters. Only the file for the garage, inventory, clothing, weather, banking, dispatch, phone, and log script you use is loaded from
custom/. If you edited one of those files in 2.x, copy your changes into the new file. /testshellwas removed. Edit shells from/propertiesβ Shell Editor.- Phone apps for lb-phone and YSeries are added to phones on their own. Turn them off in Settings β Integrations.
Troubleshooting
Another script uses a table called properties. It was left untouched and nothing was imported. If your 2.x data is in another database, point oxmysql at it.
The new tables already have data, so the import was skipped to avoid mixing IDs. This happens when 3.0 was started once on an empty database and the 2.x tables were added later. Your 2.x tables are still there. Restore your backup to a clean database and start again.
Another server is updating the same database, or an earlier start crashed during the update. Wait for it to finish. If no other server is running, delete the row from nolag_migrate_lock and restart.
Nothing was dropped. The new tables were emptied again. Read the error above it in the console, fix the cause, and restart.