Move your votes from another server list to Huby
Claim your listing, create your API key, then replace https://minecraftpocket-servers.com/api/ with https://hubyy.fr/api/ in your plugin: same parameters, same 0, 1 and 2 answers. Votifier and NuVotifier are set on your listing, with a test vote for the username HubyTest.
By the Huby team
Huby’s directory rewards votes like other server lists do: your server asks whether a player voted, then marks the reward as given. The API is deliberately the same as minecraftpocket-servers.com’s and minecraft-mp.com’s, so that a plugin already set up works without a rewrite. Here are the three steps, then the other ways to receive votes.
1. Claim your listing
Every server in the directory has a listing, under hubyy.fr/serveurs/<name>/. If yours does not exist, add your server by signing in with Discord: you own it right away. If it already exists (a listing created by the team carries the label “unclaimed listing”), click “Claim this server” (« Réclamer ce serveur ») at the bottom of the listing. Two proofs are accepted:
- A DNS record, if your server has a domain name. The claim page gives you a code; add at your registrar a TXT record on the
hubyysubdomain of your address, then run the check again. The listing is yours as soon as the record is visible.
hubyy.play.myserver.net. TXT "huby-verification=<code given by the page>"
The record can also sit on a parent domain (hubyy.myserver.net for play.myserver.net). Propagation takes from a few minutes to a few hours depending on the registrar.
- Discord, if your server only has an IP address, or if you do not touch DNS: say so on the Huby Discord and the team assigns you the listing.
2. Create your API key
On your listing (hubyy.fr/annuaire/fiche/<name>/), the “API key” block creates your key. It is shown only once: copy it into your plugin’s setting. You can renew it at any time; the old one then stops working. Huby keeps only a hash of the key, never the key itself.
3. Change the address in your plugin
A plugin written for minecraftpocket-servers.com or minecraft-mp.com calls https://minecraftpocket-servers.com/api/ (or https://minecraft-mp.com/api/). Replace that address with Huby’s, and nothing else:
https://hubyy.fr/api/
Parameters and answers are the same. To know whether a player voted:
GET https://hubyy.fr/api/?object=votes&element=claim&key=<your key>&username=<username>
The answer is a single digit: 0 the player has not voted, 1 they voted and await their reward, 2 they voted and were already rewarded. To mark the reward as given:
POST https://hubyy.fr/api/?action=post&object=votes&element=claim&key=<your key>&username=<username>
Answer 1 if the reward was just marked, 0 otherwise (no pending vote, or already marked). An unknown key answers Error: server key not found; an empty or too long username, Error: invalid username.
To check from a terminal, first vote for your server from its vote page (hubyy.fr/annuaire/voter/<name>/), then:
curl "https://hubyy.fr/api/?object=votes&element=claim&key=<your key>&username=<your username>"
Votifier and NuVotifier
If your server already receives its votes through Votifier, Huby can push them directly, without a list plugin. On your listing, the “Votifier” block takes:
- the host and port of your Votifier (8192 by default); a private network address is refused;
- the public key of your Votifier v1 (the content of
rsa/public.key, in base64 or PEM) or, for NuVotifier v2, the token from thetokenssection of itsconfig.yml.
The “Send a test vote” button (the listing is in French: « Envoyer un vote d’essai ») sends a vote for the username HubyTest. With v2, the server confirms receipt and the listing shows it. With v1, Votifier confirms nothing: watch the server console. The vote arrives with the service name Huby; the voter’s address is never passed on.
For a vote to be rewarded, your vote plugin must accept the service Huby: most accept it by default, otherwise add it to its list of services.
The Huby API
If you write your own plugin, Huby’s API is easier to read. The key goes in the Authorization header, the username in the path:
GET https://hubyy.fr/api/v1/votes/<username>
Authorization: Bearer <your key>
{ "pseudo": "Steve", "aVote": true, "recompense": false }
To mark the reward as given:
POST https://hubyy.fr/api/v1/votes/<username>/recompense
Authorization: Bearer <your key>
{ "pseudo": "Steve", "recompense": true }
recompense is true the first time, false afterwards or without a pending vote (aVote means “has voted”). Without a key or with an unknown one, the answer is 401 with { "erreur": "cle" }; an invalid username, 400 with { "erreur": "pseudo" }.
What to know about votes
- A player votes once per server every 24 hours, with their gamertag and a bot check. A Geyser username may start with a dot: the API passes it on as is.
- A vote is kept for 40 days, then erased; only the totals remain. Your plugin therefore has time to reward it, even after a restart.
- Your listing’s vote page is set from your listing: the announced reward, a message, a thank-you.
- Tell your players: the vote link is
hubyy.fr/annuaire/voter/<name>/, and every vote counts in the monthly ranking.
Every console and the common errors, on one page: join a Minecraft server on console.
Frequently asked questions
Do I need another plugin to reward Huby votes?
No. A plugin written for minecraftpocket-servers.com or minecraft-mp.com queries /api/?object=votes&element=claim and reads 0, 1 or 2. Huby answers the same way at the same path, under https://hubyy.fr/api/. Only the address changes.
How do I check that votes arrive?
For Votifier, the test button on your listing sends a vote for the username HubyTest: watch the server console. For the API, vote yourself from your listing's vote page, then query the API with your username: it must answer 1.
How long does a vote stay to be rewarded?
A vote is kept for 40 days. A player can vote for your server once every 24 hours. Once the reward is marked (action=post or /recompense), the API answers 2 for that vote.