How to setup an IRC server on Debian 8

Posted in Tutorials on

This guide explains how to install and configure UnrealIRCd, a top-notch IRC server, on Debian 8.2. Setting up your own IRC server gives you the flexibility to manage users, change their nicks, change channel properties, and more. This tutorial is designed for Debian, but due to their shared roots it may also work for Ubuntu.

Step 1 - Preparations

In Debian there isn't any pre-build UnrealIRCd package available, however building the package yourself is easy. We're going to setup GCC and all other required tools for building the package yourself.

Run the following command on the shell of your Debian based server to install all required dependencies:

sudo apt-get install wget make gcc build-essential openssl libcurl4-openssl-dev zlib1g zlib1g-dev zlibc libgcrypt11 libgcrypt11-dev

Now go and get some coffee since it may take some time until all these tools and libraries are downloaded and installed on your server.

Step 2 - Downloading UnrealIRCd

Download the source code using wget (a CLI-tool to trigger HTTP downloads from the shell, which we installed in the last step.


Unzip it:

tar xzvf Unreal3.2.10.6.tar.gz

Switch into the new folder:

cd Unreal3.2.10.6

And finally, use the ./Config script built into the source package:


The config script will ask you multiple questions like What directory are all the server configuration files in?. Just answer this questions by tapping Enter. No answer to the script means that it will use the default values.

Step 3 - Building UnrealIRCd

We're ready to build UnrealIRCd. Type


and grap another coffee again. This may take some minutes depending on your hardware.

Step 4 - Configuring UnrealIRCd

Copy the default configuration file to ./unrealircd.conf:

cp ./doc/example.conf ./unrealircd.conf

You may edit this to edit the administrator password, ban users or to enable optional modules like the cloak module.

Step 5 - Starting UnrealIRCd

Congratulations! You've successfully set up your own IRC server.

Let's start your shiny-new IRC server with:

./unreal start

and you should see something like:

* Loading IRCd configuration ..
* Configuration loaded without any problems ..
* Initializing SSL.
* Dynamic configuration initialized .. booting IRCd.

Now launch your favourite IRC client and connect to your new server.