Eggdrop Windrop Workshop Tutorial
Workshop für einen Windrop ab Version 1.1 Tutorial
Anmerkung:
Dieser IRC Eggdrop Workshop wurde von einem GastAutor erstellt, weiteres unten.
Er wurde unzensiert und unbehandelt auf IRC-Mania.de aufgenommen !
Sollte ein hier präsentierter WorkShop extrem viele Fehler aufweisen, bitte ich um eine Benachrichtigung WorkShopKritik@IRC-Mania.de
Wir übernehmen keine Verantwortung für Schäden, die durch diesen Workshop entstanden sind !
Autor: by Thomas „tom“ S.
URL: http://www.eggdrop.ch
Email: <tom at eggdrop.ch>
Inhalt
1 | |
1.1 | |
1.2 | |
1.3 | |
2 | |
2.1 | |
2.2 | |
2.3 | |
3 | |
3.1 | |
3.2 | |
3.3 | |
4 | |
4.1 | |
4.2 | |
4.3 | |
4.4 | |
4.5 | |
5 | |
5.1 | |
5.2 | |
5.3 | |
6 | |
6.1 | |
6.2 | |
6.3 | |
6.4 | |
7 | |
7.1 | |
7.2 |
1 Eggdrop
1.1 Was ist Eggdrop?
Eggdrop ist ein englischer Name und heisst wörtlich übersetzt Eierverlierer. Das hat aber nix mit Eiern zu tun 😉 Eggdrop ist ein sogenannter Bot. Ein Bot ist nichts anderes als ein Roboter. Es gibt verschiedene Arten von Bots. Der Eggdrop ist ein Chatbot. Er verbindet sich mit einem IRC-Server und sieht im Chat gleich aus wie ein ganz normaler Chatter. Auf Netzwerken, die keine Services (NickServ, ChanServ usw.) haben, werden Bots hauptsächlich gebraucht, um die Channels vor Angreifern zu schützen. Bots können aber auch eine Channelstatistik erstellen, oder auf Befehle der Users reagieren.
ACHTUNG: Auf einigen Servern sind Bots verboten. Wenn man dort aber trotzdem einen Bot setzt, kann man vom Chat gebannt werden.
DIE BENUTZUNG DES BOTS ERFOLGT AUF EIGENES RISIKO!
1.2 Warum Eggdrop?
Eggdrop hat sehr viele Vorteile gegenüber anderer Bots. Hier hab ich ein paar aufgezählt:
-
Eggdrop ist einer von den besten und häufigsten Bots.
-
Eggdrop hat Warteschlangen, welche in regelmässigen Abständen von 2 Sekunden die Befehle zum Server senden. So wird ein Excess-Flood verhindert.
-
Wenn mehrere Modes in einer Warteschlange warten, dann werden sie, wenn möglich, zusammen verbunden, zum Beispiel:
Normaler Bot:
*** bot sets mode: -o Angreifer
*** bot sets mode: +o Oper
Eggdrop:
*** eggdrop sets mode: -o+o Angreifer Oper -
Eggdrop hat eine sehr gute Benutzerliste, von der er ausserdem eine Sicherheitskopie erstellt.
-
Man kann mehrere Eggdrops zusammen verbinden („linken“). Die Benutzerliste wird dann auch auf die anderen Eggdrops übertragen. So kann man in einem Bot eine Änderung vornehmen und sie wird zu allen anderen Bots gesendet.
-
Eggdrop hat eine sogenannte Party-Line. Man verbindet sich dabei per DCC oder Telnet auf den Eggdrop. Die Party-Line ähnelt einem kleinem Chat, wobei man über den Bot chattet. Wenn mehrere Bots verbunden sind, wird auch die Party-Line zusammen verbunden. So kann man ganz einfach mit anderen Besitzern von Bots chatten. In der Party-Line werden übrigens fast alle Eggdrop-Befehle eingegeben.
-
Man kann den Eggdrop fast unendlich erweitern, da man sogenannte Scripts in der Sprache TCL schreiben kann, die zum Beispiel Channelstatistiken erstellen oder auf Befehle der Benutzer reagieren und vieles mehr!
1.3 Brauche ich wirklich einen Windrop / Eggdrop?
Eggdrop ist ein sehr guter Bot, allerdings sollte man sich überlegen, ob man „reif“ genug ist für diesen Bot, vor allem wenn man Windows benutzt. Denn der Bot wurde ursprünglich für Unix-Systeme entwickelt und Unix-Programme stellen im Allgemeinen sehr hohe Ansprüche an den Benutzer. So auch Eggdrop. Ich werde keine ausführlichere Anleitung bei E-Mails, wo nur steht „Hilfe es geht nicht“, geben. Wer das nicht versteht, was hier steht ist einfach zu dumm für Eggdrop und soll sich lieber einen mIRC-Bot nehmen, statt mit einem Eggdrop eine schlaflose Konfigurationsnacht haben.
2.1 Wichtiger Hinweis zum Downloaden
Ich übernehme keine Verantwortung über Schäden, die durch den Gebrauch dieser Programme entstanden sind.
2.2 Download Linux/Unix
Der neuste Eggdrop kann unter http://www.eggheads.org/downloads/ heruntergeladen werden.
2.3 Download Windows
Der Eggdrop für Windows („Windrop“) kann unter https://sourceforge.net/project/showfiles.php?group_id=7174 heruntergeladen werden. Die -handlen32-Versionen sind gleich wie die normalen Versionen, nur bei diesen beträgt die maximale Länge eines Handles 32, anstelle von 9. Einfacher gesagt: Wenn dein IRC-Server Nicks erlaubt, die länger als 9 Zeichen sind, dann solltest du die -handlen32-Version Version nehmen.
3 Installation und Konfiguration
3.1 IRC Eggdrop Installation unter Linux/Unix
Unter Unix/Linux musst du den Eggdrop zuerst noch folgendermaßen kompilieren, wobei * durch den genauen Namen des Eggdrops zu ersetzen ist.:
tar xzvf eggdrop*.tar.gz oder tar xjvf eggdrop*.tar.bz2
cd eggdrop*
./configure
make config
make
make install
Wenn beim kompilieren Fehler auftreten, dann sende mir ein E-Mail mit dem genauen Fehler. Wenn steht, dass TCL nicht gefunden wurde, dann installiere zuerst TCL.
3.2 Eggdrop bzw. Windrop-Installation unter Windows
Wenn du Windows hast, entpackst du den Eggdrop in ein Verzeichnis (am Besten C:\Windrop oder so). Danach editierst du die Datei resolv.conf, die sich im Windrop-Verzeichnis befindet und änderst 192.168.0.1 in die IP von deinem ersten Nameserver. Wenn du nicht weißt, wie dein Nameserver heißt, dann lies die Anweisungen unten.
Bei Windows 95/98/ME: Geh auf Start -> Ausführen und tippe winipcfg ein. Klicke dann auf Mehr Information und benutze die IP, die unter DNS-Server aufgeführt ist.
Bei Windows NT/2000/XP: Geh auf Start -> Ausführen und tippe command ein. Im schwarzen Fenster, welches erscheint, tippst du ipconfig /all ein und benutze die IP, die bei DNS-Server aufgeführt ist.
Bei einem Providerwechsel musst du eventuell den Nameserver wieder neu in die resolv.conf eintragen.
3.3 Eggdrop / Windrop Konfiguration
Ich hab hier mal eine kleine Konfigurationsanleitung geschrieben. Die alte Version kann hier gelesen werden. Die alte Seite ist aber veraltet und es können mehr Fehler passieren.
Also, öffne jetzt die eggdrop.simple.conf und konfiguriere sie folgendermassen (die Zeilen, die ich hier nicht beschrieben habe, lässt du so wie sie sind). Wenn du keine eggdrop.simple.conf im Verzeichnis findest (sondern z.B. nur eine eggdrop.conf), dann kannst du die Config hier herunterladen.
set nick „Lamestbot“: Lamestbot ist der Nickname des Bots
set altnick „Llamab?t“: Das ist der Alternativ-Nickname (falls der Nickname schon besetzt ist) des Bots. Dabei wird jedes ? durch eine beliebige Zahl von 0 bis 9 ersetzt.
set realname „/msg LamestBot hello“: Der Name, der im /whois angezeigt wird.
set servers {
you.need.to.change.this:6667
}
you.need.to.chante.this:6667 wird durch eine Serverliste ersetzt, also z.B:
set servers {
irc.datacomm.ch
irc.freenet.de
}
Die nächsten Zeilen, die mit channel anfangen, fügen einen statischen Channel hinzu. Du kannst sie löschen, denn du kannst die Channels auch nachträglich hinzufügen. Wenn du trotzdem statische Channels machen willst, dann nimm am besten die eggdrop.advanced.conf (oder wenn keine dabei ist die eggdrop.conf) und lies die alte Version dieses Textes oder die englischen Kommentare im Configfile.
listen 3333 all: Diese Zeile definiert den Telnet-Port, den der Eggdrop benutzt.
#set owner „MrLame, MrsLame“: bei dieser Zeile musst du das # am Anfang wegnehmen und MrLame, MrsLame durch den Nicknamen von dir und den anderen Besitern des Bots ersetzen.
logfile jpk #lamest „logs/lamest.log“: hier kannst du die Logfiles für deine Channels bestimmen.
die „you didn’t edit your config file! that’s a NO NO“: Zeilen, die mit die anfangen, definieren das Beenden des Bots. Du musst diese Zeile entfernen, damit der Bot startet.
So, jetzt wärst du eigentlich schon fertig mit der Konfiguration.
4.1 Start eines Eggdrops unter Linux/Unix
Wir wechseln in das Verzeichnis, in dem sich der Bot befindet (z.B. cd /home/tom/eggdrop) und geben dann ./eggdrop -m eggdrop.simple.conf ein.
4.2 Start eines Eggdrops / Windrops unter Windows
Man klickt auf Start->Ausführen und tippt dort „command“ in. Dann meldet sich die Eingabeaufforderung. Wenn sich der Eggdrop in C:\Windrop befindet, tippt man das ein:
cd C:\Windrop
eggdrop -m eggdrop.simple.conf
4.3 Prüfen, ob der Bot läuft
Wenn folgendes kommt: [18:32] botnick: 0 channels, 0 users., dann müsste der Bot laufen. Beim nächsten Start musst du die -m-Option weglassen. Wenn etwas anderes steht, oder wenn nach diesen Zeilen eine Fehlermeldung kommt, dann läuft er nicht. Das kann verschiedene Gründe haben.
Wenn der Bot nicht läuft, dann hat es einen Fehler im Config-File. Wenn eine Zeilennummer steht, dann schaust du in der angegebenen Zeile ob es einen Fehler hat (zum Beispiel fehlt ein Anführungszeichen). Wenn du keinen Fehler siehst, oder nicht sicher bist, dann kommentierst du die Angegebene Zeile mit einem „#“ am Anfang der Zeile aus und versuchst es noch einmal (geht natürlich nur bei nicht-lebensnotwendigen Zeilen). Wenn du wirklich nicht mehr weisst was machen, dann mach das Config-File neu und fülle nur die wichtigsten Sachen aus. Oder du schickst mir eine E-Mail mit der GENAUEN Fehlermeldung UND dem config-file. Schreibe mir genau ab (Kopieren und Einfügen) was kommt, was du eingetippt hast und welche Eggdrop-Version du benutzt (wer von der DOS-Box nicht kopieren kann, soll halt einen Screenshot machen oder sich sonst etwas einfallen lassen).
4.4 Bot unter Windows per Mausklick starten
Um, den Bot unter Windows per Mausklick starten, gibt es zwei Möglichkeiten:
1. Verknüpfung: Erstelle eine Verknüpfung indem du im Explorer die Datei eggdrop.exe mit der rechten Maustaste anklickst und Verknüpfung erstellen auswählst. Verschiebe sie nachher am besten auf den Desktop. Klicke die eben erzeugte Verknüpfung mit der rechten Maustaste an und wähle Eigenschaften. Wechsle dann zu der Registerkarte Verknüpfung. Bei Ziel sollte der Pfad zur eggdrop.exe schon stehen. Füge aber noch den Namen der Config-Datei hinzu und überprüfe, ob bei Arbeitsverzeichnis der Pfad zum Eggdrop steht, so wie auf der Abbildung:
2. Batch-Datei: Erstelle eine *.bat Datei, z.B. eggstart.bat. Die Datei hat folgenden Inhalt, falls sich eggdrop in C:\Windrop befindet:
cd C:\Windrop
eggdrop eggdrop.simple.conf
Wenn man die Datei oder die Verknüpfung im Autostart-Ordner ablegt (er befindet sich im Start-Menü), dann startet der Eggdrop bei jedem Start von Windows.
4.5 Hello sagen und Passwort setzen
Wenn der Bot im IRC ist, machst du: /msg botnick hello. Er sollte dir dann antworten, dass du ein Passwort setzen musst. Dann musst du ein mindestens 6 Zeichen langes Passwort setzen mit: /msg botnick pass Passwort. Bei Problemen liest du den nächsten Abschnitt.
Wenn der Bot dir nicht antwortet oder gar nicht im IRC ist, versuch eine Telnet-Verbindung nach localhost aufzubauen (oder zu der IP-Adresse des Bots). Hilfe zum Aufbauen einer Telnet-Verbindung findest du in meinem Text über Internetprotokolle. Der Port ist der, welchen du beim Konfigurieren angegeben habt. Standardmässig heisst er 3333. Der Bot sollte dich dann nach dem Login fragen. Du tippst new ein. Erst dann wird er dich nach deinem Nick und dem Passwort fragen. Du bist jetzt schon eingelogt in der Party-Line. Was das ist werde ich unten genau beschreiben. Wenn der Bot aber meldet, das new ein fehlerhafter Login ist, dann kill den Bot (CTRL+ALT+DEL drücken, Eggdrop auswählen und Task Beenden drücken oder bei Linux killall -9 <pid> bzw. killall eggdrop), lösch die auf .user endende Datei, die sich im Eggdrop-Verzeichnis befindet, starte den Bot erneut und wiederhole das mit dem Telnet noch mal. Wenns trotzdem nicht geht, schreib mir eine E-Mail (wie immer mit Config-File und allen Informationen!).
5.1 Party-Line, Handles und Flags
Wenn du nicht schon in der Party-Line bist, dann tipp folgendes im Chat-Clienten ein:
/dcc chat botnick oder /chat botnick
Wenns nicht geht, lies den Abschnitt weiter oben durch, gib aber als Login deinen Nick an und als Passwort das Passwort, das du vorhin gesetzt hast. Was ist jetzt überhaupt diese Party-Line? Nun, dort werden die meisten Eggdrop-Befehle eingegeben. Du kannst dort aber auch chatten mit den Leuten, die über die entsprechenden Rechte (Flags) verügen, um sich mit der Party-Line zu verbinden.
Wie funktioniert die Benutzerliste des Eggdrops? In der Benutzerliste wird ein Benutzer Handle genannt. Ein Handle kann die Hosts des Benutzers und Flags (Rechte) aufnehmen. Es gibt lokale Flags und globale Flags. Lokale Flags sind nur für einen bestimmten Channel gültig und globale Flags sind für alle Channels gültig. Hier ein Beispiel eines Handles:
Handle: tom
Hosts: tom*!tom@*.provider.ch, tom!*@admin.eggdrop.ch
Flags (global): o
Flags #botcentral (lokal): afmo
Flags #intern (lokal): k
Ich hoffe, du weisst, wie ein Host aufgebaut ist und was das Zeichen * im Host bedeutet. Was bedeuten jetzt aber die Buchstaben o, afmo und k? Das sind eben diese Flags; hier ist eine Liste der Flags:
Flag |
Beschreibung |
Beispiel |
+a |
+a zusammen mit +o gibt Auto-Op. Der User wird automatisch geopt wenn er einen Channel betretet. Achtung: Grosse Sicherheitslücke: Wenn der User eine dynamische IP hat und z.B. als *!*loli@*.freesurf.ch in den Bot eingetragen ist, dann kann ein anderer User von *.freesurf.ch auch Op bekommen, wenn er die IdentD wechselt (und kann danach den Channel übernehmen) |
tester hat +ao *** tester has joined #chan |
+b |
+b kennzeichnet einen anderen Bot aus dem Botnet. | |
+d |
+d steht fü Deop. Damit wird ein User immer gedeopt wenn er geopt wird, ausser er wird von einem Master (+m) geoppt. |
tester hat +fo und WillOp +d *** tester sets mode: +o WillOp |
+f |
+f steht für Freund. Er wird vom Bot vor Kicks, Deops, Banns usw. geschützt. Ausserdem darf er den Bot deopen, ohne das der Bot nachher wütend auf ihn wird und ein +d einstellt ;-). |
z.B.: tester hat +fo und dummkopf +o *** dummkopf sets mode +b *!*tester@* |
+g |
+g zusammen mit +v gibt Auto-Voice. Der User wird automatisch gevoicet, wenn er in einen Channel betretet. |
tester hat +gv *** tester has joined #chan |
+h |
Ein Bot zeigt so einem User die Hilfetexte auch fett und unterstrichen. | |
+j |
Er hat die komplette Kontrolle über dem Dateisystem. | |
+k |
Wenn ein User mit diesem Flag auf einen Channel reinkommt, wird er sofort gebannt! |
angreifer hat +k *** angreifer has joined #chan |
+m |
Er kann alles auf den Channels machen. | |
+n |
Er kann ALLES mit dem Bot machen (ausser den permamenten Besitzer des Bots löschen). | |
+o |
Dieser User kann Oprecht verlangen mit |
tester hat +o *** tester has joined #chan |
+p |
Er kann in die Party-Line des Bots gehen. |
tester hat +p Chat with botnick |
+q |
Der User darf kein Voice haben. |
WillVoice hat +q, tester hat +o *** tester sets mode: +v WillVoice |
+t |
Master vom Botnet. Mehr dazu bei Eggdrops linken | |
+u |
Wird auch bei Eggdrops Linken erklärt | |
+v |
Dieser User kann ein Voice verlangen mit |
tester hat +v *** tester has joined #chan |
+x |
Ein User mit diesem Flag kann über den Bot Dateien senden und empfangen. |
Dann gibt es noch Bot-Flags. Aber ich werde die erst bei Eggdrops linken beschreiben. Natürlich musst du nicht alle Flags auswendig können. Ich weiss auch nicht alle auswendig. Wichtig sind einfach die Flags +d, +o, +f, +m und +n. Man braucht sie sehr häufig. Mit der Zeit wird man sie sich merken. Und nicht jedem User das +n-Flag geben. Wers macht wird kann alle seine Channels, Eggdrops und unter Umständen (z.B. falsch konfigurierter Eggdrop oder ein Exploit) sogar den Computer, auf dem der Eggdrop läuft (!!!), verlieren. Ich übernehme hier (wie immer) keine Verantwortung.
So, genug Theorie. Damit du mit diesen Flags auch etwas anfangen kannst, werde ich hier die Befehle des Eggdrops beschreiben. Man tippt sie alle in der Party-Line ein.
Hier noch eine kurze Erklärung, wie der Befehle aufgebaut ist:
.Befehl <das_muss_man_angeben> [das_kann_man_eingeben]
Achtung: Jeder Befehl fängt mit einem Punkt (.) an, also BITTE keine E-Mails, dass die Befehle nicht gehen!
Befehl |
Beschreibung |
Beispiel |
.help [befehl] |
Zeigt die Hilfe an oder die Hilfe zum Befehl. Mein Tip: schaut euch mal alle Befehle mit .help all an. |
.help chattr |
.+chan <#chan> |
Fügt einen neuen dynamischen Channel ein. |
.+chan #tisch |
.-chan <#chan> |
Entfernt einen dynamischen Channel. |
.-chan #windows |
.jump [server [port]] |
Geht auf einen anderen Server. Wenn kein Server angegeben ist, nimmt er einfach den nächsten Server in der Serverliste. |
.jump irc.stealth.net 6668 |
.status |
Zeigt alle wichtigen Informationen über den Bot an. |
Selber mal ausprobieren |
.rehash |
Nach einer kleinen Änderung im Config-File muss man das dem Bot mit diesem Befehl mitteilen. |
– |
.restart |
Der Bot startet neu. Er verbindet sich dann auch neu mit dem IRC-Server. Ist bei grösseren Änderungen in TCL-Scripts notwendig. |
– |
.die [reason] |
Beendet den Bot. Man muss ihn dann wieder über eggdrop botconf starten. |
.die bin gleich wieder da |
.adduser <nickname> [handle] |
Wenn kein Handle angegeben wird, macht adduser _einen neuen Handle (wenn er noch nicht existiert) und fügt den Host von nickname (in der Form *!host@*.domain) zu diesem neuen Handle hinzu. Falls handle angegeben ist, fügt der Befehl einfach den Host von nickname zum handle hinzu. |
.adduser tester |
.+user <handle> [host] |
Erstellt einen neuen Handle und fügt dem (wenn angegeben) einen neuen Host hinzu. |
.+user tom *tom*!*tom@*.hispeed.ch |
.-user <handle> |
Entfernt einen Handle. |
.-user Gregory |
.+host <handle> <hostmask> |
Fügt einem Handle einen Host hinzu. |
.+host Jochen *!*jochen@*.ipt.aol.com |
.-host <handle> <hostmask> |
Entfernt einem Handle einen Host. |
.-host TheGame *!*dede@*.tiscalinet.ch |
.whois <handle> |
Listet die Flags und Hosts von handle auf. |
.whois tester |
.chattr <handle> [changes] [channel] |
Ändert die Flags eines Handles. |
.chattr SuperLame +fmo #switzerland .chattr krusty +o |
.chpass <handle> [passwort] |
Verändert das Passwort von Handle. Wenn kein Passwort eingegeben wird, dann wird das Passwort entfernt. |
.chpass tester 3718419 |
.chhandle/.chnick <altes_handle> <neues_handle> |
Verändert den Handle. |
.chhandle tom_ tom |
5.2 Bans, Exempts und Invites
Jetzt kommen die Bans, Exempts und Invites.
Für den Anfang sag ich dir zuerst was das überhaupt ist:
+b – Ban – Mit dem Ban kann man Chatter bannen damit sie nicht mehr reinkommen. Wenn man auf dem IRC zB.: /mode #channel +b *!*asdf@*.freesurf.ch macht und dann jemanden kickt welcher zu diesem Host passt, dann kann er nicht mehr rein 🙂
+e – Exempt – Ein Exempt ist eine Ausnahme von einem Ban. Also wenn man zB. *!*@*.ch bant und eine Ausnahme auf *!*@*.tiscalinet.ch setzt, dann können alle Users von *!*@*.tiscalinet.ch reinkommen, aber die anderen User aus *!*@*.ch nicht. Exempts existieren nicht auf allen Servern.
+I – Invite – Das sind Einladungen für bestimmte Hosts, für Channels welche +i sind (verwechsle +i, kleines i, mit +I, grosses i, nicht!). Wenn man also eine Einladung auf *!*@*.ch setzt und auf dem Channel +i einstellt, dann können nur Users aus *!*@*.ch reinkommen. Invites existieren nicht auf allen Servern.
Hier siehst du eine Liste von den Befehlen mit dem Umgang mit Bans:
Befehl |
Beschreibung |
Beispiel |
.bans all |
Zeigt alle Banns an. | |
.bans <#chan> |
Zeigt alle Banns von einem bestimmten Channel an. | |
.+ban <hostmask> [channel] [%bantime<XdXhXm>] [reason] |
Fügt einen Bann hinzu. |
.+ban *!*@*.pl .+ban *test*!*@*.ch #ch-opers Raus! .+ban *!*elpison@*.cyberhome.ch #schweiz %1d2h3m lamer |
.-ban <hostmask|bannummer> [channel] |
Entfernt einen Bann. |
.-ban *!*@*.pl .-ban *!*elpison@*.cyberhome.ch #lol .-ban 1 .-ban 1 #test |
Die angegebenen Befehle kann man auch mit Exempts und Invites benutzen. Sie heissen dann .exempts, .+exempt und .-exempt bzw. .invites, .+invite und .-invite.
5.3 Sonstige Befehle
Jetzt zeig ich dir noch kurz eine Liste anderer nützlicher Befehle.
Befehl |
Beschreibung |
Beispiel |
.msg <#chan> <text> |
Sendet etwas zum Channel. |
In der Party-Line: |
.act <#chan> <action> |
Sendet eine Action zum Channel (wie /me). |
In der Party-Line: |
.op/.deop/.voice/.devoice <#chan> <nick> |
Opt/Deopt/Voict/Devoict jemanden auf dem angegebenen Channel. |
zB.: |
.topic <#chan> [topic] |
Ändert den Topic eines Channels. Wenn kein Topic angegeben wird, dann wird der aktuelle Topic angezeigt. |
In der Party-Line: |
.kick <#chan> <nick> [reason] |
Kickt jemandem vom Channel mit einem eventuellen Reason. |
In der Party-Line: |
.kickban <#chan> <nick> [reason] |
Bannt und kickt jemandem vom Channel mit einem eventuellen Reason. |
In der Party-Line: |
.invite <nick> <#chan> |
Invited jemanden in einen Channel. | |
.channel <#chan> |
Zeigt die Informationen zum Channel an. Unbedingt mal ausprobieren 🙂 |
6.1 Was ist Linken?
Linken heisst nichts anderes als verbinden. Wenn man also zwei oder mehrere Bots hat, dann sollte man sie linken. Das Linken hat folgende Vorteile:
-
Wenn man die Bots mit Userlist-Austausch linkt, wird die Userliste in allen Bots gleich bleiben. Wenn man also zum Beispiel in Bot1 .chattr tester +d eintippt, wird das in alle anderen Bots übertragen.
-
Man kann Botnet-Scripts ausführen mit welchen sich zum Beispiel die Bots OHNE ein +a Flag automatisch oppen über das Botnet. Diese Methode ist viel sicherer als +a.
-
Wenn man etwas in der Party-Line sagt, dann wird das auch in allen anderen gelinkten Bots angezeigt. So kann man sich zu einem Fremden Botnet linken und kann über die Party-Line mit den anderen Bot-Besitzern chatten.
6.2 Linken der Bots ohne Userlist-Austausch
Man kann ganz einfach und ohne Probleme Bots ohne Userlist-Austausch linken. Ich nehme als Botnamen bot1 und bot2, wobei bot1 der Hauptbot ist. Dabei wird sich bot2 zu bot1 verbinden und nicht umgekehrt (man macht das immer so). Bot1 sollte die stabilste Leitung haben. Und so gehts:
In bot1:
.+bot bot2 host.vom.bot2.de:3333 *!*bot2@host.vom.bot2.de
In bot2:
.+bot bot1 host.vom.bot1.de:3333 *!*bot1@host.vom.bot1.de
Wenn man die beiden Befehle eingibt, sind die Bots schon bereit zum Linken.
Hier noch eine genaue Beschreibung des Befehls .+bot:
.+bot <Handle> [StatischerHost:[TelnetPort]] [Hostmask]
Handle: Das Handle des Bots in der Userlist (bekommt automatisch das +b Flag)
StatischerHost: Das MUSS ein statischer Host sein. Der Bot wird sich dann zu diesem Host verbinden. Wenn der Bot eine dynamische IP hat dann musst du einen statischen Account einrichten, welcher auf die IP des Bots verweist. Man ändert dann bei jedem IP-Wechsel die IP in der Datenbank und die Bots können sich linken. Es gibt diesen Service übrigens gratis bei http://www.dyndns.org/
TelnetPort: Das ist der Port, welchen man unter listen xxxx all beim zu linkenden Bot eingestellt ist. Wenn keiner angegeben wird, dann wird 3333 verwendet.
ACHTUNG: Wenn ein Bot z.B. in einem LAN ist, kann von ihm aus keine Verbindung hergestellt werden (aber umgekehrt). Wenn beide Bots in verschiedenen LANs sind, kann kein Botlink gemacht werden.
Hostmask: Diese Hostmask darf dynamisch sein. Es ist eine normale Hostmask des Bots im IRC.
Es wäre nicht schlecht wenn beide Bots auch die Flags +fo hätten. Stelle das noch mit .chattr ein (wenn du nicht weisst wie das geht, dann schäm dich und lies Eggdrop bedienen nochmal durch!). Die Bots sind aber noch nicht gelinkt. Man muss noch in bot2 den Befehl .link bot1 eingeben. Erst dann verbindet sich bot2 zu bot1. Bei Problemen versuchs mal umgekehrt (bei bot1: .link bot2). Anhand der Meldung erkennst du ob sie richtig gelinkt wurden. Wenns nicht geht, dann hast du wahrscheinlich etwas falsches eingetippt, oder beide Bots sind im LAN. Wenn du nicht mehr weiterkommst, schick mir eine E-Mail. Willst du das sich die Bots automatisch linken? Dann tippe in bot2 noch ein:
.botattr bot1 +h
6.3 Linken der Bots mit Userlist-Austausch
Lies zuerst den ganzen Abschnitt Linken der Bots ohne Userlist-Austausch durch und füge die Bots mit .+bot hinzu. Linke sie aber noch nicht mit .link und setze auch noch nicht das +h Flag! Du musst jetzt die Botflags richtig einstellen. bot1 wird der Hub-Bot sein (Hauptbot) und speichert die Userliste. Folgendes musst du eintippen.
In bot1:
.botattr bot2 +gs
In bot2:
.botattr bot1 +ghp
Erst jetzt kannst du sie mit .link linken. Wenns nicht geht, dann schreib mir ein Mail.
Was die Bot-Flags bedeuten erklär ich dir in dieser Tabelle.
+a |
Dies ist ein Alternativ-Hub. Wenn alle +h Bots down sind, dann linkt er sich zum +a Bot. |
+g |
Die Userlist wird mit diesem Bot ausgetauscht. |
+h |
Das ist der Hub des Bots. Der Bot linkt sich automatisch mit dem Hub. Es kann auch mehrere geben. Der Bot linkt sich dann aber trotzdem nur zu einem. |
+i |
Wenn eine Verbindung mit diesem Bot hergestellt wurde, dann wird alles was die Party-Line-Chatter schreiben NICHT übertragen. |
+l |
Der Bot darf sich mit diesem Bot nicht linken. |
+p |
Die Userlist wird von diesem Bot empfangen. |
+r |
Keiner der Bots aus dem Botnet darf sich mit diesem Bot linken. |
+s |
Die Userlist wird zu diesem Bot gesendet. |
Ich muss wohl nicht mehr erklären das man die Botflags mit .botattr setzt. Es gibt noch das globale User-Flag +u. Dieser Benutzer wird NICHT zu den anderen Bots bertragen.
6.4 Sonstige Befehle
Hier noch einige nützliche Befehle:
Befehl |
Beschreibung |
Beispiel |
.botinfo |
Zeigt Informationen von jedem Bot im Botnet. | |
.bots |
Zeigt alle Bots an | |
.bottree |
Eine schöne Darstellung des Botnets. | |
.chaddr <bot> <neue_adresse> |
ändert die Adresse des Bots. |
.chaddr Bot2 62.2.84.27:3333 |
.link [bot2] <bot1> |
Verbindet zwei Bots. Wenn zwei Bots angegeben sind, dann verbindet es den ersten Bot mit dem zweiten Bot. Wenn nur ein Bot angegeben ist, dann wird der angegebene Bot zum Bot gelinkt, mit welchem du jetzt verbunden bist. |
.link bot2 bot3 |
.unlink [bot2] <bot1> |
Trennt die Verbindung des Bots. Sonst gleich wie oben (.link). |
.unlink bot5 |
7.1 Fertige Scripts herunterladen
Es gibt für Eggdrops sogenannte Scripts, mit welchem man die Funktionen vom Eggdrop fast unendlich erweitern kann. Du findest TCL-Scripts unter:
http://www.egghelp.org/tcl.shtml
http://mars.age.psu.edu/
Wenn du ein Script heruntergeladet hast, dann speicherst du es im Verzeichnis scripts, welches sich im Eggdropverzeichnis befindet. Anschliessend öffnest du das Config-File und fügst ganz hinten folgende Zeile ein, wobei scriptname natürlich für den Scriptnamen steht:
source scripts/scriptname.tcl
Dann tippst du in der Party-Line des Bots .rehash ein, damit die Änderungen wirksam werden. Schliesslich sollte das Script geladen sein. Wenn der Bot abstürzt dann entferne die soeben hinzugefügte Zeile und starte den Bot erneut. Das Script hatte wohl einen Fehler.
Wenn folgendes kommt:
[Zeit] TCL error [Prozedur]: Fehlermeldung
dann ist das Script auch fehlerhaft. Aber man kann es (vielleicht) noch benutzen.
7.2 Selber programmieren
Hier ist ein alter von mir angefangener TCL-Scripting-Kurs: http://www.eggdrop.ch/oldstuff/tcl.htm
Letzte Änderung: 27.07.03 Copyright (C) 2003 by Thomas „tom“ S. <tom at eggdrop.ch> |
Dieser Text gehört zu www.eggdrop.ch und ist urheberrechtlich geschützt. Das Weitergeben und Kopieren dieses Textes ist erwünscht unter folgenden Bedingungen: 1. Der Text muss so sein wie er ist und darf in keiner Weise verändert oder in die eigene Homepage integriert werden. 2. Es muss ein deutlicher Hinweis auf die Herkunft (www.eggdrop.ch) vorhanden sein. 3. Der Text sollte wenigstens alle 3 Monate auf Updates überprüft werden (siehe die Versionsnummer ganz am Anfang des Textes!)