▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██ ██
█▌ - INSTALLING EGGDROP - █▌
█▌ █▌
█ ___ _ ▐▌
█ | __| __ _ __ _ __| | _ _ ___ _ __ ▐▌
█ | _| / _` |/ _` |/ _` || '_|/ _ \| '_ \ ▐▌
█ |___|\__, |\__, |\__,_||_| \___/| .__/ ▐▌
█ |___/ |___/ |_| ▐▌
█ ▐▌
█ Eggdrop is the most popular IRC bot. Read here for a further ▐▌
█ description. ▐▌
█ ▐▌
█ DOWNLOAD // INSTALL: ▐▌
█ ```````````````````` ▐▌
█ You'll need an SSH program to telnet to your bot. If you have one and ▐▌
█ know how to use it skip this section. If not this tutorial will use for ▐▌
█ the SSH program `VanDyke SecureCRT' HERE as that is what I'm use to. They ▐▌
█ offer a 30-day trial. You could use any SSH program, only `setup account' ▐▌
█ steps below will be different menus than in this tut. Another one of my ▐▌
█ favorite SSH programs is PuTTY HERE - freeware, tiny, portable- though it ▐▌
█ places its data (saved sessions, SSH host keys)in the registry. (To save, ▐▌
█ export, and or remove PuTTy's data from the registry see HERE.) ▐▌
█ ▐▌
█ SETUP COMMUNICATION TO BOT VIA TELNET: ▐▌
█ `````````````````````````````````````` ▐▌
█ Open SeucreCRT ▐▌
█ Select: Connect (1st button from left) / New Session (3rd button from ▐▌
█ left) ▐▌
█ Name: As you like, I always put my bot's name here. ▐▌
█ Protocol: Telnet ▐▌
█ Hostname, enter your bots vhost: whatever.vhost.com ▐▌
█ Port: Pick a port from 1024 to 65535. (A minority of shell companies may ▐▌
█ have a smaller range or different range of ports allowed; check with your ▐▌
█ shell host if you aren't sure.) ▐▌
█ This will be the bot's listening port in its conf file. You will set ▐▌
█ this later in the bot's configuration file. ▐▌
█ You can save/close that server window. We aren't using it yet. ▐▌
█ ▐▌
█ If you haven't already setup the login to your shell account, do in the ▐▌
█ same manner except ▐▌
█ Name: As you like, I always put my shells host name here. ▐▌
█ Protocol: SSH2 (some host have a different protocol) ▐▌
█ Port: 22 ▐▌
█ Select connect: ▐▌
█ Once connected you will be prompted for your user name and pass, enter ▐▌
█ those and select save if don't want to enter those every time logging in. ▐▌
█ Change your password, enter: passwd ▐▌
█ You will be prompted twice to enter new password. You won't be able to see ▐▌
█ it or even see the cursor move. Do not use simple passwords! ex no: ▐▌
█ greentea ex yes: GrE3N_0T3A()4UKX ) ▐▌
█ ▐▌
█ Choose a vhost you would like to use for your bot, enter: vhost ▐▌
█ Hit enter key to scroll the complete list, find the one you like, make a ▐▌
█ note of it. ▐▌
█ ▐▌
█ INSTALLING EGGDROP: ▐▌
█ `````````````````` ▐▌
█ NOTES: ▐▌
█ A.) Check HERE first for the latest version. *Note there have been later ▐▌
█ versions since writing this tut for v1.6.19 . You must adjust cmds ▐▌
█ (commands) that contain version number to your version number. ▐▌
█ B.) You must adjust cmds to your path, ex: /home/You.Home./eggdrop1.6.19 ▐▌
█ C.) You can skip the first two steps below if have done this previously on ▐▌
█ the shell ▐▌
█ D.) Skip SSL steps if you don't want it, but why would you not want it? :) ▐▌
█ E.) SSL: Can only be applied before you compile (make) the bot, not after. ▐▌
█ F.) Maybe later versions of eggdrop will contain SSL and we won't need to ▐▌
█ do the SSL steps? Find out about the version you are using. ▐▌
█ G.) eggdrop.conf file made for bot after patching with SSL is the same as ▐▌
█ without the patch. ▐▌
█ ▐▌
█ enter these cmds: ▐▌
█ wget ftp://ftp.eggheads.org/pub/eggdrop/GNU/1.6/eggdrop1.6.19.tar.gz ▐▌
█ tar zxvf eggdrop1.6.19.tar.gz ▐▌
█ cd /home/user/eggdrop1.6.19 ▐▌
█ *Note: /user/ would be replaced with your own account name. ▐▌
█ ▐▌
█ SSL steps: ▐▌
█ wget http://www.egghelp.org/files/patches/eggdrop-1.6.19-ssl_and_md5_and_thread-durex.patch.gz
█ gzip -d eggdrop-1.6.19-ssl_and_md5_and_thread-durex.patch.gz ▐▌
█ (this will unzip and delete original .gz file) ▐▌
█ patch -p1 <eggdrop-1.6.19-ssl_and_md5_and_thread-durex.patch ▐▌
█ ▐▌
█ If you did receive hunk failed errors I have read to do this instead: ▐▌
█ patch -p0 <eggdrop-1.6.19-ssl_and_md5_and_thread-durex.patch ▐▌
█ END SSL steps. Continue with these cmds: ▐▌
█ ▐▌
█ ./configure ▐▌
█ make config ▐▌
█ make ▐▌
█ *NOTE: If you are going to install more than one bot: ▐▌
█ A. You don't need to repeat the steps above, only cd ~/eggdrop1.6.19 & ▐▌
█ the steps below so each bot is in a different directory. ▐▌
█ B. Change port 'listen 33968 bots' to a different port for each bot. ▐▌
█ make install DEST=~/botsname (replace `botsname' with your bot's name) ▐▌
█ cd /home/user/botsname ▐▌
█ pico eggdrop.conf ▐▌
█ Or I think easiest way for beginners is to download that file to your box, ▐▌
█ make a copy for back up just in case, open it with WordPad, read. It will ▐▌
█ guide you step by step. There are a few 'trick' lines in the conf for you ▐▌
█ to remove or your bot will not startup. This is to ensure you read and ▐▌
█ edited your bot file correctly before it wreaks havoc on some network :). ▐▌
█ You aren't sure about something in your bot's conf file, go HERE to find ▐▌
█ out. ▐▌
█ ▐▌
█ NOTES: ▐▌
█ 1. Not all Linux files can be downloaded to Windows, edited using whatever ▐▌
█ program and then re-uploaded and expect to work properly without an ▐▌
█ additional cmd or using a nix file editor or converter for Windows. But ▐▌
█ for eggdrop.conf, tcl's, psybnc.conf, files I have found are just fine to ▐▌
█ do this using WordPad. It's not a good habit to do though. ▐▌
█ ▐▌
█ 2. Also remember in Linux lowercase and uppercase are not the same. ▐▌
█ Example: s is not the same as S ▐▌
█ ▐▌
█ 3. Any lines in the eggdrop.conf that are preceded with: # ▐▌
█ are not read by the bot. These are generally instructions, tips, possible ▐▌
█ settings to use etc. ▐▌
█ To enable a setting that is preceded with: #, just remove the # ▐▌
█ ▐▌
█ SSL: ▐▌
█ Add this line near top, like 2nd row: set use-ssl 1 ▐▌
█ To use SSL for your bot the servers must be SSL enabled servers. ▐▌
█ Efnet's SSL port is 9999. Server list is HERE. ▐▌
█ e.g. on efnet's list: # irc.choopa.ca - ipv6 - ssl - 729 users ▐▌
█ To use this it would be: irc.choopa.ca:9999 ▐▌
█ Linknet's SSL port is 7000. Server list is HERE, use same servers but ▐▌
█ port 6667 for non SSL. ▐▌
█ Freenode's SSL port is 7000 or 7070. Server list is HERE. ▐▌
█ ▐▌
█ SERVER LIST FOR EFNET & LINKNET READY TO COPY PASTE IN CLICK HERE: ▐▌
█ Though check with the server list links above to be sure these servers are ▐▌
█ all still active. ▐▌
█ ▐▌
█ PORTS: ▐▌
█ Change the listening port for bots. ▐▌
█ Example: listen 33968 bots ▐▌
█ Change the listening port for users to the port you earlier entered in ▐▌
█ your bot's telnet settings. ▐▌
█ Example: listen 43768 users ▐▌
█ ▐▌
█ VHOST: ▐▌
█ Do not use the same vhost you used already on this account as it could get ▐▌
█ banned from a server for being a clone. ▐▌
█ ▐▌
█ *These are only a tiny few items you must change to get your bot working. ▐▌
█ ▐▌
█ FINISHED EDITING EGGDROP.CONF: ▐▌
█ `````````````````````````````` ▐▌
█ Rename eggdrop.conf to: yourbotsname.conf ▐▌
█ Upload that to your bot's directory. (You need an FTP program for this, ▐▌
█ not your SSH program) ▐▌
█ If you have added any extra scripts/ tcl to the bot, upload those to ▐▌
█ correct path. ▐▌
█ Then enter these cmds: ▐▌
█ cd /home/user/botsname ▐▌
█ ./eggdrop -m yourbotsname.conf ▐▌
█ This will start your bot for the first time if all was correct. You will ▐▌
█ be given a reply in your shell window. If your bot won't start more than ▐▌
█ likely something is wrong in the bot's conf file. ▐▌
█ In future to restart a bot use only: ./eggdrop yourbotsname.conf ▐▌
█ ▐▌
█ INTRODUCE YOURSELF: ▐▌
█ ``````````````````` ▐▌
█ Now Telnet to bot using the connection we did first step. ▐▌
█ First time logging in to bot for Name enter: NEW ▐▌
█ You will receive a reply from the bot prompting you to enter a new name ▐▌
█ and password. ▐▌
█ Use a new name and strong password different from your login to the shell ▐▌
█ for security. Make note of it. ▐▌
█ Or you could msg the bot in IRC and introduce yourself to it there: /msg ▐▌
█ bots.name hello ▐▌
█ After that next time you telnet to bot you will use your new name and ▐▌
█ pass. ▐▌
█ Done! :D ▐▌
█ ▐▌
█ OTHER TIPS IN TELNET: ▐▌
█ ````````````````````` ▐▌
█ HOST MASK: ▐▌
█ Add your host masks used in IRC to the bot, example: ▐▌
█ (Replace 'your.name' with your login name you set on the bot during ▐▌
█ introduction, 'your.ident' would be your shell's user's name, 'your.vhost' ▐▌
█ would be the one you selected to use. If you aren't sure just right click ▐▌
█ on your name in IRC/whois ) ▐▌
█ .+host your.name *!your.ident@your.vhost ▐▌
█ .+host mewwww *!mewbies@mewbies.are.best.never.l33t.biz ▐▌
█ ▐▌
█ CHANNEL SETTINGS: ▐▌
█ To see what's your bot up to enter: .status ▐▌
█ If you want to add another channel that's not on your bots conf file, or ▐▌
█ change existing settings on it: ▐▌
█ .+chan #catnip jungle (this will add the channel catnip with the key ▐▌
█ jungle) ▐▌
█ .chanset #catnip chanmode +nspk jungle (this will set catnip to those ▐▌
█ settings) ▐▌
█ .chanset #catnip -statuslog (this will stop your bot from nagging you ▐▌
█ about msg's) ▐▌
█ .bans all (this will list all bans your bot is keeping) ▐▌
█ .chanset #dogs +inactive (bot will leave that channel) ▐▌
█ .chanset #dogs -inactive (bot will re-join that channel; as long as it's ▐▌
█ still on its channel list) ▐▌
█ .-chan #dognip (removes channel) ▐▌
█ .+ban *!*dog*@* ▐▌
█ .+ban *!*@69.42.214.* ▐▌
█ ▐▌
█ OTHER MISC CMDS: ▐▌
█ .rehash (reloads bot to make changes take affect) ▐▌
█ .restart (useful for removing stubborn scripts, etc) ▐▌
█ .say #catnip mew (bot will say mew in channel catnip) ▐▌
█ .match * 999 (shows all the users and bots on its user list) ▐▌
█ .save (ummm, we might be mewbies but we can figure that one out) ▐▌
█ .backup (ditto) ▐▌
█ ▐▌
█ Basically what you see on the bot's conf file can be done via Telnet or in ▐▌
█ IRC and a lot more! ▐▌
█ ▐▌
█ BOT NOT ACCEPTING YOUR PASSWORD: ▐▌
█ ```````````````````````````````` ▐▌
█ If you get the message when logging in to your bot "You must set a ▐▌
█ password first", though you already have, or it won't accept your pass: ▐▌
█ 1. kill -15 [your bot's pid] ▐▌
█ 2. delete 3 files: YourBots..user, YourBots.chan, & YourBots.user ▐▌
█ 3. Restart your bot -m: ./eggdrop -m yourbotsname.conf ▐▌
█ 4. Telnet to your bot, enter NEW then reset your nick and password. ▐▌
█ ▐▌
█ COMMUNICATE WITH BOT VIA MIRC: ▐▌
█ `````````````````````````````` ▐▌
█ If you want to speak to your bot in IRC: ▐▌
█ /CTCP mybotsname CHAT ▐▌
█ Bot will reply in your server window, you then answer with: ▐▌
█ /DCCANSWER mybotsname ▐▌
█ Another window, from the bot, will open for you to enter your name and ▐▌
█ pass (that you have set up bot) ▐▌
█ ▐▌
█ To stop the chat with your bot enter in bots window: .quit ▐▌
█ You'll be grateful for this cmd! Note it's not: quit which would quit you ▐▌
█ from IRC. ▐▌
█ ▐▌
█ COMMUNICATE WITH BOT VIA SSH: ▐▌
█ ````````````````````````````` ▐▌
█ While you are connected to your shell via SSH you can communicate with ▐▌
█ your bot. Easiest way is to give your server a short simple name to type: ▐▌
█ su ▐▌
█ pico /etc/hosts ▐▌
█ At the top of that will be similar to: ▐▌
█ 127.0.0.1 localhost ▐▌
█ Above that type in your server's IP and a simple name, e.g.: ▐▌
█ 123.45.67.890 mew ▐▌
█ ▐▌
█ exit ▐▌
█ Now just enter this: nc mew 39999 ▐▌
█(replace 39999 with your port that the bot is listening on for users) ▐▌
█ To exit the bot's window and return to your shell type in: .quit ▐▌
█ ▐▌
█ If you are on a shell that you don't have access to that setting, it might ▐▌
█ already be set as (replace 12345 with bot's port): ▐▌
█ nc localhost 12345 ▐▌
█ Or you might need to use the server's IP, for example: ▐▌
█ nc 123.456.789 12345 ▐▌
█ Once connected you'll be prompted by your bot for your password, just like ▐▌
█ in telnet. ▐▌
█ ▐▌
█ CRONTRAB: ▐▌
█ ````````` ▐▌
█ autobotchk. This will re-start your bot if it's not running because ▐▌
█ server went down etc. This won't work if there is an error in the bot's ▐▌
█ conf file of course. ▐▌
█ Login to your shell (not telnet to bot). Enter this cmd: ▐▌
█ crontab -l ▐▌
█ That will tell you if it's already available. If it's not, reply will be ▐▌
█ something like: ▐▌
█ crontab: no crontab for (your user name) ▐▌
█ If it's not enter your bots directory: cd /home/user/yourbotsname ▐▌
█ then do: cron-egg yourbotsname.conf ▐▌
█ then do: crontab -l ▐▌
█ It should now reply: ▐▌
█ 0,10,20,30,40,50 * * * * /home............mybot.botchk >/dev/null 2>&1 ▐▌
█ Which means it will check every 10 mins if bot is running, if not it will ▐▌
█ start it for you. ▐▌
█ ▐▌
█ On a different server I had that didn't work. I had to do this: ▐▌
█ cd /home/user/yourbotsname/scripts/ ▐▌
█ ./autobotchk yourbotsname.conf ▐▌
█ Then do again to view it listed: crontab -l ▐▌
█ If you do not want to be e-mailed each time your bot is off line, add the ▐▌
█ ' >/dev/null 2>&1' part of the code if it isn't there already: ▐▌
█ crontab -e ▐▌
█ For example if it has: ▐▌
█ 0,10,20,30,40,50 * * * * /home/user/MyBot/mybot.botchk ▐▌
█ Change it to: ▐▌
█ 0,10,20,30,40,50 * * * * /home/user/MyBot/mybot.botchk >/dev/null 2>&1 ▐▌
█ ▐▌
█ Ctrl+x to save changes, then y, hit enter key. ▐▌
█ Ouput will be: crontab: installing new crontab ▐▌
█ ▐▌
█ EGGDROP LOGS: ▐▌
█ ````````````` ▐▌
█ My concern is to not log. In its eggdrop.conf file just comment out ▐▌
█ (precede the line with #) these two lines: ▐▌
█ #logfile mco * "logs/eggdrop.log" ▐▌
█ & ▐▌
█ #logfile jpk #lamest "logs/lamest.log" ▐▌
█ ▐▌
█ Then .rehash your bot and manually delete the log files if any. ▐▌
█ To know more about logging, just read in the config file itself. ▐▌
█ If you decide to do logging, keep an eye on them, they can grow massive. ▐▌
█ ▐▌
█ HOW TO HAVE 1 BOT / EGGDROP ON MULTIPLE SERVERS: ▐▌
█ ```````````````````````````````````````````````` ▐▌
█ I updated this section and moved it to HERE. ▐▌
█ ▐▌
█ //---------------------------------------------------------------------- ▐▌
█ ▐▌
█ If you find mistakes, have suggestions, and or questions please post at ▐▌
█ mewbies forum HERE - thank you. ▐▌
█ ▐▌
█ Last update on 14 Jul '10 ▐▌
█ ▐▌
█▌ █▌
█▌ - mewbies.com - █▌
█▌ █▌
██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄██