Inhaltsverzeichnis

Grundsätzliches

Version 1.0
Stand: 23.11.2009

Author: Nico
E-Mail: mail@nicolas-maas.de

Dieses Howto beschreibt die Installation und Bedienung auf einem Server. Bevor ihr loslegt, beachtet bitte die folgenden Regeln:

  1. lest das Howto erstmal durch: 'lesen - verstehen - handeln'
  2. Eigenverantwortlichkeit

Was ist ein Eggdrop?

- Ein eggdrop ist ein kleiner Helfer, der euch im Bereich IRC ( Internet Relay Chat ) hilft und stets auf euch hört.

Installation

- Debian - apt-get install eggdrop - ist aber nicht zu empfehlen, da man einige Addons nicht gleich dabei hat.

Also selber compilen, geht auf allen Systeme und zwar wie folgt:

( BITTE ALLE COMMANDS NICHT UNTER ROOT MACHEN SONDERN EINEN GESONDERTEN USER ANLEGEN!!! )

1 Vorbereitung - eggdrop user anlegen:

1.1 -

adduser eggdrop
passwd eggdrop

su - eggdrop

Pakete installieren:

apt-get install gcc make g++ tcl tcl8.5 tcl8.5-dev

1. Downloaden der Source -

wget http://geteggdrop.com/
 Auf dieser Seite findet ihr immer den aktuellsten eggdrop, den es zurzeit gibt.

2. entpacken

tar xfz eggdrop*.tar.gz

3. compilen - Bitte vorher prüfen ob make,gcc,g++ und autoconf installiert sind, falls nicht nachinstallieren!

cd eggdrop*
./configure''
make iconfig

( Einfach alles mit „E“ bestätigen, so werden alle module compiled. )

make
make install
All modules compiled.

Test run of ./eggdrop -v:
Eggdrop v1.6.19+ctcpfix (C) 1997 Robey Pointer (C) 2008 Eggheads
(patches: ctcpfix)

Eggdrop successfully compiled.
Modules successfully compiled.

So, nun habt ihr den eggdrop soweit installier, jetzt nurnoch eine vernünftige Config.

cd ..
rm -rf eggdrop1.6.19/
cd eggdrop

Und dann speichert ihr folgende config:

cat > /home/eggdrop/eggdrop.conf << "EOF"

namespace eval bot {
	variable owner                  k1ng
	variable identd                 1
	variable ident                  k1ngb0t
	variable username		k1ngb0t
	variable netnickname            k1ngb0t
	variable nickname               k1ngb0t
	variable alternativ             k1ngb0t2
	variable address                eureip
	variable port                   euerport
}
## }}}
## {{{ bot configuration finish
set nick $bot::nickname
set altnick $bot::alternativ
set ident "bot::ident"
set username $bot::username
set admin "$bot::owner"
set network "quakenet.org"
set timezone "GMT"
set offset "5"
set my-ip $bot::address
addlang "german"
set max-logs 5
set max-logsize 0
set quick-logs 0
set raw-log 0
logfile mco * "logs/$bot::netnickname.log"
set log-time 1
set keep-all-logs 0
set logfile-suffix ".%d%b%Y"
set switch-logfiles-at 300
set quiet-save 0
set console "mkcobxs"
set userfile "$bot::netnickname.user"
set pidfile "pid.$bot::netnickname"
set sort-users 0
set help-path "help/"
set text-path "text/"
set temp-path "/tmp"
set motd "text/motd"
set telnet-banner "text/banner"
set userfile-perm 0600
set botnet-nick "$bot::netnickname"
listen $bot::port all
set remote-boots 2
set share-unlinks 1
set protect-telnet 0
set dcc-sanitycheck 0
set ident-timeout 5
set require-p 1
set open-telnets 0
set stealth-telnets 0
set use-telnet-banner 0
set connect-timeout 15
set dcc-flood-thr 3
set telnet-flood 5:10
set paranoid-telnet-flood 1
set resolve-timeout 15
set ignore-time 15
set hourly-updates 00
set owner "$bot::owner"
set notify-newusers "$bot::owner"
set default-flags "-"
set whois-fields "url birthday"
set die-on-sighup 0
set die-on-sigterm 1
set must-be-owner 1
set max-dcc 50
set allow-dk-cmds 1
set net-type 5
set realname "instant"
set dupwait-timeout 5
set mod-path "modules/"
set chanfile "$bot::netnickname.chan"
set force-expire 0
set share-greet 0
set use-info 1
set global-flood-chan 0:0
set global-flood-deop 0:0
set global-flood-kick 0:0
set global-flood-join 0:0
set global-flood-ctcp 0:0
set global-flood-nick 0:0
set global-aop-delay 0
set global-idle-kick 0
set global-chanmode ""
set global-stopnethack-mode 0
set global-revenge-mode 0
set global-ban-time 0
set global-exempt-time 0
set global-invite-time 0
set global-chanset {
	-autoop         -autovoice
	-bitch          -cycle
	+dontkickops    +dynamicbans
	+dynamicexempts +dynamicinvites
	-enforcebans    -greet
	-nodesynch
	-protectfriends -protectops
	-revenge        -revengebot
	-secret         -seen
	+shared         -statuslog
	+userbans       +userexempts
	+userinvites    -protecthalfops
	-autohalfop
}
if {($bot::identd == "1")} {
	bind evnt - connect-server evnt:connect_server
}
bind evnt - init-server evnt:init_server
proc evnt:connect_server { type } {
	set file [open ~/.oidentd.conf "w"]
	puts $file "global { reply \"$bot::ident\"}"
	close $file
}
set default-port 6668
set keep-nick 1
set strict-host 1
set quiet-reject 1
set lowercase-ctcp 0
set answer-ctcp 1
set flood-msg 5:60
set flood-ctcp 2:10
set never-give-up 1
set server-cycle-wait 60
set server-timeout 30
set servlimit 0
set check-stoned 1
set serverror-quit 0
set max-queue-msg 400
set trigger-on-ignore 0
set double-mode 0
set double-server 1
set double-help 0
set optimize-kicks 2
set stack-limit 4
set ctcp-mode 1
set bounce-bans 1
set bounce-modes 0
set max-bans 45
set max-modes 6
set kick-fun 0
set ban-fun 0
set learn-users 0
set wait-split 600
set wait-info 180
set mode-buf-length 200
set no-chanrec-info 0
set bounce-exempts 0
set bounce-invites 0
set max-exempts 20
set max-invites 20
set max-dloads 3
set share-compressed 1
set dcc-block 0
set copy-to-tmp 1
set xfer-timeout 30
set prevent-mixing 1
set modes-per-line 6
set nick-len 15
set use-exempts 0
set use-invites 0
set kick-method 1
set allow-resync 0
set resync-time 900
set include-lk 1
set use-354 1
#set rfc-compliant 1
#set private-global 0
#set private-globals "mnot"
#set private-user 0
#set override-bots 0
#set compress-level 9
#set check-mode-r 1
#set env(TZ) "$timezone $offset"
#set my-hostname6 "virtual.host.com"
#set my-ip6 "2001:1:1:1::1"
#set firewall "!sun-barr.ebay:3666"
#set nat-ip "127.0.0.1"
#set reserved-portrange 2010:2020
set files-path "/ala_/mydir/filesys"
set incoming-path "/ala_/mydir/filesys/incoming"
set upload-to-pwd 0
set filedb-path ""
set max-file-users 20
set max-filesize 1024
set notefile "$bot::netnickname.notes"
set max-notes 15
set note-life 14
set allow-fwd 0
set notify-users 0
set notify-onjoin 0
set console-autosave 1
set force-channel 0
set info-party 0
#loadmodule compress
#loadmodule assoc
#loadmodule wire
#loadmodule woobie
#loadmodule seen
#loadmodule filesys
loadmodule notes
loadmodule console
loadmodule blowfish
loadmodule uptime
loadmodule share
loadmodule transfer
loadmodule irc
loadmodule ctcp
loadmodule server
loadmodule dns
loadmodule channels
loadmodule blowfish
source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/compat.tcl
source scripts/userinfo.tcl

loadhelp userinfo.help

#unbind msg - hello *msg:hello
#bind msg - myword *msg:hello
unbind msg - ident *msg:ident
unbind dcc n simul *dcc:simul
unbind msg - addhost *msg:addhost
unbind dcc n tcl *dcc:tcl
unbind dcc n set *dcc:set
set servers {
	127.0.0.1:6667
}

EOF

Eggdrop starten

Bitte alle Lines gründlichst anschauen und verstehen, es müssen lines geändert werden, damit der bot fehlerfrei läuft!

Der Bot muss nun gestartet werden:

./eggdrop -m

Wenn alles stimmt sollte das dann so aussehen:

eggdrop@tutorial:~/eggdrop$ ./eggdrop -m

Eggdrop v1.6.19+ctcpfix (C) 1997 Robey Pointer (C) 2008 Eggheads
[23:37] --- Loading eggdrop v1.6.19+ctcpfix (Sun Nov 22 2009)
[23:37] Module loaded: blowfish
[23:37] Module loaded: dns
[23:37] Module loaded: channels
[23:37] Module loaded: server
[23:37] Module loaded: ctcp
[23:37] Module loaded: irc
[23:37] Module loaded: notes            (with lang support)
[23:37] Module loaded: console          (with lang support)
[23:37] Module loaded: uptime
[23:37] McEggdrop TCL Helper Functions - settings file loaded.
[23:37] McEggdrop TCL Helper Functions v1.00.29 loaded (replyencrypt meowreply automagicon).
[23:37] Userinfo TCL v1.07 loaded (URL BF GF IRL EMAIL DOB PHONE ICQ).
[23:37] use '.help userinfo' for commands.


STARTING BOT IN USERFILE CREATION MODE.
Telnet to the bot and enter 'NEW' as your nickname.
OR go to IRC and type:  /msg k1ngb0t hello
This will make the bot recognize you as the master.

[23:37] === k1ngb0t: 0 channels, 0 users.
Launched into the background  (pid: 28149)