HomeHowTo › How To Install an IRC Server

How To Install an IRC Server

In this tutorial I will explain how to basically install, configure and run an IRC server. My IRC server of choice is unrealircd, which can be found on the following website: http://www.unrealircd.com/

This tutorial is intended to give a quick overview on how to get things running. To fully understand how things work it is necessary to also have a look at the unrealircd documentation.

1. Download and Extract unrealircd

# Switch to the root directory (or whereever you want to install Unreal to)
cd /

# Download the archive (check for new version first)
wget http://www.unrealircd.com/downloads/Unreal3.2.9.tar.gz

# Extract it and remove the archive
tar -xvzf Unreal3.2.9.tar.gz
rm Unreal3.2.9.tar.gz

# Switch to the Unreal directory
cd Unreal3.2


2. Configuring and Compiling

For security reasons it might be a good idea to not run the irc server with full root privileges. To chroot the server to its own directory, the following lines have to be added to the /include/config.h file before compiling (they’re already there but have to be uncommented, the lattice must not be removed):

#define IRC_USER "ircd"
#define IRC_GROUP "ircd"

You also have to create the extra user under which Unreal will run:

useradd ircd

Then you can run the configuration script, which will ask some further questions. The default answers are pretty good so it is not necessary to change anything for a basic IRC server. Make sure to have gcc installed before you run the following commands:



3. Creating a Config File

In the Unreal3.2 directory you have to create an unrealircd.conf file which contains the server configuration. There’s a sample config in /doc/example.conf that can be used as a basis. But you can’t just use it like it is as it has to be adapted to your environment first. You should invest some time to carefully read through it.

Here’s the config file that I use to run my server. It’ll run a basic IRC server and allow only one channel (#xyz). For the purpose of this howto (to make it more clear), I have removed/shortened the original comments and added a few custom ones:

unrealircd config file (download)

Don’t forget to change the three passwords (“secret”) and the cloak keys!

4. Starting the Server

./unreal start

If everything went fine, you should see this:unrealircd start screen

5. Connecting to the Server

There are a lot of IRC clients available but not all of them are suitable for IRC operators. When you choose your client, make sure that it has a server status/terminal window. The Firefox addon ChatZilla is a pretty good cross-platform client.

If you use ChatZilla you can connect to your server by entering the following URL:


To become an IRC operator you have to authenticate using the following command:

/oper username password

To become an operator in any channel, type:

/mode #channel +o nickname

To get information about the available commands, type:

/helpop ?

10 Comments.[ Leave a comment ]

  1. Hey. I want to ask.
    I tried to run “make” command. But the result is this:
    make[1]: *** [timesynch.o] Error 1
    make[1]: Leaving directory `/etc/unreal/src’
    make: *** [build] Error 2

    Can you tell me why this happen?
    I’m using vps ubuntu 12.04 (openvz)

  2. I just tried compiling Unreal 3.2.9 and 3.2.10-rc1 on my 12.04 Virtual Machine and both versions compiled successfully. Some questions:

    -> Is your system up-to-date? (apt-get update, apt-get upgrade)
    -> What’s your gcc version? (gcc –version)
    -> Did ./Config run through without problems?
    -> Do you have full permissions in the Unreal directory? Are you operating as root?

  3. 1. yes. i’ve update the os
    2. gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
    3. yes.
    4. yes. im running as root

    btw, i’ve solve my problem. it seems like define CHROOTDIR, IRC_USER “ircd”, IRC_GROUP “ircd” causing thw problems. i dont know why. but i’ve refer here. http://zer0zam.blogspot.com/2012/12/install-unrealircd-on-ubuntu-1204.html

  4. I don’t know why this wouldn’t work on your system, but since this step is optional you can just omit it. As long as unrealircd does not run as root, it should be fine.

  5. Hey, i have run into a problem.
    I just bought a Rasp Pi as well, and I’m running fedora.(2nd day using a linux like OS)

    When i type ‘./unreal start’ it replies:
    -bash: ./unreal: No such file or directory

    when i use the dir command there is indeed no unreal file.
    i ran the ./Config and went flawlessly. i double checked the first 2 questions and all files seem to be there.I just plain cant start it, and been clueless for hours.


  6. If the “unreal” executable is missing, there must have been an error while configuring (./Config) or compiling (make). Is there a compiler installed on your system (gcc) ??

  7. Hi! Firstly I’d want to say you “Thanks” for the good guide.
    Then, I’m going to ask you help about a problem I’m getting with this installation:
    after the ‘./unreal start’ command, everything seems to go right (I got the screen exactly like the one in the picture), but then it gives me the following error: ‘Possible error encountered (IRCd seemingly not started)’ and then the log, which says that UnrealIRCd was started!
    Why am I getting this error? What did I do of so bad?

    Hoping in a reply,
    Regards, Walter

  8. Hmm, that’s hard to tell. Did you change any of the paths during ./Config or renamed the pidfile in unrealircd.conf? Is there any further information in the log?

  9. none of the other guides worked and the IRC channel support guys are not very helpful! this is the best tutorial I’ve found online

  10. Thanks for the feedback, I’m glad that the tutorial helped.

Leave a Comment