Lang
ruseng
API - Базы карт


vk
Login

  
Пример запроса:
 Запросы посылаются посредством HTTP GET и указанием ключа api=json, пример с утилитой curl и jq в bash:

$ curl -s "https://wz2100.euphobos.ru/maps/?api=json&s=stonejungle" | jq .

 
 Описание полей полученного JSON-массива
Первый уровень массива - это идентификатор карты в базе данных
Следующие уровни включают в себя:
map_name - строка - Имя карты, взятое из .lev файла карты, при её загрузке (Поиск производится по этой строке)
map_sha - строка(64) - Хэш изначальной карты (изменится при загрузке из базы данных)
map_size - строка - Полный размер карты
map_players - число - Количество слотов для игроков
map_spectators - число - Количество слотов для наблюдателей (если + слоты для игроков = общее кол-во слотов карты)
map_oilwells - число - Количество нефтеточек (включая предварительно занятые игроками или мусорщиками)
map_author - строка - Имя автора карты, взятое из .lev файла карты, при её загрузке (Поиск производится по этой строке)
map_license - строка - Лицензия на файл, взятое из .lev файла карты, при её загрузке
map_scr_x1 / y1 / x2 / y2 - число - две координаты играбельной зоны карты, которая находится внутри полного размера карты
map_asymmetrical - булево - true - если кол-во препостроек у разных игроков разное (касается только строений, которые игрок может продать)
 
 Поиск по базе
Поиск передаётся в параметре "s=", поиск всегда регистронезависимый и производится как по именам карты, так и по именам авторов, например найти все карты автора NoQ:

$ curl -s "https://wz2100.euphobos.ru/maps/?api=json&s=noq" | jq .

 
 Загрузка карты из базы данных по хэшу или id
Для загрузки карты, ключ "api" передавать не нужно, сразу передаём хэш оригинальной карты, и ключ "d", например вот так (ключ "d" виден в конце строки):

$ curl "https://wz2100.euphobos.ru/maps/?b65334d285f283aeda47f3bb2d7df5c39d5edbc206b468636cdcc001c4348779&d" --output Barricades.wz

или ID:

$ curl "https://wz2100.euphobos.ru/maps/?39&d" --output Barricades.wz

 
 Предпросмотр карты
Для загрузки картинки предпросмотра необходим оригинальный хэш карты, ключ "api" не нужен, примеры путей для картинок с предпросмотром карты ниже
Попиксельная без сжатия, формат png:

$ curl "https://wz2100.euphobos.ru/maps/preview/0c3f210ed8dc1e49166a1c58905f62ccd991bc48f5ba81f753dd6fda400adec8.png" --output preview.png


Большая, со сжатием, формат jpg:

$ curl "https://wz2100.euphobos.ru/maps/preview/0c3f210ed8dc1e49166a1c58905f62ccd991bc48f5ba81f753dd6fda400adec8.jpg" --output preview.jpg


Карта высот (используется для шейдера 3D-просмотра карты), без сжатия, формат png:

$ curl "https://wz2100.euphobos.ru/maps/preview/0c3f210ed8dc1e49166a1c58905f62ccd991bc48f5ba81f753dd6fda400adec8_h.png" --output heights.png

 
 Упрощённый вывод
Поиск с выводом только хэшей карт, построчно, ключ "api" передаётся без параметра "=json" (не используется json), каждый хэш заканчивается символом перевода строки "\n"

$ curl -s "https://wz2100.euphobos.ru/maps/?api&s=stonejungle"

$ curl -s "https://wz2100.euphobos.ru/maps/?api&s=noq"