Callback documentation for incentive voting
Welcome to RuneSuite, your all-in-one destination for RuneScape Private Server (RSPS) development, coding resources, and a thriving community of developers, gamers, and enthusiasts. Whether you’re a seasoned developer or just starting your journey into RSPS, RuneSuite provides the tools, guides, and support you need to build, optimize, and launch your private server successfully.


What RuneSuite provides
- Incentive voting guide for RSPS owners
Incentive voting is a powerful strategy that helps RuneScape Private Servers (RSPS) grow by encouraging players to vote regularly in exchange for rewards. This approach boosts server rankings on toplists like RuneSuite, making it easier for new players to discover active and popular servers.
For server owners, higher rankings lead to more visibility and increased traffic. As more players join, the cycle continues, with each new player contributing to the server’s growth by voting daily. This system not only attracts new users but also strengthens the existing community, keeping players engaged and motivated.
From the player’s perspective, incentive voting offers more than just rewards. It creates a sense of contribution and belonging, as each vote directly supports the server’s success. Whether it’s in-game currency, exclusive items, or experience boosts, rewards make voting a part of the daily routine.
Ultimately, incentive voting benefits both servers and players. It drives consistent traffic, strengthens community engagement, and ensures a thriving RSPS environment. RuneSuite makes it easy for servers to implement this system, helping them stand out in a competitive market while keeping their communities active and growing.
- How does incentive voting work?
Incentive voting is a simple yet powerful system that helps boost your server’s visibility while rewarding players for their support.
1. Players visit your unique voting link
Usually found on your server’s website or directly from the RuneSuite toplist.
2. They cast their vote for your server
Supporting its rise in the rankings while showing their loyalty.
3. After a successful vote, RuneSuite’s system automatically verifies it
Once verified, the system notifies your server in real-time, ensuring only legitimate votes are counted and maintaining fairness across the toplist.
4. You decide how to reward your players
Whether it’s in-game items, currency, experience boosts, or other perks, rewards keep players motivated to vote daily while enhancing their overall gameplay experience.
By implementing incentive voting, your server gains more exposure, attracts new players, and fosters an engaged community that actively contributes to your growth.
- How to set up Incentive voting
Follow these steps to get everything running smoothly:
1. Set Your Callback URL
The first step is providing a Callback URL, a specific endpoint on your website where the vote confirmation will be sent. You can set this in your server settings.
Important: If you use Cloudflare or another proxy, ensure it doesn’t block callback requests.
2. Generate the Voting Link
Direct players to your RuneSuite voting page using a properly formatted URL:
https://www.runesuite.com/top-rsps-list/SLUG/?vote&callback=CONTENTHERE
Replace SLUG with your server’s listing name.
We append "/vote?callback=CONTENTHERE"
to the base URL, and you’ll need to do the same. The CONTENTHERE
in our example should be a unique identifier of your choice, such as a player name, session ID, or IP address, to help you track votes. This value will be passed back to your Callback URL after a successful vote.
Example:
https://www.runesuite.com/top-rsps-list/camelscape/?vote&callback=player68
3. Handle Successful Votes
Once a player votes, RuneSuite sends a request to your callback URL. Here’s how to process the data using PHP:
connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Get client IP, accounting for proxies like Cloudflare
$client_ip = isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? $_SERVER['HTTP_CF_CONNECTING_IP'] : $_SERVER['REMOTE_ADDR'];
// Validate the request source
$is_valid = (gethostbyname('callback.runesuite.com') === $client_ip);
// Retrieve callback parameters
$callback = isset($_POST['callback']) ? $_POST['callback'] : null;
$voter_ip = isset($_POST['ip']) ? $_POST['ip'] : null;
if ($is_valid && $callback && filter_var($voter_ip, FILTER_VALIDATE_IP)) {
// Sanitize input and log the vote
$callback = $conn->real_escape_string($callback);
$voter_ip = $conn->real_escape_string($voter_ip);
$query = "INSERT INTO votes (user, ip, vote_time) VALUES ('$callback', '$voter_ip', NOW())";
$conn->query($query);
}
$conn->close();
?>