Translations of this page:
  • English (USA)
  • Deutsch (German)
  • Italiano

Wie man den Befehl "geturl" sinnvoll verwendet

Siehe auch: ”geturl

Einleitung

Der PikkuBot kann Avatare, Prims, Sims und Sandboxen protokollieren. Das geht einerseits über den Befehl “getfile” in die Datei logfile/HUNTER.txt oder über den Befehl “geturl” und einen Webserver. Letzteres ist natürlich viel viel schöner in der späteren Auswertung und soll deshalb hier jetzt Thema sein. Letztendlich kann man das Server-Skript in jeder beliebigen Web-Sprache programmieren, hier im Beispiel wird PHP und MySQL verwendet.

Voraussetzungen

Datenbank mit MySQL und ein Webserver mit PHP.

Schritt für Schritt

Anlegen einer neuen Datenbank

Am besten über das Hilfsprogramm phpMyAdmin wird eine neue Datenbank angelegt, in unserem Beispiel nennen wir die Datenbank pikkubot.

Anlegen einer Beispiel-Tabelle für Avatare

So könnte ein Datenbank-Schema für Avatare aussehen:

CREATE TABLE `pikkubot_avs` (
  `pikkubot_avs_id` int(11) NOT NULL auto_increment,
  `pikkubot_avs_datum` datetime NOT NULL default '0000-00-00 00:00:00',
  `pikkubot_avs_lastseen` datetime NOT NULL default '0000-00-00 00:00:00',
  `pikkubot_avs_name` text NOT NULL,
  `pikkubot_avs_key` text NOT NULL,
  `pikkubot_avs_sim` text NOT NULL,
  `pikkubot_avs_vector` text NOT NULL,
  `pikkubot_avs_hash` varchar(32) NOT NULL default '',
  PRIMARY KEY  (`pikkubot_avs_id`),
  KEY `pikkubot_avs_hash` (`pikkubot_avs_hash`)
) ENGINE=MyISAM;

Ein PHP-Skript zum Loggen in die Datenbank

Wir brauchen ein Skript zum Loggen der Daten vom Bot in die Datenbank, wir nennen es log.php:

<?php
// Verbindung mit der Datenbank
//
$link=mysql_connect("localhost","BENUTZERNAME","KENNWORT");
mysql_select_db("pikkubot");

// Der Bot schickt mir einen Avatar
//
if ($_GET[av_name]!="") {

 // Ist der Avatar schon in der Datenbank?
 //
 $select=mysql_query("SELECT count(*) FROM pikkubot_avs WHERE pikkubot_avs_hash='".md5($_GET[av_name])."'");
 $row=mysql_fetch_array($select);

 // Nein
 //
 if ($row[0]==0) {
  $insert=mysql_query("
   INSERT INTO pikkubot_avs
   (pikkubot_avs_datum, pikkubot_avs_lastseen, pikkubot_avs_key, pikkubot_avs_name, pikkubot_avs_sim, pikkubot_avs_vector, pikkubot_avs_hash)
   VALUES
   ('".date("Y-m-d H:i:s")."', '".date("Y-m-d H:i:s")."', '$_GET[av_key]', '$_GET[av_name]', '$_GET[av_sim]', '$_GET[av_position]', '".md5($_GET[av_name])."')
  ");
 }
 else
 {
  $update=mysql_query("
   UPDATE pikkubot_avs
   SET pikkubot_avs_lastseen='".date("Y-m-d H:i:s")."'
   WHERE pikkubot_avs_hash='".md5($_GET[av_name])."'
  ");
 }
}
?>

Bitte BENUTZERNAME mit dem MySQL-Datenbank-Benutzer ersetzen (z.B. root) und KENNWORT mit dem dazugehörigen Kennwort ersetzen.

Eintragen der URL beim Bot

Jetzt einfach beim Bot folgenden Befehl eingeben:

geturl http://MEIN_WEBSERVER/log.php

Jetzt sollte der Bot, die Avatare, die er neu sieht in die Datenbank loggen. Das bitte mit phpMyAdmin kontrollieren.

Ein PHP-Skript zum Anzeigen der geloggten Daten

Dann fehlt eigentlich nur noch ein kleines Skript, um die geloggten Avatare anzuzeigen, wir nennen es hunted.php:

<?php
// Verbindung mit der Datenbank
//
$link=mysql_connect("localhost","BENUTZERNAME","KENNWORT");
mysql_select_db("pikkubot");

$select=mysql_query("select * FROM pikkubot_avs ");
echo "I have found ".mysql_num_rows($select)." Avatars in database.<br><br>";

$select=mysql_query("
 select * FROM pikkubot_avs
 ORDER BY pikkubot_avs_lastseen DESC
 LIMIT 0,50
");

if (mysql_num_rows($select)>0 ) {
  echo "<b>Last 50 seen Avatars :</b><br><br>";

  echo "<table>";
  echo "<tr>";
  echo "<td><b>First-Seen</strong></td>";
  echo "<td><b>Last-Seen</strong></td>";
  echo "<td><b>Avatar-Name</strong></td>";
  echo "<td><b>Avatar-Key</strong></td>";
  echo "<td><b>Avatar-Sim</strong></td>";
  echo "<td><b>Avatar-Vector</strong></td>";
  echo "</tr>";

  for ($a=0; $a<mysql_num_rows($select); $a++) {
   $row=mysql_fetch_array($select);
   echo "<tr>";
   echo "<td>$row[pikkubot_avs_datum]</strong></td>";
   echo "<td>$row[pikkubot_avs_lastseen]</strong></td>";
   echo "<td>$row[pikkubot_avs_name]</strong></td>";
   echo "<td>$row[pikkubot_avs_key]</strong></td>";
   echo "<td>$row[pikkubot_avs_sim]</strong></td>";
   echo "<td>$row[pikkubot_avs_vector]</strong></td>";
   echo "</tr>";
  }
  echo "</table>";
}
else
{
 echo "... Sorry, no Avatars seen yet ...<br>";
}

?>

Fertig!

Die Skripte können natürlich noch beliebig erweitert/verschönert werden!
Siehe auch: Erweiterung der Datei log.php für Prims


de/howtos/how_do_you_use_the_command_geturl.txt · Last modified: 2008/11/27 20:09 by rebekka
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0