/// PIMPMYRUST PLUGIN
PimpMyCUI
Settings guide for this version of PimpMyCUI. Check the plugin page before using it on your server.
Prepare your file
- Check the installed version
This guide describes PimpMyCUI 1.0.0. Use the same version in the configurator.
- Import your configuration
Open the configurator and import your current JSON. For a new installation, you can start from the provided example.
- Edit and export
Adjust the settings, fix reported errors, and export the JSON. Keep a copy of your old file before replacing it.
Your configuration is not saved on the site. Keep the exported file; you can import it again later.
Settings for this version
General 2
- Approved server actions
- JSON value
Approves server-console button actions for one exact package version. Use its package ID as the key and its embedded sha256 as the value, only after reviewing its commands. Changing the interface or its chat bindings invalidates this approval. Opening an interface does not require it; the server command pimpmycui.admin trust can record it instead.
JSON path
trustedPackageHashes - Disabled interfaces
- List
Package IDs that must not open on the server, including through player chat commands. Remove an ID to allow opening again. This does not delete the installed package or grant player access. The server commands pimpmycui.admin disable and enable can also change this list.
JSON path
disabledPackages
Plugin instructions
PimpMyCUI 1.0.0 — free beta
PimpMyCUI displays interactive Rust interfaces made with the web Editor. Install one PimpMyCUI.cs file; no second runtime plugin is required. The first Codefling release will be free and marked beta. Its download is not available on this staging candidate until that publication takes place.
Create an interface players can open
- Open PimpMyCUI Editor and create your screens.
- Select the screen to open. In Properties, find Player chat commands and click Add command.
- Enter a command without its slash, for example
menu. Add an allowed permission or group. For public access, explicitly select Everyone (default group). - Use Preview to test buttons and screen navigation. This does not test permissions, command ownership or rendering on your Rust server.
- Export the Editable project to keep a copy you can modify later. Export the Installable package for the server.
Several commands may open the same screen. A player needs any one listed permission or group; access is checked on every use, with no administrator bypass. Creating a binding grants no permission and creates no group. New pimpmycui.* permissions are registered by PimpMyCUI; another plugin must register its own permissions.
For a private /menu, use pimpmycui.menu and grant it on the server:
oxide.grant user <steam-id> pimpmycui.menuCommands use lowercase letters, digits, _ or -, start with a letter and contain at most 32 characters. pimpmycui is reserved. Each command accepts at most 16 unique permission names and 16 unique group names; a package accepts 32 commands and the complete installed set accepts 128.
Initial data supplies fixed text, numbers or booleans used by the screen. Flat names such as player.name are keys, not nested objects. Chat arguments cannot change those values or open the interface for someone else. Live data needs a plugin integration; it is not fetched automatically.
Install the exported package
- When the Codefling beta is published, install
PimpMyCUI.csin your normal Oxide or Carbon plugins folder. - Add the complete exported package to the
packagesarray inoxide/data/PimpMyCUI/packages.json(or the corresponding Carbon data folder). Keep existing packages; do not replace their list with a single export. - Run
pimpmycui.admin reload, check its result, thenpimpmycui.admin list. - Test the chat command with an authorized player and an unauthorized player. Test navigation, closing and buttons in game before using the beta publicly.
Duplicate command names, missing target screens or conflicts with another plugin reject the reload. PimpMyCUI does not replace another plugin’s commands. A refused reload keeps the active packages in memory, but an already open interface may need to be reopened if activation closed its session. validate and diagnose inspect memory; only reload rereads the package file.
Runtime configuration
The runtime configurator edits oxide/config/PimpMyCUI.json, not the interface package:
- Approved server actions (
trustedPackageHashes): package ID → the package’s embeddedsha256. Approval allows that exact package version to execute its server-console button actions. Review the commands before approving them. This is not the hash of the downloaded JSON file. - Disabled interfaces (
disabledPackages): package IDs that must not open, including through player chat commands. Removing an ID allows opening again; it grants no player permission and does not delete the installed package.
Both collections start empty and accept at most 128 entries. IDs match the package exactly: lowercase letters, digits, . or -, starting with a letter, up to 64 characters. Import/export keeps unknown configuration fields.
The server can maintain these settings instead of editing a file:
pimpmycui.admin trust <package-id> <embedded-package-sha256>
pimpmycui.admin disable <package-id>
pimpmycui.admin enable <package-id>Opening an interface does not approve its buttons. Permission checks, cooldowns and provider requirements still apply. If a changed interface or chat binding changes the package hash, approve its new hash before server-console actions can run. Keep pimpmycui.admin for trusted administrators only.
The Editor and configurator need no account for this free plugin. Keep your exported files: there is no cloud save. The browser preview and offline Oxide/Carbon compilation are not an in-game validation.
Install the file
After keeping a copy of the previous file, place the exported JSON at this location on your server:
oxide/config/PimpMyCUI.jsonFollow the plugin instructions above for dependencies and reloading. Exporting does not connect the site to your server.