Eggdrop

From Jan Prunk
Jump to: navigation, search

Contents

Configuring and running Eggdrop on FreeShells server

First of all you do not need to download Eggdrop source files and do all that hard compiling. Eggdrop is installed globally into FreeShells server. So all you need to do is to make a configuration file and run your bot!

Making the configuration file

There are two ways to do this:

1. You can download pre-made configuration file from here. You will just need to set Nick, Alternative Nick, Real Bot Name, Channel and IRC server and your bot is ready to be online.

2. You can download original configuration file from here. (Advanced users only) This will let you customise your bot in any way you like.

Setting up and starting your eggdrop

1. Connect to the FreeShells server.

2. Create new folder.

 mkdir eggdrop

3. Go into created folder.

 cd eggdrop

4. Download pre-made configuration file

 wget http://uranus.mtveurope.org/~blinky/eggdrop-premade.conf

if you are using NetBSD on Ottawan server you should download this

 wget http://uranus.mtveurope.org/~blinky/eggdrop-premade-netbsd.conf

or default configuration file. (in this case you will have to set many many options)

 wget http://uranus.mtveurope.org/~blinky/eggdrop-default.conf

Rename any configuration file downloaded to eggdrop.conf. Use one of the following commands:

 mv eggdrop-premade.conf eggdrop.conf

or

 mv eggdrop-premade-netbsd.conf eggdrop.conf

or

 mv eggdrop-default.conf eggdrop.conf

5. To open and edit files we will use Midnight Commander. To open mc, use following command:

 mc

6. Now select eggdrop.conf and press F4 to edit it. Set Nick, Alternative Nick, Real Bot Name, Channel and IRC server. Read comments in the eggdrop.conf file. Once you have finished press F2 to save, then F10 to quit editing document and at last press F10 to quit MC.

If you are using NetBSD on Ottawan be sure to change the userpath value to the appropriate one.

7. Now it is the time to run our eggdrop for the first time. We will use -m flag which specifies that no users are set.

 eggdrop -m eggdrop.conf

if you are using NetBSD on Ottawan server you should run your eggdrop like this

 eggdrop -m `pwd`/eggdrop.conf

8. When the bot connects to your specified channel write a /msg <botnick> hello to him. Now bot will recognise you. You will be asked to set your password. Remember it for later use.

9. Now your bot has saved user files. So if you ever want to start your bot again do not use -m flag.

 eggdrop eggdrop.conf

again, if you are using NetBSD on Ottawan server you should run your eggdrop like this

 eggdrop `pwd`/eggdrop.conf

Stopping your bot

1. Now you know how to start eggdrop. If you want to stop it, you must kill eggdrop process. For doing so you must know bots PID. To see it use the following command.

 cat pid.<bot_nick>

2. Now you see a number. It is PID. Remember it.

3. Now kill the process using the following command.

 kill -9 <pid>

4. That is it. Bot is no longer online.

Administrating your bot

Now the bot is up and running. You also know how to stop it. But this is just a start of a story. You can do many, MANY things with your new fellow bot. First of all you need to know how to communicate with eggdrop. You can do it by dcc chat or by telnet.

Starting DCC chat with your eggdrop

1. To open a dcc chat use this command in almost any IRC client. DCC Chat will only work if you use an IRC client on the free shells server (irssi or BitchX).

 /dcc chat <bots_nick>

2. New window will pop up asking for your password. Enter it and press ENTER.

3. Thats it. Now you are chatting with your bot through DCC. Write .help for help.

4. If you cant start DCC chat, then probably it is something wrong with you network configuration. You need public IP address to start DCC chat or transfer.

Starting ALLNETWORK session with your eggdrop

1. Now you need to remember the port your eggdrop is listening to. You have set it in the eggdrop.conf file. If you don't remember it, open that file and look for the line which look like this:

 listen <port number> all

2. Lets say my bot is listening to port number 50000. Then you will only need to type this to shell to start telnet session.

 telnet 127.0.0.1 50000

3. Enter your username (it is the IRC nick you had when you typed /msg YourBotNick hellp) and password when asked. You can now use the same commands as in DCC Chat.

Few DCC and ALLNETWORK commands

When you are connected to your bot using DCC Chat or ALLNETWORK, you can try one of the following commands:

1. .rehash - reloads the bot. Writes user and chan files to the hard disk then reloads config, user and chan files back again.

2. .restart - does a full restart. Actually disconnects and connects your bot from IRC server.

3. .tcl putquick "PRIVMSG #somechannel :hello world" - bot will say hello world to channel #somechannel.

4. .tcl putquick "MODE #somechannel +o Nickname" - bot will give OP to Nickname in channel #somechannel.

5. .tcl putquick "KICK #somechannel Nickname :Reason" - bot will kick Nickname from channel #somechannel with reason Reason.

And the list continues... As you can see operating bot only from DCC Chat or TELNET is not very easy and straightforward. So if you want more control with more ease, try to learn a little bit of TCL and start writing scritps for your bot. It is not as hard as it seems. (:

Expanding your bot

One of the best features of eggdrop is its ability to do user defined tasks called scripts. These scripts must be written in TCL language. Lets try to add some new features to our newly baked bot.

botnetop.tcl

botnetop.tcl from Slennox allow bots to ask channel's key, invite, raise limits and ask op from other linked bots. One of the main features of this script is its "delayed op" mechanism to reduce +o flooding whenever a bot joins (particularly annoying if you have a large botnet).

Firstly make sure your bot is not running. Then do this:

1. Download the script from http://www.egghelp.org/tclhtml/3478-4-0-0-1-botnetop2-23-tcl.htm

2. Decompress it.

 gzip -d botnetop2.23.tcl.gz

3. Open botnetop2.23.tcl and look through the code. In most scripts you will have a value or two you can modify to your needs.

4. Add this to your eggdrop.conf:

 source path/to/botnetop2.23.tcl

botnetop module

If you have access to the C compiler (of if Jan decide to compile it for all users), you can also use the botnetop module, that is compatible with the botnetop script. Botnetop module is faster than the tcl version.

To install it you need to:

1. Download eggdrop, decompress it somewhere, and enter in the eggdrop-1.6.xx/src/mod/ directory.

2. Download botnetop module

 wget http://www.egghelp.org/files/modules/botnetop.mod-1.0.1.tar.gz

3. Decompress it

 tar -zxvf botnetop.mod-1.0.1.tar.gz

4. Compile your eggdrop like usualy

5. Add, to you eggdrop.conf, and adapt the content of eggdrop-1.6.xx/src/mod/botnetop.mod/botnetop.conf.

No repeat module

Another useful module is the norepeatmod, that is a lightweight solution to avoid flooding.

Many channel flooders simply repeat the same phrase a lot of time. This module kicks or kick and ban them. As any module, this is a faster solution to scripts with the same functions.

To install it you need to:

1. Download eggdrop, decompress it somewhere, and enter in the eggdrop-1.6.xx/src/mod/ directory.

2. Download botnetop module

 wget http://www.egghelp.org/files/modules/norepeat.mod.1.0.0.tar.gz

3. Decompress it

 tar -zxvf norepeat.mod.1.0.0.tar.gz

4. Compile your eggdrop like usualy

5. Add, to you eggdrop.conf:

 loadmodule norepeat

and you'll receive a new command in the partyline to setup the module.

Most common errors

CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR)

Eggdrop v1.6.19 (C) 1997 Robey Pointer (C) 2008 Eggheads
--- Loading eggdrop v1.6.19 (Sat Apr 18 2009)
* CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR)

If you are getting this kind of error, it means that you haven't specified eggdrop config file or there are some errors. You should try to specify full path to the config file when running eggdrop like this:

eggdrop /path/to/your/eggdrop.conf

You can always find path to your working direcotry by using this command:

pwd

First of all you need to setup eggdrop.conf to the right values, look into default example and modify those settings.

Error with modules

Can't load modules channels: cannot open "/usr/lib/eggdrop/modules/channels.so"
Tcl error in file /home/<user>/eggdrop.conf

If you are on the NetBSD machine, you need to replace set mod-path "/usr/lib/eggdrop/modules" with set mod-path "/usr/pkg/lib/eggdrop/" inside your eggdrop.conf file

Then re-run eggdrop with -m flag to create userfile.

Useful links

Here is number one resource for all eggdrop files, news, turorials and so on. http://www.egghelp.org/

Changelog

Initial tutorial --BlinK 20:24, 24 January 2007 (CET)

Added instruction to use botnetop and norepeat. --Stefano 21:04, 19 June 2008 (UTC)

Adopted to NetBSD and added few topics. --BlinK 14:58, 18 APril 2009 (CET)

INTERESTS
Personal tools