MineLists API låter din server kontrollera om en spelare har röstat, ge en belöning exakt en gång och läsa offentlig statistik. Alla endpoints returnerar JSON och använder vanliga HTTPS GET-anrop, så de fungerar från vilket programmeringsspråk som helst.
Så får du din API-nyckel
Lägg till din server, ta över den och öppna ägarpanelen. API-nyckeln visas på serverns inställningssida. Håll den privat, eftersom den identifierar din server. Om den läcker ut genererar du en ny i panelen och uppdaterar ditt plugin eller skript.
Basadressen för alla endpoints är https://minelist.eu.
Kontrollera en röst
GET /api/v1/vote?key=API_KEY&username=NICK
Visar om spelaren har röstat i dag och om belöningen redan har lösts in.
{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}
votedär true om nicket har en röst på din server under den aktuella UTC-dagen.claimedär true om du redan har markerat rösten som inlöst.next_vote_utcär tidpunkten då spelaren kan rösta igen.
Lösa in en röst
GET /api/v1/vote/claim?key=API_KEY&username=NICK
Markerar dagens röst som inlöst. Anropa den precis innan du delar ut belöningen, så att en spelare inte kan hämta den två gånger. Möjliga svar:
| Svar | Betydelse |
|---|---|
{"voted":true,"claimed":true} | Rösten var giltig och är nu inlöst. Ge belöningen. |
{"voted":true,"claimed":false,"already_claimed":true} | Rösten har redan lösts in tidigare. Ge ingenting. |
{"voted":false,"claimed":false} | Spelaren har inte röstat i dag. |
Lista månadens röster
GET /api/v1/votes?key=API_KEY
Returnerar alla röster som din server har fått under den aktuella månaden. Det är användbart för månatliga belöningar till de som röstat mest och för topplistor på din egen webbplats.
Offentlig serverstatistik
GET /api/v1/server/<slug>
Den här endpointen kräver ingen nyckel. Slug är den sista delen av serverns adress på MineList. Exempel på fält i svaret:
| Fält | Beskrivning |
|---|---|
name | Servernamn |
url | Serverns webbplats |
ip | Anslutningsadress |
online | Om den senaste kontrollen lyckades |
players | Spelare online vid den senaste kontrollen |
max_players | Antal spelarplatser |
version | Serverversion |
votes_month | Röster den här månaden |
votes_total | Röster sedan servern lades till |
uptime_30 | Drifttid under de senaste 30 dagarna i procent |
rating | Genomsnittligt betyg |
last_check | Tidpunkt för den senaste kontrollen |
Exempel med curl
Det här är hela logiken i shell-form. Alla språk som kan skicka en HTTP-förfrågan, till exempel Java, PHP, Python eller Node.js, gör samma sak.
curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"
Tolka JSON-svaret och kör ditt belöningskommando om claimed är true, till exempel give Steve diamond 3.
Stöd för NuVotifier
Om du föredrar omedelbara belöningar utan att hela tiden fråga efter nya röster kan MineList skicka rösterna till din server via NuVotifier. Båda protokollversionerna stöds. Version 1 använder en publik RSA-nyckel, version 2 använder en token.
- Installera NuVotifier på din server och starta om den.
- Ange värd, port (8192 som standard) och den publika nyckeln (v1) eller token (v2) i ägarpanelen.
- Tryck på Skicka teströst och kontrollera att servern loggar rösten.
Om testet misslyckas, kontrollera att Votifier-porten är öppen i din brandvägg och att nyckeln har kopierats utan mellanslag eller radbrytningar.
Live-banner
Varje server har en live-banner på 468x60 pixlar som visar aktuell status och antal spelare:
https://minelist.eu/banner/<slug>.png
Exempel på HTML-inbäddning:
<a href="https://minelist.eu/sv/server/ditt-slug">
<img src="https://minelist.eu/banner/ditt-slug.png" width="468" height="60" alt="Rösta på oss på MineList">
</a>
Bra rutiner
- Cacha den offentliga statistiken i minst en minut i stället för att anropa API:et vid varje sidvisning.
- Lägg aldrig API-nyckeln i kod på klientsidan eller i ett publikt repository.
- Använd endpointen för inlösen bara en gång per belöning.