Dane serwerowe
Aby stworzyć eksterne statystyki, można ściągnąć sobie najważniejsze wiadomości o świecie. Właściwości wiosek, plemion i graczy można w każdej chwili ściągnąć.
Staraj się rzadko ściągać wiadomości o światach, by zapobiegać korkom. Foldery, które się ściąga częściej niż raz na godzinę, nie są dozwolone. Spróbuj w takim wypadku ściągnąć dane z eksternistycznego serwera. Dane o światach są regularnie uaktualniane. Odstępy zależą od serwera.
Pliki można ściągnąć również w wersji zapakowanej (Końcówka .txt.gz). Zapakowano je za pomocą gzip. Używaj jeżeli można, tych plików.
Istnieją w sumie trzy pliki do ściągnięcia. Każdy plik składa się z dowolnie dużej ilości linijek, które są oddzielone przecinkami. Dane są zakodowane pomocą funkcji PHP urlencode(), to znaczy przecinek jest zastąpiony %2C.
/map/village.txt – /map/village.txt.gz
W tym pliku zachowane są wiadomości o wioskach. Te dane są udostępnione w tej kolejności:
$id, $name, $x, $y, $tribe, $points, $rank
/map/tribe.txt – /map/tribe.txt.gz
W tym pliku zachowane są wiadomości o graczach. Te dane są udostępnione w tej kolejności:
$id, $name, $ally, $villages, $points, $rank
/map/ally.txt – /map/ally.txt.gz
W tym pliku zachowane są wiadomości o plemionach. Te dane są udostępnione w tej kolejności:
$id, $name, $tag, $members, $villages, $points, $all_points, $rank
Przykład
Prosty przykład w PHP, aby zapisać wioski + nazwy ze świata 1 do MySQL-Banku danych:
$lines = gzfile('http://ds1.die-staemme.de/map/village.txt.gz', 'r');
if(!is_array($lines)) die("Nie można było otworzyć pliku");
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'");
}