v3.0.0
This is a big one. VehicleKeys now comes with its own in-game admin dashboard, and most of the config moves into the database so you can manage everything while the server is running.
New
- Admin dashboard. Type
/advehiclekeysin-game to open it. From there you can hand out or take keys, look up who owns a plate and who is carrying a key for it, set up locksmiths, edit your whitelist, blacklist and job vehicles, change the settings and decide who else is allowed in. You can rename the command withConfig.adminCommand. - Permission system. You can give your team access to the dashboard without handing them the keys to everything. Every group gets its own set of rights.
group.admincan always do it all andgroup.usercan never get in. You manage the groups from the Permissions tab, andConfig.dashboardGroupsdecides which groups may open the dashboard at all. - Force refresh. On the Players tab you get a normal refresh and a force refresh. The force one gives the player every missing key item back, even if you normally keep item handouts turned off for realism.
- Owner needs item (optional). New option
Config.Settings.key.ownerNeedsItem. Turn it on if you want the vehicle owner to carry the key item as well. It is off by default, so your current setup does not change unless you enable it. - Theme editor. You can recolor the dashboard live from the Settings tab.
Changed
- Everything runs off the database now. The config is imported once on the first start, and after that the database is the source of truth and you edit things from the dashboard. Three tables are created automatically for this:
msk_vehiclekeys_settings,msk_vehiclekeys_permissionsandmsk_vehiclekeys_locksmiths. Your existingmsk_vehiclekeys_keystable stays exactly as it is. - Config was split into two files.
config/settings.luaholds all the values you can also change in the dashboard, andconfig/static.luaholds the code parts like the framework detection, the notification and the TextUI.Config.Frameworkmoved intoconfig/static.lua. - Vehicle models are written as names now. In the whitelist, blacklist, admin vehicles and job vehicles you can just write the spawn name like
'police'instead of a hash. Old hash entries still work, so you do not have to change anything if you do not want to. - Locksmiths are managed from the dashboard. The spots in the config are only the starting point. After that you add, edit and delete them from the Locksmith tab, and the peds and blips update right away without a restart.
Security
- Closed a few holes where players could mess with keys they should not touch. Giving out a key, taking a key, exchanging locks and transferring a vehicle now check that you actually own the car and that the other player is standing next to you. The lookups that used to leak other players' keys were tightened as well.
Breaking
config.luais gone and replaced by theconfig/folder. Please give your config a quick look after updating and move any custom values over toconfig/settings.lua(orconfig/static.luafor the code parts).- Vehicle models in the lists are spawn names now. Your old backtick hashes keep working, so this only matters if you want the cleaner look.
Changed files
This release is a full rewrite. Replace the entire resource. The new layout adds the config/ split (settings.lua and static.lua), the server/admin/ dashboard backend, the shared/admin_perms.lua rights, and the React NUI in web/ built into html/.