MineList API, sunucunun bir oyuncunun oy verip vermediğini kontrol etmesini, ödülü tam olarak bir kez vermesini ve herkese açık istatistikleri okumasını sağlar. Tüm uç noktalar JSON döndürür ve düz HTTPS GET istekleri kullanır, bu yüzden her programlama dilinden çalışır.
API anahtarını alma
Sunucunu ekle, sahiplen ve sahip panelini aç. API anahtarı sunucu ayarları sayfasında gösterilir. Anahtarı gizli tut, çünkü sunucunu tanımlar. Sızarsa panelden yeni bir tane oluştur ve eklentini ya da betiğini güncelle.
Tüm uç noktaların temel adresi https://minelist.eu adresidir.
Bir oyu kontrol etme
GET /api/v1/vote?key=API_KEY&username=NICK
Oyuncunun bugün oy verip vermediğini ve ödülün daha önce talep edilip edilmediğini söyler.
{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}
voted, kullanıcı adının geçerli UTC gününde sunucun için bir oyu varsa true olur.claimed, o oyu daha önce talep edilmiş olarak işaretlediysen true olur.next_vote_utc, oyuncunun yeniden oy verebileceği zamandır.
Bir oyu talep etme
GET /api/v1/vote/claim?key=API_KEY&username=NICK
Bugünün oyunu talep edilmiş olarak işaretler. Ödülü vermeden hemen önce çağır, böylece bir oyuncu ödülü iki kez alamaz. Olası yanıtlar:
| Yanıt | Anlamı |
|---|---|
{"voted":true,"claimed":true} | Oy geçerliydi ve şimdi talep edildi. Ödülü ver. |
{"voted":true,"claimed":false,"already_claimed":true} | Oy daha önce zaten talep edilmişti. Hiçbir şey verme. |
{"voted":false,"claimed":false} | Oyuncu bugün oy vermedi. |
Bu ayın oylarını listeleme
GET /api/v1/votes?key=API_KEY
Sunucunun bu ay aldığı tüm oyları döndürür. Aylık en çok oy verenlere ödül vermek ve kendi web sitende sıralama tabloları göstermek için kullanışlıdır.
Herkese açık sunucu istatistikleri
GET /api/v1/server/<slug>
Bu uç nokta anahtar gerektirmez. Slug, MineList’teki sunucu adresinin son kısmıdır. Örnek yanıt alanları:
| Alan | Açıklama |
|---|---|
name | Sunucu adı |
url | Sunucunun web sitesi |
ip | Bağlantı adresi |
online | Son kontrolün başarılı olup olmadığı |
players | Son kontrolde çevrimiçi oyuncu sayısı |
max_players | Oyuncu kontenjanı |
version | Sunucu sürümü |
votes_month | Bu ayki oylar |
votes_total | Sunucu eklendiğinden beri alınan oylar |
uptime_30 | Son 30 gündeki erişilebilirlik, yüzde olarak |
rating | Ortalama puan |
last_check | Son kontrolün zamanı |
curl ile örnek
Mantığın tamamı bir kabuk (shell) komutu olarak burada. HTTP isteği gönderebilen her dil, örneğin Java, PHP, Python veya Node.js, aynısını yapar.
curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"
JSON’u ayrıştır ve claimed true ise ödül komutunu çalıştır, örneğin give Steve diamond 3.
NuVotifier desteği
Sürekli sorgulamadan anında ödül vermeyi tercih ediyorsan MineList, oyları NuVotifier aracılığıyla sunucuna iletebilir. Protokolün her iki sürümü de desteklenir. Sürüm 1 bir RSA genel anahtarı, sürüm 2 ise bir token kullanır.
- NuVotifier’ı sunucuna kur ve sunucuyu yeniden başlat.
- Sahip panelinde host adresini, portu (varsayılan 8192) ve genel anahtarı (v1) ya da token’ı (v2) gir.
- Test oyu gönder düğmesine bas ve sunucunun oyu kaydettiğini kontrol et.
Test başarısız olursa Votifier portunun güvenlik duvarında açık olduğundan ve anahtarın boşluk ya da satır sonu olmadan kopyalandığından emin ol.
Canlı afiş
Her sunucunun, güncel durumu ve oyuncu sayısını gösteren 468x60 piksellik canlı bir afişi vardır:
https://minelist.eu/banner/<slug>.png
HTML ile ekleme örneği:
<a href="https://minelist.eu/tr/server/senin-slug">
<img src="https://minelist.eu/banner/senin-slug.png" width="468" height="60" alt="MineList’te bize oy ver">
</a>
İyi uygulamalar
- Her sayfa görüntülemesinde API’yi çağırmak yerine herkese açık istatistikleri en az bir dakika önbellekte tut.
- API anahtarını asla istemci tarafı koduna ya da herkese açık bir depoya koyma.
- Talep uç noktasını ödül başına yalnızca bir kez kullan.