Eggdrop FAQ

 

Fragen zur Benutzung:
Ist es möglich verschiedene Eggdrop Versionen miteinander zu linken?
Warum kommt der Eggdrop nicht in den IRC, obwohl ich ihn gestartet habe?
Was benötige ich für die File-Area?
Welche Ports kann ein Eggdrop benutzen?
Wie ändert man den Host eines Eggdrops?
Wie ändert man den Nick eines Eggdrops per Partyline?
Wie baut man eine Telnet-verbindung zum einem Eggdrop auf?
Wie beendet man einen Eggdrop per Shell?
Wie konvertiere ich ein 1.1.5 Userfile zu 1.3/1.4?
Wie lasse ich den Bot User auto voicen wenn sie joinen?
Wie lasse ich den Bot User auto oppen wenn sie joinen?
Wie läßt man einen Eggdrop einen DCC Chat initiieren?
Wie läßt man einen Eggdrop einen Channel mit Key joinen?
Wie kann man die ident eines Eggdrops ändern?
Wie kann man ein Backup eines Userfiles erstellen?
Wie kann man NO_IRC oder Limbo Bots erstellen?
Wie kann man User/Hostmask adden?
Wie kann man sich alle User eines Eggdrops auflisten lassen?
Fragen zu Fehlermeldungen:
Fehler: CAN'T WRITE TO TEMP DIR
Fehler: Couldn´t grab nearby port
Fehler: Der Bot zeigt komisch Meldungen wie "MSG33A" an
Fehler: Ich hab Channel Settings im Config File geändert, aber der Bot übernimmt sie nicht
Fehler: Invalid command name "channel"
Fehler: Please select an encryption module
Fehler: (!) timer drift -- spun X minutes
Fehler: USER FILE NOT FOUND!
Andere Fragen:
Was bedeutet 'aggressive/passive sharing'?
Was ist ein Vhost?
Was ist ein Modul?
Wie kann ich in dem Nickname eines Eggdrops die Zeichen {[$]} benutzen?
Wo gibt es kostenlose Shells für Eggdrops?
TCL Fragen:
Wie kann ich in einem TCL fette, farbige, invertierte und unterstrichene Schrift benutzen?
Wie sende ich CTCPs, CTCP Antworten und /me´s mit TCL?

 

Eggdrop Fragen:

 

Fragen zur Benutzung:

 

Frage: Ist es möglich verschiedene Eggdrop Versionen miteinander zu linken?

Antwort: Linken und sharen funktioniert zwischen den verschiedenen Eggdrop 1.3/1.4/1.5 Versionen. Ältere Bots wie 1.0/1.1 können mit den neueren Eggdrops gelinkt werden, aber nicht Userfiles sharen.

 

Frage: Warum kommt der Eggdrop nicht in den IRC, obwohl ich ihn gestartet habe?

Antwort: Das ist meistens ein Problem mit der IP, entweder ist sie von deinem Shellprovider noch nicht eingerichtet oder sie ist auf allen IRC- Servern K-lined, in beiden fällen solltest du einfach eine andere IP ausprobieren, wenn du es bereits mit mehreren IPs probiert hast, solltest du eine mail an den admin schreiben.

 

Frage: Was benötige ich für die File-Area?

Antwort: Dazu müssen die Module 'transfer' und 'filesys' geladen und die Variablen 'files-path' und 'incoming-path' gesetzt sein 'files-path' ist der Pfad aus dem User Dateien laden können und 'incoming-path' ist der Pfad in dem eingehende Dateien ankommen.

 

Frage: Welche Ports kann ein Eggdrop benutzen?

Antwort: Jeder Port von 1024-65535 kann benutzt werden solange er frei ist. Falls er  doch belegt ist nutzt der Eggdrop automatisch den nächsten freien Port.

 

Frage: Wie ändert man den Host eines Eggdrops?

Antwort: Das geht natürlich nur wenn der Rechner auf dem der Bot läuft auch mehrere ip´s hat. Man trägt im Config File hinter "set my-ip" die gewünschte IP des Hosts ein (die muss man natürlich wissen...) "set my-host" ist oft nicht so wichtig.

 

Frage: Wie ändert man den Nick eines Eggdrops per Partyline?

Antwort: Wenn der set Befehl im Config File an ist einfach mit ".set nick <neuernick>". Ansonsten muss man wohl doch das Config File editieren.

 

Frage: Wie baut man eine Telnet-Verbindung zu einem Eggdrop auf?

Antwort: Wenn der Bot auf einem Vhost läuft dann telnettet man zu diesem Host, wenn er keinen hat dann telnettet man zu dem Host der Shell. Anstelle des Standart Telnet Ports benutzt man den, den man im Config File abgegeben hat. Man kann den Port auch herausfinden indem man ".dccstat" in der Partyline eingibt.
Für Windows: Start --> Ausführen --> "telnet <Bot-IP> <Bot-Port>" >enter<
Für Linux: Gib in der Konsole "telnet <Bot-IP> <Bot-Port>" ein.

 

Frage: Wie beendet man einen Eggdrop per Shell?

Antwort: Zuerst muss man die pid des Bots herausfinden indem man "ps x" eingibt. Dann kommt eine ähnliche Ausgabe:

PID  TTY  STAT  TIME  COMMAND
5461 ? S 0:03 ./eggdrop bot
28033 pts/0 S 0:00 -bash
28764 pts/0 R 0:00 ps x

Wenn man die pid des Eggdrops hat (in diesem Fall 5461), killt man ihn mit "kill -9 <pid>" hier wäre <pid> 5461.

 

Frage: Wie konvertiere ich ein 1.1.5 Userfile zu 1.3/1.4?

Antwort: Zuerst sollte man ein Backup des Userfiles auf den eigenen Rechner machen, falls etwas schief geht. Nachdem man den 1.3/1.4er Eggdrop installiert hat kopiert man das alte Userfile in das Verzeichnis, in das man den neuen Eggdrop installiert hat (in das selbe Verzeichnis wie die eggdrop.conf.dist). Dann gibt man "tclsh scripts/weed <userfile> c" ein, wobei <userfile> der Name des alten Userfiles ist.

 

Frage: Wie lasse ich den Bot User auto voicen wenn sie joinen?

Antwort: Um den Bot alle User mit +v auto voicen zu lassen, wenn sie den channel joinen muss man nur den channel +autovoice setzen, indem man ".chanset <#chan> +autovoice" eingibt. Man kann den Bot auch spezielle User auto voice lassen indem man ihnen mit ".chattr <handle> +g <#chan> die +g Flag gibt (Achtung, diese flag gibt es noch nicht so lange).

 

Frage: Wie lasse ich den Bot User auto oppen wenn sie joinen?

Antwort: Um den Bot alle User mit +o auto oppen zu lassen, wenn sie den channel joinen muss man nur den channel +autoop setzen, indem man ".chanset <#chan> +autoop" eingibt. Man kann den Bot auch spezielle User auto oppen lassen indem man ihnen mit ".chattr <handle> +a <#chan> die +a Flag gibt.

Frage: Wie läßt man einen Eggdrop einen DCC Chat initiieren?

Antwort: Man gibt  "/ctcp <bot> chat" ein.

 

Frage: Wie läßt man einen Eggdrop einen Channel mit Key zu joinen?

Antwort: Am besten ist ".chanset <#chan> need-key putserv "join <#chan> <Key>". Einfacher: Man addet den Channel mit ".+chan <#chan>" und gibt dann ".dump join <#chan> <Key>" ein, so rejoined er aber nicht.

 

Frage: Wie kann man die ident eines Bots ändern?

Antwort: Wenn der Ident Daemon auf dem Server läuft (und das dürfte der Fall sein) geht das nicht.

 

Frage: Wie kann man ein Backup eines Userfiles erstellen?

Antwort: Es ist wichtig regelmäßig Backups der Userfiles auf dem eigenen Rechner zu machen, anstatt sich auf die Userfiles auf dem Server des Bots zu verlassen. Um ein Backup zu machen verbindet man sich per FTP mit seinem Shell Account und läd das Userfile auf den eigenen rechner (z.b. eggdrop.user). Falls das Userfile dann verloren geht muss es nur wieder auf den Server geladen werden.

Frage: Wie kann man NO_IRC oder Limbo Bots erstellen?

Antwort: Einige User benutzen gerne Limbo oder Offline Bots als Hub Bots. Ein Limbo Bot kann ein besserer Hub sein, da er alle Ressource für das Botnet frei hat, er muss sich nicht mit IRC Aufgaben beschäftigen. Er ist außerdem sicherer und weniger anfällig für Angriffe da weniger Leute seine IP haben. Ein Nachteil ist dass es schwerer ist auf einen Limbo Bot zuzugreifen, da man Telnet  oder .relay benutzen muss. Außerdem zählt er als Hintergrundprozess auf dem Shell Account.

Es ist nicht weiter schwer einen Limbo Bot zu erstellen, bei 1.3/1.4 kommentiert man die Zeilen loadmodule server, loadmodule ctcp und loadmodule irc im Confgfile des Bots aus indem man jeweils ein # davor stellt. Jetzt muss der Bot noch komplett neu gestartet werden, und der Limbo Eggdrop ist fertig.

Das Hauptproblem dass man mit solchen Bots haben kann ist, dass es Fehlermeldungen beim starten gibt. Meistens werden dieses Meldungen durch Tcl Scripts verursacht, die für Channel Betreuung geschrieben wurden (z.B. seen Scripts). Deswegen sollte man diese Scripts aus dem Config File löschen. Die botnet-nick Variable muss gesetzt werden.

 

Frage: Wie kann man User/Hostmasks adden?

Antwort: Es gibt 2 Möglichkeiten, wenn der User online und in einem Channel ist, in dem der Bot auch ist kann man ihn einfach per ".adduser <nick>" eintragen, und wenn nicht im IRC ist per ".+user <nick> (hostmask)". 
".adduser <nick>" hat den Vorteil das der Bot selber den Host des Users addet, bei ".+user" muss man das selber machen.
Den Host addet man mit ".+host <username> <host>".
Danach noch die Flags vergeben mit ".chattr <user> +/-<flags>" (wobei man mit globalem (o)p, bo(t)netmaster, (m)aster und besonders ow(n)er sehr aufpassen muss). Mit ".-host <handle> <hostmask>" kann man eine Hostmask entfernen, mit ".-user <handle>" einen User. Weitere Informationen zum User-File gibt es hier.

 

Frage: Wie kann man alle User eines Eggdrops auflisten lassen?

Antwort: Mit ".match * 999" in der Partyline.

 

Fragen zu Fehlermeldungen:

 

Fehler: Ich hab Channel Settings im Config File geändert, aber der Bot übernimmt sie nicht

Antwort: Die Einstellungen im Channelfile des Bots lassen ihn die, des Configfiles übergehen. Man muss den .chanset Befehl benutzen um Channel Einstellungen nach der Installtion des Bots zu ändern (z.B. ".chanset #channel +seen"). Mit ".help chanset" kann man sich weiter Informationen zu dem Befehl anzeigen lassen.

 

Fehler: Beim starten des Bots kommt die Fehlermeldung: "* CAN'T WRITE TO TEMP DIR".

Lösung: Erstelle ein Verzeichnis "tmp" in deinem Home Dir (mkdir ~/tmp), dann ändere in dem Config File des Bots 'set temp-path "/tmp"' zu dem Richtigen Verzeichnis Pfad "/home/you/tmp" z.B.. Windows: die Zeile "set temp-path "/tmp"" in "set temp-path "tmp/"" ändern und im Eggdrop Dir das Verzeichnis tmp erstellen.

 

Frage: Was bedeutet die Fehlermeldung "Couldn't grab nearby port" wenn ich versuche den Bot zu starten?

Antwort: Dieser Fehler bedeuted, dass irgendetwas mit dem vhost den du benutzt nicht stimmt, es bedeuted _NICHT_ das etwas mit dem Port nicht stimmt, da eggdrops sich automatisch den nächsten freien Port suchen, wenn ihr Standartport belegt ist. Bei dieser Fehlermeldung solltest du einfach eine andere IP/vhost probieren.

 

Fehler: Der Bot zeigt komisch Meldungen wie "MSG33A" an.

Lösung: Das kann passieren wenn die Language Files,die der Bot benutzt nicht zu der Eggdrop Version passen (z.B. wenn man ein Language File für 1.3.23 benutzt und einen 1.3.27er Eggdrop). Normalerweise wird das neue Language File bei der Installation des neuen Bots installiert. Wenn das nicht passiert ist sollte man den Bot am besten neu installieren (das user und config file kann meistens weiterbenutzt werden).

 

Fehler: Beim starten des Bots kommt die Fehlermeldung: "Invalid command name "channel"".

Lösung: Im Eggdrop installations Dir "make install" aufrufen, dann wird das Verzeichnis ~/eggdrop erstellt und die nötigen Eggdrop Dateien hinein kopiert.

 

Fehler: Beim starten des Bots kommt die Fehlermeldung: "Please select an encryption module".

Lösung: Dieser Fehler heißt das kein Verschlüsselungs Modul geladen wird. Öffne das Config File und lösch aus der Zeile "#checkmodule blowfish" das "#".

 

Frage: Ich bekomme manchmal die Meldung "(!) timer drift -- spun 5 minutes" was bedeutet das?

Antwort: Das bedeutet entweder, dass ein Script den Bot dazu bringt, 5 Minuten keine CPU Leistung 'abzubekommen' oder dass der Computer auf dem der Bot läuft sehr beschäftig bzw. überlastet ist und der Bot so für die angegebene Zeitspanne nichts machen konnte. Im ersten Fall solltest du versuchen, alle Scripts herauszunehmen und zu gucken ob der Bot besser läuft, wenn er dannach immer noch nicht besser läuft, solltest du dem Admin eine Mail schreiben und fragen, woran das liegt. Manchmal liegt es auch nur daran, dass die Serveruhr umgestellt wurde.

 

Fehler: Beim starten erscheint die Fehlermeldung "Error: * USER FILE NOT FOUND!"

Antwort: Vielleicht hast du noch keine userfile erstellt, in diesem Fall solltest du den Bot mit "./eggdrop -m <configfile>" starten.

 

Andere Fragen:

 

Frage: Was bedeutet 'aggressive/passive sharing'?

Antwort: Wenn ein Bot für agressives Sharing markiert ist, heißt das, dass ihm die Userfile zugeschickt wird, wenn ein Bot für passives Sharing markiert ist, nimmt der Bot von diesem Userfiles an.
 

Frage: Was ist ein Vhost?

Antwort: z.B. bei www.eggdrops.de ist das www der vhost und eggdrops.de die domain. Der Vhost kann auf länger sein z.B. dies.ist.ein.vhost.eggdrops.de (dies.ist.ein.vhost ist in diesem Fall der vhost).

 

Frage: Was sind Module?

Antwort: Module sind zusätzlicher c-code um die Funktionen des eggdrops zu erweitern, sind sind ähnlich TCL Scripts, nur das man damit mehr Möglichkeiten hat und Module in C sind und nicht in TCL.

 

Frage: Mein Bot soll einen Nick mit "{", "[", "$" oder "(" haben, aber ich bekomme eine Fahlermeldung, was kann ich dagegen tun?

Antwort: Diese Zeichen haben in Strings eine bestimmte Bedeutung in TCl, um sie als normale Zeichen interpretieren zu lassen, musst du davor ein "\" setzen, zum Beispiel so: "set nick \[collerbot\]".

 

Frage: Wo gibt es kostenlose Shells für Eggdrops?

Antwort: Normal findet man keine Provider die kostenlos Shell Accounts anbieten, auf denen man Eggdrops laufen lassen darf. Eggdrops sind Ressourcen intensiv und locken flooder, hacker und Leute die den Service mißbrauchen an. Deswegen wäre es für den Provider schädlich. Provider die kostenlose Shell Accounts anbieten, auf denen Eggdrops erlaubt sind, sind oft unzuverlässig, unsicher und werden nicht lange online sein.

Obwohl es kaum Provider gibt, die kostenlose Shells anbieten, gibt es trozdem einige Wege einen kostenlosen Shell Account zu bekommen. Einige haben Freunde mit eigenen Servern, auf denen sie einen kostenlosen Account bekommen können oder sie linken zu einem Shell Provider und bekommen dadurch einen Shell Account.

Es gibt natürlich auch Leute, die Server cracken oder anderer Leute Credit Karten Nummer benutzen und sich so illegal Shell Accounts besorgen.

 

Fragen zu TCL:

 

Frage: Wie kann ich einen Bot mIRC Format Codes (Bold, Underline, Color, Reverse) benutzen lassen?

Antwort: Anstelle der Codes kannst du
/002 für Bold (Fett)
/003<Farbecode> für Color (Farbe)
/022 für Reverse (Invertiert)
/031 für Underline (Unterstrichen)
einfügen.

 

Frage: Wie sendet man CTCPs, CTCP Antworten und /me´s mit TCL? 

Antwort (CTCP): putserv "PRIVMSG <nick> :\001<ctcpcommand>\001" Example: putserv "PRIVMSG $nick :\001PING [unixtime]\001" 

Antwort (CTCP Reply): putserv "NOTICE <nick> :\001<ctcpcommand> <replyargs>\001" Example: putserv "NOTICE $nick :\001PING
$arg\001" 

Antwort (Action): putserv "PRIVMSG <channel> :\001ACTION <message>\001"