MineList API’et lader din server tjekke, om en spiller har stemt, give en belønning præcis én gang og læse offentlig statistik. Alle endpoints returnerer JSON og bruger almindelige HTTPS GET-kald, så de virker fra ethvert programmeringssprog.
Sådan får du din API-nøgle
Tilføj din server, overtag den, og åbn ejerpanelet. API-nøglen vises på serverens indstillingsside. Hold den privat, fordi den identificerer din server. Hvis den lækker, så generér en ny i panelet, og opdatér dit plugin eller script.
Basisadressen for alle endpoints er https://minelist.eu.
Tjek en stemme
GET /api/v1/vote?key=API_KEY&username=NICK
Fortæller dig, om spilleren har stemt i dag, og om belønningen allerede er indløst.
{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}
voteder true, hvis nicket har en stemme på din server i den aktuelle UTC-dag.claimeder true, hvis du allerede har markeret stemmen som indløst.next_vote_utcer tidspunktet, hvor spilleren kan stemme igen.
Indløs en stemme
GET /api/v1/vote/claim?key=API_KEY&username=NICK
Markerer dagens stemme som indløst. Kald den lige før, du uddeler belønningen, så en spiller ikke kan hente den to gange. Mulige svar:
| Svar | Betydning |
|---|---|
{"voted":true,"claimed":true} | Stemmen var gyldig og er nu indløst. Giv belønningen. |
{"voted":true,"claimed":false,"already_claimed":true} | Stemmen var allerede indløst tidligere. Giv ingenting. |
{"voted":false,"claimed":false} | Spilleren har ikke stemt i dag. |
Vis denne måneds stemmer
GET /api/v1/votes?key=API_KEY
Returnerer alle stemmer, som din server har modtaget i den aktuelle måned. Det er nyttigt til månedlige belønninger til dem, der har stemt mest, og til ranglister på din egen hjemmeside.
Offentlig serverstatistik
GET /api/v1/server/<slug>
Dette endpoint kræver ingen nøgle. Sluggen er den sidste del af serverens adresse på MineList. Eksempler på felter i svaret:
| Felt | Beskrivelse |
|---|---|
name | Servernavn |
url | Serverens hjemmeside |
ip | Forbindelsesadresse |
online | Om den seneste kontrol lykkedes |
players | Spillere online ved den seneste kontrol |
max_players | Antal spillerpladser |
version | Serverversion |
votes_month | Stemmer i denne måned |
votes_total | Stemmer, siden serveren blev tilføjet |
uptime_30 | Oppetid de seneste 30 dage i procent |
rating | Gennemsnitlig bedømmelse |
last_check | Tidspunktet for den seneste kontrol |
Eksempel med curl
Det her er hele logikken i shell-form. Ethvert sprog, der kan sende en HTTP-forespørgsel, for eksempel Java, PHP, Python eller Node.js, gør det samme.
curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"
Fortolk JSON-svaret, og hvis claimed er true, så kør din belønningskommando, for eksempel give Steve diamond 3.
Understøttelse af NuVotifier
Hvis du foretrækker øjeblikkelige belønninger uden at spørge igen og igen, kan MineList sende stemmer til din server via NuVotifier. Begge protokolversioner understøttes. Version 1 bruger en offentlig RSA-nøgle, version 2 bruger et token.
- Installér NuVotifier på din server, og genstart den.
- Indtast host, port (som standard 8192) og den offentlige nøgle (v1) eller token (v2) i ejerpanelet.
- Tryk på Send teststemme, og tjek, at din server logger stemmen.
Hvis testen mislykkes, så sørg for, at Votifier-porten er åben i din firewall, og at nøglen er kopieret uden mellemrum eller linjeskift.
Live-banner
Hver server har et live-banner på 468x60 pixels, der viser den aktuelle status og antallet af spillere:
https://minelist.eu/banner/<slug>.png
Eksempel på HTML-indlejring:
<a href="https://minelist.eu/da/server/dit-slug">
<img src="https://minelist.eu/banner/dit-slug.png" width="468" height="60" alt="Stem på os på MineList">
</a>
God praksis
- Cache den offentlige statistik i mindst ét minut i stedet for at kalde API’et ved hver sidevisning.
- Læg aldrig API-nøglen i kode på klientsiden eller i et offentligt repository.
- Brug endpointet til indløsning kun én gang pr. belønning.