Данные миров (API игры): различия между версиями

Материал из Tribalwars Wiki RU
Перейти к навигации
Нет описания правки
Нет описания правки
 
(не показано 36 промежуточных версий этого же участника)
Строка 1: Строка 1:
= Данные мира =
= Общая информация =


Для того, чтобы игроки могли создавать свои инструменты для игры мы предоставляем данные миров, которые '''обновляются каждый час'''.


Для обеспечения сбора внешней статистики и других сходных применений, мы предоставляем регулярно обновляемую информацию о деревнях, племенах и игроках. Кроме того мы предоставляем информацию обо всех сменах власти с сотворения мира и содержание профилей игроков.
Чтобы уменьшить нагрузку, мы просим вас скачивать данные не чаще, чем '''один раз в час'''. Программы, скачивающие данные более раза в час в постоянном режиме, запрещены. В этом случае попробуйте сохранять данные на внешнем сервере. Данные обновляются через равные промежутки времени, зависящие от сервера.


Чтобы уменьшит трафик, старайтесь скачивать данные о мире не слишком часто. Программы, скачивающие данные более раза в час в нормальном режиме запрещены. В этом случае попробуйте сохранять данные на внешнем сервере. Данные обновляются через равные промежутки времени, зависящие от сервера.
Файлы также доступны в сжатом виде (с суффиксом .txt.gz). По возможности, используйте эти файлы.
 
Каждый файл состоит из произвольного числа строк, содержащих данные через запятую. Каждый элемент данных закодирован с помощью функции PHP urlencode(), что в частности, означает, что запятая представлена как '''%2C'''.


Файлы также доступны в сжатом виде (с суффиксом .txt.gz). По возможности, используйте эти файлы.


Всего для скачивание предоставлено 5 файлов. Каждый состоит из произвольного числа строк, содержащих данные через запятую. Каждый элемент данных закодирован с помощью функции PHP urlencode(), что, в частности, означает, что запятая представлена как %2C.
'''/map/village.txt'''
/map/village.txt - /map/village.txt.gz
'''/map/village.txt.gz'''


В этом файле находится информация о деревнях. Данные представлены в следующем порядке:
В этом файле находится информация о деревнях. Данные представлены в следующем порядке:


$id, $name, $x, $y, $player, $points, $rank
''$id, $name, $x, $y, $player, $points, $rank''
 


/map/player.txt - /map/player.txt.gz
'''/map/player.txt'''
'''/map/player.txt.gz'''


В этом файле находится информация об игроках. Данные представлены в следующем порядке:
В этом файле находится информация об игроках. Данные представлены в следующем порядке:


$id, $name, $ally, $villages, $points, $rank
''$id, $name, $ally, $villages, $points, $rank''


/map/ally.txt - /map/ally.txt.gz
 
'''/map/ally.txt'''
'''/map/ally.txt.gz'''


В этом файле находится информация о племенах. Данные представлены в следующем порядке:
В этом файле находится информация о племенах. Данные представлены в следующем порядке:


$id, $name, $tag, $members, $villages, $points, $all_points, $rank
''$id, $name, $tag, $members, $villages, $points, $all_points, $rank''


/map/conquer.txt - /map/conquer.txt.gz


В этом файле хранится информация обо всех переходах власти с сотворения мира. Данные представлены в следующем порядке:
'''/map/conquer.txt'''
'''/map/conquer.txt.gz'''


$village_id, $unix_timestamp, $new_owner, $old_owner
В этом файле хранится информация о всех захватах со старта мира. Данные представлены в следующем порядке:


/interface.php?func=get_conquer&since=unix_timestamp
''$village_id, $unix_timestamp, $new_owner, $old_owner''


С помощью этой функции можно получить информацию обо всех сменах власти с указанного момента, представленного в виде unix timestamp. Момент не может быть более, чем 24 часа назад. Данные представлены в следующем порядке:


$village_id, $unix_timestamp, $new_owner, $old_owner
'''/interface.php?func=get_conquer&since=unix_timestamp'''


/map/profile.txt - /map/profile.txt.gz
С помощью этой функции можно получить информацию о всех захватах с момента, указанного в виде unix timestamp. Дата не может быть старше, чем 24 часа назад. Данные представлены в следующем порядке:


В этом файле представлены данные профилей игроков в следующем порядке:
''$village_id, $unix_timestamp, $new_owner, $old_owner''


$player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname


/interface.php?func=get_config
'''/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.
С помощью этой функции можно получить конфигурацию мира в формате XML.
Пример
 
'''/interface.php?func=get_unit_info'''
С помощью этой функции можно получить информацию о войсках в формате XML.
 
'''/interface.php?func=get_building_info'''
С помощью этой функции можно получить информацию о постройках в формате XML.
 
 
----


Простейший пример на PHP, сохраняющий деревни и имена первого мира в базу данных MySQL:
Простейший пример на PHP, сохраняющий деревни и имена первого мира в базу данных MySQL:


$lines = gzfile('http://ds1.die-staemme.de/map/village.txt.gz');
 
$lines = gzfile(http://ds1.die-staemme.de/map/village.txt.gz);
 
if(!is_array($lines)) die("Невозможно открыть файл");
if(!is_array($lines)) die("Невозможно открыть файл");
foreach($lines as $line) {
foreach($lines as $line) {
list($id, $name,$x, $y, $player, $points, $rank) = explode(',', $line);
$name = urldecode($name);


$name = addslashes($name);
:list($id, $name,$x, $y, $player, $points, $rank) = explode(',', $line);
mysql_query("INSERT INTO village SET id='$id', name='$name', x='$x', y='$y',
 
player='$player', points='$points', rank='$rank'");
:$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'");
}
}
Вы найдете больше информации вФорум.

Текущая версия от 09:40, 8 апреля 2020

Общая информация

Для того, чтобы игроки могли создавать свои инструменты для игры мы предоставляем данные миров, которые обновляются каждый час.

Чтобы уменьшить нагрузку, мы просим вас скачивать данные не чаще, чем один раз в час. Программы, скачивающие данные более раза в час в постоянном режиме, запрещены. В этом случае попробуйте сохранять данные на внешнем сервере. Данные обновляются через равные промежутки времени, зависящие от сервера.

Файлы также доступны в сжатом виде (с суффиксом .txt.gz). По возможности, используйте эти файлы.

Каждый файл состоит из произвольного числа строк, содержащих данные через запятую. Каждый элемент данных закодирован с помощью функции 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'");

}