Rewarding votes on the top-lists without getting gamed
Why "open the vote URL and claim" gets abused, and how real vote verification (API poll and signed callback) works
By Forgeport · Published 21 August 2026 · Updated 24 August 2026
Vote rewards help a Lineage 2 server rank on Hopzone, TopG, Gtop100, and XtremeTop100. The common implementation gives the reward when the player opens the vote URL. That's not a verification system, it's an honor system, and it gets gamed.
The honor system fails immediately
The naive flow: the player clicks "vote", the panel opens the top-list page, and when the player comes back and hits "claim", the reward lands. Nothing in that flow proves a vote registered. A player can open the link and close it. A script does not need the browser and can claim on a loop across accounts. The symptom is a panel crediting players who never voted: your reward log fills up while your rank doesn't move, which is the exact opposite of what the reward exists for.
Two mechanisms actually verify a vote
API poll ("check and claim"). After the player votes, your panel calls the top-list's own API server-side and asks whether a vote is recorded for that player or IP, and only then credits. TopG works this way. It exposes a JSON API, keyed by your API key, that you query from your server. The player claims, you check, a confirmed vote pays out, an unconfirmed one doesn't.
Signed callback (HMAC). The top-list POSTs a notification to a URL on your panel when a vote lands, signed with a shared secret; you verify the HMAC signature before crediting. Gtop100, L2 Hopzone and XtremeTop100 all support a vote-callback/postback URL like this. The signature is the part that matters. An unsigned callback URL can accept a fake vote request.
Either way, the reward is credited after the top-list confirms the vote, not after the player says so.
How Forgeport does it
Forgeport ships presets for Gtop100, TopG, L2 Hopzone and XtremeTop100. Every provider runs in one
of the two verified modes above: API poll (CHECK_AND_CLAIM) or signed HMAC callback
(WEBHOOK_HMAC). Rewards are per provider and credited only after
the vote is verified, and each provider has an owner-set cooldown so a player can't re-claim inside
the top-list's own vote window. A top-list without a named preset still works through the same
generic adapter, as long as it exposes either an API endpoint or a signed postback.
Vote verification has not yet been tested against sustained live-server traffic. Provider-specific issues may still surface during real deployments.
If you're weighing the rest of the panel too, what a donation panel actually costs does the fee math, Capabilities has the underlying capability detail, and the vote rewards page summarizes the product side.