/// 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.
- 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 1
- Configuration format version
- Choice · required
Internal configuration format marker. Keep the value supplied for this plugin version.
JSON path
Data VersionAllowed values: 2
Reward milestones 2
- Enable
- On / off · required
When the matching catalogue opens, top up its CustomRewards points from stored vote points. Requires CustomRewards; disabling this does not delete stored votes.
JSON path
Plugin Extensions → CustomRewards → Enabled - CustomRewards reward type
- Text · required
Exact CustomRewards catalogue name receiving the points, without .json. Use the same name in VoteReward if installed; other catalogues do not receive this update.
JSON path
Plugin Extensions → CustomRewards → Custom Rewards Template Name
Economics currency 2
- Enable
- On / off · required
Deposit Economics currency when a new vote is accepted for a connected player. Requires Economics. This deposit uses the number of new votes, not Points by vote.
JSON path
Plugin Extensions → Economics → Enabled - Economics deposit multiplier
- Whole number · required
Economics amount per newly accepted vote: deposit = new votes × this value, for a connected player. Points by vote is not part of this formula; 100 grants 100 units per vote.
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
Server token supplied by RustServers, substituted for %token% in vote-check requests. Without a valid token this site's votes cannot be checked. Keep the exported JSON private.
JSON path
Vote Servers Settings → RustServers → API Token - Points granted per vote
- Whole number · required
Multiplier applied to stored votes when calculating queryable points and CustomRewards points. It does not multiply Economics deposits, which have their own setting.
JSON path
Vote Servers Settings → RustServers → Points by voteMinimum : 1 · Maximum : 1000000
- Nickname to Steam ID bindings
- JSON value · required
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
Server token supplied by TopGames, substituted for %token% in vote-check requests. Without a valid token this site's votes cannot be checked. Keep the exported JSON private.
JSON path
Vote Servers Settings → TopGames → API Token - Points granted per vote
- Whole number · required
Multiplier applied to stored votes when calculating queryable points and CustomRewards points. It does not multiply Economics deposits, which have their own setting.
JSON path
Vote Servers Settings → TopGames → Points by voteMinimum : 1 · Maximum : 1000000
- Nickname to Steam ID bindings
- JSON value · required
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
Server token supplied by TopServer, substituted for %token% in vote-check requests. Without a valid token this site's votes cannot be checked. Keep the exported JSON private.
JSON path
Vote Servers Settings → TopServer → API Token - Points granted per vote
- Whole number · required
Multiplier applied to stored votes when calculating queryable points and CustomRewards points. It does not multiply Economics deposits, which have their own setting.
JSON path
Vote Servers Settings → TopServer → Points by voteMinimum : 1 · Maximum : 1000000
- Nickname to Steam ID bindings
- JSON value · required
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. A deposit is the number of newly accepted votes multiplied by
Plugin Extensions → Economics → Multiplicator, not the points earned from those votes.Points by votecontrols VoteSystem points separately. For example, three new votes and an Economics multiplier of 100 produce a deposit of 300, regardless of the provider's points setting. 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 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.