# UnrealIRCd is the IRC server most networks still run

> UnrealIRCd is the open source IRC server behind a large share of the networks that exist today, with a configuration driven design, full IRCv3, TLS, cloaking, JSON-RPC, GeoIP and anti-flood tooling. The repository is the 6.x development branch, the project publishes no GitHub releases, and the two documents worth reading before you contribute are its security policy and its policy on AI use in coding.

**unrealircd/unrealircd** — Official UnrealIRCd repository. Downloads are available from our site

- Repository: https://github.com/unrealircd/unrealircd
- Website: https://www.unrealircd.org
- Stars: 526 · Forks: 157
- Language: C
- License: GPL-2.0
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/unrealircd-unrealircd

## What UnrealIRCd is, and who is still running it

UnrealIRCd is an open source IRC server that has been serving networks since 1999. The README calls it the most widely deployed IRCd, with a market share of 37 percent as measured by the server statistics site the claim links to, and it runs on Linux, OS X and Windows.

That claim matters for an adoption decision. IRC has a reputation for being a protocol of the 1990s, and it is, but the network of servers and clients running it today is not a nostalgia exercise, and UnrealIRCd is the server most of them use. The project describes itself as a highly advanced IRCd with a strong focus on modularity and security, and the feature list backs that up: full IRCv3 support, SSL and TLS, cloaking, JSON-RPC, advanced anti-flood and anti-spam systems, GeoIP, and remote includes.

The characteristics of that list are worth reading carefully. Cloaking hides hostnames, which is a privacy feature for users and a deterrent for scanners. The anti-flood and anti-spam systems are the difference between a server that survives a popular channel and one that does not. JSON-RPC is an external control surface for a server, which is what makes automated administration and monitoring possible. Remote includes let a configuration be split and fetched, which is how a large network keeps its configuration in version control across many files.

The intended user is an IRC network operator, or a community that wants its own server rather than a channel on somebody else's. The other audience is contributors, since the project is developed in the open on GitHub and the README points at its forums, bug tracker and contribution guide.

## The configuration file is the real interface

UnrealIRCd is described as using an advanced and highly configurable configuration file, and in practice that file is how an operator meets the server. There is no quick start wizard and no management console in the core product; the configuration is the product surface, and learning it is the main cost of running the thing.

The features listed in the README are largely configuration features rather than code features. Cloaking, TLS, GeoIP, anti-flood, JSON-RPC and remote includes are all things you turn on, tune and scope in configuration. That is a deliberate design for a server that has to run unattended for months: the behaviour of a running network is fully described in text that can be reviewed, diffed and rolled back.

It also means the operational knowledge sits with the operator. A new release does not change your behaviour unless you change the configuration, which is a good property for a service that people log into every day, and a bad one for a team hoping to get new capabilities by upgrading.

The documentation carries that load, and the README is explicit about it, saying the project is particularly proud of its extensive online documentation. The docs site, the FAQ, the forums and the support channel on the project's own IRC server are listed as the places to go, which is a reasonable arrangement for a project that has been running since 1999.

## Building it: autotools for Unix, a separate makefile for Windows

The repository layout shows the two build systems side by side, and that split explains the support matrix later on.

For Unix-like systems there is a full autotools setup: an autoconf/ directory, autogen.sh, configure.ac, a generated configure script, Makefile.in, and the BSDmakefile for BSD flavours. The presence of Makefile.windows alongside them is the other half, since Windows is not built with autotools here but with its own makefile. A Config directory and the unrealircd.in template complete the source side, with the implementation in src/ and the public headers in include/.

Two other directories are worth knowing. doc/ holds documentation sources, and extras/ holds the things that ship next to the server but are not the server, which is where operator utilities and samples tend to live. The .clang-format file at the root tells you the project is formatted with clang-format, and .git-blame-ignore-revs is there to keep formatting-only commits out of blame history, a small sign of a project that has had to reformat its code at scale.

The default branch is named unreal60_dev, which is the clearest statement in the repository about the project's shape: you are looking at the development branch of the 6 series, and the README notes that full details of release scheduling and end-of-life dates are on the wiki rather than in the repository. There is also an AI_POLICY.md at the root, which the README describes as the project's policy on AI use for coding, and SECURITY.md for reporting vulnerabilities.

## One supported series, and no GitHub releases

The version policy is stated in two lines and it shapes everything else.

```markdown
* UnrealIRCd 6 is the *stable* series since December 2021. It is the only supported version.
```

So the 6 series has been the stable, the only supported line since December 2021, and everything else, including whatever the previous series was, is out of support. The README deliberately does not list the other versions: release scheduling and end-of-life dates live on the wiki page it links.

There is a corresponding fact about how the project publishes. The repository has no GitHub releases, so the tags and the official downloads are managed through the project's own site, which the repository description points at. For an operator that means the version you run is a decision you make from the site's release announcements rather than from a package manager or a GitHub release feed, and for a distributor it means the packaging story is separate from the source tree.

The last push to the repository was on 2026-10-20, two days before this article, and the repository is not archived, so development is current. A Linux CI badge sits in the README for the continuous integration workflow, which is the visible sign that the tree is built and tested automatically rather than by hand.

For a long-lived service, the combination of a single supported series and an old stable date is the trade to think about. It buys predictability, and it means you are running a branch whose feature set was largely settled several years ago, with new work going into the same major version rather than into a new one.

## Supported platforms and the systems that are actually tested

The README separates support from testing, and that distinction is the one to plan against.

Support is broad. The project tries to support all major Unix-like systems, meaning all Linux distributions plus NetBSD, OpenBSD and macOS, provided the operating system version was released within the past five years or so. On Windows, the support statement covers Windows 10 or later and Windows Server 2016 or later, with older versions not supported.

Testing is narrower and comes from a private BuildBot instance that tests each commit. The list of tested systems is short and specific.

```markdown
* Linux: Debian (10, 11, 12, 13), Ubuntu (18.04, 20.04, 22.04, 24.04, 26.04)
* FreeBSD: 15
* Windows: 11
```

The README says other systems are likely to work too, and that is the correct reading, but if you are deploying onto something outside this list you are outside what the project verifies on every commit.

Architecture is a non-issue in the way you would hope. UnrealIRCd is architecture-agnostic, and the README explains the arrangement: most BuildBot workers run on x64, but there are also workers on x86 and arm64 so that those builds are covered. If you are running an ARM server, an SBC or a VM, you are in the tested set rather than the hopefully set.

## Support channels, bug reports and the two policy documents

The support story is community based and spread over several places, which the README lists explicitly.

For a question, the project points at the FAQ and the documentation site, then at the support channel on its own server, #unreal-support, reachable over ircs on port 6697, and at the forums. The bug tracker lives on its own domain rather than on GitHub issues, and the repository README links both.

Contributions are invited through a CONTRIBUTIONS.md at the root, and the README summarises the asks: report bugs, test, write or translate documentation. Translation is called out separately, which fits a project whose user base is international and whose documentation is a large part of the product.

Then there are the two policy documents, and for anyone planning to contribute, the more interesting one is AI_POLICY.md, described as the project's policy on AI use for coding. Its presence says something about where a 1999 project has arrived in 2026, and it is a file to read before you open a pull request, because a project that has written down a policy on the subject will check contributions against it. The other, SECURITY.md, is the file that says how to report a security issue, which is the one an operator running a public server should read first.

The licence is stated in the README's link list as GPLv2 or later, with the LICENSE file in the repository root. For a network operator who may want to modify the server, that is a permissive enough footing, and it also means a derived server carries the same obligations, which is the usual copyleft trade and not a legal opinion.

## Where UnrealIRCd is the wrong tool

The honest limitation is protocol level. UnrealIRCd speaks IRC. If your requirement is a chat product for people who will not install a client and will not learn a command line interface, an IRC server is the wrong foundation, whatever the server's own feature list looks like. The 37 percent share measures deployment among IRC servers, not among chat software.

The second limitation is operational. Running a public server means running a service that strangers connect to, so the anti-flood and anti-spam systems are not optional extras, cloaking has to be understood before it is relied on, and the JSON-RPC control surface has to be locked down. None of that is configuration trivia; it is the day two of running an IRC network, and the documentation pages the README points to are where that work lives.

The third is the version line. A single supported series that has been stable since December 2021 is a long commitment, and when the next major version arrives, the migration is yours to plan, since the project's support policy means the old series stops being maintained.

The alternative to running your own is joining an existing network, and the difference in approach is about control rather than features. On someone else's server you inherit their moderation, their user base and their uptime, and you get a working IRC experience immediately; with your own you own the configuration, the logs, the spam policy and the TLS story, and you inherit the work of keeping it running. For a community that already has members on a network, the second option is a lot of work for a different kind of control, and for a community that wants to set its own rules, an external network may not be available at all.

## Conclusion

UnrealIRCd fits an operator who wants to run a public IRC network with modern protocol support, spam controls and TLS, and it does not fit a team looking for a general purpose chat platform, since it speaks IRC and nothing else. Before you deploy it, read the configuration and release pages the README points to rather than the README itself, and note that the 6 series has been the only supported version since December 2021, so you are adopting a long-lived branch with a known upgrade path rather than a moving target. The last push was on 2026-10-20, the licence is GPLv2 or later, and there are no GitHub releases to pin.

## FAQ

### How do I install UnrealIRCd?

The README does not give the commands itself, it points at the installation guide on the project wiki, with a separate page for installing from source on Unix-like systems and another for Windows. The repository contains the autotools sources, autogen.sh, configure and a separate Makefile.windows, and the site is where the official downloads live.

### Which UnrealIRCd version should I run?

The README states that the UnrealIRCd 6 series is the stable series since December 2021 and the only supported version, and it directs you to the wiki page on releases for the full release scheduling and end-of-life dates. The repository publishes no GitHub releases, so versions are announced through the project's own site.

### Which platforms does UnrealIRCd support and test?

Support covers all major Unix-like systems, all Linux distributions plus NetBSD, OpenBSD and macOS released within about five years, and Windows 10 or later and Windows Server 2016 or later. A private BuildBot tests each commit on Debian, Ubuntu, FreeBSD 15 and Windows 11, and the project is architecture-agnostic with workers on x64, x86 and arm64.

### What licence is UnrealIRCd released under?

The README describes the licence as GPLv2 or later, with the LICENSE file in the repository root. If you intend to modify and redistribute the server, that copyleft term is the part to read before you start.

### How do I get help with UnrealIRCd?

The README points at the documentation site, the FAQ, the forums, and the support channel #unreal-support on the project's own IRC server over ircs on port 6697. Bugs go to the project's own bug tracker, and security issues go through the SECURITY.md policy.

## Sources

- [Issues](https://github.com/unrealircd/unrealircd/issues)
- [License: GPL-2.0](https://github.com/unrealircd/unrealircd/blob/unreal60_dev/LICENSE)
- [Project website](https://www.unrealircd.org)
- [README](https://github.com/unrealircd/unrealircd/blob/unreal60_dev/README.md)
- [unrealircd/unrealircd on GitHub](https://github.com/unrealircd/unrealircd)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/unrealircd-unrealircd
