yubb.de-Logo
Tutorials
yubb@yubb
yubbService
Inside yubb

Einen Eggdrop ins Leben rufen



Zu 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 (39267x gelesen)
weiterempfehlen weiterempfehlen   Druckversion Druckversion   kommentieren kommentieren

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...
Geschrieben von michi