/// 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.1.0. Use the same version in the configurator.
- Get the settings
Click Import, then From my server. Select the files and confirm loading them. Selecting a server does not replace the open document. You can also import files from this device or a configuration from My projects.
- Edit and send
Adjust settings, fix errors, then use Send to transfer files to the selected server. A conflict blocks sending until you choose how to resolve it. You can still export only the files you need.
Server transfers have private backups. Save keeps your work in My projects; it does not send anything to the server. A download also lets you resume without a server connection.
Settings for this version
General 2
- Approved packages
- 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 package IDs
- 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
Install the free 1.4.0 runtime to display interfaces from the editor in game. Its settings use configuration format 1.1.0.
Current editor and installed version
This page retains the 1.1.0 PimpMyCUI contract. The editor and library have evolved: some windows, pages and dynamic data require 1.4.0 and additional capabilities. Check the package’s declared minimum version and capabilities before installation. Opening the editor does not update your server plugin.
For the current workflow, open In-game interfaces, then the Server windows guide. Window → Appearance provides 16:9 or Square format and 60–100% size. Pages fill the frame; contained images keep their proportions. Add a page → Blank page lets you build custom content in the CUI editor, then return to the same window.
The four lesson videos retain the standalone workflow recorded in October 2026. Their labels and screenshots do not represent every current Window/Page control; the written guides distinguish the workflows.
Create a standalone 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 Test to test buttons and screen navigation. This does not test permissions, command ownership or rendering on your Rust server.
- In Download, choose Export project to keep a copy you can modify later. Choose Export package for the server file.
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 in this standalone workflow 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. A model field does not become live data merely through its name: its integration must supply it. Current components offering Source → Native data use only information supported by their compatible runtime. Browser examples do not prove that live server data is being read.
Install the exported package
For a manual installation:
- Choose a compatible version from the PimpMyCUI page, then 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 opening the interface to players.
With a connected server, Install on the plugin page sends the plugin through SFTP. Save keeps your editable source in your account. Download keeps a local copy without transfer or activation. In In-game interfaces, this menu offers Editable project or Server installation · ZIP; the archive also contains linked configurations and INSTALL.txt instructions. Merge cui/registry-additions.json into the existing registry by ID, preserving other interfaces. Send prepares a separate operation. For windows with linked configurations, the current workflow uses the complete saved project in My projects. Check transfer and activation results separately; without activation confirmation, do not consider the interface active.
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.
Interfaces supplied by a plugin
In the 1.1.0 contract documented here, PimpMyCUI also supports interfaces produced by CustomRewards with the Native match composition (native-match). Configure their layout in CustomRewards; these server-generated documents are not editable in Studio. An editor package is usable only when its minimum version and capabilities are supported by the installed runtime.
Linked pages in the current workflow select an exact configuration, version and context. Their plugin remains responsible for business content and actions. Removing a page does not delete its configuration; third-party menus and commands are not implicitly replaced.
Plugin integration
Check PimpMyCUI_GetContract and PimpMyCUI_GetRenderingContract responses on the installed version before using its capabilities. The rendering contract includes PimpMyCUI_RegisterDocument followed by PimpMyCUI_OpenDocument for an owning plugin’s documents; OnPimpMyCUIEvent and OnPimpMyCUIClosed callbacks remain tied to their session and owner. Entering a JSON field or hook name in the editor does not create that integration. A successful local preview is not server authorization.
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>These changes are saved before success is reported and survive plugin reloads. If saving fails, the active settings remain unchanged. Invalid configuration JSON is kept untouched and blocks administration and package opening: fix the file, then reload the plugin.
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. Automatic draft recovery stays in this browser; keep an exported project too. The Editor guide explains project saving and installation on a connected server. The browser preview and offline Oxide/Carbon compilation are not an in-game validation.
Install the files
With a connected server, click Send in the configurator. The result shows whether the files were sent and the plugin reloaded. Without RCON, reload the plugin from your server panel after sending.
Without a connected server: Keep a copy of the current files. Place each export in the folder shown before export, or follow the paths in the ZIP. Do not put data or translation files in the config folder.
Follow the plugin instructions above for dependencies and reloading. Exporting does not connect the site to your server.