Veřejně dostupná data
Veřejně dostupná data
Firma InnoGames dává pro Divoké Kmeny (Tribal Wars) k dipozici veřejně dostupná data. Data využitelná pro statistiky, mapy či jiné uživatelské programy.
Nabízené informace řadím do třech kategorií:
1) Obecná data: takřka neměnná, společná pro všechny servery (země) nebo alespoň společná pro daný server.
2) Data konfigurační: individuální pro každý svět, ale v čase takřka neměnná.
3) Data proměnná: individuální pro každý svět a proměnná v čase.
Obecná data
Společná pro mnoho světů či serverů. (Prakticky) neměnná.
1. Grafický balíček
Originální grafické balíčky ke stažení: (společné pro všechny servery a světy)
- http://die-staemme.de/graphic/graphic.zip (asi původní, únor 2007)
- http://ftp.innogames.net/~stuff/graphic.zip (novější - v době psaní příspěvku z "leden 2008" )
- Balíčky byly, k 26.12.2008, stále přístupné a jsou určené pro DK verzi hry 4.5 a menší.
- DK verze 5.0 má trochu jiné umístění souborů, takže při grafickém náhledu vesnice jsou problémy. Mapa, ikonky a ostatní grafika by měla být OK.
2. Podklad mapy
Na mapě DK se zobrazují i lesy, rybníky, a další krajina. Tento základ je stejný pro všechny servery a světy* - jen vesnice se do ní pro každý každý svět generují náhodně. Zdroj informací (link)
* ale přímo ve hře se (v kruhu od centra) na zatím neobsazených vnějších kontinentech místo krajiny zobrazuje jen tráva. Zatím jsem nepřišel na to jak pro daný svět zjistit, kam až je "kruh" včetně krajiny a odkud dál je holá zem.
Binární data:
http://die-staemme.de/stuff/world.dat
- Velikost 1.000.000 bytes (odpovídá mapě 1000*1000)
- Pole uložena sekvenčně, nejprve dle osy X, pak Y, každé bajt odpovídá jednomu poli na mapě (adresa = X + 1000*Y)
Každý bajt může nabývat hodnot:
0-3 Grass (tráva)
8-11 Mountain (hory)
12 Sea (moře)
16-31 Forest (les)
(Ve hře na malé mapě (ta vpravo) se vše co je více než tráva (odpovídající bajt z world.dat má hodnotu větší než 3) zobrazuje tmavší zelenou, 0-3 je světle zelená. Pochopitelně mimo vesnic, které mají vlastní barvy.)
3. Seznamy světů daného serveru
Na každém serveru je možno hrát několik světů. A každý server nabízí pro strojové zpracování seznam všech právě běžících světů (Tedy bez již uzavřených. A včetně speedů - objevujících se a mizících dle toho zda speed právě běží či ne).
Seznam je k nalezení na adrese serveru + cesty "/backend/get_servers.php". Pro Divoké Kmeny je to tedy www.divokekmeny.cz/backend/get_servers.php
Data jsou v tzv. serializovaném tvaru pro php a je možné využít funkci PHP:unserialize
PHP kód:
$file = file_get_contents('http://www.die-staemme.de/backend/get_servers.php');
$servers = unserialize($file);
Poté je vytvořeno pole ve tvaru zkratka_světa => URL_světa
Praktický příklad použití (link)