JExVote | No Votifier required | VotifierV1/V2 Support
v3.2.10.1Built-in Votifier server · 12 reward types · Vote streaks · Beautiful GUIs · Replaces NuVotifier
v3.2.10.1latestv3.2.10.1 - Vote reward reliability + fixesAug 31, 2026 v3.2.10 - Vote reward reliability + fixes Bug Fixes · Vote rewards no longer fail under load - when a single vote granted several currency rewards at once, the deposits raced on the same economy account and could exhaust the retry budget, surfacing an "Async reward grant failed" error and dropping the reward. Reward grants (default, guaranteed and streak) are now applied one after another, so each deposit commits cleanly. · Reload now refreshes rewards - /jexvote reload previously reloaded the config files but did not update the live reward service. Editing rewards.yml had no effect until a full server restart. Reload now properly rebuilds all reward lists (default, guaranteed, streak, site-specific, and commands-on-vote). · Offline vote rewards no longer duplicate - votes received while a player was offline could be re-delivered on every login instead of once. If any single reward in the batch failed asynchronously, the entire pending queue was never cleared. Pending rewards are now reliably deleted after delivery regardless of individual grant failures. Improvements · Clearer reward feedback - the win message now names the actual jackpot prize you received, and offline vote rewards are summarised in a single chat message on login instead of one line per vote.3.2.10v3.2.10 - Bug Fixes | /reload and offline vote reward duplicates fixedAug 30, 2026 v3.2.10 - Bug Fixes Bug Fixes · Reload now refreshes rewards - /jexvote reload previously reloaded the config files but did not update the live reward service. Editing rewards.yml had no effect until a full server restart. Reload now properly rebuilds all reward lists (default, guaranteed, streak, site-specific, and commands-on-vote). · Offline vote rewards no longer duplicate - Votes received while a player was offline could be re-delivered on every login instead of once. If any single reward in the batch failed asynchronously, the entire pending queue was never cleared. Pending rewards are now reliably deleted after delivery regardless of individual grant failures.3.2.9Offline Votes, being better designed visually. Rewards you can actually see.Aug 24, 2026 JExVote 3.2.9 You now see what you actually got Coming back after a few votes used to tell you: "You have 3 pending vote reward(s)! Delivering now..." That message was sent after the rewards had already landed in your inventory, and it didn't tell you what you received. JExVote 3.2.9 changes this. You now receive a summary after every reward has actually been granted, listing exactly what arrived. Identical rewards are combined, so five votes that each awarded coins appear as a single line instead of five separate entries. Lucky rewards now name the prize Jackpot rewards were previously displayed as the literal grey word lucky. The reward describer already handled items, commands, currency, and experience, but fell back to displaying the raw type ID for the two reward types defined exclusively by JExVote. That is now fixed. Pools now have two different descriptions depending on context: · In the reward list: 1 of 8 Jackpot Prizes · When you win one: the actual prize you drew Chance rewards now display their reward together with the odds. Pending rewards are no longer lost Previously, stored rewards were deleted immediately after their grants were fired. Since grants are asynchronous, a failed grant could therefore delete the reward record before the player actually received it. Rewards are now removed only after every grant has successfully resolved. A failed grant will no longer silently cause the stored reward to disappear. Also · vote.pending_rewards has been replaced by vote.delivered.* in all four locales, including Czech and Slovak. · Version drift has been fixed. The plugin manifests reported 3.2.6, the root project reported 3.2.7, and the modules reported 3.2.8. As a result, a server running the 3.2.8 JAR could report itself as 3.2.6. All nine version declarations now agree on 3.2.9.3.2.8[feat, fix] Offline reconciliation + downtime-forgiving streaksAug 17, 2026 JExVote 3.2.8 - Offline reconciliation + downtime-forgiving streaks Recommended for anyone running streak rewards or frequent restarts. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ New: Offline vote reconciliation Votifier is real-time TCP. If a player votes while your server is offline, the vote never reaches the plugin and the streak day is never recorded. Streak Freezes cannot save that day either, because as far as JExVote is concerned it never happened. 3.2.8 polls each vote-site status API on player join (where configured) and credits any vote the site reports but Votifier never delivered. It runs through the normal processVote pipeline, so reward, points, and streak day all land as if the server had been up. · Opt-in per reconciliation.enabled (default: off) · Per site: api-url, api-key, and api-voted-contains in sites.yml · All HTTP runs off-thread; one rate limit per player · Deduplicated against the persisted vote history inside the site's cooldown window, so nothing is credited twice ■ New: Streaks forgive server downtime Maintenance windows and crashes no longer break streaks. A new DowntimeTracker writes a per-minute heartbeat and, on boot, records any gap longer than 3 minutes as a forgiven window. The streak check subtracts overlapping downtime from the raw gap before comparing to the streak timeout. · 90-day retention, 100-entry cap, so the state file stays tiny · Overlapping downtime windows are computed correctly ■ Fix: Reward preview shows real command names Jackpot and streak tiles in the /vote menu used to print "Special Reward" for every command reward. The describer now recognises patterns like ac virtualkey give, jexoneblock grant-radius, and jexoneblock flycoupon, and optionally reads the describe field on a command reward. ■ Fix: Unified time source lastVoteAt now stores the processing time ( Instant.now()) instead of the timestamp inside the Votifier packet. Stale timestamps from NuVotifier relays or API-path votes no longer skew the same-calendar-day check or the gap arithmetic in updateStreak. ■ Security hardening · v2 payload capped at 8192 bytes to block OOM amplification · Votifier slowloris: AbortPolicy, reject handler that closes rejected sockets, socket timeout reduced to 5s · REST slowloris: pool 2 to 10 threads, 10s per-request deadline enforced via Future.cancel(true) · REST rate limiter is now proxy-aware; X-Forwarded-For is only trusted when the TCP peer matches trusted-proxies (default: 127.0.0.1, ::1) · Malformed-connection logs downgraded to FINE, so port scanners no longer flood the log ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Upgrade notes · No config reset required. reconciliation.enabled: false is added on first boot; existing sites.yml entries without API config keep working exactly as before. · Recommended rollout: test one site (e.g. minecraftpocket-servers.com) under reconciliation.enabled: true first, then flip the rest. · Compatibility: Paper 1.20+, Java 21+. Bedrock forms require Floodgate. Bug reports and ideas: https://discord.mythblock.me | Config questions: wiki on GitHub 3.2.71JExVote 3.2.7 | Security Hardening & Marketplace RefreshAug 11, 2026 JExVote 3.2.7 Security hardening, updated resource text, and a new Minecraft-style logo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ What changed? JExVote 3.2.7 is mainly a hardening and presentation update. The vote listener, REST API, and malformed-connection handling were tightened after a security audit, and the Spigot/README presentation now matches the current feature set. Security fixes · Votifier payload limit - v2 brace-matched payloads are now capped at 8192 bytes. · Slow connection protection - Votifier sockets now use a shorter 5 second timeout. · Rejected socket handling - saturated worker pools now close rejected sockets cleanly. · Cleaner malformed vote logs - bad connections no longer spam warning-level stack traces. · REST timeout guard - REST requests now run with a per-request deadline and a larger worker pool. Resource page refresh · Updated the version from 3.2.6 to 3.2.7. · Updated the Spigot descriptions to reflect the current feature set. · Added coverage for Streak Freezes, Vote Gifting, Jackpot, Vote Party, Bedrock forms, REST API, daily fly rewards, trusted proxy config, and the full command list. · Added new Minecraft-style JExVote logo assets and placed the logo in the README. Notes for server owners No config reset is required. If you expose the REST API behind a proxy, check your trusted proxy settings after updating. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Built-in Votifier v1 + v2 No NuVotifier dependency required. 3.2.73.2.7 — Bedrock Forms, Streak Freezes, Vote Gifting, Jackpot & REST APIAug 10, 2026 This update brings JExVote up to date with everything added since 3.0: ■ Bedrock Edition Support Full GUI parity for Geyser/Floodgate players — overview, leaderboard, streaks, rewards, and shop all render as native Bedrock forms with claimable buttons and purchase confirmation modals. ■ Engagement Systems • Streak Freezes — auto-equipping streak protection. One free on first vote, buy more with vote points. Per-rank cap via permissions. • Vote Gifting — /vote gift <player> or /vote gift random to keep a friend's streak alive. Configurable daily limit with per-rank permissions. • Vote Jackpot — weighted prize pool rolled on every vote. Drop odds and history visible in the rewards menu. • Vote Party (Premium) — shared server-wide counter, rewards every contributor on completion. • Vote Shop (Premium) — spend vote points on a curated catalog. • Weekend Multipliers (Premium) — scale points and rewards during configurable day windows. ■ 14 Reward Types Added chance (probability-gated) and lucky (weighted jackpot pool) on top of the existing 12. ■ New Admin Commands • /jexvote key — prints Votifier public key, PEM, port and v2 token with click-to-copy • /jexvote setstreak <player> <value> — set a player's vote streak • /jexvote debug-services — diagnose service-name mismatches between config and incoming votes ■ REST API Embedded HMAC-authenticated HTTP server for web backend integration. Endpoints for sites, cooldowns, and player stats. Configurable port, CORS origin, and per-IP rate limiting. ■ Quality & Fixes • Feature toggles — streaks, shop, leaderboard, effects independently switchable • Daily first-vote fly coupon rewards • Bedrock chat links now work (raw URL, auto-linked by client) • SonarQube findings resolved across 18 files • Fixed: double fly-coupon, deduplicated vote delivery, streak-claim migration, locale-sensitive service matching, freeze-window rounding, stale vote timestamps • Deleted vote sites now persist across reload/restart • Config migrations preserve custom values3.2.6Patch 3.2.6Aug 3, 2026 · Deleting an unused bundled site from sites.yml now persists across /jexvote reload and server restarts. · Existing site entries still receive newly introduced configuration fields during migrations without overwriting custom values. · Paper and Spigot plugin metadata now report the same release version. · Actual accidence fixed of resetting vote-streak earlier than expected. · Admin Command for setting a vote-streak · Vote Freeze will now work as intended.3.2.5Bigger vote rewards, a reworked shop, and Bedrock support, Adjusted Configuration filesJul 19, 2026 Mythblock | Vote Update Bigger vote rewards, a reworked shop, and Bedrock support [hr] New & Rewards · Guaranteed VoteCrate key on every vote | online or offline, no more empty votes. · Daily flight: your first vote each day drops a Item/runs a config-call (with an in-game reminder to vote). So for example a fly-time coupon would only be sent out once, even after 10 votes. · Bedrock supported: votes from Bedrock/Geyser players now match correctly and count. Vote Shop, reworked · Curated catalog with per-item previews and thematic icons, see exactly what you're buying. Removeable config added. Vote Streaks · Redefined streak ladder with an unbreakable Day-30 crown and pass/rank capstones. · Streaks now advance at most once per calendar day clean and fair. Fixes & Under the Hood · Vote sites synced to all n live listings. · Streak-claim migration made idempotent (no more repeated warnings). [hr] Vote daily → climb your streak → cash out in /vote shop3.2.1Votifier | Minor improvements on performance.Jul 16, 2026 Votifier | Minor improvements on performance.3.2.0retention systems, a full GUI rebuild, and Bedrock support.Jul 14, 2026 3.2.0 Everything since 3.0.0: retention systems, a full GUI rebuild, and Bedrock support. New · Successful support of MinecraftPocket-Servers.com, TopG.org, minecraft-server-list.com, minecraft-mp and more. · Streak Freezes: auto-equipping streak protection, one free on first vote, more bought with vote points (/vote freeze) · Vote Gifting: /vote gift <player> or /vote gift random passes a streak day to another player · Vote Jackpot: a 10-entry weighted prize roll on every vote, odds shown in /vote rewards · Vote Party (Premium): a shared server-wide vote counter rewards every contributor · Weekend multipliers (Premium): scale vote points and reward amounts on a configurable window · Vote Shop (Premium): spend vote points on crate keys, cosmetics (particle trail, lanterns, froglights), and fly time · Bedrock (Geyser/Floodgate) support: configurable name-prefix matching so cross-platform votes count correctly · Embedded REST API (port 8096, optional) for pulling vote/streak stats into a website backend · 2 new reward types: chance and lucky (weighted), bringing the total to 14 Redesigned · Every GUI rebuilt on one design system: help, overview, shop, and streak views · Streak grid is now paginated with a proper close button and an oneblock-fair ladder · Streak ladder redefined: an unbreakable day-30 crown, pass/rank capstones · Vote Jackpot rebalanced: no duplicate netherite, added casual coin/diamond tiers, sparser top-tier drops · Vote Party rebalanced: removed overpowered items in favor of virtual keys and party tools · Vote Shop rework - curated catalog with a per-item description preview instead of a flat grid Removed · /vote fly and /vote eventfly — flight is now sold through the Vote Shop; event-fly is reserved for server events Fixed · Votifier server thread-pool deadlock that could stop it processing connections entirely · NuVotifier v2 frames in an unrecognized format now fall back correctly instead of failing · Currency vote rewards (JExEconomy/Vault) now actually pay out · Nested rewards (lucky-vote entries, item enchantments) failing to load · 3.1.0 → 3.1.1 migration failure on existing player tables (missing SQL defaults on new NOT NULL columns) · Streak-claim migration is now idempotent and runs once (was logging duplicate-key warnings on every restart) · Missing translation keys for rewards/freeze/gift messages · Spigot (non-Paper) compatibility: plugin.yml and relocation handling3.1.11Visual Re-Design, Updates towards the SystemJun 11, 2026 This is a patch release for everyone running 3.1.1 on an existing player database. What was broken 3.1.0 introduced several new NOT NULL columns on existing tables (streak freezes, gift counters, jackpot stats). Those columns had no SQL default, so the ALTER TABLE step rolled back on servers with existing player data and vote storage failed to come up. Fresh installs were unaffected. What 3.1.1 changes Every new NOT NULL numeric / boolean column now carries a @ColumnDefault, so the migration can fill existing rows with 0 / false and the ALTER succeeds. No schema you can see has changed — the fix is purely in how the migration applies to pre-existing rows. Upgrade Drop the new JAR in and restart. Recovery is automatic. No manual SQL, no config edits, no data loss. If you were already on 3.1.0 and the plugin failed to enable, just update to 3.1.1 and start the server — the columns will backfill on first boot. If you are on 3.0.x or earlier, go straight to 3.1.1 and skip 3.1.0. For 3.1.11 we have made some further updates to designs, vote-party, vote-freezes, additional vote rewards and such.3.1.1Fixing Migration from 3.0.0Jun 5, 2026 Fixed Migration for the databases.3.1.0JExVote 3.1.0 | Streak Freezes, Vote Gifting & a 10-prize JackpotJun 4, 2026 JExVote 3.1.0 | Streak Freezes, Vote Gifting & a 10-prize JackpotThe big one. Voting is now sticky, social, and genuinely exciting and the rewards menu finally looks the part. [HR][/HR]
Streak Freezes Lose a 30-day streak because you missed a single day? Not anymore. · Auto-equip, miss a vote and a freeze is spent automatically; your streak survives. No action needed. · Everyone starts with 1 free, you're told about it on your first vote. · Buy more with vote points via /vote freeze. Cost, max owned and freeze duration are all configurable, with a jexvote.freeze.max.<n> permission to raise the cap per rank. Vote Gifting Keep a friend's streak alive when they can't log in. · /vote gift <player> - gift a streak day to a specific player. · /vote gift random - surprise a random online player. · The gift advances only the receiver's streak! You keep your own vote and rewards in full. · Daily cap (default 1, jexvote.gift.daily.<n> override) and an optional "must have voted today" rule. A player can only be gifted once per day! No inflation. Vote Jackpot: 10 prizes, real odds Every vote now rolls one prize from a weighted pool, shown in /vote rewards with exact drop chances: · From 1,000 coins (28%) up to a XYZ Crate key (1.5%), coins, XP, diamonds, netherite, and crate keys in between. · Each outcome tracks its own drop count. Reworked streak rewards: an oneblock crate ladder Every milestone now gives XP + Coins + a Crate Key + useful gear, escalating: · Day 3 · Sprout - Vote Crate + hoppers + diamonds · Day 7 · Settler - Season Crate + Voter's Pickaxe (Eff IV / Fortune II) · Day 14 · Veteran - Shadow Crate + Voter's Blade (Sharp V / Looting III) + netherite · Day 21 · Champion - Void Crate + Champion's Drill (Eff VI / Fortune IV) + shulkers · Day 30 · Legend - Dragon Crate + Streak Master's Wings (Elytra) + a netherite block Vote Party (Premium) Now ships ready to go. Enabled by default with a full reward set (XP + coins + a crate key + diamonds) granted to every contributor on completion. Premium edition only.
A better rewards menu · New Vote Points, Streak Freeze (buy with a click) and Vote Gift panels. All with live counts. · Rewards read like rewards: a crate key shows as "Dragon Crate Key" instead of a raw command, and items use their proper localized names (translated to each player's language) instead of "8x diamond". · /vote stats and /vote top now open the GUI instead of a wall of chat text. Fixes · Fixed nested rewards (Lucky Vote, item enchantments) silently failing to load: The rewards menu showed "no lucky rewards" on a fresh install. · Fixed a broken streak reward that never handed out its crate key. · Fixed missing translations in the rewards menu. [HR][/HR] Full English & German translations included. Everything above is configurable in config.yml and rewards.yml. Existing servers: regenerate (or merge) those two files to pick up the new defaults, then /jexvote reload.
3.0.16Fixing some logging | Heartbeat error messagesMay 28, 2026 Reduced error/warn logging of the plugin and improved fallback message.3.0.0May 23, 2026
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta