MineListin API:n avulla palvelimesi voi tarkistaa, onko pelaaja äänestänyt, antaa palkinnon täsmälleen kerran ja lukea julkisia tilastoja. Kaikki endpointit palauttavat JSONia ja käyttävät tavallisia HTTPS GET -kutsuja, joten ne toimivat millä tahansa ohjelmointikielellä.
API-avaimen hankkiminen
Lisää palvelimesi, lunasta se omaksesi ja avaa omistajan paneeli. API-avain näkyy palvelimen asetussivulla. Pidä se salassa, koska se tunnistaa palvelimesi. Jos avain vuotaa, luo paneelissa uusi ja päivitä lisäosasi tai skriptisi.
Kaikkien endpointien perusosoite on https://minelist.eu.
Äänen tarkistaminen
GET /api/v1/vote?key=API_KEY&username=NICK
Kertoo, onko pelaaja äänestänyt tänään ja onko palkinto jo lunastettu.
{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}
votedon true, jos pelaajanimellä on ääni palvelimellesi kuluvana UTC-päivänä.claimedon true, jos olet jo merkinnyt äänen lunastetuksi.next_vote_utcon ajankohta, jolloin pelaaja voi äänestää uudelleen.
Äänen lunastaminen
GET /api/v1/vote/claim?key=API_KEY&username=NICK
Merkitsee päivän äänen lunastetuksi. Kutsu sitä juuri ennen palkinnon jakamista, jotta pelaaja ei voi hakea sitä kahdesti. Mahdolliset vastaukset:
| Vastaus | Merkitys |
|---|---|
{"voted":true,"claimed":true} | Ääni oli kelvollinen ja on nyt lunastettu. Anna palkinto. |
{"voted":true,"claimed":false,"already_claimed":true} | Ääni oli jo lunastettu aiemmin. Älä anna mitään. |
{"voted":false,"claimed":false} | Pelaaja ei ole äänestänyt tänään. |
Tämän kuun äänten listaaminen
GET /api/v1/votes?key=API_KEY
Palauttaa kaikki äänet, jotka palvelimesi on saanut kuluvan kuukauden aikana. Siitä on hyötyä kuukausittaisissa palkinnoissa eniten äänestäneille sekä omalla verkkosivustollasi näytettävissä sijoituslistoissa.
Julkiset palvelintilastot
GET /api/v1/server/<slug>
Tämä endpoint ei tarvitse avainta. Slug on palvelimen osoitteen viimeinen osa MineListissä. Esimerkkejä vastauksen kentistä:
| Kenttä | Kuvaus |
|---|---|
name | Palvelimen nimi |
url | Palvelimen verkkosivusto |
ip | Yhteysosoite |
online | Onnistuiko viimeisin tarkistus |
players | Pelaajia online viimeisimmällä tarkistuksella |
max_players | Pelaajapaikat |
version | Palvelimen versio |
votes_month | Äänet tässä kuussa |
votes_total | Äänet palvelimen lisäämisestä lähtien |
uptime_30 | Käytettävyys viimeisten 30 päivän aikana prosentteina |
rating | Keskimääräinen arvosana |
last_check | Viimeisimmän tarkistuksen ajankohta |
Esimerkki curlilla
Tämä on koko logiikka komentorivin muodossa. Mikä tahansa kieli, joka osaa lähettää HTTP-pyynnön, kuten Java, PHP, Python tai Node.js, tekee saman.
curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"
Jäsennä JSON-vastaus ja aja palkintokomentosi, jos claimed on true, esimerkiksi give Steve diamond 3.
NuVotifier-tuki
Jos haluat palkinnot heti ilman jatkuvaa kyselyä, MineList voi lähettää äänet palvelimellesi NuVotifierin kautta. Molemmat protokollaversiot ovat tuettuja. Versio 1 käyttää julkista RSA-avainta, versio 2 käyttää tokenia.
- Asenna NuVotifier palvelimellesi ja käynnistä se uudelleen.
- Syötä omistajan paneelissa isäntä, portti (oletuksena 8192) ja julkinen avain (v1) tai token (v2).
- Paina Lähetä testiääni ja tarkista, että palvelimesi kirjaa äänen lokiin.
Jos testi epäonnistuu, varmista, että Votifier-portti on auki palomuurissasi ja että avain on kopioitu ilman välilyöntejä tai rivinvaihtoja.
Live-banneri
Jokaisella palvelimella on 468x60 pikselin live-banneri, joka näyttää nykyisen tilan ja pelaajamäärän:
https://minelist.eu/banner/<slug>.png
HTML-upotuksen esimerkki:
<a href="https://minelist.eu/fi/server/sinun-slugisi">
<img src="https://minelist.eu/banner/sinun-slugisi.png" width="468" height="60" alt="Äänestä meitä MineListissä">
</a>
Hyvät käytännöt
- Tallenna julkiset tilastot välimuistiin vähintään minuutiksi sen sijaan, että kutsuisit API:a jokaisella sivunäytöllä.
- Älä koskaan laita API-avainta asiakaspuolen koodiin tai julkiseen repositorioon.
- Käytä lunastus-endpointia vain kerran palkintoa kohden.