File Layout - BenCodez/VotingPlugin GitHub Wiki

📁 Default configurations are available here:
https://github.com/BenCodez/VotingPlugin/tree/master/VotingPlugin/src/main/resources


Spigot Server Files

Path: /plugins/VotingPlugin/

File / Folder Description
Rewards/ Contains all reward configuration files (see below).
TopVoter/ Stores previous TopVoter results when totals reset. Must be enabled. Monthly TopVoter tracking is enabled by default.
BungeeSettings.yml Important for proxy-related configuration and communication.
Config.yml Main settings: player storage method, formats, reminders, and general behavior.
GUI.yml Configures GUIs (chest/book). Also allows disabling GUIs entirely.
Shop.yml Config for the VoteShop (available since v6.17+).
ServerData.yml Internal plugin data for vote party and top voter tracking — do not edit manually.
SpecialRewards.yml Defines rewards such as AllSites, FirstVote, VoteParty, TopVoter, Milestones, and Cumulative totals.
Users.db Player data when using SQLite.
VoteSites.yml Defines vote sites — includes service name, delay, and rewards. Also contains “EverySiteReward” if configured.

Rewards Folder

Path: /plugins/VotingPlugin/Rewards/

File / Folder Description
DirectlyDefined/ Auto-generated rewards for SpecialRewards or VoteSites when inline rewards are used. Do not edit manually — files are overwritten automatically.
ExampleAdvanced.yml Example of advanced reward logic (conditions, randomization, etc.). View on GitHub →
ExampleBasic.yml Simple example of per-vote rewards. View on GitHub →

💡 Any reward configuration shown in the examples can be placed under Rewards anywhere in the plugin configuration — they function identically. {.is-info}


Proxy Server Files

Path: /plugins/VotingPlugin/ (on BungeeCord or Velocity)

File Description
bungeeconfig.yml Main proxy-side configuration file. Controls how votes are received and forwarded to backend servers.
nonvotedplayerscache.json Lists players who logged in recently (up to 5 days) but haven’t voted. Used when AllowUnJoined: false.
secretkey.key Encryption key for SOCKET proxy mode. Must match between proxy and Spigot servers if using that mode.
votecache.json Temporary cache for PLUGINMESSAGING method to ensure votes are forwarded reliably.

🧠 Tip:
Proxy and Spigot servers can share MySQL databases for full synchronization.
Keep configuration paths and server names consistent across all instances for best results. {.is-info}