मुख्य कंटेंट तक स्किप करें

BharatMC Vote Velocity

Overview​

BharatMCVoteVelocity runs at the Velocity proxy tier. It intercepts incoming NuVotifier protocol vote packets from top voting lists (NameMC, PlanetMinecraft, MinecraftMP, TopG, etc.) and synchronizes them across the entire network.

All communications are powered by high-throughput asynchronous Redis Pub/Sub and REST (WebSockets have been completely removed in favor of lower latency Redis streams).


⚡ Core Systems​

1. Dynamic NuVotifier Interception​

  • Listens on port 8192 via reflective NuVotifier hooks.
  • As soon as a vote arrives, it queues the vote and posts the transaction payload to the central BharatMC API with exponential backoff retries.

2. Redis Pub/Sub Vote Broadcast​

Whenever a vote is confirmed, BharatMCVoteVelocity publishes an event to Redis:

  • Channel: bharatmc:vote:event
  • Payload:
{
"player": "RoizPlayz",
"service": "TopG.org",
"timestamp": 1730211500000,
"address": "127.0.0.1"
}

All connected backend game servers (Lifesteal, Survival, Practice) receive this simultaneously, incrementing the Vote Party counter and queuing in-game rewards.

3. Smart Vote Reminder Scheduler​

  • Runs periodically on the proxy.
  • If a player hasn't completed their daily quota of votes across our voting links, it pushes non-intrusive reminder alerts with clickable vote URLs.

4. Vote Party Cache​

  • Periodically queries the web backend (/voting/plugin/voteparty/status) every 60 seconds to refresh the global vote goal and milestone count.

📋 Commands​

CommandUsageDescription
/vote/voteDisplays interactive clickable links to all registered voting sites
/voteparty/votepartyShows current vote party progress and votes needed