Eggdrop

To install eggdrop:

$ cd ~
$ ftp https://ftp.eggheads.org/pub/eggdrop/source/1.8/eggdrop-1.8.4.tar.gz
$ sha256 eggdrop-1.8.4.tar.gz

The SHA256 Sum should be: 79644eb27a5568934422fa194ce3ec21cfb9a71f02069d39813e85d99cdebf9e

$ tar xvzf eggdrop-1.8.4.tar.gz
$ rm eggdrop-1.8.4.tar.gz
$ cd eggdrop-1.8.4
$ ./configure
$ make config
$ make
$ make install
$ cd ~
$ cd eggdrop

Edit eggdrop.conf or Create your own configuration file (.conf) using nano or vi then run it using:

$ ./eggdrop -m <configuration filename>.conf

To verify the signature:

$ gpg --keyserver ha.pool.sks-keyservers.net --recv-key E01C240484DE7DBE190FE141E7667DE1D1A39AFF

An Example for below configuration file.

Core Setting Example:

set admin "ABC" 
set nick "Shooter" 
set altnick "Shooter_" 
set realname "Channel Bot"

AN example of Set Server:

set network "ircnow" 
set net-type "5"
set init-server { putserv "mode Shooter i" }
set default-port 6667
set servers { irc6.ircnow.org:6667 irc.ircnow.org:6667 any1.lecturify.com:6667 } 

Here is a simple configuration file to use. Just make sure to change all in CAPITAL LETTERS with your preferred settings. As demonstrated in above example. Strings with # as prefix are comments. Edit & save this config with your botname.conf .

### Core Settings ### 

set admin "OWNERNICK" 
set nick "BOTNICK" 
set altnick "ALTBOTNICK" 
set realname "CHANNEL BOT"

#### SERVER MODULE ####
# What is your network?
# Type = Network Name
#    0 = EFnet
#    1 = IRCnet
#    2 = Undernet
#    3 = DALnet
#    4 = +e/+I/max-modes 20 Hybrid
#    5 = Others

set network "NETWORK NAME" 
set net-type "5" 
set init-server { putserv "mode BOTNICK i" } 
set default-port 6667 
set servers {
  YOU.NEED.TO.CHANGE.THIS:6667
  ANOTHER.EXAMPLE.COM:7000:PASSWORDifANY
  SSL.EXAMPLE.NET:+6697
}
set timezone "GMT" 
set offset "0" 
set env(TZ) "$timezone $offset" 
set my-hostname "PUT YOUR SHELL'S IPV4 VHOST HERE OR LEAVE  IT BLANK" 
set my-ip "PUT YOUR SHELL'S IPV4 HERE OR LEAVE  IT BLANK" 

### Logfile Settings ### 

set max-logs 5 
set max-logsize 0 
set quick-logs 0 
set raw-log 0
logfile mcobxs * "logs/BOTNICK.log"
logfile jkp #CHANNELNAME "logs/#CHANNELNAME.log"
set log-time 1 
set keep-all-logs 1 
set logfile-suffix ".%d%b%Y"
set switch-logfiles-at 300 
set quiet-save 0 

### Console Settings ### 

set console "mkcobxs" 

### File & Directory Settings ### 
# Replace "BOTNICK" below with your bot nick.

set userfile "BOTNICK.user" 
set pidfile "pid.BOTNICK" 
set chanfile "BOTNICK.chan" 
set force-expire 0 
set share-greet 0 
set use-info 1 
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 mod-path "modules/" 

##### BOTNET/DCC/TELNET #####
# Replace "BOTNICK" below with your bot nick.

set botnet-nick "BOTNICK" 

# If you wish to use only one port, use this format:
# listen 3333 all
# change the port number in order to open
# the listen port. You should not keep this set to 3333.
# Put your shell/server listening port below and uncomment it. (remove # )

#listen 1337 all 
set remote-boots 0 
set shareunlinks 0- 
set protect-telnet 1 
set dcc-sanitycheck 1 
set ident-timeout 0 
set require-p 1 
set open-telnets 1 
set stealth-telnets 0 
set use-telnet-banner 0 
set connect-timeout 30 
set dcc-flood-thr 3 
set telnet-flood 5:60 
set paranoid-telnet-flood 1 
set resolve-timeout 15 

### Channel Settings ### 

loadmodule channels 
set default-flood-chan 15:60
set default-flood-deop 3:10
set default-flood-kick 3:10
set default-flood-join 5:60
set default-flood-ctcp 3:60
set default-flood-nick 5:60
set default-aop-delay 0:00
set default-idle-kick 0
set default-chanmode "nt"
set default-stopnethack-mode 0
set default-revenge-mode 0
set default-ban-type 3
set default-ban-time 120
set default-exempt-time 60
set default-invite-time 60

set default-chanset {
        -autoop         -autovoice
        -bitch          +cycle
        +dontkickops    +dynamicbans
        +dynamicexempts +dynamicinvites
        -enforcebans    +greet
        -inactive       -nodesynch
        -protectfriends +protectops
        -revenge        -revengebot
        -secret         -seen
        +shared         -statuslog
        +userbans       +userexempts
        +userinvites    -protecthalfops
        -autohalfop     -static
}

# Replace your channel name with below-mentioned CHANNELNAME

channel add #CHANNELNAME { 
chanmode "+tn" 
idle-kick 0 
flood-chan 5:4 
flood-join 5:10 
flood-ctcp 3:60 
flood-deop 0:0 
flood-kick 0:0 } 
channel set #CHANNELNAME -enforcebans -dynamicbans -autoop -autovoice -protectops -protectfriends


### Advanced Settings ### 

set ignore-time 5 
set hourly-updates 00 

# Replace Your nick name with below mention “OWNERNICK”

set owner "OWNERNICK" 

# Also replace below mention port no 1337 with your listening port no.

set notify-newusers "1337" 

set default-flags "hp" 
set whois-fields "url birthday" 
set die-on-sighup 0 
set die-on-sigterm 1


# if you wish to disable the .tcl and .set commands.
# Uncomment (Remove # ) from below these two lines. If you select your owners wisely, you should be okay enabling these

#unbind dcc n tcl *dcc:tcl 
#unbind dcc n set *dcc:set 
set muste-owner 1
unbind dcc n simul *dcc:simul 
set max-dcc 50 
set enable-simul 1 
set allow-dk-cmds 1 
set dupwait-timeout 5 

### Module Settings ### 
loadmodule dns
loadmodule transfer 
loadmodule share 
loadmodule server 
loadmodule ctcp 
loadmodule irc 
loadmodule notes 
loadmodule console 
loadmodule blowfish 
checkmodule blowfish 
loadmodule uptime 
loadmodule channels
set keep-nick 1 
set strict-host 0 
set quiet-reject 1 
set lowercase-ctcp 0 
set answer-ctcp 3 
set flood-msg 5:5 
set flood-ctcp 3:60 
set never-give-up 1 
set strict-servernames 0 
set server-cycle-wait 60 
set server-timeout 60 
set servlimit 0 
set check-stoned 1 
set use-console-r 0 
set debug-output 0 
set serverror-quit 1 
set max-queue-msg 300 
set trigger-on-ignore 0 
set double-mode 0 
set double-server 0 
set double-help 0 
set optimize-kicks 1 
set stack-limit 4 
set ctcp-mode 0 
set bounce-bans 1 
set bounce-modes 0 
set max-bans 100 
set max-modes 30 
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 
bind msg - ident *msg:ident 
bind msg - addhost *msg:addhost 
set no-chanrec-info 0 
set bounce-exempts 0 
set bounce-invites 0 
set max-exempts 20 
set max-invites 20 
set prevent-mixing 1 
set max-dloads 3 
set dcc-block 1024 
set copy-to-tmp 1 
set xfer-timeout 30 
set share-compressed 1 
set max-notes 50 
set note-life 60 
set allow-fwd 0 
set notify-users 1 
set notify-onjoin 1 
set console-autosave 1 
set force-channel 0 
set info-party 0 

### Script Settings ### 
# For additional TCL scripts, addition can be made under Script Settings .
# You can add any desire tcl script example.tcl file in scripits folder:  /user/eggdrop/scripts 
# and then can add below line as source scripts/example.tcl
# Resash the eggdrop after adding the scripts to work.

source scripts/alltools.tcl 
source scripts/action.fix.tcl 
source scripts/cmd_resolve.tcl 
source scripts/compat.tcl

Troubleshooting

Check logs/ for error messages.

  1. [16:36:01] ^BRSS HTTP Error^B: https://wiki.ircnow.org/Site/AllRecentChanges?action=rss (State: error)
    This is due to an obsolete tcltls. You'll need to compile the latest release from source.