From UnrealIRCd documentation wiki
Jump to navigation Jump to search

Some text is here lalala

About UnrealIRCd[edit]

UnrealIRCd is an Open Source IRC Server, serving thousands of IRC networks since 1999. It runs on Linux, FreeBSD, OS X and Windows and is currently the most widely deployed IRC Server with a market share of 42% according to

Some of UnrealIRCd's most notable features include:

  • Module support: full freedom to load specific features or not
  • Advanced anti-flood and anti-spam systems: Spamfilter, channel mode +f, DNS Blacklists (DNSBL), AntiRandom, connection throttling based on reputation.
  • Highly configurable configuration file
  • Extensive documentation (on this wiki and also on IRC through the /HELPOP command)
  • SSL/TLS encrypted client and server connections, with secure defaults and a lot of configuration options.
  • Channel Owners (+q) and Channel Admins (+a)
  • Channel Half-ops (+h)
  • Advanced banning through extended bans, including but not limited to: timed bans (that are removed after X minutes), allowing/exempting by services account name, certificate fingerprint, etc.
  • Text filtering via a "swear filter" user/channel mode (+G) and per-channel text filter via the ~T extban.
  • Channel linking (+L)
  • Hostname cloaking (+x)
  • Color blocking and stripping (+c/+S)
  • Vhosts
  • DCCDeny
  • Much more... see also the Features section.

If you want to download UnrealIRCd, go to

Installing from source[edit]

To install UnrealIRCd on Linux, FreeBSD, OpenBSD, OS X and other *NIX systems you generally compile and install from source. In addition to that you will also need to configure UnrealIRCd. This page explains how to do all that. Even if you are completely new to UnrealIRCd then all these steps to get the IRCd up and running shouldn't take more than 30 minutes in total.

Don't run as root[edit]

Be sure to build and run the IRCd as a regular user and not as root. If you are on a VPS / root shell then create a user 'unrealircd' or similar (sudo adduser unrealircd) and do all steps below as that user (login as user 'unrealircd'). See also Do not run as root.


If you are upgrading an existing UnrealIRCd installation, then before you continue, make a copy of your unrealircd directory:

cp -Rav ~/unrealircd ~/unrealircd.thisismycopy

Grab the source (.tar.gz)[edit]

From the shell[edit]

Connect to the *NIX server via SSH. All the following commands execute on the *NIX server.

wget --trust-server-names

On FreeBSD you may have to use:


If neither works, for example you get an 'unknown command' then you should install the 'wget' package on your system or try uploading (see next).

Alternative: uploading to shell[edit]

You can also choose to download the .tar.gz of UnrealIRCd via your browser, save it to disk, and then upload it to the shell via SCP or SFTP.

Extract the source[edit]

Extract the .tar.gz and enter the unrealircd-x.y.z directory:

tar xzvf unrealircd-5.0.X.tar.gz
cd unrealircd-5.0.X

NOTE: There's some logic here. If the file is called, say, unrealircd-5.0.0.tar.gz then it will extract to the unrealircd-5.0.0/ directory. As you can see, the directory name is different for each release to make sure you don't accidentally overwrite your existing installation.


First, run the ./Config script which will ask a number of questions. You can just press Enter to accept the default answers.


Now, compile UnrealIRCd by running make, this may take a minute (or two):


Finally, run make install (important!):

make install

Creating a configuration file[edit]

UnrealIRCd needs a configuration file. Don't worry, you don't have to create this file from scratch. We ship with an example configuration file that you have to walk through and tweak at a few places:

  1. Change to the installed UnrealIRCd directory, this is /home/yourusername/unrealircd by default (For more information on the directory structure see UnrealIRCd files and directories).
    cd ~/unrealircd
  2. Copy conf/example/example.conf to your conf/ directory and rename it to unrealircd.conf
    cp conf/examples/example.conf conf/unrealircd.conf
    TIP: Is your native language not English? Then check the conf/examples directory. We ship with several example configuration files in different languages. If you want to use one of those, simply copy that one instead.
  3. Open the file with an editor (eg: nano conf/unrealircd.conf)
  4. Read the Configuration file syntax article. It will only take a few minutes and will save you a lot of trouble in next step(s)!
  5. Walk through the unrealircd.conf block by block / line by line and edit the settings to suit your needs. This takes 10 - 20 minutes.
  6. Boot UnrealIRCd by running ./unrealircd start from your ~/unrealircd directory.
  7. Errors? Edit your unrealircd.conf, fix them (see the FAQ for common problems), and try starting UnrealIRCd again.
  8. Up and running? Connect with an IRC client to your server and have fun. See next section too.

Further reading[edit]

  • See the FAQ if you have any problems. A lot of common problems are answered there.
  • Read the IRCOp guide to learn more about how to do server administrative tasks.
  • Add a Cron job to make sure UnrealIRCd (re)starts after system startup or a crash
  • See Features for various available features on UnrealIRCd and Configuration for all possible things you can configure on UnrealIRCd.