API MineList memungkinkan servermu mengecek apakah seorang pemain sudah vote, memberi hadiah tepat satu kali, dan membaca statistik publik. Semua endpoint mengembalikan JSON dan memakai request HTTPS GET biasa, jadi bisa dipakai dari bahasa pemrograman apa pun.
Mendapatkan API key
Tambahkan servermu, klaim, lalu buka panel pemilik. API key ditampilkan di halaman pengaturan server. Simpan baik-baik karena key ini mengidentifikasi servermu. Kalau bocor, buat yang baru di panel dan perbarui plugin atau skripmu.
Alamat dasar semua endpoint adalah https://minelist.eu.
Cek vote
GET /api/v1/vote?key=API_KEY&username=NICK
Memberi tahu apakah pemain sudah vote hari ini dan apakah hadiahnya sudah diklaim.
{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}
votedbernilai true kalau nick tersebut punya vote untuk servermu pada hari UTC saat ini.claimedbernilai true kalau kamu sudah menandai vote itu sebagai diklaim.next_vote_utcadalah waktu saat pemain bisa vote lagi.
Klaim vote
GET /api/v1/vote/claim?key=API_KEY&username=NICK
Menandai vote hari ini sebagai diklaim. Panggil tepat sebelum kamu memberikan hadiah, supaya pemain tidak bisa mengambilnya dua kali. Jawaban yang mungkin muncul:
| Respons | Arti |
|---|---|
{"voted":true,"claimed":true} | Vote valid dan sekarang sudah diklaim. Berikan hadiahnya. |
{"voted":true,"claimed":false,"already_claimed":true} | Vote sudah diklaim sebelumnya. Jangan beri apa-apa. |
{"voted":false,"claimed":false} | Pemain belum vote hari ini. |
Daftar vote bulan ini
GET /api/v1/votes?key=API_KEY
Mengembalikan semua vote yang diterima servermu pada bulan berjalan. Berguna untuk hadiah top voter bulanan dan papan peringkat di websitemu sendiri.
Statistik server publik
GET /api/v1/server/<slug>
Endpoint ini tidak butuh key. Slug adalah bagian terakhir dari alamat server di MineList. Contoh field pada respons:
| Field | Deskripsi |
|---|---|
name | Nama server |
url | Website server |
ip | Alamat koneksi |
online | Apakah pengecekan terakhir berhasil |
players | Pemain online saat pengecekan terakhir |
max_players | Slot pemain |
version | Versi server |
votes_month | Vote bulan ini |
votes_total | Vote sejak server ditambahkan |
uptime_30 | Uptime selama 30 hari terakhir dalam persen |
rating | Rating rata-rata |
last_check | Waktu pengecekan terakhir |
Contoh dengan curl
Ini seluruh logikanya dalam bentuk shell. Bahasa apa pun yang bisa mengirim request HTTP, seperti Java, PHP, Python, atau Node.js, melakukan hal yang sama.
curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"
Parse JSON-nya, dan kalau claimed bernilai true, jalankan perintah hadiahmu, misalnya give Steve diamond 3.
Dukungan NuVotifier
Kalau kamu lebih suka hadiah instan tanpa polling, MineList bisa mengirim vote ke servermu lewat NuVotifier. Kedua versi protokol didukung. Versi 1 memakai public key RSA, versi 2 memakai token.
- Pasang NuVotifier di servermu lalu restart.
- Di panel pemilik, masukkan host, port (bawaannya 8192), dan public key (v1) atau token (v2).
- Tekan Kirim vote tes dan cek apakah servermu mencatat vote itu di log.
Kalau tes gagal, pastikan port Votifier terbuka di firewall dan key disalin tanpa spasi atau baris baru.
Banner live
Setiap server punya banner live berukuran 468x60 piksel yang menampilkan status dan jumlah pemain saat ini:
https://minelist.eu/banner/<slug>.png
Contoh embed HTML:
<a href="https://minelist.eu/id/server/slug-kamu">
<img src="https://minelist.eu/banner/slug-kamu.png" width="468" height="60" alt="Vote untuk kami di MineList">
</a>
Praktik yang baik
- Cache statistik publik minimal satu menit, jangan memanggil API di setiap tampilan halaman.
- Jangan pernah menaruh API key di kode sisi klien atau repositori publik.
- Pakai endpoint klaim hanya sekali per hadiah.