/// PIMPMYRUST PLUGIN
Vote System
Settings guide for this version of Vote System. Check the plugin page before using it on your server.
Prepare your file
- Check the installed version
This guide describes Vote System 2.1.3. 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 download
Adjust the settings, fix reported errors, and download 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 1
- Configuration format version
- Choice · required
Internal configuration format marker. Keep the value supplied for this plugin version.
JSON path
Data VersionAllowed values: 2
CustomRewards 2
- Enable
- On / off · required
Forward vote points to the configured CustomRewards reward type. CustomRewards must be installed; this integration is optional.
JSON path
Plugin Extensions → CustomRewards → Enabled - CustomRewards reward type
- Text · required
Exact reward type name used by the integration, without .json.
JSON path
Plugin Extensions → CustomRewards → Custom Rewards Template Name
Economics 2
- Enable
- On / off · required
Deposit an Economics amount based on vote points and the multiplier. Economics must be installed; disable if you do not use this currency.
JSON path
Plugin Extensions → Economics → Enabled - Economics deposit multiplier
- Whole number · required
Converts accepted voting points into the amount to deposit.
JSON path
Plugin Extensions → Economics → MultiplicatorMinimum : 1 · Maximum : 1000000
RustServers 5
- Enable
- On / off · required
Query RustServers for new votes. Enable only after entering your server’s credentials for that site.
JSON path
Vote Servers Settings → RustServers → Enabled - Voting site API URL
- Text · required
RustServers API address used to check votes. Keep the address intended for this provider, not your public server-listing URL.
JSON path
Vote Servers Settings → RustServers → API Url - API token
- Text · required
Secret supplied by the voting service. It is masked in the form.
JSON path
Vote Servers Settings → RustServers → API Token - Points granted per vote
- Whole number · required
Internal points granted for each new vote accepted from this site. Integrations consume these points; this is not directly an item quantity.
JSON path
Vote Servers Settings → RustServers → Points by voteMinimum : 1 · Maximum : 1000000
- Nickname → Steam ID links
- JSON value · required
Link each nickname to the corresponding player's Steam ID. Do not change a link to move a balance.
JSON path
Vote Servers Settings → RustServers → Nickname to Steam ID bindings
TopGames 5
- Enable
- On / off · required
Query TopGames for new votes. Enable only after entering your server’s credentials for that site.
JSON path
Vote Servers Settings → TopGames → Enabled - Voting site API URL
- Text · required
TopGames API address used to check votes. Keep the address intended for this provider, not your public server-listing URL.
JSON path
Vote Servers Settings → TopGames → API Url - API token
- Text · required
Secret supplied by the voting service. It is masked in the form.
JSON path
Vote Servers Settings → TopGames → API Token - Points granted per vote
- Whole number · required
Internal points granted for each new vote accepted from this site. Integrations consume these points; this is not directly an item quantity.
JSON path
Vote Servers Settings → TopGames → Points by voteMinimum : 1 · Maximum : 1000000
- Nickname → Steam ID links
- JSON value · required
Link each nickname to the corresponding player's Steam ID. Do not change a link to move a balance.
JSON path
Vote Servers Settings → TopGames → Nickname to Steam ID bindings
TopServer 5
- Enable
- On / off · required
Query TopServer for new votes. Enable only after entering your server’s credentials for that site.
JSON path
Vote Servers Settings → TopServer → Enabled - Voting site API URL
- Text · required
TopServer API address used to check votes. Keep the address intended for this provider, not your public server-listing URL.
JSON path
Vote Servers Settings → TopServer → API Url - API token
- Text · required
Secret supplied by the voting service. It is masked in the form.
JSON path
Vote Servers Settings → TopServer → API Token - Points granted per vote
- Whole number · required
Internal points granted for each new vote accepted from this site. Integrations consume these points; this is not directly an item quantity.
JSON path
Vote Servers Settings → TopServer → Points by voteMinimum : 1 · Maximum : 1000000
- Nickname → Steam ID links
- JSON value · required
Link each nickname to the corresponding player's Steam ID. Do not change a link to move a balance.
JSON path
Vote Servers Settings → TopServer → Nickname to Steam ID bindings
RustServers · Vote checks 1
- Check interval (seconds)
- Whole number · required
Seconds between new-vote checks on this site. Shorter intervals increase API requests and may exceed its limits.
JSON path
Vote Servers Settings → RustServers → Routine Settings → Check Interval (seconds)Minimum : 15 · Maximum : 86400
TopGames · Vote checks 1
- Check interval (seconds)
- Whole number · required
Seconds between new-vote checks on this site. Shorter intervals increase API requests and may exceed its limits.
JSON path
Vote Servers Settings → TopGames → Routine Settings → Check Interval (seconds)Minimum : 15 · Maximum : 86400
TopServer · Vote checks 1
- Check interval (seconds)
- Whole number · required
Seconds between new-vote checks on this site. Shorter intervals increase API requests and may exceed its limits.
JSON path
Vote Servers Settings → TopServer → Routine Settings → Check Interval (seconds)Minimum : 15 · Maximum : 86400
Plugin instructions
Vote System 2.1.3 — user guide
This guide covers the Codefling version 2.1.3. The separate 2.1.4 beta changes provider-response handling; select the configuration version installed on your server.
Installation order
- Back up
oxide/data/VoteSystemand the existing configuration. - Install
VoteSystem.cs. - Install Custom Rewards only if you want owner-point mirroring or a reward UI.
- Install Economics only if you want deposits.
- Install Vote Reward last if players need the historical
/vote-style chat commands.
All providers ship disabled. Obtain tokens directly from each provider and never publish them in configuration examples or support messages.
The configurator exports VoteSystem.json. Install it as oxide/config/VoteSystem.json (the corresponding config directory on Carbon), then reload VoteSystem. Keep exported files private: they contain any tokens you entered. The site does not save configurations on its server.
Provider identity model
Top-Serveurs and Top-Games return historical nickname vote feeds. Those nicknames do not authenticate a Steam owner. Add a separate Nickname to Steam ID bindings entry under each provider before expecting owner-scoped points or rewards.
Rust-Servers.net uses the valid authenticated Steam ID returned by its Steam-ranking response. Nickname-only rows are rejected and are not matched to a connected player's display name.
First provider example
{
"TopServer": {
"Enabled": false,
"API Url": "https://api.top-serveurs.net/v1/votes/last?server_token=%token%",
"API Token": "",
"Points by vote": 1,
"Nickname to Steam ID bindings": {
"provider nickname": "76561198000000000"
},
"Routine Settings": {
"Check Interval (seconds)": 30
}
}
}Insert this structure in Vote Servers Settings, add the real token locally, verify the binding, and enable the provider only after review.
Optional integrations
- Custom Rewards: optional. The configured reward type defaults to
VoteSystem. Custom Rewards contract V2 and its owner-points capability are checked before points are granted. - Economics: optional. The multiplier converts accepted points into a deposit amount. Accepted vote state is saved before the deposit.
- Vote Reward: optional player command and UI bridge. It requires both Vote System and Custom Rewards.
Disable unused integrations explicitly. If an optional effect fails after the vote is saved, review the reconciliation warning before making a manual adjustment.
Commands and permission
votesystem.wipestarts a durable wipe generation.votesystem_wipeis the historical alias.- Both require a Rust administrator or
votesystem.admin.
During the operation, polling pauses, prior-generation callbacks are ignored, and a fresh Rust-Servers.net baseline is stored when that provider is enabled.
Backups and recovery
Back up the complete oxide/data/VoteSystem directory before changing bindings, upgrading, or starting a baseline reset. Keep nickname, Steam, player, and wipe files together.
If state is unreadable or unsupported, the affected path fails closed and a quarantine copy is attempted. Restore a complete known-good backup. Do not import a nickname file into the Steam namespace or change a binding to make an existing balance belong to another account.
Provider data and cost
The operator owns each provider account and reviews its current pricing, limits, and privacy policy. Vote System sends the configured server token and request parameters to the provider and receives the provider's vote response. It does not send Custom Rewards catalogues, Economics balances, or server chat.
Troubleshooting
- Provider disabled: review URL, token, interval, and points value.
- Top vote has no player effect: add the nickname binding under the correct provider.
- Rust-Servers.net row rejected: ensure Steam OpenID voting and Steam ranking are enabled.
- Economics effect failed: use the reconciliation key and avoid blind retries.
- Polling blocked after wipe: repair or restore the wipe state and obtain a valid baseline.
Validation limits
The historical release passed a bounded load/runtime smoke. Real provider ingress was not exercised, the complete player UI/claim flow was not repeated for the exact final lot, and Carbon runtime parity was not exercised.
Install the file
After keeping a copy of the previous file, place the exported JSON at this location on your server:
oxide/config/VoteSystem.jsonFollow the plugin instructions above for dependencies and reloading. Exporting does not connect the site to your server.