Тарифы и покупка API-ключа — на отдельной странице: Тарифы API →
Документация
Ознакомление
API даёт программный доступ к списку ваших серверов DayZ и их данным: онлайн, игроки, пинг, карта, моды, строка подключения connect. Подходит для виджетов на сайт, ботов, своих страниц мониторинга и игровых лаунчеров — встроить список серверов и кнопку «Подключиться».
Обновление данных: на нашей стороне данные в API (онлайн, игроки, пинг, время на сервере, моды и т.д.) обновляются по тарифу: базовые тарифы — каждые 30 секунд, премиум (75+ серверов) — каждые 15 сек, топ (125+ серверов) — каждые 10 сек. Для актуального списка достаточно запрашивать API с той же частотой; чаще — данные не обновятся.
Лимит запросов: до 200 000 000 запросов в день на один ключ (подходит для лаунчеров и мониторинга с постоянными вызовами). При превышении лимита API вернёт 429; счётчик обнуляется в полночь по московскому времени (МСК).
Три шага до первого запроса
- 1Получите API-ключ — на странице Тарифы API выберите тариф и оплатите. Ключ выдаётся после оплаты и действует навсегда.
- 2Добавьте ключ в заголовок — в каждом запросе передавайте
X-API-Key: ваш_ключилиAuthorization: Bearer ваш_ключ. - 3Отправьте GET-запрос — на
https://malibutrade.ru/api/v1/server/servers. В ответ придёт JSON с массивом ваших серверов.
curl -X GET "https://malibutrade.ru/api/v1/server/servers" \ -H "X-API-Key: ВАШ_КЛЮЧ" \ -H "Accept: application/json"Как получить ключ →
Как внедрить
Если не разбираешься в API — вот коротко и по делу.
Простыми словами
API — это способ, чтобы твоя программа или сайт могли запросить у нас список серверов и данные по ним (онлайн, пинг, карта, строка подключения). Ты отправляешь запрос с ключом — мы отдаём JSON. Всё.
Куда можно встроить: виджет на свой сайт, бот (Discord/Telegram), лаунчер, свою страницу мониторинга — везде, где нужно показывать сервера или кнопку «Подключиться».
Как внедрить по шагам (если ты не разработчик — передай это тому, кто пишет код):
- Купить ключ — на странице Тарифы API выберите тариф и оплатите, ключ приходит после оплаты. Хранить ключ в секрете, не светить в публичном коде.
- В каждом запросе к API добавлять заголовок с ключом:
X-API-Key: ваш_ключилиAuthorization: Bearer ваш_ключ. - Отправить GET-запрос на
https://malibutrade.ru/api/v1/server/servers— в ответ придёт JSON с массивом серверов. Данные обновляются у нас раз в 30 секунд, запрашивать чаще смысла нет. - Для кнопки «Подключиться» использовать из ответа поле
connect— это готовая строка для подключения игрока.
Дальше: Попробовать запрос (ввести ключ и отправить самому), Аутентификация, Примеры кода.
Попробовать запрос
Введите API-ключ (и при необходимости ID сервера), нажмите «Отправить» — получите ответ API в виде JSON. Так можно проверить ключ и формат ответа без своего кода.
Введите API-ключ, при необходимости — ID сервера, нажмите «Отправить» и получите ответ API (JSON). Так можно проверить ключ и формат ответа без своего кода.
Аутентификация
Передавайте API-ключ в заголовке:
X-API-Key: <ключ>Authorization: Bearer <ключ>
Базовый URL
Текущая версия — v1. Все запросы:
https://malibutrade.ru/api/v1/
Эндпоинты
Объект сервера: за что отвечает каждое поле
В ответе приходит массив объектов (или один объект для /servers/:id). Полная расшифровка полей:
| Поле | За что отвечает |
|---|---|
| id | Числовой идентификатор сервера. |
| name | Название сервера (из опроса DayZ). |
| map | Карта: Chernarus, Livonia, Sakhal и т.д. |
| connect | Строка подключения для клиента: IP:port_game (подставить в лаунчер / «Подключиться»). |
| ip | IP-адрес сервера. |
| port_game | Порт игры (для подключения игрока). |
| port_query | Порт запроса A2S (для опроса сервера). |
| players_connected | Текущее количество игроков на сервере. |
| players | Список игроков из A2S_PLAYER: массив объектов с полями name (никнейм), score, time (время на сервере в минутах). |
| players_max | Максимальное количество слотов. |
| players_queue | Очередь на подключение (число). |
| ping | Пинг до сервера, мс. |
| online | Сервер доступен по запросу (true/false). |
| time | Игровое время на сервере (строка, например 12:35). |
| version | Версия игры (например 1.28.161464). |
| password | Требуется пароль для входа (boolean). |
| official | Официальный сервер DayZ (boolean). |
| first_person | Только от первого лица (boolean). |
| dlc_enabled | Нужен DLC Livonia (boolean). |
| mods | Массив модов: объекты с полями id (Steam Workshop), title (название). |
| day_acceleration | Ускорение дневного времени (число). |
| night_acceleration | Ускорение ночного времени (число). |
| image_url | URL картинки сервера или null. |
| site | Ссылка на сайт сервера или null. |
| vk | Ссылка на VK или null. |
| discord | Ссылка на Discord или null. |
| telegram | Ссылка на Telegram или null. |
| description | Описание сервера (текст) или null. |
| votesCount | Количество голосов за сервер. |
| ratingPoints | Баллы рейтинга. |
| qaCount | Количество вопросов/ответов. |
| reviewsCount | Количество отзывов. |
| snow | Признак зимней карты (boolean). |
Лимиты и обновление данных
- Запросов в день: до 200 000 000 на один API-ключ. Счётчик обнуляется в 00:00 по московскому времени (МСК). При превышении — ответ
429с полямиerror,limit,retryAfter: "midnight". - Частота обновления данных серверов: базовые тарифы — данные обновляются раз в 30 сек; тарифы 75+ серверов — раз в 15 сек; тарифы 125+ серверов — раз в 10 сек. Запрос
GET /servers/:idпо премиум-ключу может вернуть более свежие данные (при необходимости сервер опрашивается по запросу).
Коды ответов
200— успех, тело JSON.401— нет или неверный ключ. Тело:{ "error": "Unauthorized" }404— сервер не найден или нет доступа по тарифу.429— превышен дневной лимит запросов. Тело:{ "error": "...", "limit": N, "retryAfter": "midnight" }. Повторять запросы после полуночи.500— ошибка сервера.
Примеры кода
Готовые куски кода: подставьте свой API-ключ вместо YOUR_API_KEY и используйте в своём проекте.
curl (терминал)
Список серверов:
curl -X GET "https://malibutrade.ru/api/v1/server/servers" \ -H "X-API-Key: YOUR_API_KEY" \ -H "Accept: application/json"
Один сервер по id:
curl -X GET "https://malibutrade.ru/api/v1/server/servers/1" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
JavaScript (fetch)
const apiKey = "YOUR_API_KEY";
const res = await fetch("https://malibutrade.ru/api/v1/server/servers", {
headers: { "X-API-Key": apiKey, "Accept": "application/json" }
});
const servers = await res.json(); // массив серверовPython (requests)
import requests
api_key = "YOUR_API_KEY"
r = requests.get(
"https://malibutrade.ru/api/v1/server/servers",
headers={"X-API-Key": api_key, "Accept": "application/json"}
)
servers = r.json() # список серверовPHP (cURL)
$apiKey = "YOUR_API_KEY";
$ch = curl_init("https://malibutrade.ru/api/v1/server/servers");
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => [
"X-API-Key: " . $apiKey,
"Accept: application/json"
],
CURLOPT_RETURNTRANSFER => true
]);
$body = curl_exec($ch);
curl_close($ch);
$servers = json_decode($body, true); // массив серверовNode.js (fetch)
const apiKey = "YOUR_API_KEY";
const res = await fetch("https://malibutrade.ru/api/v1/server/servers", {
headers: { "X-API-Key": apiKey, "Accept": "application/json" }
});
const servers = await res.json(); // массив серверовC# (HttpClient)
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
client.DefaultRequestHeaders.Add("Accept", "application/json");
var response = await client.GetAsync("https://malibutrade.ru/api/v1/server/servers");
var json = await response.Content.ReadAsStringAsync();
var servers = System.Text.Json.Nodes.JsonNode.Parse(json); // массив серверовGo (net/http)
apiKey := "YOUR_API_KEY"
req, _ := http.NewRequest("GET", "https://malibutrade.ru/api/v1/server/servers", nil)
req.Header.Set("X-API-Key", apiKey)
req.Header.Set("Accept", "application/json")
resp, err := http.DefaultClient.Do(req)
// затем resp.Body и json.Decode — массив серверовКак получить ключ
Перейдите на страницу Тарифы API, выберите тариф и нажмите «Купить», либо войдите в аккаунт. После оплаты выдаётся API-ключ — подставляйте его в заголовок запроса (см. «Аутентификация»).