Bearbeiten · Veränderungen zeigen · Druckansicht ·

Auf dieser Seite wird Dir einfach und schnell erklärt, wie du am besten deinen Eggdrop-Bot zum laufen bringst.

Zunächst einmal sollte dir sicherlich klar sein, wozu du deinen Bot bringen willst, oder anders gesagt, was er in deinem IRC-Channel bewerkstelligen soll. Diese Entscheidung beeinflusst später die Einstellungsfeinheiten, die du deinem Bot übergibst. In diesem Tutorial wird der Bot vorrangig dazu benutzt "channelinterne" Dienste bereitzustellen. Dazu sollen Channelstatistiken (Wer redet wieviel...?) und !seen-Kommandos gehören (Wann war Person XY das letzte mal im Channel?). Für die Realisierung der Statistikerfassung im Channel benutzen wir stats.mod, die !seen-Kommandos stellt gseen.mod zur Verfügung.

EINSCHUB: Es ist unüblich, dass man einen Bot/Bouncer mit root systemweit installiert. Noch gefährlicher ist es natürlich, wenn man einen Bot/BNC mit root-Rechten startet. Gewöhnlich installiert und startet man das Ganze unter einem Benutzeraccount: zB als Benutzer "irc" oder "bouncer" oder auch unter dem eigenen Arbeitskonto "peter" oder "web123"... Wenn es auf deinem System im Moment nur einen root-Benutzer gibt oder du nicht weißt, wie du einen weniger previligierten Systembenutzer anlegst, dann wird dir der Artikel Unixbenutzer anlegen helfen.

Doch beginnen wir einfach mal mit dem Installationsprozess. Zunächst müssen uns die entsprechenden Installationsarchive (eggdrop, statsmod, gseenmod) besorgen, in denen die Quellcodes für die Programme gespeichert sind. Die Webseite des Eggdrops ist http://www.eggheads.org/, dort finden wir immer die aktuellsten Versionen des Eggdrop-Bots. Wir loggen uns auf unserer Shell ein (nicht als root!) und wechseln in das Homeverzeichnis. Dort erstellen wir ein Verzeichnis, in jenes wir den Bot installieren wollen. Danach können wir mit dem Download der Sourcecode-Archive beginnen. Ein Hinweis noch, bevor du mit dem Herunterladen der Sources beginnst solltest du zumindest mal auf die Homepage von stats.mod und gseen.mod gehen, um dort zu prüfen ob die hier im Tutorial verwendeten Versionen die aktuellsten sind. Wenn nicht, dann benutzt du selbstverständlich die neueren Versionen. Weiter im Stoff:

$> cd ~
# Bringt uns in unser Homeverzeichnis

$> mkdir eggdrop
$> cd eggdrop
$> wget http://www.geteggdrop.com
# (Dieser Befehl zieht die immer aktuelle Eggdrop-Version)

$> wget http://www.kreativrauschen.de/stats.mod/download/stats.mod.1.4.0.dev20.tar.gz
$> wget http://www.kreativrauschen.de/gseen.mod/gseen.mod.1.1.1.dev3.tar.gz

Alternativ zum Programm wget kannst du natürlich auch alle anderen Methoden nutzen, um die Archive auf deinen Internetrechner zu laden (ftp-upload, DCC's, lynx, etc). Du solltest dich jetzt im Verzeichnis /home/benutzer/eggdrop/ befinden.

Nun können wir damit beginnen die Archive zu entpacken und entsprechend "anzuordnen", damit wir gseen und statsmod in den Bot einkompilieren können. (Andere Erweiterungen werden normalerweise über TCL-Scripts? in den Bot eingebunden, aufgrund der Komplexität von gseen und statsmod hat sich der Autor der Module dazu entschlossen, dass diese Erweiterungen direkt in den Bot "eingebaut" werden müssen.)

Bitte die ggf. veralteten Dateinamen der Archive durch die neuen ersetzen!
$> tar xfvz eggdrop1.6.19.tar.gz
$> tar xfvz gseen.mod.1.1.1.dev3.tar.gz
$> tar xfvz stats.mod.1.4.0.dev20.tar.gz
   (Verzeichnisse wurden jetzt entpackt.)

$> ls -lah
[...]
drwxr-xr-x   10 benutzer  benutzer      4.0k Nov 21 05:32 eggdrop1.6.19
-rw-r--r--    1 benutzer  benutzer      733k Feb 14 16:07 eggdrop1.6.19.tar.gz
drwxr-xr-x    2 benutzer  benutzer      4.0k Jun 15  2001 gseen.mod
-rw-r--r--    1 benutzer  benutzer       30k Jun 15  2001 gseen.mod.1.1.1.dev3.tar.gz
drwxr-xr-x    3 benutzer  benutzer      4.0k Feb 11  2001 stats.mod
-rw-r--r--    1 benutzer  benutzer       65k Feb 14  2001 stats.mod.1.4.0.dev20.tar.gz

# Wir machen sofort weiter und verschieben die eben entpackten *.mod-Verzeichnisse
# in das Modul-Verzeichnis des Eggdrops

$> mv -f *.mod/ eggdrop1.6.19/src/mod/
$> cd eggdrop1.6.19/

Wir sind nun bereit den Eggdrop-Bot zu installieren und zu konfigurieren (Eins nach dem Anderen ;-). Die Module wurden soeben von uns in das Modules-Verzeichnes des Eggdrops verschoben, weitere Nachbearbeitung der Verzeichnisse ist nicht nötig, das Installationsscript wird die "Anwesenheit" der neuen Module automatisch zur Kenntnis nehmen. Beginnen wir also mit der Installation:

Hinweis: Um den Eggdrop kompilieren zu können ist eine lauffähige TCL-Installation auf deinem System notwendig. Solltest du als im Folgenden auf einen Fehler stoßen, der sich durch ein "TCL not found" (oder ähnlich) bemerkbar macht, dann lies dir TCL Installation durch, die Seite erklärt dir, wie du ganz einfach TCL auf deinem System nachinstallieren kannst!

$> ./configure --prefix=/home/benutzer/eggdrop
# Das Configure-Programm zur Vorbereitung der Installation
# wird nun gestartet. Es sollte ohne Probleme durchlaufen.
# --prefix=... gibt das Verzeichnis an, in dem der Bot
# installiert wird. Mehr Optionen über ./configure --help)
[...]

# Ist das alles ohne Probleme abgeschlossen fahren wir fort...)

$> make iconfig

make iconfig startet die individuelle Modulkonfiguration. Du musst nichts weiter tun als bei den gefragten Modulen entweder 'd' (für disable, "nicht benutzen") oder 'e' (für enable, "benutzen") zu drücken. Unten am Eingabeprompt kann man eine kleine Zeichenkette erkennen, der Großbuchstabe steht für den Standardwert (bzw für den empfohlenen Wert). (`irc' is enabled, (E)nable / (d)isable [E/d]. Die Standardwerte sollten natürlich eingehalten werden, es sei denn, man weiß, was man tut. Die Fragen nach unseren Modulen sollten natürlich mit (E)nable beantwortet werden:

`gseen' is enabled, (E)nable / (d)isable  [E/d] E
`seen' is enabled, (E)nable / (d)isable  [E/d] D
# (Das Eggdrop-Seen-Modul kann deaktiviert werden, weil wir es ja ersetzen!)

`stats' is enabled, (E)nable / (d)isable  [E/d] E
[...]
You can now compile the bot, using "make".

Ja, das machen wir auch gleich. Aber vorher modifizieren wir ein klein wenig den Quellcode zu unseren gunsten. Wenn du vor hast den Bot später in einem Netzwerk einzusetzen, dass mehr als 9 Zeichen lange Nicknames "versteht", dann werden wir gleich die Datei src/eggdrop.h bearbeiten und dem Bot beibringen, wie er mit Nicknames, die länger als 9 Zeichen lang sind, zurechtkommt. Ziel des ganzen, der Bot soll im Stande sein Nicknames wie NastyAngel als NastyAngel zu behandeln und nicht als NastyAnge (Nur neun Zeichen, der echte Nick hat 10, ein Zeichen fehlt beim "Handle", nämlich das "L")

  Wir nehmen einen Editor (hier 'vi') und bearbeiten die Datei src/eggdrop.h

$> vi src/eggdrop.h
  Herunterscrollen, bis wir folgende Zeile finden:

#define HANDLEN           9     /* valid values 9->NICKMAX              */

Zum bearbeiten dieser Zeile müssen wir erst den Buchstaben "i" drücken,
jetzt können wir mit vi schreiben. Aus der Zeile wird folgendes:

#define HANDLEN           30     /* valid values 9->NICKMAX              */

Super, jetzt drücken sie <ESC> um in den Kommandomodus zurückzukehren, dann :wq
(Doppelpunkt dann "wq" (schreiben und beenden), das ganze dann mit [Enter] bestätigen)
Wir sind wieder auf der Shell und machen weiter mit dem Übersetzen der Quellcodes.

$> make

Jetzt haben wir Zeit für ein Bier oder einen Kaffee, das übersetzen der Quellcodes in Maschinenspache dauert für gewöhnlich einen Augenblick. Nachdem der Vorgang erfolgreich abgeschlossen ist, strahlt uns ein freudiges "Now run "make install" to install your bot." entgegen. Nun installieren wir die eben erstellten Programme in die dafür vorgesehenen Verzeichnisse (nämlich nach /home/benutzer/eggdrop/). Gleich danach kopieren wir die Sprach-Files von stats.mod und gseen.mod in die dafür vorgesehenen Verzeichnisse!

$> make install
[...]
Installation completed.

$> cp src/mod/*.mod/*.lang ../language/
# Kopieren der Language-Files nach /home/benutzer/eggdrop/language/

Der Bot ist nun fertig kompiliert und installiert. Er ist jetzt theoretisch lauffähig, wir müssen ihn jetzt nur noch schnell unseren Bedürfnissen anpassen. Wir werden die config-Dateien bearbeiten. Vorher sichern wir jedoch die Standard-conf-Datei im Verzeichnis default-configs, welches wir erstellt haben (bitte beachte die eventuell veralteten Verzeichnisnamen des Eggdrops).

$> cd ..
$> mkdir default-configs
$> cp eggdrop.conf default-configs

$> cp eggdrop1.6.19/src/mod/stats.mod/stats.conf .
$> cp eggdrop1.6.19/src/mod/gseen.mod/gseen.conf .

# Wir kopieren gleich die modul-config-Dateien in das Eggdrop-Verzeichnis

Jetzt musst du nur noch die eggdrop.conf deinen Wünschen entsprechend bearbeiten. Durch die aussagekräftigen Kommentare ist alles relativ selbsterklärend. Falls sich irgendwer die Mühe gemacht hat und ihn zu schreiben, findest du im Artikel Eggdrop Konfiguration eine tatkräftige Anleitung und Hilfe zu dem Thema - ja vielleicht sogar eine Beispieldatei. ;-) Am Ende der eggdrop.conf solltest du folgende beiden Zeilen einfügen:

source stats.conf
source gseen.conf

Was ebenfalls noch fehlt ist die Bearbeitung der stats.conf und der gseen.conf. Dies ist auch durch die Kommentare in der File schnell erledigt. Jetzt sollte alles so weit abgeschlossen sein, dass du deinen Bot endlich zum ersten mal starten kannst:

./eggdrop -m eggdrop.conf

Jetzt läuft er erstmal. Manchmal ist dies trotzdem nicht der Fall und der Bot bricht ab mit einer Fehlermeldung, die in etwa so aussieht:

Du hast die modulare Version installiert, jedoch kein Verschluesselungsmodul ausgewaehlt. Fuer weitere Informationen siehe die mitgelieferte Konfigurationsdatei.

In einem solchen Fall fügst du ganz einfach die Option "loadmodule blowfish" zu deiner Konfiguration hinzu und versuchst den Bot nochmal mit -m eggdrop.conf zu starten.

Sollte dein Server irgendwann mal rebooten, dann läuft er natürlich nicht mehr, aber du kannst ihn ab da einfach immer wieder mit folgendem Kommando starten:

./eggdrop

So, viel Spaß mit dem Böttchen, bei Rückfragen steht euch das Forum zur Verfügung.

Bearbeiten · Veränderungen zeigen · Druckansicht ·
Page last modified on September 21, 2008, at 02:43 AM