Eggdrop Config File erstellen
Zuerst sollte man das Standartconfigfile "eggdrop.conf.dist" in etwas anderes umbenennen - z.B. in den Namen des Bots. Eggdrop hat viele Optionen, deswegen dauert es etwas das Config File zu editieren. Im Config File stellt man die Irc Server, die der Bot benutzen soll, die Channels in denen der Bot sein soll und viele andere Dinge. Es ist empfehlenswert sich das komplette Config File durchzulesen um sicher zu gehen, dass der Bot richtig eingestellt ist. Alle Optionen des Config Files haben Erläuterungen die man genau lesen sollte, manche sind jedoch etwas unverständlich.
Wenn man das Config File auf dem eingenen Rechner editiert (oft einfacher und schneller für Anfänger) muss man es danach natürlich wieder in das Verzeichnis des Bots laden.
Weiter unten werden einige Empfehlungen zu ein paar Einstellungen gemacht, allerdings ist es keine komplette Liste. Falls man einen Eggdrop älter als 1.3.27 benutzt sind einige Optionen vielleicht anders oder garnicht vorhanden. Einige Einstellungen sind auskommentiert (vorangestelltest #), dass eine Einstellung auskomment ist kann entweder bedeuten , dass sie nicht benutzt wird oder dass die standart Einstellung verwendet wird. Indem man das # entfernt kann man die Einstellung aktivieren. Viele der Optionen können entweder 0 oder 1 sein, 0 heisst normal dass die Einstellung deaktiviert ist, 1 das Gegenteil.
set username: wenn die Shell identd laufen hat (haben fast alle), sollte man hier den Loginnamen eintragen.
set admin "Lamer <email: lamer@lamest.lame.org>": hier wird die Email Adresse des Owners eingetragen.
set network "I.didnt.edit.my.config.file.net": hier wird das Irc Netz eingetragen in dem der Bot läuft.
set my-hostname and set my-ip: man muss hier etwas eintragen falls man einen Vhost benutzen will. Die my-hostname Einstellung ist der VHostname z.B. linux.goodshells.net, my-ip ist die IP des Vhosts z.B. 137.1.87.65. Normal reicht es my-ip richtig einzustellen, aber es kann helfen my-hostname ebenfalls einzustellen wenn es Probleme mit DNS gibt.
logfile: logs aufzubewahren ist eine gute Idee. Normal sollte man ein Log für den Bot und eines für die Channels haben. Für den Bot fügt man die Zeile "logfile mcoboxs * "botnick.log"" hinzu und für die Channel "logfile jkp #chan "#chan.log", "logfile jkp #bla "bla.log"" usw. Die Standart Zeile für den #lamest wird entfernt. Falls man die logs in ein eigenes Verzeichnis legen will gibt man es im Dateinamen an "logs/bla.log" z.B. lässt das Logfile in den Ordner logs speichern.
set userfile "LamestBot.user": im Userfile werden die User records gespeichert.
set sort-users: normal werden die userfile Einträge in der Reinfolge sortiert, in der sie erstellt wurden. Wenn diese Einstellung auf 1 gesetzt wird ordnet der Bot das Userfile nach Userflags.
listen 3333 all: diese Option wird man fast immer ändern da meinstens schon ein Bot auf dem Port 3333 läuft. Von 1024 bis 65536 ist alles erlaubt. Falls man es auskommentiert geht telnet und /ctcp bot chat nicht.
set protect-telnet: aus Sicherheitsgründen ist es empfehlenswert hier 1 einzutragen.
set require-p: um genau zu bestimmen wer Partyline Zugriff haben soll und wer nicht ist es sinnvoll hier 1 einzutragen.
set stealth-telnets: wenn jemand zu dem Bot telnetet wird normal der Nickname und die Version des Bots angezeigt. Falls viel Wert auf Sicherheit gelegt wird sollte man diese Option aktivieren.
set dcc-flood-thr: diese Einstellung legt fest wieviele Zeilen jemand wie schnell in die Partyline schreiben kann bevor er wegen flood gekickt wird. Es kann sinnvoll sein den Wert auf 5 oder 10 zu erhöhen wenn z.B. etwas gepastet werden soll.
set hourly-updates: es ist gut diese Einstellung zu verändern, falls einige andere Bots auf der Shell laufen, da es dann um jede volle Stunde schon relativ viel Belastung für den Server gibt.
set owner: hier sollte es nur eine eingetragene Person geben - den Besitzer des Bots. "MrLame, MrsLame" sollten also gelöscht werden.
set notify-newusers: hier trägt man den eigenen Nick auf dem Bot ein. Falls learn-user deaktiviert ist hat es allerdings keinen Effekt.
set default-flags: das sind die Flags, die ein User automatisch bekommt wenn er sich dem Bot per hello command vorstellt (wenn learn-user aktiviert ist) oder per .adduser geaddet wird.
set remote-boots: bei der standart Einstellung 2 kann von jedem Bot gebootet werden was manchmal stören kann. 0 oder 1 ist sinnvoller falls das Botnet groß ist.
unbind dcc n tcl *dcc:tcl and unbind dcc n set *dcc:set: diese Zeilen deaktivieren den .tcl und den .set Befehl. Anfänger sollten es so lassen, da man per .tcl Befehle auf der Shell ausführen lassen kann. Wenn man ein Tcl Script schreibst sind sie aber sinnvoll.
set must-be-owner: wenn die .tcl und .set Befehle nicht deaktiviert sind sollte man es auf 1 oder ab Eggdrop 1.3.26 auf 2 setzen, so dass nur permanente Owner diese Befehle benutzen können.
set chanfile: im Channel file werden die Einstellungen für die dynamischen Channels gespeichert, so dass der Bot z.B. nach .restart diese Channels rejoint. Dynamische Channels sind die, die man per .+chan hinzugefügt hat. Sie stehen nicht im config file.
channel add: das ist der Befehl den man benutzt um per config file channels zu adden. Es gibt viele optionen für diesen Befehl. Channels werden in folgendem Format geaddet:
channel add #test {
options
}
channel set #test +option -option
Alle Optionen werden im config file erklärt. Die Beispiele für #lamest und #botcentral sollten entfernt werden.
set nick: das ist der Nickname des Bots. Es ist nicht empfehlenswert [] {} \ Zeichen in dem Namen zu benutzen, da es zu Problemen mit einigen Tcl´s führt. Falls man sie doch benutzte immer ein \ voranstellen z.B. \[Bot\].
set altnick: der alternative nick falls der normale besetzt ist. Für die Klammern gelten die gleichen Regeln wie bei set nick.
set realname "/msg LamestBot hello": hier wird der Name eingetragen, der bei /whois angezeigt wird.
set servers: man sollte mehrere Server eintragen falls der Bot keine Verbindung zu einigen aufbauen kann. Die Server werden im folgenden Format eingetragen:
set servers {
irc.chitchat.com:6667
irc.talkworld.com:6665
irc.nice.net:6667
}
set use-ison: sollte man auf 1 lassen, da der Bot sonst den trace Befehl benutzt und er vielleicht gek-lined wird.
set strict-host: wenn man das auf 0 setzt ignoriert der Eggdrop ein ~ in den idents. Da es umständlich ist die idents immer zu adden wenn der ident Server zu langsam ist sollte man es auf 0 lassen.
set server-cycle-wait: normal wartet Eggdrop 60 Sekunden zwischen den Verbindungsversuchen zu den irc servern. Das ist eine relativ lange Zeit, aber nötig um k-lines zu vermeiden wenn zuviele Verbindungs Versuche in zu kurzer Zeit kommen. Man kann es aber durchaus auf 20 setzen.
set trigger-on-ignore: wenn man diese auf 1 setzt wird die ignore Funktion von Eggdrop relativ nutzlos. Sollte auf 0 bleiben.
set bounce-bans: falls diese auf 1 gesetzt wird entfernt der Bot, alle Bans die der Irc Server setzt.
set bounce-modes: falls diese auf 1 gesetzt wird entfernt der Bot alle Modes, die der Irc Server setzt.
set learn-users: diese wichtige Einstellung legt fest wie User in den Bot geaddet werden. Falls sie auf 1 gesetzt ist können sich User mit dem bei "bind msg - myword *msg:hello" festgelegten Befehl in den Bot adden, sie erhalten dabei die Default Flags. Falls sie auf 0 gesetzt ist müssen die User von einem Master oder Owner per .+user oder .adduser geaddet werden.
unbind msg - hello *msg:hello and bind msg - myword *msg:hello: diese erlauben den hello Befehl zu ändern. Indem man "myword" ändert legt man den neuen hello Befehl fest. Falls learn-users aktiviert ist wird dieser Befehl benutzt um Leuten zu erlauben sich in den Bot zu adden.
unbind msg - ident *msg:ident and unbind msg - addhost *msg:addhost: diese Zeilen enfternen die ident und addhost Komandos. Da man diese Befehle öfter braucht ist es sinnvoll die Zeilen entweder zu komentieren oder ident auf einen anderen Befehl zu binden (um ident in den Befehl muh zu ändern z.B. "bind msg - muh *msg:ident"), was zusätzliche Sicherheit bringt.
set dcc-block: obwohl das Config File empfiehlt diese Einstellung auf 0 (Turbo DCC) zu setzen kann das vorzeitig beendete DCC Übertragungen verursachen. Falls man DCC Transfers oft benutzt sollte man es auf 1024 setzen.
#loadmodule seen: Da seen recht nützlich ist kann man es generell laden lassen indem man das # entfernt.
set notefile "LamestBot.notes": hier werden die Notes gespeichert.
#checkmodule blowfish: Das "#" löschen da der Bot sonst nicht startet.
Zum Schluss muss man noch die "die" Commands aus dem Config File entfernen, es gibt 2, oder der Bot wird nicht starten.