Updating Scripts
Updates are free for life and re-downloaded from your original Tebex purchase — you never buy the resource again. The risk in updating is not getting the files; it is losing the work you did on the old version.
What you must preserve
Before overwriting anything, identify what is yours:
| Keep | Why |
|---|---|
config.lua | Every setting you tuned |
| Language / locale files | Translations you wrote or edited |
| Custom images or UI assets | Anything you replaced with your own branding |
| Any file you edited directly | It will be silently overwritten |
Do not extract over a live resource
Extracting a new version straight on top of the old one overwrites your config with the defaults, usually without warning. Extract somewhere else first, then merge deliberately.
The safe update procedure
Back up the database.
bashmysqldump -u youruser -p yourdatabase > backup.sqlBack up the current resource folder. Copy it somewhere outside
resources/— not toresource_oldnext to the original, which the server may still try to load.Stop the resource.
cfgstop redm_shopsExtract the new version elsewhere and compare it against your backup. You are looking for new config options, renamed options, and any new
.sql.Merge your settings into the new
config.luarather than copying your old file over it. An old config missing newly added keys causes nil errors that look like bugs in the update.Replace the folder, keeping the exact same name.
Import any new SQL. Updates often add columns or tables. See Database & SQL.
Start it and test.
cfgrefresh ensure redm_shops
After updating a NUI script
Clear the client cache, or you will be testing the old interface:
%localappdata%\RedM\RedM.app\data\cacheTell players to do the same, or expect reports that the update "did nothing".
Reading a changelog
If the download includes one, read it before merging. What matters:
- Renamed config options — your old value is now ignored, silently
- New required dependencies
- Database changes — a new
.sqlto import - Breaking changes — anything that changes how the script integrates with your framework
Updating the framework
Updating VORP, RSG or RedEM:RP itself is a bigger operation than updating a script, because every script depending on it is exposed to the change.
- Back up the database and the whole
resourcesfolder. - Read the framework's own changelog for breaking changes.
- Update on a test server first if you have one.
- Expect some scripts to need their own updates afterwards.
Do not update the framework on a live server mid-session
A failed core update takes every dependent script down with it. Schedule it during downtime, with a tested rollback path.
Rolling back
If an update breaks something and you cannot fix it quickly:
- Stop the resource.
- Restore the backed-up folder.
- Restore the database backup if the update ran schema changes.
- Start it again.
Then report what broke through Support, with the version you moved from and to.
Staying current
Update announcements go out in Discord. It is also worth re-checking your Tebex order before troubleshooting a bug — a fair number of reported issues are already fixed in a version the reporter has not downloaded.