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

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


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


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


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


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




'''/map/village.txt - /map/village.txt.gz'''
'''/map/village.txt'''
'''/map/village.txt.gz'''


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




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


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




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


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




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


В этом файле хранится информация о всех захватах со старта мира. Данные представлены в следующем порядке:
В этом файле хранится информация о всех захватах со старта мира. Данные представлены в следующем порядке:
Строка 40: Строка 44:
'''/interface.php?func=get_conquer&since=unix_timestamp'''
'''/interface.php?func=get_conquer&since=unix_timestamp'''


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


''$village_id, $unix_timestamp, $new_owner, $old_owner''
''$village_id, $unix_timestamp, $new_owner, $old_owner''




'''/map/profile.txt - /map/profile.txt.gz'''
'''/map/kill_att.txt'''


В этом файле представлены данные профилей игроков в следующем порядке:
'''/map/kill_def.txt'''


''$player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname''
'''/map/kill_sup.txt'''
 
'''/map/kill_all.txt'''
В этих файлах представлена информация об '''очках'''поверженных противников (в атаке, в обороне, в подкреплении, все). Структура данных:
''$rank, $id, $kills''




Строка 56: Строка 64:
С помощью этой функции можно получить конфигурацию мира в формате XML.
С помощью этой функции можно получить конфигурацию мира в формате XML.


----
'''/interface.php?func=get_unit_info'''
С помощью этой функции можно получить информацию о войсках в формате XML.


Простейший пример на PHP, сохраняющий деревни и имена первого мира в базу данных MySQL:
'''/interface.php?func=get_building_info'''
С помощью этой функции можно получить информацию о постройках в формате XML.


$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'");
}


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


== Данные мира 1 ==
*Информация о деревнях:
**[http://ru1.voyna-plemyon.ru/map/village.txt /map/village.txt]
**[http://ru1.voyna-plemyon.ru/map/village.txt.gz /map/village.txt.gz]


*Информация об игроках:
$lines = gzfile(http://ds1.die-staemme.de/map/village.txt.gz);
**[http://ru1.voyna-plemyon.ru/map/player.txt /map/player.txt]
**[http://ru1.voyna-plemyon.ru/map/player.txt.gz /map/player.txt.gz]


*Информация о племенах:
if(!is_array($lines)) die("Невозможно открыть файл");
**[http://ru1.voyna-plemyon.ru/map/ally.txt /map/ally.txt]
**[http://ru1.voyna-plemyon.ru/map/ally.txt.gz /map/ally.txt.gz]


*Информация о захватах деревень:
foreach($lines as $line) {
**[http://ru1.voyna-plemyon.ru/map/conquer.txt /map/conquer.txt]
**[http://ru1.voyna-plemyon.ru/map/conquer.txt.gz /map/conquer.txt.gz]


*Данные профилей игроков:
:list($id, $name,$x, $y, $player, $points, $rank) = explode(',', $line);
**[http://ru1.voyna-plemyon.ru/map/profile.txt /map/profile.txt]
**[http://ru1.voyna-plemyon.ru/map/profile.txt.gz /map/profile.txt.gz]


*Все захваты за последние 24 часа:
:$name = urldecode($name);
**[http://ru1.voyna-plemyon.ru/interface.php?func=get_conquer&since=unix_timestamp /interface.php?func=get_conquer&since=unix_timestamp]


*Настройки мира в формате XML:
:$name = addslashes($name);
**[http://ru1.voyna-plemyon.ru/interface.php?func=get_config /interface.php?func=get_config]
== Данные мира 2 ==
*Информация о деревнях:
**[http://ru2.voyna-plemyon.ru/map/village.txt /map/village.txt]
**[http://ru2.voyna-plemyon.ru/map/village.txt.gz /map/village.txt.gz]


*Информация об игроках:
**[http://ru2.voyna-plemyon.ru/map/player.txt /map/player.txt]
**[http://ru2.voyna-plemyon.ru/map/player.txt.gz /map/player.txt.gz]


*Информация о племенах:
:mysql_query("INSERT INTO village SET id='$id', name='$name', x='$x', y='$y', player='$player', points='$points', rank='$rank'");
**[http://ru2.voyna-plemyon.ru/map/ally.txt /map/ally.txt]
}
**[http://ru2.voyna-plemyon.ru/map/ally.txt.gz /map/ally.txt.gz]
 
*Информация о захватах деревень:
**[http://ru2.voyna-plemyon.ru/map/conquer.txt /map/conquer.txt]
**[http://ru2.voyna-plemyon.ru/map/conquer.txt.gz /map/conquer.txt.gz]
 
*Данные профилей игроков:
**[http://ru2.voyna-plemyon.ru/map/profile.txt /map/profile.txt]
**[http://ru2.voyna-plemyon.ru/map/profile.txt.gz /map/profile.txt.gz]
 
*Все захваты за последние 24 часа:
**[http://ru2.voyna-plemyon.ru/interface.php?func=get_conquer&since=unix_timestamp /interface.php?func=get_conquer&since=unix_timestamp]
 
*Настройки мира в формате XML:
**[http://ru2.voyna-plemyon.ru/interface.php?func=get_config /interface.php?func=get_config]
 
== Данные мира 3 ==
*Информация о деревнях:
**[http://ru3.voyna-plemyon.ru/map/village.txt /map/village.txt]
**[http://ru3.voyna-plemyon.ru/map/village.txt.gz /map/village.txt.gz]
 
*Информация об игроках:
**[http://ru3.voyna-plemyon.ru/map/player.txt /map/player.txt]
**[http://ru3.voyna-plemyon.ru/map/player.txt.gz /map/player.txt.gz]
 
*Информация о племенах:
**[http://ru3.voyna-plemyon.ru/map/ally.txt /map/ally.txt]
**[http://ru3.voyna-plemyon.ru/map/ally.txt.gz /map/ally.txt.gz]
 
*Информация о захватах деревень:
**[http://ru3.voyna-plemyon.ru/map/conquer.txt /map/conquer.txt]
**[http://ru3.voyna-plemyon.ru/map/conquer.txt.gz /map/conquer.txt.gz]
 
*Данные профилей игроков:
**[http://ru3.voyna-plemyon.ru/map/profile.txt /map/profile.txt]
**[http://ru3.voyna-plemyon.ru/map/profile.txt.gz /map/profile.txt.gz]
 
*Все захваты за последние 24 часа:
**[http://ru3.voyna-plemyon.ru/interface.php?func=get_conquer&since=unix_timestamp /interface.php?func=get_conquer&since=unix_timestamp]
 
*Настройки мира в формате XML:
**[http://ru3.voyna-plemyon.ru/interface.php?func=get_config /interface.php?func=get_config]

Текущая версия от 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'");

}