Το eggdrop όπως γνωρίζετε είναι bot για το IRC. Στο debian μπορούμε να το εγκαταστήσουμε με 2 τρόπους: α) με apt-get install eggdrop β) κάνοντας compile από την αρχή το source. Εδώ θα δούμε το 2ο τρόπο. Είναι πιο ασφαλές να τρέχουμε το bot ως χρήστες και όχι ως root, παρόλαυτά κάποια πράγματα δεν μπορούμε να τα κάνουμε ως χρήστες. Όπου βλέπετε # λοιπόν είναι root και όπου $ είναι ο χρήστης. Κάνουμε login ως root και ξεκίνάμε: Γι αρχή εγκαθιστούμε στο linux μας τα απαραίτητα αρχεία για να γίνει compile το eggdrop μας: (μπορεί να σας ζητήσει και παραπάνω πράγματα κατά τη διάρκεια του compile ανάλογα με το αν έχει γίνει σωστά η εγκατάσταση του linux. Πχ εμένα μου ζήτησε το gcc και το make (# apt-get install dcc make) kerveros:~# apt-get install tcl8.4 tcl8.4-dev zlib1g-dev Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: libc6-dev linux-kernel-headers Suggested packages: glibc-doc manpages-dev tclreadline tcl8.4-doc The following NEW packages will be installed: libc6-dev linux-kernel-headers tcl8.4 tcl8.4-dev zlib1g-dev 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 6238kB of archives. After unpacking 22.4MB of additional disk space will be used. Do you want to continue? [Y/n] 0% [Working] 0% [Connecting to ftp.ntua.gr (2001:648:2000:de::211)] [Connecting to security.debian.org (82.94.249.158)] Get:1 http://security.debian.org stable/updates/main zlib1g-dev 1:1.2.2-4.sarge.2 [488kB] Get:2 ftp://ftp.ntua.gr sarge/main linux-kernel-headers 2.5.999-test7-bk-17 [1377kB] Get:3 ftp://ftp.ntua.gr sarge/main libc6-dev 2.3.2.ds1-22 [2532kB] Get:4 ftp://ftp.ntua.gr sarge/main tcl8.4 8.4.9-1 [1116kB] Get:5 ftp://ftp.ntua.gr sarge/main tcl8.4-dev 8.4.9-1 [725kB] Fetched 6238kB in 3m10s (32.8kB/s) Selecting previously deselected package linux-kernel-headers. (Reading database ... 11155 files and directories currently installed.) Unpacking linux-kernel-headers (from .../linux-kernel-headers_2.5.999-test7-bk-17_i386.deb) ... Selecting previously deselected package libc6-dev. Unpacking libc6-dev (from .../libc6-dev_2.3.2.ds1-22_i386.deb) ... Selecting previously deselected package tcl8.4. Unpacking tcl8.4 (from .../tcl8.4_8.4.9-1_i386.deb) ... Selecting previously deselected package tcl8.4-dev. Unpacking tcl8.4-dev (from .../tcl8.4-dev_8.4.9-1_i386.deb) ... Selecting previously deselected package zlib1g-dev. Unpacking zlib1g-dev (from .../zlib1g-dev_1%3a1.2.2-4.sarge.2_i386.deb) ... Setting up linux-kernel-headers (2.5.999-test7-bk-17) ... Setting up libc6-dev (2.3.2.ds1-22) ... Setting up tcl8.4 (8.4.9-1) ... Setting up tcl8.4-dev (8.4.9-1) ... Setting up zlib1g-dev (1.2.2-4.sarge.2) ... Με την εντολή su αλλάζουμε χρήστη. Αν είναι su σκέτο από χρήστη πάμε σε root. Αν είναι su username γινόμαστε αυτός ο user. Αν αλλάξουμε από root σε user δεν θα μας ζητήσει password: kerveros:~# su soraver Με την εντολή cd ως γνωστόν αλλάζουμε path. Στο dos με σκέτο cd μας εμφανίζει το path στο οποίο βρισκόμαστε, σε αντίθεση με το linux που μας πηγαίνει στο homeroot μας. (To path εδώ το βλέπουμε με την εντολή pwd). soraver@kerveros:/root$ cd Κατεβάζουμε το eggdrop από το site του. soraver@kerveros:~$ wget ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.17.tar.gz --12:01:32-- ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/eggdrop1.6.17.tar.gz => `eggdrop1.6.17.tar.gz' Resolving ftp.eggheads.org... 207.28.220.6, 207.195.39.240 Connecting to ftp.eggheads.org[207.28.220.6]:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD /pub/eggdrop/source/1.6 ... done. ==> PASV ... done. ==> RETR eggdrop1.6.17.tar.gz ... done. Length: 1,021,902 (unauthoritative) 100%[==================================================================================================>] 1,021,902 22.68K/s ETA 00:00 12:02:36 (21.30 KB/s) - `eggdrop1.6.17.tar.gz' saved [1021902] To αποσυμπιέζουμε, soraver@kerveros:~$ tar zxvf eggdrop1.6.17.tar.gz eggdrop1.6.17/ eggdrop1.6.17/doc/ eggdrop1.6.17/doc/BANS eggdrop1.6.17/doc/html/ eggdrop1.6.17/doc/html/app-weird.html eggdrop1.6.17/doc/html/egg-core.html eggdrop1.6.17/doc/html/faqs.html eggdrop1.6.17/doc/html/mod-dns.html eggdrop1.6.17/doc/html/mod-assoc.html eggdrop1.6.17/doc/html/starting.html eggdrop1.6.17/doc/html/authors.html eggdrop1.6.17/doc/html/compiling.html eggdrop1.6.17/doc/html/mod-seen.html eggdrop1.6.17/doc/html/mod-uptime.html eggdrop1.6.17/doc/html/features.html eggdrop1.6.17/doc/html/mod-notes.html eggdrop1.6.17/doc/html/mod-channels.html eggdrop1.6.17/doc/html/index.html eggdrop1.6.17/doc/html/install.html eggdrop1.6.17/doc/html/patch-howto.html eggdrop1.6.17/doc/html/bans.html eggdrop1.6.17/doc/html/about.html eggdrop1.6.17/doc/html/party.html eggdrop1.6.17/doc/html/app-tricks.html eggdrop1.6.17/doc/html/mod-irc.html eggdrop1.6.17/doc/html/mod-filesys.html eggdrop1.6.17/doc/html/app-problems.html eggdrop1.6.17/doc/html/mod-console.html eggdrop1.6.17/doc/html/mod-wire.html eggdrop1.6.17/doc/html/mod-server.html eggdrop1.6.17/doc/html/mod-woobie.html eggdrop1.6.17/doc/html/botnet.html eggdrop1.6.17/doc/html/users.html eggdrop1.6.17/doc/html/mod-ctcp.html eggdrop1.6.17/doc/html/tcl-commands.html eggdrop1.6.17/doc/html/news.html eggdrop1.6.17/doc/html/mod-blowfish.html eggdrop1.6.17/doc/html/mod-share.html eggdrop1.6.17/doc/html/mod-compress.html eggdrop1.6.17/doc/html/readme.html eggdrop1.6.17/doc/html/app-textsub.html eggdrop1.6.17/doc/man1/ eggdrop1.6.17/doc/man1/eggdrop.1 eggdrop1.6.17/doc/BUG-REPORT eggdrop1.6.17/doc/CONTENTS eggdrop1.6.17/doc/ABOUT eggdrop1.6.17/doc/USERS eggdrop1.6.17/doc/UPDATES1.6 eggdrop1.6.17/doc/TRICKS eggdrop1.6.17/doc/TEXT-SUBSTITUTIONS eggdrop1.6.17/doc/PARTYLINE eggdrop1.6.17/doc/MODULES eggdrop1.6.17/doc/tcl-commands.doc eggdrop1.6.17/doc/Makefile.in eggdrop1.6.17/doc/PATCH-HOWTO eggdrop1.6.17/doc/AUTHORS eggdrop1.6.17/doc/WEIRD-MESSAGES eggdrop1.6.17/doc/settings/ eggdrop1.6.17/doc/settings/mod.channels eggdrop1.6.17/doc/settings/CONTENTS eggdrop1.6.17/doc/settings/core.settings eggdrop1.6.17/doc/settings/mod.filesys eggdrop1.6.17/doc/settings/mod.compress eggdrop1.6.17/doc/settings/mod.blowfish eggdrop1.6.17/doc/settings/mod.ctcp eggdrop1.6.17/doc/settings/mod.seen eggdrop1.6.17/doc/settings/mod.wire eggdrop1.6.17/doc/settings/mod.dns eggdrop1.6.17/doc/settings/mod.irc eggdrop1.6.17/doc/settings/mod.assoc eggdrop1.6.17/doc/settings/mod.notes eggdrop1.6.17/doc/settings/mod.share eggdrop1.6.17/doc/settings/mod.console eggdrop1.6.17/doc/settings/mod.transfer eggdrop1.6.17/doc/settings/mod.server eggdrop1.6.17/doc/settings/mod.uptime eggdrop1.6.17/doc/settings/mod.woobie eggdrop1.6.17/doc/FIRST-SCRIPT eggdrop1.6.17/doc/KNOWN-PROBLEMS eggdrop1.6.17/doc/COMPILE-GUIDE eggdrop1.6.17/doc/BOTNET eggdrop1.6.17/src/ eggdrop1.6.17/src/md5/ eggdrop1.6.17/src/md5/md5.h eggdrop1.6.17/src/md5/Makefile.in eggdrop1.6.17/src/md5/md5c.c eggdrop1.6.17/src/mod/ eggdrop1.6.17/src/mod/channels.mod/ eggdrop1.6.17/src/mod/channels.mod/help/ eggdrop1.6.17/src/mod/channels.mod/help/set/ eggdrop1.6.17/src/mod/channels.mod/help/set/channels.help eggdrop1.6.17/src/mod/channels.mod/help/channels.help eggdrop1.6.17/src/mod/channels.mod/help/chaninfo.help eggdrop1.6.17/src/mod/channels.mod/Makefile eggdrop1.6.17/src/mod/channels.mod/cmdschan.c eggdrop1.6.17/src/mod/channels.mod/udefchan.c eggdrop1.6.17/src/mod/channels.mod/tclchan.c eggdrop1.6.17/src/mod/channels.mod/modinfo eggdrop1.6.17/src/mod/channels.mod/userchan.c eggdrop1.6.17/src/mod/channels.mod/channels.c eggdrop1.6.17/src/mod/channels.mod/channels.h eggdrop1.6.17/src/mod/ctcp.mod/ eggdrop1.6.17/src/mod/ctcp.mod/help/ eggdrop1.6.17/src/mod/ctcp.mod/help/set/ eggdrop1.6.17/src/mod/ctcp.mod/help/set/ctcp.help eggdrop1.6.17/src/mod/ctcp.mod/help/ctcp.help eggdrop1.6.17/src/mod/ctcp.mod/Makefile eggdrop1.6.17/src/mod/ctcp.mod/ctcp.c eggdrop1.6.17/src/mod/ctcp.mod/ctcp.h eggdrop1.6.17/src/mod/ctcp.mod/modinfo eggdrop1.6.17/src/mod/dns.mod/ eggdrop1.6.17/src/mod/dns.mod/dns.c eggdrop1.6.17/src/mod/dns.mod/dns.h eggdrop1.6.17/src/mod/dns.mod/configure eggdrop1.6.17/src/mod/dns.mod/configure.ac eggdrop1.6.17/src/mod/dns.mod/modinfo eggdrop1.6.17/src/mod/dns.mod/Makefile.in eggdrop1.6.17/src/mod/dns.mod/coredns.c eggdrop1.6.17/src/mod/module.h eggdrop1.6.17/src/mod/filesys.mod/ eggdrop1.6.17/src/mod/filesys.mod/help/ eggdrop1.6.17/src/mod/filesys.mod/help/set/ eggdrop1.6.17/src/mod/filesys.mod/help/set/filesys.help eggdrop1.6.17/src/mod/filesys.mod/help/filesys.help eggdrop1.6.17/src/mod/filesys.mod/filedb3.c eggdrop1.6.17/src/mod/filesys.mod/filedb3.h eggdrop1.6.17/src/mod/filesys.mod/filesys.c eggdrop1.6.17/src/mod/filesys.mod/filesys.h eggdrop1.6.17/src/mod/filesys.mod/Makefile eggdrop1.6.17/src/mod/filesys.mod/dbcompat.c eggdrop1.6.17/src/mod/filesys.mod/dbcompat.h eggdrop1.6.17/src/mod/filesys.mod/files.c eggdrop1.6.17/src/mod/filesys.mod/files.h eggdrop1.6.17/src/mod/filesys.mod/filelist.c eggdrop1.6.17/src/mod/filesys.mod/filelist.h eggdrop1.6.17/src/mod/filesys.mod/modinfo eggdrop1.6.17/src/mod/filesys.mod/tclfiles.c eggdrop1.6.17/src/mod/filesys.mod/language/ eggdrop1.6.17/src/mod/filesys.mod/language/filesys.english.lang eggdrop1.6.17/src/mod/filesys.mod/language/filesys.french.lang eggdrop1.6.17/src/mod/filesys.mod/language/filesys.german.lang eggdrop1.6.17/src/mod/filesys.mod/language/filesys.finnish.lang eggdrop1.6.17/src/mod/filesys.mod/language/filesys.danish.lang eggdrop1.6.17/src/mod/notes.mod/ eggdrop1.6.17/src/mod/notes.mod/help/ eggdrop1.6.17/src/mod/notes.mod/help/msg/ eggdrop1.6.17/src/mod/notes.mod/help/msg/notes.help eggdrop1.6.17/src/mod/notes.mod/help/set/ eggdrop1.6.17/src/mod/notes.mod/help/set/notes.help eggdrop1.6.17/src/mod/notes.mod/help/notes.help eggdrop1.6.17/src/mod/notes.mod/Makefile eggdrop1.6.17/src/mod/notes.mod/cmdsnote.c eggdrop1.6.17/src/mod/notes.mod/modinfo eggdrop1.6.17/src/mod/notes.mod/notes.c eggdrop1.6.17/src/mod/notes.mod/notes.h eggdrop1.6.17/src/mod/notes.mod/language/ eggdrop1.6.17/src/mod/notes.mod/language/notes.finnish.lang eggdrop1.6.17/src/mod/notes.mod/language/notes.danish.lang eggdrop1.6.17/src/mod/notes.mod/language/notes.french.lang eggdrop1.6.17/src/mod/notes.mod/language/notes.english.lang eggdrop1.6.17/src/mod/notes.mod/language/notes.german.lang eggdrop1.6.17/src/mod/assoc.mod/ eggdrop1.6.17/src/mod/assoc.mod/help/ eggdrop1.6.17/src/mod/assoc.mod/help/assoc.help eggdrop1.6.17/src/mod/assoc.mod/Makefile eggdrop1.6.17/src/mod/assoc.mod/modinfo eggdrop1.6.17/src/mod/assoc.mod/assoc.c eggdrop1.6.17/src/mod/assoc.mod/assoc.h eggdrop1.6.17/src/mod/assoc.mod/language/ eggdrop1.6.17/src/mod/assoc.mod/language/assoc.danish.lang eggdrop1.6.17/src/mod/assoc.mod/language/assoc.finnish.lang eggdrop1.6.17/src/mod/assoc.mod/language/assoc.french.lang eggdrop1.6.17/src/mod/assoc.mod/language/assoc.german.lang eggdrop1.6.17/src/mod/assoc.mod/language/assoc.english.lang eggdrop1.6.17/src/mod/console.mod/ eggdrop1.6.17/src/mod/console.mod/help/ eggdrop1.6.17/src/mod/console.mod/help/set/ eggdrop1.6.17/src/mod/console.mod/help/set/console.help eggdrop1.6.17/src/mod/console.mod/help/console.help eggdrop1.6.17/src/mod/console.mod/Makefile eggdrop1.6.17/src/mod/console.mod/console.c eggdrop1.6.17/src/mod/console.mod/console.h eggdrop1.6.17/src/mod/console.mod/modinfo eggdrop1.6.17/src/mod/console.mod/language/ eggdrop1.6.17/src/mod/console.mod/language/console.english.lang eggdrop1.6.17/src/mod/console.mod/language/console.danish.lang eggdrop1.6.17/src/mod/console.mod/language/console.finnish.lang eggdrop1.6.17/src/mod/console.mod/language/console.french.lang eggdrop1.6.17/src/mod/console.mod/language/console.german.lang eggdrop1.6.17/src/mod/blowfish.mod/ eggdrop1.6.17/src/mod/blowfish.mod/Makefile eggdrop1.6.17/src/mod/blowfish.mod/bf_tab.h eggdrop1.6.17/src/mod/blowfish.mod/modinfo eggdrop1.6.17/src/mod/blowfish.mod/blowfish.c eggdrop1.6.17/src/mod/blowfish.mod/blowfish.h eggdrop1.6.17/src/mod/woobie.mod/ eggdrop1.6.17/src/mod/woobie.mod/Makefile eggdrop1.6.17/src/mod/woobie.mod/modinfo eggdrop1.6.17/src/mod/woobie.mod/woobie.c eggdrop1.6.17/src/mod/share.mod/ eggdrop1.6.17/src/mod/share.mod/help/ eggdrop1.6.17/src/mod/share.mod/help/set/ eggdrop1.6.17/src/mod/share.mod/help/set/share.help eggdrop1.6.17/src/mod/share.mod/help/share.help eggdrop1.6.17/src/mod/share.mod/Makefile eggdrop1.6.17/src/mod/share.mod/share.c eggdrop1.6.17/src/mod/share.mod/share.h eggdrop1.6.17/src/mod/share.mod/modinfo eggdrop1.6.17/src/mod/share.mod/uf_features.c eggdrop1.6.17/src/mod/Makefile.in eggdrop1.6.17/src/mod/seen.mod/ eggdrop1.6.17/src/mod/seen.mod/help/ eggdrop1.6.17/src/mod/seen.mod/help/msg/ eggdrop1.6.17/src/mod/seen.mod/help/msg/seen.help eggdrop1.6.17/src/mod/seen.mod/help/seen.help eggdrop1.6.17/src/mod/seen.mod/Makefile eggdrop1.6.17/src/mod/seen.mod/modinfo eggdrop1.6.17/src/mod/seen.mod/seen.c eggdrop1.6.17/src/mod/server.mod/ eggdrop1.6.17/src/mod/server.mod/help/ eggdrop1.6.17/src/mod/server.mod/help/set/ eggdrop1.6.17/src/mod/server.mod/help/set/server.help eggdrop1.6.17/src/mod/server.mod/help/server.help eggdrop1.6.17/src/mod/server.mod/Makefile eggdrop1.6.17/src/mod/server.mod/servmsg.c eggdrop1.6.17/src/mod/server.mod/cmdsserv.c eggdrop1.6.17/src/mod/server.mod/modinfo eggdrop1.6.17/src/mod/server.mod/tclserv.c eggdrop1.6.17/src/mod/server.mod/server.c eggdrop1.6.17/src/mod/server.mod/server.h eggdrop1.6.17/src/mod/modvals.h eggdrop1.6.17/src/mod/eggmod.m4 eggdrop1.6.17/src/mod/wire.mod/ eggdrop1.6.17/src/mod/wire.mod/help/ eggdrop1.6.17/src/mod/wire.mod/help/wire.help eggdrop1.6.17/src/mod/wire.mod/Makefile eggdrop1.6.17/src/mod/wire.mod/modinfo eggdrop1.6.17/src/mod/wire.mod/wire.c eggdrop1.6.17/src/mod/wire.mod/wire.h eggdrop1.6.17/src/mod/wire.mod/language/ eggdrop1.6.17/src/mod/wire.mod/language/wire.german.lang eggdrop1.6.17/src/mod/wire.mod/language/wire.english.lang eggdrop1.6.17/src/mod/wire.mod/language/wire.danish.lang eggdrop1.6.17/src/mod/wire.mod/language/wire.finnish.lang eggdrop1.6.17/src/mod/wire.mod/language/wire.french.lang eggdrop1.6.17/src/mod/transfer.mod/ eggdrop1.6.17/src/mod/transfer.mod/help/ eggdrop1.6.17/src/mod/transfer.mod/help/set/ eggdrop1.6.17/src/mod/transfer.mod/help/set/transfer.help eggdrop1.6.17/src/mod/transfer.mod/help/transfer.help eggdrop1.6.17/src/mod/transfer.mod/transfer.c eggdrop1.6.17/src/mod/transfer.mod/transfer.h eggdrop1.6.17/src/mod/transfer.mod/Makefile eggdrop1.6.17/src/mod/transfer.mod/transferqueue.c eggdrop1.6.17/src/mod/transfer.mod/modinfo eggdrop1.6.17/src/mod/transfer.mod/transferfstat.c eggdrop1.6.17/src/mod/transfer.mod/language/ eggdrop1.6.17/src/mod/transfer.mod/language/transfer.english.lang eggdrop1.6.17/src/mod/transfer.mod/language/transfer.danish.lang eggdrop1.6.17/src/mod/transfer.mod/language/transfer.finnish.lang eggdrop1.6.17/src/mod/transfer.mod/language/transfer.french.lang eggdrop1.6.17/src/mod/transfer.mod/language/transfer.german.lang eggdrop1.6.17/src/mod/transfer.mod/tcltransfer.c eggdrop1.6.17/src/mod/uptime.mod/ eggdrop1.6.17/src/mod/uptime.mod/help/ eggdrop1.6.17/src/mod/uptime.mod/help/uptime.help eggdrop1.6.17/src/mod/uptime.mod/Makefile eggdrop1.6.17/src/mod/uptime.mod/modinfo eggdrop1.6.17/src/mod/uptime.mod/uptime.c eggdrop1.6.17/src/mod/uptime.mod/uptime.h eggdrop1.6.17/src/mod/irc.mod/ eggdrop1.6.17/src/mod/irc.mod/help/ eggdrop1.6.17/src/mod/irc.mod/help/msg/ eggdrop1.6.17/src/mod/irc.mod/help/msg/irc.help eggdrop1.6.17/src/mod/irc.mod/help/set/ eggdrop1.6.17/src/mod/irc.mod/help/set/irc.help eggdrop1.6.17/src/mod/irc.mod/help/irc.help eggdrop1.6.17/src/mod/irc.mod/Makefile eggdrop1.6.17/src/mod/irc.mod/irc.c eggdrop1.6.17/src/mod/irc.mod/irc.h eggdrop1.6.17/src/mod/irc.mod/msgcmds.c eggdrop1.6.17/src/mod/irc.mod/chan.c eggdrop1.6.17/src/mod/irc.mod/modinfo eggdrop1.6.17/src/mod/irc.mod/mode.c eggdrop1.6.17/src/mod/irc.mod/cmdsirc.c eggdrop1.6.17/src/mod/irc.mod/tclirc.c eggdrop1.6.17/src/mod/compress.mod/ eggdrop1.6.17/src/mod/compress.mod/help/ eggdrop1.6.17/src/mod/compress.mod/help/set/ eggdrop1.6.17/src/mod/compress.mod/help/set/compress.help eggdrop1.6.17/src/mod/compress.mod/help/compress.help eggdrop1.6.17/src/mod/compress.mod/configure eggdrop1.6.17/src/mod/compress.mod/tclcompress.c eggdrop1.6.17/src/mod/compress.mod/configure.ac eggdrop1.6.17/src/mod/compress.mod/compress.c eggdrop1.6.17/src/mod/compress.mod/compress.h eggdrop1.6.17/src/mod/compress.mod/modinfo eggdrop1.6.17/src/mod/compress.mod/Makefile.in eggdrop1.6.17/src/language.c eggdrop1.6.17/src/bg.c eggdrop1.6.17/src/bg.h eggdrop1.6.17/src/rfc1459.c eggdrop1.6.17/src/dcc.c eggdrop1.6.17/src/dns.c eggdrop1.6.17/src/dns.h eggdrop1.6.17/src/mem.c eggdrop1.6.17/src/net.c eggdrop1.6.17/src/tcl.c eggdrop1.6.17/src/misc_file.c eggdrop1.6.17/src/misc_file.h eggdrop1.6.17/src/dccutil.c eggdrop1.6.17/src/match.c eggdrop1.6.17/src/flags.c eggdrop1.6.17/src/flags.h eggdrop1.6.17/src/chan.h eggdrop1.6.17/src/cmds.c eggdrop1.6.17/src/cmdt.h eggdrop1.6.17/src/compat/ eggdrop1.6.17/src/compat/strftime.c eggdrop1.6.17/src/compat/strftime.h eggdrop1.6.17/src/compat/strcasecmp.c eggdrop1.6.17/src/compat/strcasecmp.h eggdrop1.6.17/src/compat/compat.h eggdrop1.6.17/src/compat/Makefile.in eggdrop1.6.17/src/compat/inet_aton.c eggdrop1.6.17/src/compat/inet_aton.h eggdrop1.6.17/src/compat/gnu_strftime.c eggdrop1.6.17/src/compat/snprintf.c eggdrop1.6.17/src/compat/snprintf.h eggdrop1.6.17/src/compat/memcpy.c eggdrop1.6.17/src/compat/memcpy.h eggdrop1.6.17/src/compat/memset.c eggdrop1.6.17/src/compat/memset.h eggdrop1.6.17/src/Makefile.in eggdrop1.6.17/src/tclhash.c eggdrop1.6.17/src/tclhash.h eggdrop1.6.17/src/eggdrop.h eggdrop1.6.17/src/lang.h eggdrop1.6.17/src/main.c eggdrop1.6.17/src/main.h eggdrop1.6.17/src/misc.c eggdrop1.6.17/src/tclmisc.c eggdrop1.6.17/src/modules.c eggdrop1.6.17/src/modules.h eggdrop1.6.17/src/stat.h eggdrop1.6.17/src/tandem.h eggdrop1.6.17/src/users.c eggdrop1.6.17/src/users.h eggdrop1.6.17/src/tcluser.c eggdrop1.6.17/src/patch.h eggdrop1.6.17/src/userent.c eggdrop1.6.17/src/userrec.c eggdrop1.6.17/src/chanprog.c eggdrop1.6.17/src/tcldcc.c eggdrop1.6.17/src/botcmd.c eggdrop1.6.17/src/tclegg.h eggdrop1.6.17/src/botnet.c eggdrop1.6.17/src/botmsg.c eggdrop1.6.17/src/proto.h eggdrop1.6.17/NEWS eggdrop1.6.17/help/ eggdrop1.6.17/help/msg/ eggdrop1.6.17/help/set/ eggdrop1.6.17/help/set/cmds1.help eggdrop1.6.17/help/cmds1.help eggdrop1.6.17/help/cmds2.help eggdrop1.6.17/help/core.help eggdrop1.6.17/logs/ eggdrop1.6.17/logs/CONTENTS eggdrop1.6.17/misc/ eggdrop1.6.17/misc/releaseprep eggdrop1.6.17/misc/config.guess eggdrop1.6.17/misc/install-sh eggdrop1.6.17/misc/config.sub eggdrop1.6.17/misc/modconfig eggdrop1.6.17/misc/mkinstalldirs eggdrop1.6.17/misc/addpatch eggdrop1.6.17/text/ eggdrop1.6.17/text/motd eggdrop1.6.17/text/CONTENTS eggdrop1.6.17/text/banner eggdrop1.6.17/text/motd.finnish eggdrop1.6.17/CONTENTS eggdrop1.6.17/Makefile eggdrop1.6.17/aclocal.m4 eggdrop1.6.17/README eggdrop1.6.17/configure eggdrop1.6.17/scripts/ eggdrop1.6.17/scripts/help/ eggdrop1.6.17/scripts/help/msg/ eggdrop1.6.17/scripts/help/msg/userinfo.help eggdrop1.6.17/scripts/help/userinfo.help eggdrop1.6.17/scripts/help/cmd_resolve.help eggdrop1.6.17/scripts/weed eggdrop1.6.17/scripts/sentinel.tcl eggdrop1.6.17/scripts/alltools.tcl eggdrop1.6.17/scripts/CONTENTS eggdrop1.6.17/scripts/userinfo.tcl eggdrop1.6.17/scripts/compat.tcl eggdrop1.6.17/scripts/cmd_resolve.tcl eggdrop1.6.17/scripts/autobotchk eggdrop1.6.17/scripts/botchk eggdrop1.6.17/scripts/Makefile.in eggdrop1.6.17/scripts/ques5.tcl eggdrop1.6.17/scripts/notes2.tcl eggdrop1.6.17/scripts/klined.tcl eggdrop1.6.17/scripts/getops.tcl eggdrop1.6.17/scripts/action.fix.tcl eggdrop1.6.17/FEATURES eggdrop1.6.17/eggdrop.conf eggdrop1.6.17/configure.ac eggdrop1.6.17/Makefile.in eggdrop1.6.17/config.h.in eggdrop1.6.17/disabled_modules eggdrop1.6.17/INSTALL eggdrop1.6.17/language/ eggdrop1.6.17/language/core.danish.lang eggdrop1.6.17/language/core.finnish.lang eggdrop1.6.17/language/core.french.lang eggdrop1.6.17/language/core.german.lang eggdrop1.6.17/language/core.english.lang eggdrop1.6.17/ChangeLog eggdrop1.6.17/COPYING Μπαίνουμε στο dir που δημιούργησε, (α να μην το ξεχάσω, μπορείτε απλά να γράψετε e και να πατήσετε και θα συμπληρωθεί μόνο του) soraver@kerveros:~$ cd eggdrop1.6.17 Τρέχουμε το configuration script, για να ξέρει πως θα γίνει compile. Κι εσάς θα πρέπει να σας βγάλει περίπου τα ίδια αποτελέσματα... soraver@kerveros:~/eggdrop1.6.17$ ./configure This is Eggdrop's GNU configure script. It's going to run a bunch of tests to hopefully make your compile work without much twiddling. checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for AIX... no checking for library containing strerror... none required checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether the compiler understands -Wall... yes checking whether the compiler understands -pipe... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether make sets $(MAKE)... no checking for ranlib... ranlib checking whether ln -s works... yes checking whether head -n 1 works... yes checking for gawk... no checking for mawk... mawk checking for basename... basename checking for uname... uname checking for socket in -lsocket... no checking for connect in -lnsl... yes checking for gethostbyname in -ldns... no checking for dlopen in -ldl... yes checking for tan in -lm... yes checking for pthread_mutex_init in -lpthread... yes checking system type... Linux checking system release... 2.6.8-2-386 checking module loading capabilities... checking dl.h usability... no checking dl.h presence... no checking for dl.h... no checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking loader.h usability... no checking loader.h presence... no checking for loader.h... no checking rld.h usability... no checking rld.h presence... no checking for rld.h... no checking mach-o/dyld.h usability... no checking mach-o/dyld.h presence... no checking for mach-o/dyld.h... no checking mach-o/rld.h usability... no checking mach-o/rld.h presence... no checking for mach-o/rld.h... no checking for dlopen... yes checking for load... no checking for NSLinkModule... no checking for shl_load... no checking for rld_load... no checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking whether time.h and sys/time.h may both be included... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking std_args.h usability... no checking std_args.h presence... no checking for std_args.h... no checking stdarg.h usability... yes checking stdarg.h presence... yes checking for stdarg.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/rusage.h usability... no checking sys/rusage.h presence... no checking for sys/rusage.h... no checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for unistd.h... (cached) yes checking wchar.h usability... yes checking wchar.h presence... yes checking for wchar.h... yes checking for an ANSI C-conforming const... yes checking whether byte ordering is bigendian... no checking for inline... inline checking for pid_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... yes checking for working volatile... yes checking for socklen_t... yes checking for long... yes checking size of long... 4 checking for int... yes checking size of int... 4 checking for short... yes checking size of short... 2 checking for clock... yes checking for dprintf... yes checking for fsync... yes checking for getdtablesize... yes checking for getrusage... yes checking for inet_aton... yes checking for isascii... yes checking for mbrlen... yes checking for memcpy... yes checking for memset... yes checking for random... yes checking for rename... yes checking for setpgid... yes checking for sigaction... yes checking for sigemptyset... yes checking for snprintf... yes checking for srandom... yes checking for strcasecmp... yes checking for strncasecmp... yes checking for uname... yes checking for vsnprintf... yes checking for sys/select.h... (cached) yes checking for sys/socket.h... (cached) yes checking types of arguments for select... int,fd_set *,struct timeval * checking for vprintf... yes checking for _doprnt... no checking for strftime... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... yes checking for working mmap... yes checking for broken libsafe sscanf... no checking for Tcl library... found /usr/lib/libtcl8.4.so checking for Tcl header... found /usr/include/tcl8.4/tcl.h checking whether the Tcl system has changed... yes checking for Tcl version... 8.4 checking for Tcl patch level... 8.4.9 checking for Tcl_Free in -ltcl8.4... yes checking for TclpFinalizeThreadData in -ltcl8.4... yes configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating scripts/Makefile config.status: creating src/Makefile config.status: creating src/compat/Makefile config.status: creating src/md5/Makefile config.status: creating src/mod/Makefile config.status: creating config.h config.status: executing replace-if-changed commands creating lush.h config.status: executing catch-make-rebuild commands Operating System: Linux 2.6.8-2-386 If you experiance any problems compiling Eggdrop, please read the compile guide, found in doc/COMPILE-GUIDE. Type 'make config' to configure the modules, or type 'make iconfig' to interactively choose which modules to compile. Πάμε τώρα να σβήσουμε κάποια modules που δεν μας χρειάζονται... soraver@kerveros:~/eggdrop1.6.17$ cd src/mod soraver@kerveros:~/eggdrop1.6.17/src/mod$ ls assoc.mod/ compress.mod/ dns.mod/ irc.mod/ module.h seen.mod/ transfer.mod/ woobie.mod/ blowfish.mod/ console.mod/ eggmod.m4 Makefile modvals.h server.mod/ uptime.mod/ channels.mod/ ctcp.mod/ filesys.mod/ Makefile.in notes.mod/ share.mod/ wire.mod/ soraver@kerveros:~/eggdrop1.6.17/src/mod$ rm -r seen.mod/ uptime.mod/ woobie.mod/ soraver@kerveros:~/eggdrop1.6.17/src/mod$ cd ../.. Και γυρίζοντας πίσω στο αρχικό dir του ζητάμε να αναγνωρίσει τι modules έχει να κανει compile... soraver@kerveros:~/eggdrop1.6.17$ make config Detecting modules................. done. Calculating dependencies................. done. Building ./src/mod/Makefile... done. make[1]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod' Configuring module 'compress'. configure: creating cache ../../../config.cache checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for gzopen in -lz... yes checking how to run the C preprocessor... gcc -E checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes updating cache ../../../config.cache configure: creating ./config.status config.status: creating Makefile Configuring module 'dns'. configure: loading cache ../../../config.cache checking for gcc... (cached) gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... (cached) o checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ANSI C... (cached) none needed checking for res_init... no checking for res_init in -lresolv... no checking for res_init in -lbind... no checking for __res_init... yes checking for res_mkquery... no checking for res_mkquery in -lresolv... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu updating cache ../../../config.cache configure: creating ./config.status config.status: creating Makefile make[1]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod' Building ./src/mod/Makefile... done. You can now compile the bot, using "make". Και όπως μας ζητάει, ξεκινάμε το compile, άντε καλή επιτυχία! (btw αν το pc είναι p3 κ κάτω φτιάξτε έναν καφέ, μέχρι να γυρίσετε θα έχει τελειώσει. soraver@kerveros:~/eggdrop1.6.17$ make make[1]: Entering directory `/home/soraver/eggdrop1.6.17/src' This may take a while. Go get some runts. gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c bg.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c botcmd.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c botmsg.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c botnet.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c chanprog.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c cmds.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c dcc.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c dccutil.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c dns.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c flags.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c language.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c match.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H \ '-DCCFLAGS="gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H "' \ '-DLDFLAGS="gcc -pipe"' \ '-DSTRIPFLAGS="touch"' -c ./main.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c mem.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c misc.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c misc_file.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c modules.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c net.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c rfc1459.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tcl.c tcl.c:492: warning: dereferencing type-punned pointer will break strict-aliasing rules tcl.c: In function `readtclprog': tcl.c:741: warning: assignment discards qualifiers from pointer target type gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tcldcc.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tclhash.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tclmisc.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c tcluser.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c userent.c userent.c: In function `del_entry_type': userent.c:1135: warning: dereferencing type-punned pointer will break strict-aliasing rules gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c userrec.c gcc -pipe -g -O2 -Wall -I.. -I.. -DHAVE_CONFIG_H -c users.c make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/md5' gcc -pipe -g -O2 -Wall -I. -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c md5c.c make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/md5' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/compat' gcc -pipe -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c inet_aton.c gcc -pipe -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c snprintf.c gcc -pipe -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c memset.c gcc -pipe -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c memcpy.c gcc -pipe -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c strcasecmp.c gcc -pipe -g -O2 -Wall -I../.. -I../.. -I../../src -DHAVE_CONFIG_H -c strftime.c make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/compat' ---------- Yeah! That's the compiling, now the linking! ---------- Linking eggdrop (standard build). gcc -pipe -o ../eggdrop bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o dccutil.o dns.o flags.o language.o match.o main.o mem.o misc.o misc_file.o modules.o net.o rfc1459.o tcl.o tcldcc.o tclhash.o tclmisc.o tcluser.o userent.o userrec.o users.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl md5/md5c.o compat/*.o `cat mod/mod.xlibs` touch ../eggdrop Successful compile: eggdrop make[1]: Leaving directory `/home/soraver/eggdrop1.6.17/src' make[1]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/assoc.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././assoc.mod/assoc.c mv assoc.o ../ gcc -pipe -shared -nostartfiles -o ../../../assoc.so ../assoc.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../assoc.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/assoc.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/blowfish.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././blowfish.mod/blowfish.c mv blowfish.o ../ gcc -pipe -shared -nostartfiles -o ../../../blowfish.so ../blowfish.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../blowfish.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/blowfish.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/channels.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././channels.mod/channels.c mv channels.o ../ gcc -pipe -shared -nostartfiles -o ../../../channels.so ../channels.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../channels.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/channels.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/compress.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././compress.mod/compress.c rm -f ../compress.o mv compress.o ../ gcc -pipe -shared -nostartfiles -o ../../../compress.so ../compress.o -lz -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../compress.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/compress.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/console.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././console.mod/console.c mv console.o ../ gcc -pipe -shared -nostartfiles -o ../../../console.so ../console.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../console.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/console.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/ctcp.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././ctcp.mod/ctcp.c mv ctcp.o ../ gcc -pipe -shared -nostartfiles -o ../../../ctcp.so ../ctcp.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../ctcp.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/ctcp.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/dns.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././dns.mod/dns.c mv dns.o ../ gcc -pipe -shared -nostartfiles -o ../../../dns.so ../dns.o -lresolv -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../dns.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/dns.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/filesys.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././filesys.mod/filesys.c mv filesys.o ../ gcc -pipe -shared -nostartfiles -o ../../../filesys.so ../filesys.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../filesys.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/filesys.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/irc.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././irc.mod/irc.c mv irc.o ../ gcc -pipe -shared -nostartfiles -o ../../../irc.so ../irc.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../irc.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/irc.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/notes.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././notes.mod/notes.c mv notes.o ../ gcc -pipe -shared -nostartfiles -o ../../../notes.so ../notes.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../notes.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/notes.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/server.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././server.mod/server.c ../server.mod/server.c: In function `next_server': ../server.mod/server.c:1048: warning: dereferencing type-punned pointer will break strict-aliasing rules ../server.mod/server.c: At top level: ../server.mod/server.c:1342: warning: dereferencing type-punned pointer will break strict-aliasing rules ../server.mod/server.c:1350: warning: dereferencing type-punned pointer will break strict-aliasing rules mv server.o ../ gcc -pipe -shared -nostartfiles -o ../../../server.so ../server.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../server.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/server.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/share.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././share.mod/share.c mv share.o ../ gcc -pipe -shared -nostartfiles -o ../../../share.so ../share.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../share.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/share.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/transfer.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././transfer.mod/transfer.c mv transfer.o ../ gcc -pipe -shared -nostartfiles -o ../../../transfer.so ../transfer.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../transfer.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/transfer.mod' make[2]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod/wire.mod' gcc -pipe -fPIC -g -O2 -Wall -I. -I../../.. -I../../.. -I../../../src/mod -DHAVE_CONFIG_H -DMAKING_MODS -c .././wire.mod/wire.c mv wire.o ../ gcc -pipe -shared -nostartfiles -o ../../../wire.so ../wire.o -L/usr/lib -ltcl8.4 -lm -lpthread -ldl -lnsl touch ../../../wire.so make[2]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod/wire.mod' All modules compiled. make[1]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod' Test run of ./eggdrop -v: Eggdrop v1.6.17 (C) 1997 Robey Pointer (C) 2004 Eggheads Eggdrop successfully compiled: -rwxr-xr-x 1 soraver soraver 2005764 2005-11-12 12:11 eggdrop Modules successfully compiled: -rwxr-xr-x 1 soraver soraver 81677 2005-11-12 12:11 assoc.so -rwxr-xr-x 1 soraver soraver 86354 2005-11-12 12:11 blowfish.so -rwxr-xr-x 1 soraver soraver 234663 2005-11-12 12:11 channels.so -rwxr-xr-x 1 soraver soraver 85296 2005-11-12 12:12 compress.so -rwxr-xr-x 1 soraver soraver 81748 2005-11-12 12:12 console.so -rwxr-xr-x 1 soraver soraver 79052 2005-11-12 12:12 ctcp.so -rwxr-xr-x 1 soraver soraver 94269 2005-11-12 12:12 dns.so -rwxr-xr-x 1 soraver soraver 211658 2005-11-12 12:12 filesys.so -rwxr-xr-x 1 soraver soraver 269353 2005-11-12 12:13 irc.so -rwxr-xr-x 1 soraver soraver 108870 2005-11-12 12:13 notes.so -rwxr-xr-x 1 soraver soraver 160800 2005-11-12 12:13 server.so -rwxr-xr-x 1 soraver soraver 137488 2005-11-12 12:13 share.so -rwxr-xr-x 1 soraver soraver 124202 2005-11-12 12:13 transfer.so -rwxr-xr-x 1 soraver soraver 87144 2005-11-12 12:13 wire.so Now run "make install" to install your bot. Μιά χαρά :D οπότε συνεχίζουμε: Το bot μου θα λέγεται tasaki, οπότε... soraver@kerveros:~/eggdrop1.6.17$ make install DEST=/home/soraver/tasaki Eggdrop v1.6.17 (C) 1997 Robey Pointer (C) 2004 Eggheads Installing in directory: '/home/soraver/tasaki'. Creating directory '/home/soraver/tasaki'. Copying new 'eggdrop' executable and creating symlink. Creating 'modules-1.6.17' subdirectory and symlink. Copying new modules. Creating 'logs' subdirectory. Creating 'text' subdirectory. Copying help files. Creating 'help' subdirectory. Creating 'help/set' subdirectory. make[1]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod' Copying module help files. Creating 'help/msg' subdirectory. make[1]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod' Copying language files. Creating 'language' subdirectory. make[1]: Entering directory `/home/soraver/eggdrop1.6.17/src/mod' Copying module language files. make[1]: Leaving directory `/home/soraver/eggdrop1.6.17/src/mod' Creating skeletal filesystem subdirectories. make[1]: Entering directory `/home/soraver/eggdrop1.6.17/doc' Creating 'doc' subdirectory. Creating 'doc/man1' subdirectory. Creating 'doc/html' subdirectory. Creating 'doc/settings' subdirectory. Copying docs. make[1]: Leaving directory `/home/soraver/eggdrop1.6.17/doc' make[1]: Entering directory `/home/soraver/eggdrop1.6.17/scripts' Creating 'scripts' subdirectory. Copying scripts. make[1]: Leaving directory `/home/soraver/eggdrop1.6.17/scripts' Installation completed. You MUST ensure that you edit/verify your configuration file. An example configuration file, eggdrop.conf, is distributed with Eggdrop. Remember to change directory to /home/soraver/tasaki before you proceed. Πάμε στο dir του bot... soraver@kerveros:~/eggdrop1.6.17$ cd .. soraver@kerveros:~$ cd tasaki/ soraver@kerveros:~/tasaki$ ls doc/ eggdrop@ eggdrop-1.6.17* eggdrop.conf filesys/ help/ language/ logs/ modules@ modules-1.6.17/ README scripts/ text/ Χεχεχε, τι έφτιαξε ο μπαγάσας... Βάζουμε τα logs στο filesystem για να είναι πιο εύκολα προσβάσιμα... soraver@kerveros:~/tasaki$ mv logs/ filesys/ Βάζουμε και μέσα στα scripts τα απαραίτητα... soraver@kerveros:~/tasaki$ cd scripts/ soraver@kerveros:~/tasaki/scripts$ wget http://195.134.92.68/~soraver/eggdrop/aparaithta-scripts/grnet.tcl --13:01:14-- http://195.134.92.68/%7Esoraver/eggdrop/aparaithta-scripts/grnet.tcl => `grnet.tcl' Connecting to 195.134.92.68:80... connected. HTTP request sent, awaiting response... 200 OK Length: 571 [text/x-tcl] 100%[==================================================================================================>] 571 --.--K/s 13:01:14 (5.45 MB/s) - `grnet.tcl' saved [571/571] soraver@kerveros:~/tasaki/scripts$ wget http://195.134.92.68/~soraver/eggdrop/aparaithta-scripts/chansetup.tcl --13:01:26-- http://195.134.92.68/%7Esoraver/eggdrop/aparaithta-scripts/chsetup.tcl => `chsetup.tcl' Connecting to 195.134.92.68:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1,452 [text/x-tcl] 100%[==================================================================================================>] 1,452 --.--K/s 13:01:27 (220.87 KB/s) - `chsetup.tcl' saved [1452/1452] soraver@kerveros:~/tasaki/scripts$ cd .. Τώρα κάτι πιο περίπλοκο: να φέρουμε το configuration file στα μέτρα μας... Υπάρχει ο δύσκολος και ο εύκολος τρόπος. Ο εύκολος είναι να διαμορφώσετε το δικό μου .conf, και ο δύσκολος να ξεκινήσετε από την αρχή. Κατεβάζουμε και διαμορφώνουμε το δικό μου .conf soraver@kerveros:~/tasaki$ wget http://195.134.92.68/~soraver/eggdrop/eggdrop.conf.mod soraver@kerveros:~/tasaki$ cp eggdrop.conf.mod tasaki.conf soraver@kerveros:~/tasaki$ pico -w tasaki.conf ή παίζουμε με το κανονικό, soraver@kerveros:~/tasaki$ cp eggdrop.conf tasaki.conf soraver@kerveros:~/tasaki$ pico -w tasaki.conf Και επιτέλους ήρθε η ώρα να το τρέξουμε! (Αν είμασταν στην τηλεόραση τώρα θα έπεφταν οι διαφημίσεις. Δεν είμαστε όμως και γι αυτό τώρα θα ανόίξουμε το mIRC και θα μπούμε στο grnet να ετοιμάσουμε το χώρο για το botάκι μας...) mIRC εντολές, τα ξέρετε αυτά! Ας τα δούμε όμως και μαζί λιγάκι... του λέμε: μπες στο grnet /server city.irc.gr κάνε με tasaki /nick tasaki ρώτα τον nickserv πως συντάσσεται η εντολή /ns register /ns register kwdikos ουστ ρε που θες και activation number (το copy στο mIRC γίνεται απλά μαρκάροντας το κομμάτο που θέλουμε να αντιγράψουμε, και paste με ctrl+v κλασικά...) /ns register kwdikos activation_number δες τι έβαλε στην access list /ns access list σβήσε αυτό που έβαλε (copy-paste) /ns access del *lag@*.E1B20A01.9DDD7C4A.IP προφύλαξέ με από τους περίεργους /ns help set hide κρύβοντας το email μου /ns set hide email on την usermask μου (το username του .conf και το host/ip μας) /ns set hide usermask on το quit msg μου /ns set hide quit on ε προστατεψέ με κι όλας, τσάμπα είναι ;p /ns set secure on Να μην ξεχάσω, στο grnet μπορούμε να βάλουμε και την ελληνική γλώσσα με την εντολή: /ns set language 2 παίρνουμε το δικό μας nick ή πάμε στο άλλο mIRC που έχουμε ανοιχτό ;) και ετοιμάζουμε το προστατευμένο κανάλι που θα βάλουμε το bot... μπες στο κανάλι /join #channel ρώτα πως συντάσσεται η εντολή /cs register κατωχείρωσέ το /cs register #channel password Ayto einai to kanali m :D βάλε αυτόματο voice στο level 3 /cs levels #channel set autovoice 3 επέτρεψε σε όσους έχουν access 3 και άνω να μπορούν να κάνουν invite, /cs levels #channel set invite 3 βάλε το bot με level 3 /cs access #channel add tasaki 3 φρόντισε το κανάλι να είναι πάντα κρυφό, να μην μπορεί να αλλάξει topic παρά κάποιος με op, να χρειάζεται πρόσκληση για να μπει κάποιος, και να μην μπορει να μιλήσει΄στο κανάλι κάποιος που δεν είναι μέσα. /cs set #channel mlock +stin μην αφήνεις άκυρους να μπουν /cs set #channel private on /cs set #channel restricted on /cs set #channel secure on ουτε να πάρουν op /cs set #channel secureops on στέλνε και κανα notice όταν κάποιος πάρει op /cs set #channel opnotice on OK πάει κι αυτό, στο shell πάλι, να τρέξουμε το bot. Αν έχουμε κάνει κάποιο λάθος κάπου θα το μάθουμε τώρα. soraver@kerveros:~/tasaki$ ./eggdrop -m tasaki.conf Eggdrop v1.6.17 (C) 1997 Robey Pointer (C) 2004 Eggheads [13:01] --- Loading eggdrop v1.6.17 (Sat Nov 12 2005) [13:01] Listening at telnet port 4510 (all). [13:01] Module loaded: dns [13:01] Module loaded: channels [13:01] Module loaded: server [13:01] Module loaded: ctcp [13:01] Module loaded: irc [13:01] Module loaded: transfer (with lang support) [13:01] Module loaded: share [13:01] Module loaded: compress [13:01] Module loaded: filesys (with lang support) [13:01] Module loaded: notes (with lang support) [13:01] Module loaded: console (with lang support) [13:01] Module loaded: blowfish [13:01] Module loaded: assoc (with lang support) [13:01] ChanSetup v1 Script by paravoid Loaded! [13:01] Creating channel file STARTING BOT IN USERFILE CREATION MODE. Telnet to the bot and enter 'NEW' as your nickname. OR go to IRC and type: /msg tasaki hello This will make the bot recognize you as the master. [13:01] === tasaki: 0 channels, 0 users. Launched into the background (pid: 10934) Αν όλα είναι οκ βγαίνει κάπως έτσι... στο grnet τώρα, στο status γράφουμε: για να δούμε αν είναι μέσα... /watch +tasaki [12:15:13] * tasaki [~tinaxtis@62.38.108.226] is on GRNet () ωραία, είναι! χαιρετάμε... /msg tasaki hello [12:15:26] -> *tasaki* hello μας χαιρετάει... [12:15:27] -tasaki- Hi soraver! I'm tasaki, an eggdrop bot. [12:15:29] -tasaki- I'll recognize you by hostmask '*!lag@62.38.108.*' from now on. [12:15:31] -tasaki- YOU ARE THE OWNER ON THIS BOT NOW [12:15:33] -tasaki- As master you really need to set a password: with /MSG tasaki pass . [12:15:35] -tasaki- All major commands are used from DCC chat. From now on, you don't need to use the -m option when starting the bot. Enjoy !!! Του λέμε τον κωδικό μας.... /msg tasaki pass password [12:15:48] -> *tasaki* pass password Συμφωνεί... [12:15:48] -tasaki- Password set to: 'password'. Και ήρθε η ώρα να μπούμε στην partyline!!! Ξέρω τόσες ώρες αυτό περιμένατε... Λογικά θα δουλέψει αυτό: /dcc chat tasaki Αν ανοίξει παράθυρο για dcc και δεν δουλέψει, θα πάτε στο routerάκι σας και θα ανοίξετε καμια 10ρια ports ξεκινώντας από την 1024, και θα τις κάνετε nat στο pc που τρέχει το mIRC. O 2ος τρόπος είναι να γίνει το ανάποδο, δηλ να ζητήσει το bot από εσάς dcc chat, αλλά για να γίνει αυτό θα πρέπει να ανοίξετε στο router και να κάνετε nat στο pc που τρέχει το eggdrop την port που δηλώσατε στο .conf με την εντολή listen. (listen 4510 all) /ctcp tasaki pass Όταν ανοίγει το chat με τον πρώτο τρόπο το bot ζητάει τον κψδικό που μόλις δώσατε: Chat with tasaki Waiting for acknowledgement... DCC Chat connection established - [12:18:03] Enter your password. του τον λέτε και συνεχίζει με τα δικά του... [12:18:05] password [12:18:05] [12:18:05] Connected to tasaki, running eggdrop v1.6.17 [12:18:05] ____ __ [12:18:05] / __/___ _ ___ _ ___/ /____ ___ ___ [12:18:05] / _/ / _ `// _ `// _ // __// _ \ / _ \ [12:18:05] /___/ \_, / \_, / \_,_//_/ \___// .__/ [12:18:05] /___/ /___/ /_/ [12:18:05] [12:18:05] Hey soraver! My name is tasaki and I am running eggdrop v1.6.17, on Linux 2.6.8-2-386. [12:18:05] [12:18:05] Local time is now 13:27 [12:18:05] You are an owner of this bot. Only +n users can see this! For more info, [12:18:05] see .help set motd. Please edit the motd file in your bot's 'text' [12:18:05] directory. [12:18:05] Use .help for basic help. [12:18:05] Use .help for help on a specific command. [12:18:05] Use .help all to get a full command list. [12:18:05] Use .help *somestring* to list any help texts containing "somestring". [12:18:05] [12:18:05] Have fun. [12:18:05] [12:18:05] Commands start with '.' (like '.quit' or '.help') [12:18:05] Everything else goes out to the party line. [12:18:05] [12:18:05] ### You have the following note(s) waiting: [12:18:05] 1. tasaki (Nov 12 13:24) [12:18:05] 2. tasaki (Nov 12 13:24) [12:18:05] ### Use '.notes read' to read them. [12:18:05] [12:18:05] *** soraver joined the party line. μπλα μπλα μπλα σβήσε τα notes, δεν με ενδιαφέρουν! (για να τα διαβάσετε πριν τα σβήσετε κάνετε ένα .notes read 1 , .notes read 2 κτλ...) [12:18:27] .notes erase all [12:18:27] Erased all notes. [12:18:27] [13:27] #soraver# notes erase all μην μου λες τι γραφω όταν μιλάω με άλλους... [12:18:30] .echo off [12:18:30] Echo turned off. σώσε μία αυτά που σου είπα... [12:18:33] .store [12:18:33] Saved your Console Settings: [12:18:34] Channel: * [12:18:34] Console flags: mkcobxs, Strip flags: -, Echo: no [12:18:34] Page setting: 0, Console channel: 0 μπράβο το χρυσό μου, τώρα έλα να σου γνωρίσω τα φιλαράκια μου: [12:20:54] .+user services *serv!service@irc.gr [12:20:54] [13:29] #soraver# +user services *serv!service@irc.gr [12:20:54] Added services (*serv!service@irc.gr) with no password and no flags. [12:20:59] .chattr services +f [12:20:59] [13:29] #soraver# chattr services +f [12:20:59] Global flags for services are now +f. είδες τι καλά που τα πάμε; βάλε τώρα το super-duper καναλάκι μου στη λίστα σου... [12:18:45] .+chan #channel [12:18:45] [13:27] #soraver# +chan #channel και θα σου πω ένα μυστικό, έχεις access στο καναλάκι, οπότε έλα να σε σιάξω να μπορείς να μπαίνεις: [12:19:07] .chansetup-noop #channel [12:19:07] [13:28] #soraver# chansetup #channel [12:19:07] #channel setup completed! NO-OPs ε μετά από λίγο... [12:21:06] [13:30] ChanServ!service@irc.gr invited me to #channel [12:21:06] [13:30] tasaki joined #channel. [12:21:07] [13:30] #channel: mode change '+v tasaki' by ChanServ!service@irc.gr [12:21:09] [13:30] -pr0n (~lamogio@62.38.108.226)- Welcome to Machine FTPd's sitechan. Type !pr0nhelp for help. πάμε να γίνουμε κι εμείς άνθρωποι... [12:23:03] .whois soraver [12:23:03] [13:32] #soraver# whois soraver [12:23:03] HANDLE PASS NOTES FLAGS LAST [12:23:03] soraver yes 0 hjlmnoptx 13:27 (partyline) [12:23:03] HOSTS: *!lag@62.38.108.*, -telnet!*@* [12:23:03] Saved Console Settings: [12:23:03] Channel: * [12:23:03] Console flags: mkcobxs, Strip flags: -, Echo: no [12:23:03] Page setting: 0, Console channel: 0 [12:23:21] .-host soraver *!lag@62.38.108.* [12:23:21] [13:32] #soraver# -host soraver *!lag@62.38.108.* [12:23:21] Removed '*!lag@62.38.108.*' from soraver. [12:23:33] .+host soraver soraver!*@* [12:23:33] [13:32] #soraver# +host soraver soraver!*@* [12:23:33] Added 'soraver!*@*' to soraver. όλα περίφημα, κλείνουμε το bot και το τρέχουμε κανονικά... [12:24:51] .die brb [12:24:51] [13:33] #soraver# die brb [12:24:51] * tasaki [~tinaxtis@62.38.108.226] has quit GRNet [12:24:54] *** BOT SHUTDOWN (soraver: brb) [12:24:54] [13:33] Writing user file... [12:24:54] [13:33] Writing channel file... [12:24:54] [13:33] * DIE BY soraver!lag@62.38.108.226 (brb) - DCC session closed χωρίς -m αυτή τη φορά... soraver@kerveros:~/tasaki$ ./eggdrop tasaki.conf Eggdrop v1.6.17 (C) 1997 Robey Pointer (C) 2004 Eggheads [13:34] --- Loading eggdrop v1.6.17 (Sat Nov 12 2005) [13:34] Listening at telnet port 4510 (all). [13:34] Module loaded: dns [13:34] Module loaded: channels [13:34] Module loaded: server [13:34] Module loaded: ctcp [13:34] Module loaded: irc [13:34] Module loaded: transfer (with lang support) [13:34] Module loaded: share [13:34] Module loaded: compress [13:34] Module loaded: filesys (with lang support) [13:34] Module loaded: notes (with lang support) [13:34] Module loaded: console (with lang support) [13:34] Module loaded: blowfish [13:34] Module loaded: assoc (with lang support) [13:34] ChanSetup v1 Script by paravoid Loaded! [13:34] Userfile loaded, unpacking... [13:34] === tasaki: 1 channels, 2 users. Launched into the background (pid: 10950) βλέπουμε και πως τρέχει... soraver@kerveros:~/tasaki$ ps x PID TTY STAT TIME COMMAND 10916 pts/0 S 0:00 bash 10950 pts/0 S 0:00 ./eggdrop tasaki.conf 10957 pts/0 R+ 0:00 ps x soraver@kerveros:~/tasaki$ έτοιμοοοοο :DDDDDD