Internet Relay Chat (IRC) is a form of real-time Internet chat or synchronous conferencing. It is mainly designed for group (many-to-many) communication in discussion forums called channels, but also allows one-to-one communication and data transfers via private message.

Dancer-IRCD is an IRC server designed for centrally maintained networks This is the ircd designed for use on FreeNode, based on Hybrid IRCD used by Efnet. It attempts to handle the network transparently as a unit, and to provide features to support the OPN philosophy.


Download and install Dancer-IRCD, Dancer-Services, and Makepasswd

sudo aptitude install dancer-ircd dancer-services makepasswd


In this article, we need to configure two files /etc/dancer-ircd/ircd.conf and /etc/dancer-services/services.conf. They should be opened as root by your favorite text editor, it may be Gedit, Nano, or even Kate... your choice!

We also need an IRC client to test it out. It can be GAIM or Pidgin, Konversation, Chatzilla, or Ksirc.


In line 48, change it to:

M:localhost.: :dancer-services localhost:

In line 314, change it to:


where P@ssw0rD is Your Password. Please change it accordingly.

In line 315, change it to


Trust me, you have to place xxxx on this line, this is temporary until we get our hashed password.

Hashed Password:

Open a text editor and place your password there. Please make sure you don't include a space after your password and do not hit the Enter key, thereby creating a new line. Save it as password in your home directory.


Open a terminal window and type this command:

makepasswd --crypt-md5 --clearfrom password


Now you have there your Hashed password. Copy this string and replace the xxxx word on line 315 with this.


Please take note that if you run the makepasswd command again, it'll spit out a completely different string. Don't worry, this works either way. It's a hashed result, so it will be a different string everytime you run the command.


In line 10, replace it with the following:

A:Your Name <>

Obviously, it's the Operator's username and password

In line 17, replace it with the following:


In line 28, replace it with the following:


Again, please replace the password with your own. If you want to use another port, do so here.

In line 57, replace it with the following:


Replace the xxxx string with your hashed password


Also replace YourNick with the nick you plan on using with this server

In line 62 and 63, replace it with the channel you want OperServ to monitor. Please take note that this is Optional.


In line 130, replace it with the following ( if you have a FQDN/hostname you can replace localhost with your FQDN/hostname and the IP address and port will also be your specific setting(s)).

M:localhost:6667: 4s


Before firing up your favorite IRC client, make sure you double-check your settings. Once you're done, restart dancer-ircd and dancer-services.

sudo /etc/init.d/dancer-ircd restart
sudo /etc/init.d/dancer-services restart

In my system, there's a zlib warning, don't you worry about this since it happens every time but doesn't affect anything. After restarting dancer-ircd and dancer-services, launch your favorite IRC browser and try connecting to localhost:6667

Now let's test dancer-services by issuing this command.

/msg nickserv register

If NickServ responded to the above command, then you know that dancer-services works. You're also sure that OperServ, ChanServ, and MemoServ's working.

So that's it.. congratulations. You now have an IRC server for your friends, family, and/or your business. If you need other Dancer's advanced features, please consult the documentation.

Configuration Files

Sample Configuration Files used in this tutorial can be downloaded here. You can overwrite your current files, but make sure to set ircd.conf as readable by all and services.conf as owned by dancer-services.

ircd.conf should be saved to /etc/dancer-ircd. Note: this file should be readable by all.

services.conf should be saved to /etc/dancer-services. Note: this file should be owned by dancer-services.

Dancer-IRCD (last edited 2011-06-08 18:41:15 by rrcs-71-41-91-61)