Weltdaten: Unterschied zwischen den Versionen

Aus Wiki Grepolis DE
Zur Navigation springen
(Die Seite wurde neu angelegt: „Um externe Statistiken oder ähnliches zu erstellen, werden die wichtigsten Weltdaten zum Download angeboten. Die Eigenschaften der Dörfer, der Allianzen und der…“)
 
 
(33 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Um externe Statistiken oder ähnliches zu erstellen, werden die wichtigsten Weltdaten zum Download angeboten. Die Eigenschaften der Dörfer, der Allianzen und der Spieler stehen regelmäßig zum Download bereit. Mittlerweile gibt es auch noch weitere Daten, wie alle Eroberungen seit Anfang der Welt mit Unix Timestamp oder Inhalte von Profilen.
Um externe Statistiken oder ähnliches zu erstellen, werden die wichtigsten Weltdaten zum Download angeboten. Die Eigenschaften der Dörfer, der Allianzen und der Spieler stehen regelmäßig zum Download bereit. Mittlerweile gibt es auch noch weitere Daten, wie alle Eroberungen seit Anfang der Welt mit Unix Timestamp.


Versuche die Weltdaten möglichst selten zu laden, um Traffic zu reduzieren. Skripte, die im Normalbetrieb mehr als 1 mal pro Stunde die Daten laden, sind nicht erlaubt. Versucht in diesem Fall, die Daten auf einem externen Webserver zu cachen. Die Weltdaten werden zu regelmäßigen Zeitabständen aktualisiert. Diese Abstände sind serverspezifisch.
Versuche die Weltdaten möglichst selten zu laden, um Traffic zu reduzieren. Skripte, die im Normalbetrieb mehr als 1 mal pro Stunde die Daten laden, sind nicht erlaubt. Versucht in diesem Fall, die Daten auf einem externen Webserver zu cachen. Die Weltdaten werden zu regelmäßigen Zeitabständen aktualisiert. Diese Abstände sind serverspezifisch.


Die Dateien sind auch komprimiert verfügbar (Dateiendung .txt.gz). Als Kompressionsverfahren wurde gzip genutzt. Nutzt diese Dateien, wenn möglich.
Die Dateien sind auch komprimiert verfügbar (Name.Dateiendung.gz). Als Kompressionsverfahren wurde gzip genutzt. Nutzt diese Dateien, wenn möglich.






Für die jeweiligen Welten muss nur de1 durch den richtigen Sub-Domain ersetzt werden.
= Dynamische Daten =
Diese Daten stellen den aktuellen Spiel-Status dar, ändern sich also mit dem Verlaufe der Zeit. In der Regel werden sie etwa ein mal pro Stunde aktualisiert.
Diese Textdateien enthalten einen Datensatz pro Zeile. Die einzelnen Werte sind mit Kommas (",") getrennt.
== Spieler ==
== Spieler ==


Zeile 17: Zeile 23:


'''$id, $name, $alliance_id, $points, $rank, $towns'''
'''$id, $name, $alliance_id, $points, $rank, $towns'''


== Allianz ==
== Allianz ==
Zeile 30: Zeile 33:




'''$id, $name, $points, $rank, $towns, £members'''
'''$id, $name, $points, $towns, $members, $rank'''
 
== Stadt ==
 
[http://de1.grepolis.com/data/towns.txt data/towns.txt] -
[http://de1.grepolis.com/data/towns.txt.gz data/towns.txt.gz]
 
In dieser Datei befinden sich Informationen über die Städte. Die Daten stehen in folgender Reihenfolge zur Verfügung:
 
 
'''$id, $player_id, $name, $island_x, $island_y, $slot_number_on_island, $points'''
 
== Inseln ==
 
 
[http://de1.grepolis.com/data/islands.txt data/islands.txt] -
[http://de1.grepolis.com/data/islands.txt.gz data/islands.txt.gz]
 
In dieser Datei befinden sich Informationen über die Inseln. Die Daten stehen in folgender Reihenfolge zur Verfügung:
 
 
'''$id, $island_x, $island_y, $island_type_number, $available_towns, $resources_advantage, $resources_disadvantage'''
 
resources_advantage: Die Rohstoffart, von der es auf der Insel höhere Vorkommen gibt <br>
resources_disadvantage: Die Rohstoffart, von der es auf der Insel niedrigere Vorkommen gibt
 
== Kampfpunkte Spieler (Kämpfer) ==
 
 
 
[http://de1.grepolis.com/data/player_kills_all.txt data/player_kills_all.txt] -
[http://de1.grepolis.com/data/player_kills_all.txt.gz data/player_kills_all.txt.gz]
 
In dieser Datei befinden sich Informationen über die Kampfpunkte (Spieler Kämpfer). Die Daten stehen in folgender Reihenfolge zur Verfügung:
 
 
'''$rank, $player_id, $points'''
 
== Kampfpunkte Spieler (Verteidiger) ==
 
 
 
[http://de1.grepolis.com/data/player_kills_def.txt data/player_kills_def.txt] -
[http://de1.grepolis.com/data/player_kills_def.txt.gz data/player_kills_def.txt.gz]
 
In dieser Datei befinden sich Informationen über die Kampfpunkte (Spieler Verteidiger). Die Daten stehen in folgender Reihenfolge zur Verfügung:
 
 
'''$rank, $player_id, $points'''
 
== Kampfpunkte Spieler (Angreifer) ==
 
 
 
[http://de1.grepolis.com/data/player_kills_att.txt data/player_kills_att.txt] -
[http://de1.grepolis.com/data/player_kills_att.txt.gz data/player_kills_att.txt.gz]
 
In dieser Datei befinden sich Informationen über die Kampfpunkte (Spieler Angreifer). Die Daten stehen in folgender Reihenfolge zur Verfügung:
 
 
'''$rank, $player_id, $points'''
 
== Kampfpunkte Allianz (Kämpfer) ==
 
 
 
[http://de1.grepolis.com/data/alliance_kills_all.txt data/alliance_kills_all.txt] -
[http://de1.grepolis.com/data/alliance_kills_all.txt.gz data/alliance_kills_all.txt.gz]
 
In dieser Datei befinden sich Informationen über die Kampfpunkte (Allianz Kämpfer). Die Daten stehen in folgender Reihenfolge zur Verfügung:
 
 
'''$rank, $alliance_id, $points'''
 
== Kampfpunkte Allianz (Verteidiger) ==






[http://de1.grepolis.com/data/alliance_kills_def.txt data/alliance_kills_def.txt] -
[http://de1.grepolis.com/data/alliance_kills_def.txt.gz data/alliance_kills_def.txt.gz]


In dieser Datei befinden sich Informationen über die Kampfpunkte (Allianz Verteidiger). Die Daten stehen in folgender Reihenfolge zur Verfügung:




== Dorf ==
'''$rank, $alliance_id, $points'''


[http://de1.grepolis.com/data/towns.txt data/towns.txt] -  
== Kampfpunkte Allianz (Angreifer) ==
[http://de1.grepolis.com/data/towns.txt.gz data/towns.txt.gz]
 
 
 
[http://de1.grepolis.com/data/alliance_kills_att.txt data/alliance_kills_att.txt] -
[http://de1.grepolis.com/data/alliance_kills_att.txt.gz data/alliance_kills_att.txt.gz]
 
In dieser Datei befinden sich Informationen über die Kampfpunkte (Allianz Angreifer). Die Daten stehen in folgender Reihenfolge zur Verfügung:
 
 
'''$rank, $alliance_id, $points'''
 
== Eroberungen ==
 
 
 
[http://de1.grepolis.com/data/conquers.txt data/conquers.txt] -  
[http://de1.grepolis.com/data/conquers.txt.gz data/conquers.txt.gz]


In dieser Datei befinden sich Informationen über die Dörfer. Die Daten stehen in folgender Reihenfolge zur Verfügung:
In dieser Datei befinden sich Informationen über die Eroberungen. Die Daten stehen in folgender Reihenfolge zur Verfügung:




'''$id, $player_id, $name, $island_x, $island_y, $points'''  
'''$town_id, $time, $new_player_id, $old_player_id, $new_ally_id, $old_ally_id, $town_points '''


= Statische Daten =
Statische Daten zu den Welten sind ein Teil der Einstellungen und sollten sich nach Erstellen dieser nicht mehr ändern. Sie sind aus historischen Gründen im Json-Format verfügbar.


== Einheiten ==


== Inseln ==
[http://de1.grepolis.com/data/units.json /data/units.json] - [http://de1.grepolis.com/data/units.json.gz /data/units.json.gz]


== Gebäude ==


[http://de1.grepolis.com/data/islands.txt data/islands.txt] -  
[http://de1.grepolis.com/data/buildings.json /data/buildings.json] - [http://de1.grepolis.com/data/buildings.json.gz /data/buildings.json.gz]
[http://de1.grepolis.com/data/islands.txt.gz data/islands.txt.gz]


In dieser Datei befinden sich Informationen über die Inseln. Die Daten stehen in folgender Reihenfolge zur Verfügung:
== Forschungen ==


[http://de1.grepolis.com/data/researches.json /data/researches.json] - [http://de1.grepolis.com/data/researches.json.gz /data/researches.json.gz]


'''$id, $x, $y, $island_x, $island_y, $island_id''' (s. unten)


= in MySQL importieren mit PHP =


Ein einfaches Beispiel in PHP, um die Städte + Namen von Alpha in eine MySQL-Datenbank zu schreiben:


''= island_id = The internal number of the island, or, what 'type/size/shape' of island this is. 1-10 = player islands with farm towns, 11-16 = uninhabited islands, 17-21 = rocks =
  $lines = gzfile(http://de69.grepolis.com/data/players.txt);
''
  if(!is_array($lines)) die("Datei konnte nicht geöffnet werden");
 
  foreach($lines as $line){
      list($id, $player_id, $name, $island_x, $island_y, $slot_number_on_island, $points) = explode(',', $line);
      $name = urldecode($name);
      $name = addslashes($name);
      $name = utf8_decode($name);
      mysql_query("INSERT INTO village SET id='$id', player_id='$player_id', name='$name',island_x='$island_x',
      island_y='$island_y', slot_number_on_island='$slot_number_on_island', points='$points'");
  }

Aktuelle Version vom 4. September 2018, 21:59 Uhr

Um externe Statistiken oder ähnliches zu erstellen, werden die wichtigsten Weltdaten zum Download angeboten. Die Eigenschaften der Dörfer, der Allianzen und der Spieler stehen regelmäßig zum Download bereit. Mittlerweile gibt es auch noch weitere Daten, wie alle Eroberungen seit Anfang der Welt mit Unix Timestamp.

Versuche die Weltdaten möglichst selten zu laden, um Traffic zu reduzieren. Skripte, die im Normalbetrieb mehr als 1 mal pro Stunde die Daten laden, sind nicht erlaubt. Versucht in diesem Fall, die Daten auf einem externen Webserver zu cachen. Die Weltdaten werden zu regelmäßigen Zeitabständen aktualisiert. Diese Abstände sind serverspezifisch.

Die Dateien sind auch komprimiert verfügbar (Name.Dateiendung.gz). Als Kompressionsverfahren wurde gzip genutzt. Nutzt diese Dateien, wenn möglich.


Für die jeweiligen Welten muss nur de1 durch den richtigen Sub-Domain ersetzt werden.


Dynamische Daten

Diese Daten stellen den aktuellen Spiel-Status dar, ändern sich also mit dem Verlaufe der Zeit. In der Regel werden sie etwa ein mal pro Stunde aktualisiert. Diese Textdateien enthalten einen Datensatz pro Zeile. Die einzelnen Werte sind mit Kommas (",") getrennt.

Spieler

data/players.txt - data/players.txt.gz

In dieser Datei befinden sich Informationen über die Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung:


$id, $name, $alliance_id, $points, $rank, $towns

Allianz

data/alliances.txt - data/alliances.txt.gz

In dieser Datei befinden sich Informationen über die Allianzen. Die Daten stehen in folgender Reihenfolge zur Verfügung:


$id, $name, $points, $towns, $members, $rank

Stadt

data/towns.txt - data/towns.txt.gz

In dieser Datei befinden sich Informationen über die Städte. Die Daten stehen in folgender Reihenfolge zur Verfügung:


$id, $player_id, $name, $island_x, $island_y, $slot_number_on_island, $points

Inseln

data/islands.txt - data/islands.txt.gz

In dieser Datei befinden sich Informationen über die Inseln. Die Daten stehen in folgender Reihenfolge zur Verfügung:


$id, $island_x, $island_y, $island_type_number, $available_towns, $resources_advantage, $resources_disadvantage

resources_advantage: Die Rohstoffart, von der es auf der Insel höhere Vorkommen gibt
resources_disadvantage: Die Rohstoffart, von der es auf der Insel niedrigere Vorkommen gibt

Kampfpunkte Spieler (Kämpfer)

data/player_kills_all.txt - data/player_kills_all.txt.gz

In dieser Datei befinden sich Informationen über die Kampfpunkte (Spieler Kämpfer). Die Daten stehen in folgender Reihenfolge zur Verfügung:


$rank, $player_id, $points

Kampfpunkte Spieler (Verteidiger)

data/player_kills_def.txt - data/player_kills_def.txt.gz

In dieser Datei befinden sich Informationen über die Kampfpunkte (Spieler Verteidiger). Die Daten stehen in folgender Reihenfolge zur Verfügung:


$rank, $player_id, $points

Kampfpunkte Spieler (Angreifer)

data/player_kills_att.txt - data/player_kills_att.txt.gz

In dieser Datei befinden sich Informationen über die Kampfpunkte (Spieler Angreifer). Die Daten stehen in folgender Reihenfolge zur Verfügung:


$rank, $player_id, $points

Kampfpunkte Allianz (Kämpfer)

data/alliance_kills_all.txt - data/alliance_kills_all.txt.gz

In dieser Datei befinden sich Informationen über die Kampfpunkte (Allianz Kämpfer). Die Daten stehen in folgender Reihenfolge zur Verfügung:


$rank, $alliance_id, $points

Kampfpunkte Allianz (Verteidiger)

data/alliance_kills_def.txt - data/alliance_kills_def.txt.gz

In dieser Datei befinden sich Informationen über die Kampfpunkte (Allianz Verteidiger). Die Daten stehen in folgender Reihenfolge zur Verfügung:


$rank, $alliance_id, $points

Kampfpunkte Allianz (Angreifer)

data/alliance_kills_att.txt - data/alliance_kills_att.txt.gz

In dieser Datei befinden sich Informationen über die Kampfpunkte (Allianz Angreifer). Die Daten stehen in folgender Reihenfolge zur Verfügung:


$rank, $alliance_id, $points

Eroberungen

data/conquers.txt - data/conquers.txt.gz

In dieser Datei befinden sich Informationen über die Eroberungen. Die Daten stehen in folgender Reihenfolge zur Verfügung:


$town_id, $time, $new_player_id, $old_player_id, $new_ally_id, $old_ally_id, $town_points

Statische Daten

Statische Daten zu den Welten sind ein Teil der Einstellungen und sollten sich nach Erstellen dieser nicht mehr ändern. Sie sind aus historischen Gründen im Json-Format verfügbar.

Einheiten

/data/units.json - /data/units.json.gz

Gebäude

/data/buildings.json - /data/buildings.json.gz

Forschungen

/data/researches.json - /data/researches.json.gz


in MySQL importieren mit PHP

Ein einfaches Beispiel in PHP, um die Städte + Namen von Alpha in eine MySQL-Datenbank zu schreiben:

  $lines = gzfile(http://de69.grepolis.com/data/players.txt);
  if(!is_array($lines)) die("Datei konnte nicht geöffnet werden");
  
  foreach($lines as $line){
     list($id, $player_id, $name, $island_x, $island_y, $slot_number_on_island, $points) = explode(',', $line);
     $name = urldecode($name);
     $name = addslashes($name);
     $name = utf8_decode($name);
     mysql_query("INSERT INTO village SET id='$id', player_id='$player_id', name='$name',island_x='$island_x',
     island_y='$island_y', slot_number_on_island='$slot_number_on_island', points='$points'");
  }