How to install Eggdrop from source on Debian / UbuntuA clear step-by-step guide to compile and run
Eggdrop on Debian and Ubuntu. Based on the official documentation:
Installing Eggdrop (https://docs.eggheads.org/install/install.html)
Setting Up Eggdrop (https://docs.eggheads.org/tutorials/setup.html)
Eggdrop is the world's oldest actively maintained IRC bot. This guide covers a normal install from source.
1. PrerequisitesEggdrop
requires Tcl (and the Tcl development headers). TLS support needs OpenSSL headers too.
sudo apt-get update
sudo apt-get install build-essential tcl tcl-dev openssl libssl-dev wget
Optional (Python module support — Eggdrop 1.9+):
sudo apt-get install python3 python3-dev python-is-python3
Check Tcl is available:
tclsh
# type: exit
2. Download the sourceStable release (recommended):
wget https://geteggdrop.com -O eggdrop-latest.tar.gz
Or a specific version from the official FTP, for example:
wget https://ftp.eggheads.org/pub/eggdrop/source/1.10/eggdrop-1.10.2.tar.gz
Alternative via git (development tree):git clone https://github.com/eggheads/eggdrop.git
cd eggdrop
git checkout stable/1.10
(If you use git, skip the extract step below and continue from [tt]./configure[/tt].)
3. Extracttar zxvf eggdrop-*.tar.gz
cd eggdrop-*
4. Configure, modules, compile, installDetect your system and find Tcl:
./configure
Choose default modules (recommended):
make config
Or pick modules interactively:
make iconfig
Compile:
make
Install into [tt]~/eggdrop[/tt] (default):
make install
Or install somewhere else (use a
full path):
make install DEST=/home/YOURUSER/mybot
Optional — generate SSL certificates for botnet TLS:
make sslcert
# or: make sslcert DEST=/home/YOURUSER/mybot
5. Configure the botGo to the install directory:
cd ~/eggdrop
You get example configs. For a quick start:
cp eggdrop-basic.conf MyBot.conf
nano MyBot.conf
For full features, start from the complete example instead:
cp eggdrop.conf MyBot.conf
nano MyBot.conf
Things you must set:- Bot nick / altnick
- IRC server(s)
- Owner handle
- Channels
- Listen port (partyline)
Work through the file carefully — a bad config is the most common reason the bot will not start.
6. First start (create the userfile)The
-m flag creates the userfile the first time only:
./eggdrop -m MyBot.conf
After that, start
without [tt]-m[/tt]:
./eggdrop MyBot.conf
Optional: make the config executable so you can start with [tt]./MyBot.conf[/tt]:
chmod u+x MyBot.conf
(The first line of the config must point to the correct eggdrop binary path.)
7. Auto-restart (crontab or systemd)Eggdrop ships a helper script.
Crontab:./scripts/autobotchk MyBot.conf
Systemd:./scripts/autobotchk MyBot.conf -systemd
This keeps the bot running after a crash or server reboot.
8. Useful next steps- Common first steps (https://docs.eggheads.org/tutorials/firststeps.html)
- Enable TLS security (https://docs.eggheads.org/tutorials/tlssetup.html)
- The party line (https://docs.eggheads.org/using/partyline.html)
- Users and flags (https://docs.eggheads.org/using/users.html)
- Writing a Tcl script (https://docs.eggheads.org/tutorials/firstscript.html)
- Support: #eggdrop on Libera ([tt]irc.libera.chat[/tt])
Quick reference# packages
sudo apt-get install build-essential tcl tcl-dev openssl libssl-dev wget
# download & build
wget https://geteggdrop.com -O eggdrop-latest.tar.gz
tar zxvf eggdrop-latest.tar.gz
cd eggdrop-*
./configure
make config
make
make install
# configure & first run
cd ~/eggdrop
cp eggdrop-basic.conf MyBot.conf
nano MyBot.conf
./eggdrop -m MyBot.conf
# later starts
./eggdrop MyBot.conf
# auto-restart
./scripts/autobotchk MyBot.conf
Sources:- docs.eggheads.org — Installing Eggdrop (https://docs.eggheads.org/install/install.html)
- docs.eggheads.org — Setting Up Eggdrop (https://docs.eggheads.org/tutorials/setup.html)
- geteggdrop.com (https://geteggdrop.com) · eggheads.org (https://www.eggheads.org)
Questions or an error during compile/start? Post your distro version and the full error output.