UK
Додати сервер

API MineList для власників серверів

API MineList дозволяє твоєму серверу перевірити, чи проголосував гравець, видати нагороду рівно один раз і зчитати публічну статистику. Усі ендпойнти повертають JSON і працюють на звичайних запитах HTTPS GET, тож підходять для будь-якої мови програмування.

Як отримати API-ключ

Додай свій сервер, підтверди його та відкрий панель власника. API-ключ показано на сторінці налаштувань сервера. Тримай його в таємниці, адже він ідентифікує твій сервер. Якщо ключ витече, згенеруй у панелі новий і онови плагін або скрипт.

Базова адреса всіх ендпойнтів – https://minelist.eu.

Перевірка голосу

GET /api/v1/vote?key=API_KEY&username=NICK

Показує, чи проголосував гравець сьогодні та чи нагороду вже отримано.

{"voted":true,"claimed":false,"next_vote_utc":"2026-10-31T00:00:00Z"}

Позначення голосу як отриманого

GET /api/v1/vote/claim?key=API_KEY&username=NICK

Позначає сьогоднішній голос як отриманий. Викликай цей запит безпосередньо перед видачею нагороди, щоб гравець не зміг отримати її двічі. Можливі відповіді:

ВідповідьЗначення
{"voted":true,"claimed":true}Голос був дійсним і тепер позначений як отриманий. Видай нагороду.
{"voted":true,"claimed":false,"already_claimed":true}Голос уже було отримано раніше. Нічого не видавай.
{"voted":false,"claimed":false}Гравець сьогодні не голосував.

Список голосів цього місяця

GET /api/v1/votes?key=API_KEY

Повертає всі голоси, які твій сервер отримав у поточному місяці. Це корисно для щомісячних нагород найактивнішим гравцям і для таблиць лідерів на твоєму сайті.

Публічна статистика сервера

GET /api/v1/server/<slug>

Цей ендпойнт не потребує ключа. Slug – це остання частина адреси сервера на MineList. Приклад полів відповіді:

ПолеОпис
nameНазва сервера
urlСайт сервера
ipАдреса підключення
onlineЧи була остання перевірка успішною
playersГравців онлайн під час останньої перевірки
max_playersКількість слотів для гравців
versionВерсія сервера
votes_monthГолоси цього місяця
votes_totalГолоси від моменту додавання сервера
uptime_30Аптайм за останні 30 днів у відсотках
ratingСередня оцінка
last_checkЧас останньої перевірки

Приклад із curl

Ось уся логіка в командному рядку. Те саме зробить будь-яка мова, що вміє надсилати HTTP-запити, наприклад Java, PHP, Python чи Node.js.

curl -s "https://minelist.eu/api/v1/vote/claim?key=API_KEY&username=Steve"

Розбери JSON, і якщо claimed має значення true, виконай команду видачі нагороди, наприклад give Steve diamond 3.

Підтримка NuVotifier

Якщо хочеш отримувати нагороди миттєво, без опитування, MineList може надсилати голоси на твій сервер через NuVotifier. Підтримуються обидві версії протоколу. Версія 1 використовує публічний ключ RSA, версія 2 – токен.

  1. Встанови NuVotifier на сервері й перезапусти його.
  2. У панелі власника введи хост, порт (за замовчуванням 8192) і публічний ключ (v1) або токен (v2).
  3. Натисни Надіслати тестовий голос і переконайся, що сервер записав голос у лог.

Якщо тест не вдався, переконайся, що порт Votifier відкрито у твоєму файрволі та що ключ скопійовано без пробілів і переносів рядків.

Живий банер

Кожен сервер має живий банер розміром 468x60 пікселів, який показує поточний статус і кількість гравців:

https://minelist.eu/banner/<slug>.png

Приклад вбудовування в HTML:

<a href="https://minelist.eu/uk/server/vash-slug">
  <img src="https://minelist.eu/banner/vash-slug.png" width="468" height="60" alt="Голосуй за нас на MineList">
</a>

Практичні поради