Část třetí, proměnná data světa.
Každý svět jak se vyvíjí, mění se. Přibývají hráči, mění se majitelé vesnic, kmeny a podobně. Pro externí statistiky a mapy dává InnoGames k dispozici "aktuální" stav. Aktuální píši v uvozovkách, protože dle pravidel nelze statistiky stahovat více než 1* za hodinu (přetížil by se server). Navíc by nám to nebylo nic platné. Odzkoušel jsem, že níže zmiňované údaje (až na výjimky) jsou stejně na serveru připraveny jednou za cca dvě hodiny a pak po dobu té hodiny-dvou stahujeme stále stejné hodnoty.
Všechny soubory jsou ve formátu "comma delimited" - texty oddělené čárkou (zde vždy bez případného uvození), každá řádka ukončená UNIXovým typem konce řádky (tedy jen samotné '\n').
Všechny soubory používají pro národní a speciální znaky kódování
UTF-8. Některé údaje (typicky názvy) jsou navíc zakódovány pro přímé zobrazení v adresové řádce prohlížeče. Pro srozumitelnější formát nutné použít
urldecode a případně ještě navíc
html_entity_decode (po urldecode).
Opět, adresa dat se získá z URL adresy světa přidáním místní cesty.
(Přímé odkazy tentokrát nedávám, některé soubory mají i 4MB zabalené, 12MB v rozbaleném tvaru. Nechci zbytečně zatěžovat server, jak by na .txt klepnul každý BFU co sem zabrousí)
---
Informace o
vesnicích:
-/map/village.txt -
-/map/village.txt.gz:
$id, $name, $x, $y, $tribe, $points, $bonus
$id - id vesnice
$name - jméno vesnice
/html_entity_decode(urldecode($name)/
$x,$y - souřadnice vesnice na mapě
$tribe - ID hráče, kterému vesnice právě patří (0 pro šedivky)
$points - kolik bodů má vesnice
$bonus- jaký typ bonusu má vesnice
bonus napsal/a:
0 keine
1 10% mehr Holzproduktion
2 10% mehr Lehmproduktion
3 10% mehr Eisenproduktion
4 10% mehr Bevölkerung
5 10% schnellere Produktion in der Kaserne
6 10% schnellere Produktion im Stall
7 10% schnellere Produktion in der Werkstatt
8 3% mehr Rohstoffproduktion (alle Rohstoffe)
---
Informace o
hráčích:
-/map/tribe.txt -
-/map/tribe.txt.gz
$id, $name, $ally, $villages, $points, $rank
$id - ID hráče
$name - jméno hráče
/urldecode($name)/
$ally - ID kmene, ve kterém hráč právě je (0 bez kmene)
$villages - počet vesnic hráče
$points - počet bodů hráče
$rank - pořadí hráče v žebříčku hráčů
---
Informace o
kmenech:
-/map/ally.txt -
-/map/ally.txt.gz
$id, $name, $tag, $members, $villages, $points, $all_points, $rank
$id - ID kmene
$name - jméno kmene
/html_entity_decode(urldecode($name)/
$tag - tag kmene
/html_entity_decode(urldecode($tag)/
$members - počet členů kmene
$villages - počet vesnic kmene (součet vesnic všech hráčů kmene)
$points - součet bodů prvních 40 hráčů kmene
$all_points - součet bodů všech hráčů kmene
$rank - pořadí kmene v žebříčku kmenů (tedy, počítáno dle bodů prvních 40 hráčů)
---
Informace o
profilech hráčů:
-/map/profile.txt -
-/map/profile.txt.gz
$tribe_id, Geburtstag, Geschlecht, Wohnort
EN/DE nápověda zmiňuje i další data /Profiltext (als XHTML), Profilbild-Dateiname/ ale ta jsem nikdy neviděl, že by byla poskytována.
$tribe_id - ID hráče, jehož profil je zmiňován
Geburtstag - datum narození
/ve tvaru YYYY-MM-DD/
Geschlecht - pohlaví /nevyplněno, m, f/
Wohnort - bydliště
---
Informace o
bodech poražený protivníki:
v útoku:
-/map/kill_att.txt -
-/map/kill_att.txt.gz
v obraně:
-/map/kill_def.txt -
-/map/kill_def.txt.gz
celkem:
-/map/kill_all.txt -
-/map/kill_all.txt.gz (pouhý součet att+def)
$rank, $tribe_id, $kills
$rank - pořadí v žebříčku poražených protivníků (útoku / obrany / celkovém)
$tribe_id - ID hráče, jehož body poražených protivníků řádka popisuje
$kills - počet bodů poražených protivníků
---
Informace o
zabírání vesnic:
-/map/conquer.txt -
-/map/conquer.txt.gz
Kompletní seznam všech záborů
od začátku světa.
Pozor, zešednutí vesnice soubor neobsahuje (ale obráceně, zabrání šedivek ano). Stejně tak zde nejsou nové vesnice (když se přihlásí nový hráč do světa). Je to seznam záborů pomocí šlechtice v doslovném výrazu.
$village_id, $unix_timestamp, $new_owner, $old_owner
$village_id - ID vesnice která byla zabrána
$unix_timestamp - čas záboru ve formátu
unix timestamp
$new_owner - ID hráče nového vlastníka (vždy různé od 0)
$old_owner - ID starého hráče (0, šlo-li o šedivku)
-
A speciální soubor záborů (max. za posledních 24h):
-/interface.php?func=get_conquer&since=unix_timestamp
Jedná se o soubor ve stejném formátu jako "conquer.txt" a popisuje zábory během poslední doby. Místo
unix_timestamp je nutné dosadit reálný čas (ne starší 24h), odkdy chceme zábory zjistit. Dostaneme seznam záborů od
unix_timestamp až do současné chvíle.
Také je to asi jediný případ, kdy se na serveru (asi) sahá přímo do databáze a dostaneme tak údaje opravdu aktuální. Ne zpožděné o hodinu-dvě.
Dlužno poznamenat, že v CZ nápovědě není tento odkaz zmiňován a v EN či DE jsem nenašel povolení z něj tahat častěji (než onu povolenou 1* za hodinu) - nevím, zda jde opět o nedotaženost pravidel nebo úmysl - takže častěji jak 1* za hodinu se zvenku o zabrání vesnic stejně nemáme šanci legálně dozvědět.