Eggdrop - Konfiguration

So, öffne jetzt mal das Konfigurationsfile mit einem Editor wie Notepad (Windows) oder pico (Linux).

Du kannst dir die mit dem Eggdrop mitgelieferte Config-Datei natürlich auch ohne die Beschreibung lösen, aber nur wenn du englisch kannst.

Beachte beim editieren der botconf folgendes:

Also... hier hab ich mal eine "kurze" Beschreibung des Config-Files (Hinweis: Das laden der Tabelle kann je nach Internet-Leitung lange dauern):

  Eintrag im Config-File Beschreibung
  #c:\eggdrop Hmm... der Pfad zum Eggi... bei Windows sieht das etwa so aus: c:\eggdrop und bei Linux etwa so: /home/eggdrop
^ set username "identd" Hier muss man den IdentD eintippen. Das sieht dann so in im IRC aus:
nick!identd@host.domain
^ set admin "botadmin <email: botadmin@email.com>" Der Admin(istrator) des Bots sollte hier mit der E-Mail-Adresse eingegeben werden.
  set network "IRCnet" Hier... (nicht unbedingt nötig) kann man einen Namen des Nets auf welchem der Bot läuft eintippen. Das sollte in der Regel bei IRCnet bleiben.
$ set timezone "EST" Lol, die Timezone...würd ich so lassen...
! set offset "5" Diese Zeile ist auch nicht wichtig. Man kann es so lassen oder ein "#" vor die Zeile setzen.
F #set my-hostname "virtual.host.com" Wenn man mehrere Hostnamen/IPs hat, kann man in dieser Zeile den Hostnamen angeben und das "#" löschen ;-)
F #set my-ip "99.99.0.0" Und hier das gleiche mit der IP...
  addlang "german" Hehe, wenn man kein Englisch kann dann spricht hier der Bot auf Deutsch... was es für Sprachen gibt kann man im Verzeichnis eggdropverzeichnis/language nachschauen
     
  set max-logs 5 Max. Anzahl der Logfiles...
  set max-logsize 0 Hier kann man die max. grösse eines Logfiles in KB angeben.... 0 bedeuted unendlich.
! set quick-logs 0 -
^ logfile msbcxow * "eggdrop.log"
logfile kj #liebling "liebling.channel.log"
logfile kjp #lamer "lamer.channel.log"
Und hier... kann man dem Eggi sagen, was für Logfiles er erstellen soll. Hier die Syntax:

logfile <events> <channel> <logfile-name>

Events:

m =  Private MSGs/CTCPs zum Bot
k = Kicks, Bans, Modes auf dem Channel
j = Joins, Parts und Netsplits auf dem Channel
p = Chatter auf dem Channel
s = Connects/Disconnects und Notices vom Server
b = Infos über das Linken von Bots & co ;-).
c = Befehle welche über MSG oder DCC-Chat ausgeführt werden
x = File Transfers und Befehle in der File-Area
r = ALLES was der Bot zum Server sendet (hae?)
o = Anderes: verschiedene Infos, Fehler etc.
w = Wallops

Channel:

#channelname = Es wird nur vom Channel geloggt
* = Alle Channels (sollte bei sbcxow so sein)

Man kann beliebig viele Logfiles erstelen (siehe set max-logs)
Links sieht man nur ein kleines Beispiel ;-)

$ set log-time 1 Soll die Zeit in Logfiles angezeigt werden? Ja = 1, Nein = 0
! set keep-all-logs 0 -
! set switch-logfiles-at 300 -
$ set quiet-save 0 Wenn das auf 1 ist wird "Writing user file..." und "Writing channel file ..." nicht mehr in der Party-Line angezeigt
  set console "mkjsbcxo" Und hier (siehe oben) muss man einstellen was in der Party-Line alles angezeigt werden soll.
^ set userfile "botnick.user" Hier muss man den Dateinamen von der Userlist (Benutzerlsite) eingeben. Dort werden alle benutzer gespeichert.
  set sort-users 0 Soll die Userlist alphabetisch geordnet werden?
! set help-path "help" Der Pfad zum Hilfe-Verzeichnis
! set temp-path "tmp" Der Pfad zum Verzeichnis in welchem Temporäre Dateien abgelegt werden. Er muss existieren oder der Bot startet nicht!
  set motd "motd" Pfad zur Datei mit der MOTD (Message of the day). Wird bei jedem joinen der Party-Line angezeigt.
  set telnet-banner "telnet-banner" In einer Telnet-Sitzung wird statt der MOTD das Telnet-Banner angezeigt. Hier muss man auch den Pfad angeben.
* set botnet-nick "botnick" Nick des Bots im Botnet.
^ listen 3333 all Hmm...das ist der Telnet-Port welchen Eggdrop benutzt (natürlich kann man ihn ändern ;->)
$ set protect-telnet 0 Telnet-Sessionen aus unbekannten Hostmasks verweigern?
Ich würde das auf 0 lassen, weil wenn plötzlich der Provider die Hostmask wechselt oder du bei einem anderen PC bist dann haste sonst keinen Access mehr auf den Bot.
! set dcc-sanitycheck 0 -
! set ident-timeout 30 Öhm... sollte klar sein, ein Timeout für Ident-Lookups...
$ set require-p 0 Brauchen Benutzer mit den Flags "+o", ein "+p" um in die Party-Line zu kommen? Um das einzustellen zu können musst du natürlich ein bisschen erfarhrung mit Flags und so haben.
$ set open-telnets 0 Dürfen Leute mit Telnet einloggen und mit "NEW" werden sie in den Bot eingetragen? Wenn open-telnets auf 1 ist dann muss protect-telnet auf 0 sein!
! set stealth-telnets 0 -
  set use-telnet-banner 0 Soll das Telnet-Banner verwendet werden?
$ set connect-timeout 15 Wie lange (in Sekunden) soll der Bot warten, bis ein DCC-Chat, Telnet usw. wegen (Ping)-Timeout geschlossen wird?
  set dcc-flood-thr 3 Wieviele Zeilen werden in der Party-Line, Telnet als flood bezeichnet (und der User wird rausgeschmissen.. hehe)
$ set telnet-flood 5:60 Wieviele versuche sich vom selben Host zu connecten werden als flood bezeichnet?
Syntax: set telnet-flood <Versuche>:<Sekunden>
$ set paranoid-telnet-flood 1 Wenn das auf 0 ist, dann werden Users mit "+f" wegen Telnet-Flood NICHT rausgeworfen. Ich würde das auf 1 lassen, denn es ist besser, dass es keinen flood in der Party-Line hat.
! set resolve-timeout 30 Wie lange soll der Bot warten, bis er eine/n Hostname/Adress-Lookup vom Server bekommt?
     
$ set ignore-time 15 Wie viele Minuten soll der Bot Leute ignorieren welche im IRC flooden?
! set hourly-updates 00 -
* set owner "botadmin" Name des Besitzers vom Bot.
! set notify-newusers "$owner" Wem soll der Bot eine Notitz senden, wenn neue Users "gelernt" werden?
$owner = Inhalt der Variable owner (siehe set owner "botadmin")
! set default-flags "hp" Welche Flags sollen solche "gelernten" Users bekommen? (siehe Handles uind Flags)
! set whois-fields "url birthday" -
! set remote-boots 2 Lass das auf 2.
! set share-unlinks 1 -
! set die-on-sighup 0 Lass das auf 0. Der Bot stürzt dann weniger ab.
! set die-on-sigterm 0 Hier das gleiche.
$ unbind dcc n tcl *dcc:tcl
unbind dcc n set *dcc:set
Diese zwei Zeilen deaktivieren die Befehle .tcl und .set (mit ihnen kann ein Besitzer TCL-Befehle ausführen), da sie eine Sicherheitslücke bilden. Leute, welche die Besitzer des Bots sorgfältig auswählen können diese beiden Zeilen mit einem "#" auskommentieren.
! set must-be-owner 0 -
$ unbind dcc n simul *dcc:simul Das deaktiviert den Befehl .simul. Man kann mit ihm andere Leute in der Party-Line simulieren. Eigentlich könnte man diese Zeile mit einem "#" deaktivieren und .simul wäre vorhanden *g*.
$ set max-dcc 50 Max. Anzahl DCC-Verbindungen.
! set dcc-portrange 1024:65535 Die Portrange von DCC-Verbindnungen zum Bot
! set enable-simul 1 -
! set allow-dk-cmds 1 -
! set mod-path "modules" Das so lassen... ist der Patch für die Module....
! loadmodule channels Ladet den Channel-Support von Eggdrop
^ set chanfile "botnick.chan" Pfad zu der Datei mit dynamischen Channels.
  set ban-time 60 In wievielen Minuten sollen Bans weggenommen werdden? (0 = nie)
  set exempt-time 60 In wievielen Minuten sollen Ausnahmen (+e) weggenommen werdden? (0 = nie)
  set invite-time 60 In wievielen Minuten sollen Einladungen (+I) weggenommen werdden? (0 = nie)
    Ich würde diese drei Einstellungen NICHT auf 0 tun.
! set share-greet 0 -
! set use-info 1 Users erlauben eine Info-Line zu machen? (Weisste nicht was das ist? Werde ich später vielleicht mal bei den MSG-Commands erklären.)
    Die Flood-Einstellungen kommen jetzt ;-)
  set global-flood-chan 5:20 AnzahlZeilen:AnzahlSekunden
  set global-flood-deop 3:10 AnzahlDeops:AnzahlSekunden
  set global-flood-kick 3:10 AnzahlKicks:AnzahlSekunden
  set global-flood-join 5:60 AnzahlJoins:AnzahlSekunden (vom gleichen Host)
  set global-flood-ctcp 3:60 AnzahlCTCPs:AnzahlSekunden
    Wenn jemand diese Optionen nicht einhält gibts folgendes:
Bei flood-chan, flood-deop, flood-kick und flood-ctcp gibts einen Kick.
Bei flood-join gibts ban auf den Host :>
! set global-chanset { Hmpf... jetzt kommen die globalen Channel-Optionen...
+ heisst eingeschaltet und - heisst ausgeschaltet
^ -clearbans Der Bot leert die Bans wenn er Op bekommt.
  +enforcebans Wenn ein Ban gesetzt wird, kickt er (der Bot) alle dazugehörenden Personen. Sehr empfehlenswert!!!
  +dynmaicbans Die Banns werden nur dann aktiviert, wenn man sie auch wirklich braucht.
  +userbans Nur dann können Users auch bannen :-)
  -autoop Stell das auf 0 !!!!! Eine grosse Sicherheitslücke!!! Der Bot oppt dann alle Users welche +o haben. Auch solche ohne +a. Mehr dazu bei Erste Schritte
  +bitch So wird der Bot nur den User Op erlauben, welche auch ein Oprecht im Bot haben. Also zB. wenn er Op bekommt, dann deoppt er alle Users, welche kein Oprecht im Bot haben.
Empfehlenswert wenn man im Channel häufig fremden Leuten Op gibt. Frage aber zuerst die anderen Ops, ob sie damit einverstanden sind (es kommt häufig Probleme damit vor).
  +greet Soll das usergreet (keine Zeit um zu erklären was das ist) auf dem Channel angezeigt werden?
  +protectops Sollen die Ops protected werden?
  +statuslog Soll die Channel-Info-Line (#chan (+tn) : [m/0 o/0 v/0 n/0 b/0 e/0 I/0]) alle 5 Minuten in das Logfile geschrieben werden?
  +stopnethack Der Bot deoppt nach dem Netsplits ALLE Users welche vom Server Op bekommen haben. Also auch die welche ein Oprecht im Bot haben. Zum glück gibt es die Option wasoptest (siehe weiter unten).
  +revenge Beschützt den Channel auf die Art: Wie du mir, so ich dir.
  -secret Der Channel wird so in der Party-Line unsichtbar.
  +autovoice Gibt +v users automatisch Voice.
  +cycle Cyclet den Channel (cycle = raus- und reingehen) wenn er keine Ops mehr hat und leer ist. Sehr empfehlenswert.
  +dontkickops Soll der Bot Ops NICHT kicken wenn sie flooden oder so? :>
  +wasoptest Wenn es auf + ist, dann prüft es nach einem Netsplit ob vom Server geoppten Users auch vorher Op hatten, wenn nicht dann deoppt es sie. Wenn es aber auf - ist, dann prüft es nur, ob die Users ein Oprecht im Bot haben. Setze das auf + wenn du stopnethack auch auf + gesetzt hast, sonst umgekehrt...
  -inactive Soll der Channel inaktiv sein? Das ist nützlich wenn man schnell die Bots vom Channel rausnehmen will und dann wieder reintun will.
  +protectfriends Der Name sagts ja schon :-P
  +shared Sollen beim Linken der Bots Informationen über diesen Channel ausgetauscht werden?
  -seen Soll die Seen-Funktion eingeschaltet werden? Ist übrigens voll blöd. Lade dir lieber ein Script wie BSeen runter.
  +userexempts Dürfen die User Exempts (+e) setzen?
  +dynamicexempts Die Exempts werden nur dann aktiviert, wenn man sie auch wirklich braucht.
  +userinvites Dürfen die User Invites (+I) setzen?
  +dynamicinvites Die Invites werden nur dann aktiviert, wenn man sie auch wirklich braucht.
! } Gaaanz wichtig! Die abschliessende Klammer *g*. So, weiter gehts:
  set global-chanmode "nt" Die Standard-Chanmode.
    Und jetzt kommen die statischen Channels (man kann auch nachträglich dynamische Channels erstellen). Ich zeig hier jetzt nur ein Beispiel :-P
Achtung: die hier eingestellten Optionen beziehen sich hier auf den Channel #mein_channel !!!
^ channel add #mein_channel { #mein_channel ist der Channelname
^  chanmode "+nt-ik" Die Channel-mode...
^ idle-kick 30 Hier kickt der Bot alle Users raus welche länger als 30 Minuten ideln (nichts sagen). 0 = deaktiviert
^ need-op { putserv "PRIVMSG #mein_channel : Gib mir Op! Ich will Op!" } Lol, was soll der Bot machen wenn er einen Op braucht?
^  need-invite { putserv "PRIVMSG #mein_channel :let me in!" }
need-key { putserv "PRIVMSG #mein_channel :let me in!" }
need-unban { putserv "PRIVMSG #mein_channel :let me in!" }
need-limit { putserv "PRIVMSG #mein_channel :let me in!" }
Was soll der Bot machen wenn er in den Channel eingeladen werden muss? Oder wenn er den Key zum Channel braucht? Oder wenn er gebannt ist? Oder wenn das Limit zu klein ist? :-P
   flood-chan 10:60
flood-deop 3:10
flood-kick 3:10
flood-join 5:60
flood-ctcp 3:60
Und die typischen Flood-Optionen... (schau weiter oben)
! } Wieder die wichtige Klammer!
^ channel set #mein_channel -bitch +seen Und hier noch paar Optionen und fertig ist der Channel :-P
  set net-type 0 Der Name vom Net:
0 = Efnet (non +e/+I hybrid), 1 = IRCnet, 2 = Undernet, 3 = Dalnet, 4 = Efnet +e/+I hybrid, 5 = Andere
* set nick "botnick" Der Nick des Bots!
* set altnick "botnick-" Der Alternative-Nick des Bots (wenn 'nick' schon besetzt ist)
* set realname "Michael Jackson" Der "richtige" Name + Vorname des Bots *g*
! set init-server { putserv "MODE $botnick +i-ws" } Was soll der Bot machen wenn er sich zum Server verbindet?
Lass das, wenn du nicht weisst um was es geht.
! set servers { Anfang der Server-List
* irc.freenet.de:6667 Ein Beispiel-IRCnet-Server...
! } Ende der Server-List (Klammer nicht vergessen :-P)
! set keep-nick 1 Der Bot versucht dann, wenn er nicht so heisst wie er sollte (also zb. statt botnick heisst er botnick-) seinen normalen nick (also in diesem Beispiel botnick) zu ergattern.
$ set strict-host 0 Setze das nach 1 wenn der Bot eine Tilde (~) vor der IdentD haben soll.
! set quiet-reject 1 -
! set lowercase-ctcp 0 -
! set answer-ctcp 3 -
! set flood-msg 5:60 -
! set flood-ctcp 3:60 -
$ set never-give-up 1 Der Bot wird NIE aufgeben mit connecten (selbst wenn keiner der Server geht *g*) wenn man das setzt.
! set strict-servernames 0 -
$ set default-port 6667 Der Name sagts schon. Es ist der Standard-Port vom Server, wenn keiner angegeben wird. Und wenn du nicht weisst was das ist, dann lass es einfach. :-)
  set server-cycle-wait 5 Wie lange soll der Bot warten wenn er zum nächsten Server wechselt?
  set server-timeout 60 Wenn der Server so lange nicht antwortet dann springe zum nächsten Server...
! set servlimit 0 -
! set check-stoned 1 -
! set use-console-r 0 -
! set debug-output 0 -
! set serverror-quit 1 Soll deer Bot auf den nächsten Server springen wenn der Server eine ERROR-Message sendet?
$ set max-queue-msg 300 Max. Grösse der Queue zum Server.
! set trigger-on-ignore 0 -
! set double-mode 0 -
! set double-server 0 -
! set double-help 0 -
! loadmodule ctcp CTCP-Modul laden...(Wichtig!)
$ set ctcp-mode 0 0 = Normal, 1 = der Bot ignoriert alle CTCPs ausser CHATs und PINGs von +o usern, 2 = weiss ned :-P
! loadmodule irc Ladet das Modul IRC (auch Wichtig!)
! set bounce-bans 1 -
! set bounce-modes 0 -
! set kick-bogus-bans 1 -
! set bounce-bogus-bans 1 -
! set max-bans 30 Max. Bans auf dem Channel (ircd 2.9.5 erlaubt bis zu 20, ircd 2.10 erlaubt bis zu 30).
! set max-modes 30 Das ist ein Globales Limit für +b/+e/+I modes. Das Limit ist unter ircd 2.10-Server auf 30.
  set allow-desync 0 *** oper sets mode: +o oper
Wenn so etwas im Chat passiert, soll der Bot dann den Betreffenden NICHT kicken (also wenn es auf 0 ist dann kickt der Bot)?
! set kick-bogus 0 -
! set ban-bogus 0 -
! set kick-fun 0 -
! set ban-fun 0 -
$ set learn-users 0 Soll der Bot neue Besitzer lernen mit dem MSG 'Hello' ?
! set wait-split 600
set wait-info 180
set mode-buf-length 200
-
$ #unbind msg - hello *msg:hello
#bind msg - myword *msg:hello
Hier kann man statt 'Hello' ein anderes Wort nehmen. Einfach die Zeilen unkommentieren und statt myword das passende Wort einsetzen.
! unbind msg - ident *msg:ident
unbind msg - addhost *msg:addhost
Eine Sicherheitslücke wird mit diesen Zeilen behoben.
! set no-chanrec-info 0 -
$ set revenge-mode 1 Was soll der Bot machen wenn jemand sich schlecht verhält?
 0 = deop, 1 = deop und +d, 2 deop, +d und kick, 3 = deop, +d, kick und ban
! set bounce-exempts 0 -
! set bounce-invites 0 -
! set max-exempts 20 -
! set max-invites 20 -
! set bounce-bogus-exempts 0 -
! et kick-bogus-exempts 0 -
! set bounce-bogus-invites 0 -
! set kick-bogus-invites 0 -
! set prevent-mixing 1 -
! loadmodule transfer Ladet das Transfer-Modul...
$ set max-dloads 3 Max. Anzahl gleichzeitiger Downloads.
! set dcc-block 0 -
$ set copy-to-tmp 1 Soll der Bot die zu sendenen Daten zuerst in ein temporäres Verzeichnis speichern?
$ set xfer-timeout 300 In dieser Zeit muss die Datei verschickt werden.
! loadmodule share Ladet das Modul 'share'.
! set allow-resync 0
set resync-time 900
set private-owner 0
set private-global 0
-
! set private-globals "nt" Welche Flags in der Userlist von anderen Bots soll der Bot ignorieren?
$ set private-user 0 Wenn der Bot das Userfile bekommt, soll er dann ALLES ignorieren?
! loadmodule filesys Ja! Lade dieses Modul!
! set files-path "" -
! set incoming-path "incoming/" Pfad zu den "einkommenden" Dateien.
! set upload-to-pwd 0 -
! set filedb-path "" -
! set max-file-users 20 -
$ set max-filesize 1024 Max. Grösse in KB der Dateien welche empfangen werden können.
! loadmodule notes Ladet das Modul Notes.
^ set notefile "botnick.notes" Pfad zur Datei mit den Notizen *g*
$ set max-notes 50 Max. Notizen pro User.
$ set note-life 60 Wieviele Tage soll der Bot die Notizen aufbewaren?
! set allow-fwd 0 -
  set notify-users 1 Wenn das auf 1 ist, informiert der Bot die Users jede Stunde, wenn sie Notizen haben.
  set notify-onjoin 1 Wie oben, einfach beim joinen eines Channels.
! loadmodule console Ein benötigtes Modul.
! set console-autosave 1 -
! set force-channel 0 Wenn ein User die Console-Einstellungen nicht gespeichert hat, welchen Party-Line-Channel soll er dann automatisch joinen? Lass das auf 0, ist am Besten.
! set info-party 0 -
! loadmodule woobie
loadmodule seen
checkmodule blowfish
loadmodule assoc
loadmodule wire
Lade auch diese Module.
$ loadhelp userinfo.help Die Hilfe zum Bot (ist nicht unbedingt erforderlich, kann man auch löschen, ist aber empfehlenswert)