Set up your Raspberry Pi as an IRC Server

This guide will teach you how to set up your raspberry pi as an IRC server. IRC stands for Internet Relay Chat and facilitates the transfer of messages. The operating system that i will be using is Raspbian and it will be a headless setup. First of all, we login via ssh and then run update and upgrade commands.

sudo apt-get update && sudo apt-get upgrade -y

The -y syntax means that it will assume yes for all prompts. This means that it will answer yes if you would like to update. We need to then install all of the necessary programs required.

sudo apt-get install gcc libssl-dev -y

The next stage is to download the UnrealIRCD3.2.10.2. We will install the program in the /usr/bin folder so first navigate to that part of the directory and download the file.

cd /usr/bin/

sudo wget

sudo tar xvzf Unreal3.2.10.2.tar.gz

Then we should change into the Unreal folder to configure the program.

sudo su

cd Unreal3.2.10.2


Press the spacebar until you get to the end of the read me file, and then press enter. The only thing that you need to change is;

Do you want to support SSL (Secure Sockets Layer) connections?

[No] -> Yes

The rest of these settings you can leave as default. Once you have passed the configuration settings you then let it set itself up. Then you will be asked to generate and SSL certificate. Once you have generated a certificate you then need to run the make command.


Before we set up the unrealircd.conf file i recommend setting up a DNS profile so people cant see your public ip address. DNS service i used is no-ip at Once you have set up that account, you can then start to configure your unrealircd.conf file.

Firstly if you would like to use your own conf file you can find out how to by following this link. If you would like to use a config file that i have already made simply go into the Unreal3.2.10.2 folder that is located in /usr/bin and run;

Then using the nano editor open the file;

nano unrealircd.conf

Then you need to add your details. Firstly press CTRL + w, then CTRL+r, it should say “Search (to replace):” here is where you type in “Replace1” and press enter. Then “replace with:” should appear. Here is where you should type in the DNS entry you made earlier. The DNS i made was yours should look similar to this.

Once you have replaced that you should;

Replace line 12 with the name of your IRC server (e.g. Johns IRC)

Replace line 17 with admin name for whois command (e.g. John)

Replace line 38 with the password required for server access (e.g. password1). Delete Line if password isnt required

Replace line 32 with the name of an oper (IRC operator) (e.g. john)

Replace line 47 with the oper account password (e.g. password2)

Replace line 68 and 69 with passwords to turn off and restart the IRC server (e.g. password3)

Replace line 164 with the channel that all users automatically join when logging into your server(e.g. #hello)

On line 151 you need to generate some cloak keys for. So save the file CTRL + o then enter. Then you need to run

./unreal gencloak

You will then get three lines of random keys. You need to save these three lines, open the unrealircd.conf, go to line 151 and paste those keys.

Then press CTRL + o then enter to save the file.

Once you have changed these details you will be able to start up the IRC server.

./unreal start

You need to have port 6697 and port 6667 forwarded from your router to successfully get your IRC to work.

If you have any questions please comment or chat to me on the IRC.

Server –

There are many IRC clients about the i use is LimeChat but there are also online IRC that dont require any downloads such as

You have successfully now set up your IRC server to customise your IRC further please refer to the UnrealIRCD documents .

One thought on “Set up your Raspberry Pi as an IRC Server

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s