Stop duplicate vote rewards caused by two forwarding paths
A player receiving two rewards may have two delivery paths rather than a reward file that runs twice. NuVotifier can forward votes itself, while VotingPlugin also supports its own proxy transport. Combining both without a deliberate design can submit the same event twice.
Before you change settings
Draw the route from the voting website to the public receiver, proxy transport, backend listener and reward plugin. Record installed builds and save configurations before making a change. Choose one test player and a quiet period so separate legitimate votes are not mistaken for duplicates.
Follow the request through the plugin
- Send one real test from a configured listing and record its timestamp and service identifier. Compare receiver and reward logs across the proxy and destination backend; do not resend until the first attempt is understood.
- Identify which component owns forwarding. For the documented standard VotingPlugin proxy layout, follow its transport guide and keep NuVotifier backend forwarding disabled. A NuVotifier-only forwarding layout has different requirements.
- Check for another public receiver, duplicate listener plugin or a second destination entry. Disable only the redundant route after confirming the retained route can reach the intended reward processor.
- Restart affected components in a planned window and send one further controlled vote. Check the receiver count, processing count, balance change and item delivery separately.
Confirm the intended result
One external vote should create the expected number of deliveries under your declared network policy. If every backend should receive it, distinguish that intentional fan-out from two rewards on the same backend. Test a player who changes backend as well as one who stays connected.
If the test fails
If duplicate rewards persist after only one event reaches VotingPlugin, inspect reward configuration, milestone triggers and repeated command entries. A first-vote bonus alongside a normal reward may be intentional; record each reward source before removing it.
Restore the previous forwarding settings if the retained route fails. Keep vote history and evidence intact. Reconcile accidental rewards with the owner rather than clearing totals or replaying a day of votes to repair one routing mistake.