Данные миров (API игры)
Общая информация
Для того, чтобы игроки могли создавать свои инструменты для игры мы предоставляем регулярно обновляемые данные миров.
Чтобы уменьшить трафик, старайтесь скачивать данные о мире не слишком часто. Программы, скачивающие данные более раза в час в нормальном режиме запрещены. В этом случае попробуйте сохранять данные на внешнем сервере. Данные обновляются через равные промежутки времени, зависящие от сервера.
Файлы также доступны в сжатом виде (с суффиксом .txt.gz). По возможности, используйте эти файлы.
Всего для скачивание предоставлено 5 файлов. Каждый состоит из произвольного числа строк, содержащих данные через запятую. Каждый элемент данных закодирован с помощью функции PHP urlencode(), что в частности, означает, что запятая представлена как %2C.
/map/village.txt
/map/village.txt.gz
В этом файле находится информация о деревнях. Данные представлены в следующем порядке:
$id, $name, $x, $y, $player, $points, $rank
/map/player.txt
/map/player.txt.gz
В этом файле находится информация об игроках. Данные представлены в следующем порядке:
$id, $name, $ally, $villages, $points, $rank
/map/ally.txt
/map/ally.txt.gz
В этом файле находится информация о племенах. Данные представлены в следующем порядке:
$id, $name, $tag, $members, $villages, $points, $all_points, $rank
/map/conquer.txt
/map/conquer.txt.gz
В этом файле хранится информация о всех захватах со старта мира. Данные представлены в следующем порядке:
$village_id, $unix_timestamp, $new_owner, $old_owner
/interface.php?func=get_conquer&since=unix_timestamp
С помощью этой функции можно получить информацию о всех захватах с момента, указанного в виде unix timestamp. Дата не может быть старше, чем 24 часа назад. Данные представлены в следующем порядке:
$village_id, $unix_timestamp, $new_owner, $old_owner
/map/kill_att.txt
/map/kill_def.txt
/map/kill_sup.txt
/map/kill_all.txt В этих файлах представлена информация об очкахповерженных противников (в атаке, в обороне, в подкреплении, все). Структура данных: $rank, $id, $kills
/interface.php?func=get_config
С помощью этой функции можно получить конфигурацию мира в формате XML.
/interface.php?func=get_unit_info С помощью этой функции можно получить информацию о войсках в формате XML.
/interface.php?func=get_building_info С помощью этой функции можно получить информацию о постройках в формате XML.
Простейший пример на PHP, сохраняющий деревни и имена первого мира в базу данных MySQL:
$lines = gzfile(http://ds1.die-staemme.de/map/village.txt.gz); if(!is_array($lines)) die("Невозможно открыть файл"); foreach($lines as $line) { list($id, $name,$x, $y, $player, $points, $rank) = explode(',', $line); $name = urldecode($name);
$name = addslashes($name); mysql_query("INSERT INTO village SET id='$id', name='$name', x='$x', y='$y', player='$player', points='$points', rank='$rank'"); }