Radial Menu 2.x replaces the 1.x builds and the early 2.0 ones. The resource name and the exports are the same, but the configuration moved into config/, the interface was rebuilt, and everything the in-game editor saves now lives in the database instead of JSON files inside the resource folder.
Mixing old and new files does not work: an old interface with the new scripts, or the reverse, opens an empty editor or no editor at all. Replace the whole folder, then copy your own edits back in.
What Moved#
Every file you were likely to edit has a new home:
In older builds | Now | What to do |
|---|---|---|
|
| Copy your values across one by one. |
|
| Same |
|
| Re-apply only your own changes. The animations now switch off with |
|
| Rewritten around one bridge. Keep your old copies as reference only — see Integrations. |
|
| 41 languages ship. Re-apply your own wording to the JSON file. |
| The | Not read any more. Bring them across as shown below, or rebuild in the editor. |
|
| The interface. Comes with the new folder; never copy the old one in. |
Each player's own look and shortcuts are kept. They are stored on the player's PC under the same name as before, and the new settings fill in anything the old ones did not have.
Upgrading Step by Step#
Back up the old folder
Copy
qs-radialmenusomewhere outsideresources/. You need itsconfig.lua,menu.lua, any edited clothing or locale file, and every.jsonfile in it.Replace the folder
Stop the server, delete the old
qs-radialmenuand put the new one in its place. Keep the same name. Make sureensure oxmysqlcomes before it inserver.cfg— older builds did not need it.Carry your edits over
Copy your settings into
config/main.luavalue by value, and your menu tree intoconfig/menu.lua. Do not drop the oldconfig.luaover the new one: 2.x addsConfig.CloseKeys,Config.DevOpenEditorandConfig.Clothing.Start it once
Start the server. The first start creates the
qs_radialmenutable. If you never used the old/radialedit, you are done.Bring the editor data across
Each old JSON file becomes one row, with exactly the same contents. Paste each file's text between the quotes and run it against your database (HeidiSQL, phpMyAdmin or your host's panel); leave out the lines for files you do not have:
sql INSERT INTO `qs_radialmenu` (`name`, `data`) VALUES ('menu_overrides', '<contents of menu_overrides.json>'), ('custom_registry', '<contents of custom_registry.json>'), ('server_defaults', '<contents of server_defaults.json>') ON DUPLICATE KEY UPDATE `data` = VALUES(`data`);If a label contains an apostrophe, double it (
''). Then restart the resource — the rows are read when it starts. Prefer not to touch SQL? Open/radialeditand rebuild instead; Import from menu.lua gets you most of the way.Save the permissions once
Old server looks used two switches,
allowPlayersChangeColorsShapesandallowPlayersReposition. The current version reads neither, so both read as allowed until you open /radialedit → Permissions, set the three switches and save.
What Changes for Your Staff and Players#
Before | Now |
|---|---|
1.3 and earlier: admins saved the server's look from the player settings panel | /radialedit → Appearance, with a live preview |
1.3 and earlier: two permission switches | Three — appearance, size and position, custom shortcuts — in /radialedit → Permissions, enforced on every player |
1.4 and early 2.0: editor data in JSON files next to the resource | The database — it survives replacing the folder on every future update |
Items added to a category by its label | By ID only — see below |
For developers#
AddCategory, AddItem, AddOption and RegisterItemProvider still exist, so scripts written for older builds keep loading. Two things changed underneath them:
Categories are found by ID only. A call such as
AddItem('Vehicle', ...)that relied on a label now returnscategory not found.Items go into categories created by an export. To put buttons under a section of
config/menu.lua, give that section anid, create your own category withparentset to it, and add the items to yours.
New code should use CreateCategory and CreateItem — Commands and Exports has both, with examples.
Checking the Upgrade#
The server console shows
Server framework loadedwith your framework, and no redqs-radialmenulines.F3 opens the wheel with your menu in it.
/radialeditopens with four tabs — Menu, Actions, Appearance, Permissions — and, if you brought the data across, your old tree and actions are in it.A player who had customised the wheel still sees their own look.
Rolling back is safe: the current version never writes to the old JSON files, so putting the backup folder back restores the old build exactly as it was.



