High Concurrency
Built on the Erlang VM. Handles thousands of simultaneous connections with lightweight BEAM processes and no shared-state locks.
ElixIRCd is an open-source IRC server daemon written in Elixir, running on the Erlang VM (BEAM). It implements the standard IRC protocol (RFC 1459 / RFC 2812) with full IRCv3 support, built-in services (NickServ and ChanServ), TLS/WebSocket listeners, and modern security features.
High Concurrency
Built on the Erlang VM. Handles thousands of simultaneous connections with lightweight BEAM processes and no shared-state locks.
Built-in IRC Services
NickServ and ChanServ are embedded — no external services process (Atheme, Anope) required. Accounts and channels survive restarts via Mnesia.
IRCv3 Capabilities
SASL PLAIN, message-tags, away-notify, extended-join, multi-prefix, server-time, msgid, account-notify, monitor, setname, chghost, and more.
TLS & WebSocket
Native TLS on port 6697. WebSocket support (plain and TLS) for browser clients like KiwiIRC and Gamja. All four transports can run simultaneously.
Hostname Cloaking
HMAC-based hostname masking (+x mode). Deterministic cloaks
protect user privacy while keeping channel bans effective across
sessions.
Rate Limiting
Token-bucket rate limiter at connection and message level, with per-command overrides, IP/mask exemptions, and configurable disconnect thresholds.
| Standard | Description |
|---|---|
| RFC 1459 | Original IRC protocol |
| RFC 2810 | IRC Architecture |
| RFC 2811 | IRC Channel Management |
| RFC 2812 | IRC Client Protocol |
| RFC 2813 | IRC Server Protocol |
| RFC 7194 | Default Port for IRC via TLS |
| IRCv3 | Modern IRC extensions (capabilities, tags, SASL) |
| Transport | Default Port | Description |
|---|---|---|
| TCP | 6667 | Plain IRC |
| TLS | 6697 | IRC over TLS (recommended) |
| WebSocket | 8080 | IRC over WebSocket |
| WebSocket + TLS | 8443 | IRC over WebSocket + TLS |
All ports are configurable. Multiple listeners of each type can run simultaneously.