Sonstige Informationen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 161: | Zeile 161: | ||
[[pl:Baner]] | [[pl:Baner]] | ||
[[ru:Другая информация]] | [[ru:Другая информация]] | ||
[[sl:Ostalo]] |
Version vom 6. März 2011, 15:50 Uhr
Banner
Wenn du auf deiner Homepage einen Stämme-Banner einbauen willst, findest du hier den dafür passenden Code. Kopiere diesen Bannercode aus der Textbox und füge ihn in den HTML-Code deiner Homepage ein. Vielen Dank, dass du hilfst, Stämme bekannter zu machen!
Banner
<a href="http://www.die-staemme.de/?ref=banner_468"><img style="border:none" src="http://www.die-staemme.de/banner.php?id=banner_468" alt="Die Stämme, das kostenlose Browsergame" /></a>
Button
<a href="http://www.die-staemme.de/?ref=banner_button"><img style="border:none" src="http://www.die-staemme.de/banner.php?id=banner_button" alt="Die Stämme" /></a>
Externe IGMs
Versenden von IGMs über externes Interface
Manchmal ist es wünschenswert, dass externe Programme Nachrichten an Spieler verschicken können, um diese über wichtige Ereignisse zu informieren oder ihre Identität zu überprüfen. Da das Programmieren von Bots laut Regeln untersagt ist, stellen wir ein Interface für diesen Zweck zur Verfügung.
IGM-Messages werden per GET-Aufruf erzeugt:
http://de69.die-staemme.de/send_mail.php?from_id=FROM_ID&api_key=API_KEY&to=TO&subject=SUBJECT&message=MESSAGE
Bedeutung der Parameter:
- FROM_ID: deine Spieler-ID (kann zB. über die Rangliste ermittelt werden)
- API_KEY: dein Stämme API-Key (unter Einstellungen->Einstellungen zu finden)
- TO: Name (nicht die ID) des Spielers, der die Nachricht erhalten soll
- SUBJECT: Betreff der Nachricht
- MESSAGE: Die eigentliche Nachricht
Die Option ist nur für die Besitzer eines Premium-Accounts freigeschaltet. Sollte diese Funktion für Spam oder Belästigungen anderer Spieler missbraucht werden, kann der Account gesperrt werden.
Beispiel in PHP:
// Die Parameter müssen URL-encodiert werden
$to = urlencode('exception');
$subject = urlencode('test & test');
$message = urlencode('Dies ist ein Test');
$base_url = "http://deXX.die-staemme.de/send_mail.php?from_id=FROM_ID&api_key=API_KEY";
// URL aufrufen
$handle = fopen($base_url . "&to=$to&subject=$subject&message=$message", 'r');
echo fgets($handle); // Meldung ausgeben
fclose($handle);
In der Variabel base_url muss anstatt XX die entsprechende Welt angegeben werden.
Weltdaten
Um externe Statistiken oder ähnliches zu erstellen, werden die wichtigsten Weltdaten zum Download angeboten. Die Eigenschaften der Dörfer, der Stämme und der Spieler stehen regelmäßig zum Download bereit. Mittlerweile gibt es auch noch weitere Daten, wie alle Adelungen seit Anfang der Welt mit Unix Timestamp oder Inhalte von Profilen.
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.
Es existieren insgesamt 5 Dateien zum Download. Jede Datei besteht aus beliebig vielen Zeilen, die kommagetrennt die Daten enthalten. Die einzelnen Daten sind mit Hilfe der PHP-Funktion urlencode() codiert, d.h. dass z.B. ein Komma durch %2C ersetzt ist.
Pfad | Beschreibung | Sortierung |
---|---|---|
/map/village.txt /map/village.txt.gz |
In dieser Datei befinden sich Informationen über die Dörfer. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $id, $name, $x, $y, $player, $points, $rank |
/map/player.txt /map/player.txt.gz |
In dieser Datei sind Informationen über die Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $id, $name, $ally, $villages, $points, $rank |
/map/ally.txt /map/ally.txt.gz |
In dieser Datei sind Informationen über die Stämme. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $id, $name, $tag, $members, $villages, $points, $all_points, $rank |
/map/conquer.txt /map/conquer.txt.gz |
In dieser Datei sind alle Adelungen seit Beginn der Welt enthalten. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $village_id, $unix_timestamp, $new_owner, $old_owner |
/interface.php?func=get_conquer&since=unix_timestamp | Über diese Funktion kann man sich alle Adelungen seit dem letzten Unix-Timestamp ausgeben lassen. Der Timestamp darf maximal 24 Stunden zurück liegen. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $village_id, $unix_timestamp, $new_owner, $old_owner |
/map/profile.txt /map/profile.txt.gz |
In dieser Datei sind die Profildaten der Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $player_id, Geburtstag, Geschlecht, Wohnort, Profiltext (als XHTML), Profilbild-Dateiname |
/map/kill_att.txt /map/kill_def.txt /map/kill_all.txt |
In diesen Dateien befinden sich Informationen über die Besiegte-Gegner-Punkte (Alle, Als Verteidiger, Als Angreifer) für Spieler. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $rank, $id, $kills |
/map/kill_att_tribe.txt /map/kill_def_tribe.txt /map/kill_all_tribe.txt |
In diesen Dateien befinden sich Informationen über die Besiegte-Gegner-Punkte (Alle,Als Verteidiger,Als Angreifer) für die gesamten Stämme. Die Daten stehen in folgender Reihenfolge zur Verfügung: | $rank, $id, $kills |
/interface.php?func=get_config | Über diese Funktion kann man die Konfiguration der Welt auslesen (Format: XML). | |
/interface.php?func=get_unit_info | Informationen zu den Einheiten als XML | |
/interface.php?func=get_building_info | Informationen zu den Gebäuden als XML |
Um die komplette URL für eine bestimmte Welt zu erhalten, muss vor dem Pfad die entsprechende URL der Welt ausgewählt werden:
http://deXX.die-staemme.de
Anstelle des XX muss die entsprechende Welt ausgewählt werden. Eine korrekte URL könnte daher lauten:
http://de68.die-staemme.de/interface.php?func=get_config
Beispiel
Ein einfaches Bespiel in PHP, um die Dörfer + Namen von Welt1 in eine MySQL-Datenbank zu schreiben:
$lines = gzfile('http://dexx.die-staemme.de/map/village.txt.gz');
if(!is_array($lines)) die("Datei konnte nicht geöffnet werden");
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'");
}
Server-Urls ermitteln
Da teilweise die URLs der Spielwelten sich durch Wartungsarbeiten und ähnliches zeitweise ändern, gibt es jetzt eine Möglichkeit, die offizielle URL jeder Spielwelt zu ermitteln.
Zurückgegeben wird ein serialisiertes PHP-Array.
http://www.die-staemme.de/backend/get_servers.php
Beispiel im PHP-Code:
$file = file_get_contents('http://www.die-staemme.de/backend/get_servers.php');
$servers = unserialize($file);
Für andere Sprachen müsste man den Rückgabestring parsen.