/// PIMPMYRUST PLUGIN
VoteCommands
Settings guide for this version of VoteCommands. Check the plugin page before using it on your server.
Prepare your file
- Check the installed version
This guide describes VoteCommands 1.0.1. 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 11
- Configuration format version
- Choice · required
Internal configuration format marker. Keep the value supplied for this plugin version.
JSON path
SchemaVersionAllowed values: 3
- Minimum vote count
- Whole number · required
Minimum ballots needed to execute winner actions. Even when set to 0, a session with no votes executes nothing.
JSON path
MinimumParticipationMinimum : 0 · Maximum : 10000
- Result when votes are tied
- Choice · required
cancel cancels a tied result; first picks the first tied choice in list order. No actions execute when nobody votes.
JSON path
TieRuleAllowed values: cancel, first
- Show results while voting
- On / off · required
Show vote counts during the session. Disable to hide current scores from players.
JSON path
ShowLiveResults - Enable
- On / off · required
Enable this voting controller. Each configuration file is an independent controller with its own choices and commands.
JSON path
Enabled - Start automatically
- On / off · required
Start this controller's first vote after loading or reloading, using DelayBeforeAutomaticStart. When disabled it needs a manual start; repetition is configured separately.
JSON path
AutomaticStart - Repeat voting sessions
- On / off · required
After the first manual or automatic start, start another vote every TimeBetweenSessions. When disabled, starting opens only one session.
JSON path
AutomaticSessions - Automatic start delay (seconds)
- Whole number · required
Seconds to wait after the controller loads before the first automatic vote. Used only when automatic start is enabled.
JSON path
DelayBeforeAutomaticStart - Command to start voting
- Text · required
Chat alias for a Rust administrator to start this controller, without a leading /. Choose a unique alias different from the ballot-opening command.
JSON path
CommandForStartSessions - Command to open the ballot
- Text · required
Chat alias opening the ballot during a session, without a leading /. Voting still requires VoteCommands.<filename>.Vote (or administrator status); opening the ballot does not start a session.
JSON path
CommandForUi - Interval between session starts (seconds)
- Number · required
Time between repeated vote starts, not a delay after the result. Only applies when AutomaticSessions is enabled and must exceed VoteDurationSeconds.
JSON path
TimeBetweenSessionsMinimum : 0
Voting duration and choices 2
- Voting duration (seconds)
- Whole number · required
Time players have to vote, in seconds. At the end the controller resolves the winner; the repeat interval must exceed this duration.
JSON path
CommandsConfiguration → VoteDurationSecondsMinimum : 10 · Maximum : 3600
- Ballot choices
- Object list · required
Ballot choices in list order. Each entry contains its name, image and winner actions; the image and name are not themselves commands.
JSON path
CommandsConfiguration → VoteCommands
Close button 2
- Size
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CloseButtonConfiguration → Size - Image URL
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CloseButtonConfiguration → ImageUrl
Countdown 4
- Minimum anchor
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → AnchorMin - Maximum anchor
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → AnchorMax - Minimum offset
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → OffsetMin - Maximum offset
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → OffsetMax
Ballot title 1
- Height
- Number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → TitleConfiguration → Height
Choice layout 4
- Vertical margin
- Number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → MarginHeight - Horizontal margin
- Number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → MarginWidth - Background color
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → BackgroundColor - Spacing between choices
- Number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → MarginBetweenCommands
Voting window 4
- Width
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → WindowConfiguration → Width - Height
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → WindowConfiguration → Height - Background image URL
- JSON value · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → WindowConfiguration → BackgroundImageUrl - Background color
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → WindowConfiguration → BackgroundColor
Countdown · Text style 4
- Text size
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → LabelConfiguration → FontSize - Text color
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → LabelConfiguration → Color - Font
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → LabelConfiguration → Font - Text alignment
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → CountDownConfiguration → LabelConfiguration → TextAnchor
Ballot title · Text style 4
- Text size
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → TitleConfiguration → LabelConfiguration → FontSize - Text color
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → TitleConfiguration → LabelConfiguration → Color - Font
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → TitleConfiguration → LabelConfiguration → Font - Text alignment
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → TitleConfiguration → LabelConfiguration → TextAnchor
Choice appearance 4
- Inner padding
- Number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → Padding - Background color
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → BackgroundColor - Vote count area size
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → VotesCountSize - Image height
- Number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → ImageHeight
Choice name style 4
- Text size
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → NameLabelConfiguration → FontSize - Text color
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → NameLabelConfiguration → Color - Font
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → NameLabelConfiguration → Font - Text alignment
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → NameLabelConfiguration → TextAnchor
Vote count style 4
- Text size
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → VotesCountLabelConfiguration → FontSize - Text color
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → VotesCountLabelConfiguration → Color - Font
- Text · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → VotesCountLabelConfiguration → Font - Text alignment
- Whole number · required
Legacy-interface setting retained in the file but unused by VoteCommands 1.0.1: changing it has no visual effect. Configure this beta's interface in PimpMyCUI Editor.
JSON path
UIConfiguration → VoteCommandsConfiguration → VoteCommandConfiguration → VotesCountLabelConfiguration → TextAnchor
Plugin instructions
VoteCommands 1.0.1 beta — setup and voting
VoteCommands lets players choose between actions you define, then runs the winning action. This beta renders its interface through PimpMyCUI; install the compatible PimpMyCUI plugin separately. It does not require EventManager unless one of your configured actions targets that plugin.
Configure ballot choices
Under Vote, the table lists each choice and its active server commands and plugin calls. Click a name to edit its presentation, or Actions to set what runs if it wins. Add choice creates another option. A newly added action stays disabled until you enable it; check its parameters before using it.
Install and run the first vote
- Back up
oxide/config/VoteCommands/, then installPimpMyCUI.csandVoteCommands.csin the server’s plugin folder. - In the configurator, import the controller you want to edit or choose an example. Keep automatic starting disabled for the first test. Review every winner command before enabling it.
- Export the controller to the path shown, such as
oxide/config/VoteCommands/Example.json. Each file defines a separate vote with its own commands and permissions. - Reload VoteCommands from the server console. For a file named
Example.json, grant the permissions below:.Voteto participants and.Startonly to those allowed to launch votes.
oxide.reload VoteCommands
oxide.grant group default VoteCommands.Example.Vote
oxide.grant user <STEAM64_ID> VoteCommands.Example.StartReplace Example with your exact controller filename without .json. The default group lets all players participate; do not grant .Start to everyone unless that is intended.
- Use the controller’s Start vote command in in-game chat, preceded by
/. Open its Show vote command, cast a vote and let the session finish. The administrator command/votecommands statusshows the loaded controllers; it requires Rust admin access orvotecommands.admin. - If the result is correct, set the automatic schedule you want. With no votes, no winner action runs. A test can change the world if you enabled a real winner command; use a private server.
Timing and winner actions
The 1.0.1 beta keeps repeating sessions running beyond the second vote. The interval is measured between session starts; cancelling a vote preserves the schedule, while unload/reload stops its timers. In the example, Day advances to morning and Night leaves time unchanged. The Hub keeps the Day action disabled until you enable it.
One JSON file under oxide/config/VoteCommands/ defines one vote controller. Its filename becomes part of the permission name; keep filenames and chat commands unique. On a fresh installation, the plugin creates Example.json with manual start and every winner command disabled. Edit and reload it before running a real vote.
SchemaVersion must be 3. Select CuiTemplate from operations-console, civic-ballot, relay-grid, arctic-council, field-terminal or broadcast-panel; choose CuiPresentation (windowed/fullscreen) and CuiDecoration (rich/light). CuiDocument is an optional edited PimpMyCUI runtime document for that exact built-in profile. Omit it or set null to use the built-in. A non-null incompatible document blocks opening; it does not fall back. The other controller settings and winner actions remain in this file.
The editor may change visuals, add decorative elements or close-only buttons, and remove elements. Existing action elements must retain their IDs, kind and bindings; model paths must come from the built-in document. Export the complete controller JSON to the configured filename. Installing only a PimpMyCUI project/package does not change VoteCommands.
When ShowContextImage is enabled with CuiDecoration: "rich", each choice must provide a valid HTTPS ImageUrl and a positive, finite ImageAspectRatio: image width divided by height. For example, a 1600 × 900 illustration has a ratio of 1.7777777777777777. Existing custom-image controllers must add this value; no ratio is guessed. Light mode or disabled context images use the measured built-in illustration and do not require this custom-image value. Timing, votes and winner actions are unchanged.
Upgrade from native version 0.2.0 or an older 0.1.x version or an older controller contract: keep a backup, start from a current schema-3 example and manually transfer timing, choices and winner actions. Older JSON files are rejected, not automatically migrated. If an intermediate schema-2 file has CuiTheme and CuiLayoutTemplate, replace them with a reviewed CuiTemplate choice. With no votes, no winner action runs even when TieRule is first and MinimumParticipation is zero. CuiDocument is optional and requires matching support in VoteCommands and PimpMyCUI.
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.