Import, export and reloads
DeluxeMenus import #
Start with a report:
/crossmenu import deluxemenus --dry-runWithout --overwrite, existing CrossMenu files are never replaced. Overwriting requires the final confirm argument. An import is transactional: if validation fails, none of its converted menus are published.
Current measured coverage:
| Area | Converted | Coverage |
|---|---|---|
| Action tags | 22 / 27 | 81% |
| Requirement types | 26 / 32 | 81% |
| Click types | 6 / 6 | 100% |
| Menu keys | 16 / 16 | 100% |
| Item keys | 26 / 48 | 54% |
| Total | 96 / 129 | 74% |
These figures are generated from importer tests against DeluxeMenus 1.14.1. The import report lists anything that needs manual work; CrossMenu does not silently claim full compatibility.
Exporting a menu #
/crossmenu export shop writes plugins/CrossMenu/exports/shop-<time>.zip with the menu file, its language variants and every component file the menu reaches. Unpack it into plugins/CrossMenu/ of another server by hand, or put the zip into plugins/CrossMenu/imports/ there and run /crossmenu import package shop-<time>.zip. An import only adds files: a menu or component that already exists is left as it is and reported, --dry-run shows what would be added, and a package with an unsafe or unreadable entry is refused whole. After the files are written everything is validated; if one of the new files has an error they are removed again and nothing is loaded. Placeholders, plugins and items the other server lacks are not checked; run /crossmenu validate there.
Reloading safely #
/crossmenu reload <menu> parses and validates the requested file before publishing it. A bad reload leaves the running menu unchanged. Duplicate ids and command conflicts are checked against the full registry, while unrelated menus and their in-flight responses continue normally.
/crossmenu validate, reload and doctor also warn about a fixed material: that is not a real item, for example COMPASSS; the item would otherwise show up as a barrier in the game.
/crossmenu doctor writes a timestamped report under plugins/CrossMenu/diagnostics/. It stays on your server and redacts server paths, UUIDs and sensitive values.
If config.yml, the language file or a menu has an error when the server starts, CrossMenu opens no menus and registers no listener. /crossmenu then tells administrators which file was refused; fix it and restart.
Audit log #
With audit.enabled: true in config.yml, CrossMenu appends one tab-separated line for every payment, experience change, item change, permission change and console command that a menu click ran, to plugins/CrossMenu/audit/audit-YYYY-MM.log (UTC time, player name, UUID, menu, action, detail). It is off by default, stays on your server, and a month's file stops growing at 32 MiB. It holds player names and UUIDs, so handle it like other player data.