Tutorials > Allgemeines > Tutorial-Detail: Einen Eggdrop ins Leben rufen
Einen Eggdrop ins Leben rufen
Hier wird erklärt, wie man einen Eggdrop (IRC-Bot) für seinen Channel kreiren kannZu allererst brauchen wir eine Shell, das ist ein besonderer Webspace, auf dem der Eggdrop laufen kann. Verschiedene Shellanbieter sind z.B.
http://www.shellfire.de
http://www.powershells.de oder
http://www.xlhost.de
Bei einigen Anbietern ist der Eggdrop bereits vorinstalliert. Ist dies nicht der Fall, wird dieses Tutorial hilfreich sein.
Zunächst müssen wir uns den Eggdrop der neusten Version hier herunterladen und auf die Shell hochladen. Das geschieht meistens über den normalen FTP-Zugang. Der Bot ist in einem tar.gz Format, das ich ein Packformat für das System Unix. Um diese Datei nun entpacken zu können, müssen wir per Telnet oder SSH auf die Shell zugreifen.
Ich bevorzuge SSH, da dies sicherer ist. Hierzu brauchen wir ein Programm wie zum Beispiel Putty. Mit den SSH-Daten kannst du auf die Shell verbinden. Nun wechsele in das Verzeichnis, in das das Archiv hochgeladen wurde. Das geschieht mit cd verzeichnis. Jetzt wird der Bot mit dem Befehl tar vxfz eggdrop1.6.13.tar.gz (der Dateiname muss ggf. entsprechend geändert werden) entpackt. Nun wechsle das Verzeichnis eggdrop1.6.13 wechseln: cd eggdrop1.6.13 (oder eben entsprechend anders, je nach Version).
Nun muss der Bot konfiguriert werden. Dazu geben wir ./configure --prefix=/eggdrop ein. Den Teil mit prefix brauchen wir, damit der Bot nicht im selben Verzeichnis installiert wird, wohin er schon entpackt wurde. Jetzt rödelt ein ganzer Haufen Text auf unserem Shellfenster vorbei. Danach müssen wir nur noch 2 kleine Befehle eingeben, damit der Bot installiert wird. Zuerst make und danach make install.
Nun ist der Bot installiert. Jetzt wechseln wir in das Verzeichnis, in welches wir den Bot installiert haben. Dort befindet sich eine Datei namens eggdrop.conf, welche wir nun anpassen müssen. Hier mal ein kleines Beispiel, wie diese aussehn kann.
| Code: |
#!/pfad/zum/eggdrop ### BASIC SETTINGS ### set username "MeinBot" set admin "Ichselbst <ich@selbst.de>" // Administrator set network "Ich.hab.meine.configfile.nicht editiert" // Adresse des Servers, zu dem der Bot verbinden soll set timezone "EST" set offset "5" addlang "German" ### LOG FILES ### set max-logs 5 set max-logsize 0 set quick-logs 0 set log-time 0 set quiet-save 0 set switch-logfiles-at 300 set keep-all-logs 0 set logfile-suffix ".%d%b%Y" ### CONSOLE ### set console "mkcobxs" ### FILES AND DIRECTORIES ### set userfile "MeinBot.user" set pidfile "pid.MeinBot" set userfile-perm 0600 set sort-users 0 set help-path "help/" set text-path "text/" set mod-path "modules/" set temp-path "/tmp" set motd "text/motd" set telnet-banner "text/banner" ### BOTNET/DCC/TELNET ### set botnet-nick "MeinBot" listen 3333 all set share-unlinks 1 set protect-telnet 1 set require-p 0 set dcc-sanitycheck 0 set open-telnets 0 set stealth-telnets 0 set paranoid-telnet-flood 1 set use-telnet-banner 0 set ident-timeout 5 set connect-timeout 15 set dcc-flood-thr 3 set telnet-flood 5:60 set resolve-timeout 15 ### MORE ADVANCED SETTINGS ### set owner "Ichselbst" set ignore-time 15 set hourly-updates 00 set max-dcc 50 set notify-newusers "$owner" set default-flags "hp" set whois-fields "url birthday" set dupwait-timeout 5 set must-be-owner 1 unbind dcc n set *dcc:set unbind dcc n tcl *dcc:tcl unbind dcc n simul *dcc:simul set enable-simul 0 set allow-dk-cmds 0 set die-on-sigterm 0 set die-on-sighup 0 ### MODULES ### # CHANNELS MODULE # loadmodule channels set chanfile "MeinBot.chan" set ban-time 120 set exempt-time 60 set invite-time 60 set force-expire 0 set share-greet 0 set use-info 1 set global-flood-chan 10:60 set global-flood-join 5:60 set global-flood-kick 3:10 set global-flood-nick 5:60 set global-flood-deop 3:10 set global-flood-ctcp 3:60 set global-aop-delay 5:30 set global-chanmode "nt" set global-idle-kick 0 set global-stopnethack-mode 0 set global-revenge-mode 1 set global-chanset { -autoop -autovoice -bitch +cycle +dontkickops +dynamicbans +dynamicexempts +greet +dynamicinvites -enforcebans -inactive -nodesynch -protectfriends +protectops -revenge -revengebot -secret -seen +shared +statuslog +userbans +userexempts +userinvites -protecthalfops -autohalfop } # SERVER MODULE # loadmodule server set nick "MeinBot" set altnick "MeinBotAlternativNick" set keep-nick 1 set strict-servernames 0 set never-give-up 1 set realname "MeinBot" set default-port 6667 set server-cycle-wait 60 set server-timeout 60 set servlimit 0 set check-stoned 1 set serverror-quit 1 set max-queue-msg 300 set optimize-kicks 1 set use-console-r 0 set debug-output 0 set strict-host 0 #set nick-len 9 set answer-ctcp 3 set flood-msg 5:60 set flood-ctcp 3:60 set quiet-reject 1 set lowercase-ctcp 0 set double-help 0 set trigger-on-ignore 0 set double-mode 0 set use-penalties 1 #set check-mode-r 1 set double-server 0 set servers { irc.ircserver.de:6667 // Hier noch einmal den Server zum Verbinden angeben } # DNS MODULE # loadmodule dns # CTCP MODULE # loadmodule ctcp set ctcp-mode 0 # IRC MODULE # loadmodule irc set bounce-bans 1 set bounce-modes 0 set kick-fun 0 set ban-fun 0 set learn-users 0 set no-chanrec-info 0 set max-modes 30 set max-bans 20 set wait-split 600 set wait-info 180 set mode-buf-length 200 unbind msg - hello *msg:hello bind msg - myword *msg:hello unbind msg - ident *msg:ident unbind msg - addhost *msg:addhost set bounce-exempts 0 set bounce-invites 0 #set use-exempts 0 #set use-invites 0 set prevent-mixing 1 set max-exempts 20 set max-invites 20 #set include-lk 1 #set use-354 0 #set rfc-compliant 1 #set kick-method 1 #set modes-per-line 3 # TRANSFER MODULE # #loadmodule transfer set max-dloads 3 set dcc-block 1024 set xfer-timeout 30 set copy-to-tmp 1 # COMPRESS MODULE # loadmodule compress set share-compressed 1 set compress-level 9 # SHARE MODULE # loadmodule share set resync-time 900 set private-globals "mnot" set allow-resync 0 set private-global 0 set private-user 0 set override-bots 0 # FILESYSTEM MODULE # # loadmodule filesys set files-path "/home/mydir/eggdrop/filesys" set incoming-path "/home/mydir/eggdrop/filesys/incoming" set filedb-path "" set max-file-users 20 set max-filesize 1024 set upload-to-pwd 0 # NOTES MODULE # loadmodule notes set notefile "MeinBot.notes" set max-notes 50 set note-life 60 set allow-fwd 0 set notify-users 1 set notify-onjoin 1 # CONSOLE MODULE # loadmodule console set console-autosave 1 set force-channel 0 set info-party 0 # ASSOC MODULE # #loadmodule assoc # BLOWFISH MODULE # checkmodule blowfish # SEEN MODULE # loadmodule seen # UPTIME MODULE # #loadmodule uptime # WIRE MODULE # #loadmodule wire # WOOBIE MODULE # #loadmodule woobie ### SCRIPTS ### source scripts/alltools.tcl source scripts/action.fix.tcl source scripts/compat.tcl source scripts/userinfo.tcl loadhelp userinfo.help |
Überall, wo nun MeinBot steht, tragen wir den Namen ein, wie der Bot später heissen soll (Der Rest ist durchkommentiert). Wenn die Datei angepasst ist, steht dem Starten des Eggdrops nichts mehr im Wege. Dazu geben wir dann einfach ./eggdrop -m eggdrop.conf ein, um den Bot im Benutzer-ERstellungs-Modus zu starten. Wenn wir die eggdrop.conf richtig angepasst haben und alles klappt sollte nun in etwa folgendes durchgerattert sein:
| Code: |
Eggdrop v1.6.13 (C) 1997 Robey Pointer (C) 2002 Eggheads [12:43] --- Loading eggdrop v1.6.13 (Sun Feb 15 2004) [12:43] Listening at telnet port 3333 (all) [12:43] Module loaded: channels [12:43] Module loaded: server [12:43] Module loaded: dns [12:43] Module loaded: ctcp [12:43] Module loaded: irc [12:43] Module loaded: transfer (with lang support) [12:43] Module loaded: share [12:43] Module loaded: compress [12:43] Module loaded: filesys (with lang support) [12:43] Module loaded: notes (with lang support) [12:43] Module loaded: console (with lang support) [12:43] Module loaded: assoc (with lang support) [12:43] Module loaded: blowfish [12:43] Module loaded: seen [12:43] Module loaded: uptime [12:43] Module loaded: wire (with lang support) [12:43] Loaded cmd_resolve.tcl successfully. [12:43] GetOps v2.3b loaded. [12:43] TCL loaded: k-lined [12:43] Notes 2.1.0 - Released by MHT <mht@mygale.org> [12:43] Quesedilla v5 final loaded (no channels) [12:43] Loaded sentinel.tcl v2.70 by slennox [12:43] Userinfo TCL v1.07 loaded (URL BF GF IRL EMAIL DOB PHONE ICQ). [12:43] use '.help userinfo' for commands. [12:43] Userfile loaded, unpacking... [12:43] === Minyasere: 3 channels, 2 users. Launched into the background (pid: 1045) |
Jetzt befindet sich der Bot schon im angegebenen IRC Netzwerk. Wir sprechen ihn jetzt im IRC mit /msg MeinBot hello an. Wenn alles klar geht, dann ist der Bot online und antwortet uns auch gleich mit einer riesigen Message. Die beantworten wir mit /msg MeinBot pass EinPasswortDeinerWahl. Nun bist du beim Bot als Owner bekannt und hast somit alle Rechte beim Bot.
Dann können wir auch schon via DCC Chat zu unserem Bot connecten. Das machen wir mit /ctcp MeinBot chat. Nun geben wir den Usernamen und das Passwort ein.
Dass der Bot nun unseren Channel "joint", müssen wir ihm jetzt im DCC-Chat folgendermaßen sagen
.+chan #meinchannel
Somit haben wir erfolgreich einen Eggdrop ins Leben gerufen! Und nun viel Spass damit.
Gruß DiWoWo
Hier noch einige interessante Links zu Eggdrops:
Hilfe zu der eggdrop.conf
Scripte für den Eggdrop
eggdrop.conf-Generator (englisch, nützlich für Anfänger. Aber Feintuning geht damit nicht)
Geschrieben von DiWoWo am 18.06.2004 (35384x gelesen)

Wenn du schon Shellfire reinbringst sollteste am besten sagen, dass man keinen direkten Zugriff auf die eggdrop.conf Datei hat, sondern fast alle Optionen mit einem Inputfeld bearbeiten kann, was extrem einsteigerfreundlich ist, da es zu jedem eingabefeld auch die passende Hilfe gibt.
Ich selber habe einen Eggdrop bei Shellfire und Preis-Leistungs-Verhältnis is top und habe keinen billigeren gefunden... :)
Nachteil bei shellfire ist zugleich der Vorteil: leichte Konfiguration des Bots. Einsteigerfreundlich aber Expertenfeindlich...
Ich selber habe einen Eggdrop bei Shellfire und Preis-Leistungs-Verhältnis is top und habe keinen billigeren gefunden... :)
Nachteil bei shellfire ist zugleich der Vorteil: leichte Konfiguration des Bots. Einsteigerfreundlich aber Expertenfeindlich...
Geschrieben von michi
