XYZircd is the network IRCd for XYZnet. It is based on
Solanum (itself from charybdis/ircd-ratbox lineage) with
XYZnet branding, cloaking style, and network-tuned defaults. Servers link with
the modern TS6 protocol and expose standard CAPABs for SASL,
account tags, and multi-prefix.
Connecting
- Primary:
irc.XYZnet.org
- Plain: port
6667
- TLS: port
6697 (preferred) — client URI: ircs://irc.xyznet.org:6697
- Lobby:
#XYZ
After connect, register and identify with services (see Rustic below), or use
SASL if your client supports it.
User modes
| Mode | Name | Description | Who |
| +i | Invisible | Hidden from WHO/NAMES unless sharing a channel | Any (self) |
| +x | Cloak | Host cloak via ip_cloaking_4.0 (XYZ- / .XYZ.IP) | Any (self); often default |
| +Z | Secure | Connected via TLS — set automatically | Server |
| +w | Wallops | Receive WALLOPS broadcasts | Any (self) |
| +s | Server notice | Receive server notices; details via snomask | Any / oper-only by config |
| +D | Deaf | Do not receive channel messages | Any (self) |
| +Q | No forward | Refuse channel +f redirects | Any (self) |
| +o | IRC operator | Set by successful OPER | Server |
| +a | Server admin | Admin privileges (oper:admin) | Opers |
| +l | Locops | Receive local LOCOPS | Opers |
| +z | Operwall | Receive OPERWALL | Opers |
| +S | Service | Network service agent — server only | Server |
Typical connect defaults include +i (and often +x). Oper-up umodes commonly include +lswz.
Channel modes
List modes (type A)
| Mode | Description |
| +b | Ban — nick!user@host |
| +e | Ban exception |
| +I | Invite exception |
| +q | Quiet — can join, cannot speak |
Parameter modes (type B / C)
| Mode | Description |
| +k | Channel key (password) |
| +f | Forward target when join fails |
| +j | Join throttle count:seconds (e.g. 5:10) |
| +l | User limit |
Flag modes (type D)
| Mode | Description |
| +i | Invite only |
| +m | Moderated (need voice/halfop/op to speak) |
| +n | No external messages |
| +t | Topic protection (ops/halfops only) |
| +s / +p | Secret / private (mutually exclusive) |
| +r | Registered (identified) users only |
| +z | Op moderated — blocked msgs go to ops instead of drop |
| +g | Free invite — any member may INVITE |
| +F | Free forward target |
| +Q | Disable being a forward target |
| +P | Permanent channel (staff) |
| +L | Large ban lists (staff) |
Membership prefixes
| Mode | Prefix | Role |
| +a | ! | Channel admin (services / SAMODE) |
| +o | @ | Operator |
| +h | % | Halfop |
| +v | + | Voice |
ISUPPORT: PREFIX=(aohv)!@%+ · CHANMODES=beIq,kf,lj,FLPQcgimnprstz
Snomasks (+s)
Operators set snomasks with /MODE you +s ±flags. Lowercase often means local; uppercase network-wide for paired flags.
| Flag | Notices |
| +c / +C | Client connect (basic / extended) |
| +k | Kills |
| +n | Nick changes (verbose) |
| +r | Rejects |
| +s | General server notices |
| +u | Unauthorized connects |
| +b | Bots / floods |
| +f | Class / server full |
| +Z | OperSpy |
| +B | Ban matches (K/D/X-line) |
| +A | Account login/logout |
| +w / +W | WHOIS on you (local / net) |
| +d | Debug |
| +x | External / remote events |
| +y | Spy (STATS, LINKS, …) |
Example standard oper set: +Zbfkrsuy. Optional colored snotices: colored_snotices = yes; in general {}.
Host cloaking
Module ip_cloaking_4.0 provides user mode +x.
XYZnet cloaks use a distinctive brand style:
- Hostname cloaks: prefix style
XYZ-…
- IP cloaks: include
.XYZ.IP (or related .XYZ. forms)
Cloaking protects real hosts from casual exposure. Do not attempt to de-anonymize users for harassment — see the charter.
Config layout
- 📁 ircd/
- ircd.conf — server-local (auth, listen, classes)
- XYZnet.conf — network-wide shared settings
- modules / extensions/ — including cloaking, forcejoin helpers
Staff-oriented commands (SAJOIN, SAPART, etc.) require appropriate oper privileges.
Full mode and snomask references ship with the XYZircd tree as MODES.md and SNOMASK.md.
wiki · services
Rustic IRC Services
Rust · TS6 · PostgreSQL
Rustic is XYZnet’s services package: nickname and channel registration,
notes, vhosts, operator tools, weather, LastFM, and a browser portal at
services.XYZnet.org.
It links to XYZircd over TS6 as services.XYZnet.org.
Classic names (NickServ, ChanServ, OperServ, …) may appear as reserved stubs
that point users to X / Y / Z and #XYZ. Prefer the real agents below.
Quick start
/msg X REGISTER <password> [email]
/msg X IDENTIFY <password>
# or: /IDENTIFY <password> (client alias → X)
/msg X REGISTER #mychannel # you must be op
/join #XYZ
SASL PLAIN is supported for clients that authenticate before join.
X — Channel & Nick Services
X combines NickServ- and ChanServ-style features.
Registration
| Command | Description |
| REGISTER <password> [email] | Register your current nickname |
| REGISTER #<channel> | Register a channel (you must be op) |
Nickname commands
| Command | Description |
| IDENTIFY [nick] <password> | Identify (aliases: ID) |
| LOGOUT | Clear identification |
| STATUS [nick] | Identify status 0–3 |
| INFO <nick> | Nickname information |
| SET <option> <value> | PASSWORD, ENFORCE, EMAIL, ACTION, … |
| DROP <password> | Drop nick registration |
| GHOST / RECOVER / RELEASE | Reclaim or free a held nick |
| GROUP / UNGROUP / GLIST | Account nick grouping |
| NACCESS ADD|DEL|LIST | Auto-recognize hostmasks |
| ALIST | Channels you have access on |
| RESETPASS / CONFIRM | Password reset flow |
| SUSPEND / UNSUSPEND | Oper: suspend a nick |
| TRANSFER #chan <nick> | Transfer channel founder |
ENFORCE: OFF | ON | QUICK | IMMED | WARN ·
ACTION: KILL | NICK
Channel commands
| Command | Description |
| DROP / INFO #channel | Drop registration / view info |
| ACCESS #chan ADD|DEL|LIST | Access list with levels |
| AKICK #chan … | Auto-kick list (ADD|DEL|LIST|ENFORCE|CLEAR) |
| OP / DEOP / HALFOP / VOICE … | Status modes |
| UP / DOWN / SYNC | Restore or strip / re-apply access |
| ENFORCE #chan <what> | SECUREOPS | RESTRICTED | REGONLY | BANS |
| CSET #chan <opt> [val] | MLOCK, ENTRYMSG, KEEPTOPIC, … |
| INVITE / KICK / BAN / TOPIC / GETKEY | Channel management helpers |
| SEEK #channel | Notify & invite access list |
Channel triggers (in-channel):
!op !deop !halfop !voice !kick !ban !unban !topic !invite !seek
Y — Notes, Info & Host Services
| Command | Description |
| SEND <nick> <message> | Send a note (memo) |
| LIST / READ / DEL | List, read, or delete notes |
| INFO [key] / SETINFO | Network info lines (set: opers) |
| REQUEST <vhost> | Request a virtual host |
| ON / OFF | Activate / deactivate vhost |
| VHOST APPROVE|REJECT|LIST | Admin vhost queue |
Notes require identification to X first.
Z — Operator Services
Any IRCop (+o) may use OperServ-style tools. RootServ commands require the services admin list.
| Command | Description |
| AKILL ADD|DEL|LIST | Network bans (mask, duration, reason) |
| GLOBAL <message> | Notice all users |
| STATS / MAP | Services stats / server map |
| KILL / MODE / KICK | Force disconnect or modes |
| CHANFIX #channel | Repair opless registered channels |
| OPER ADD|DEL|LIST | RootServ: services admin list |
| JUPE / CLEARCHAN / REHASH | RootServ admin tools |
| PLUGIN LIST|LOAD|… | Plugin system (TOML / native) |
Built-in plugin examples when loaded: HELLO, TIME, UPTIME.
- Weather — real-time weather via geocoding + forecast APIs; channel triggers such as
!w, !weather, !forecast.
- LastFM — now playing / recent / top tracks; channel trigger
!np.
Message the agents directly for HELP, or use configured channel triggers where enabled.
Web portal
The Rustic web UI is published at
https://services.xyznet.org
(proxied to the services HTTP listener). Use the same credentials as your
registered IRC nick. The site header Login / Members
buttons open this portal.
- Profile and account overview
- Channel and notes summary
- In-app service documentation
wiki · security
Proxy & DNSBL scanner
TS6 · Monitor · Python
scanner.XYZnet.org is a linked TS6 server that introduces
Monitor!Proxy@scanner.XYZnet.org. On each new client connection, Monitor checks the IP against:
- The EFnet DNSBL (
rbl.efnetrbl.org)
- XYZnet local ban list (oper-managed)
- XYZnet exempt list (oper-managed — allows EFnet-listed hosts when needed)
Listed hosts (unless exempt) receive a temporary network KLINE and disconnect.
Clean hosts are unaffected. Light open-port probes may be noted in
#scanner without automatic bans.
What users see
- Notices from Monitor explaining the security check
- Lobby force-join to
#XYZ still applies as usual
- Public policy lists at scanner.XYZnet.org (IPs / reasons only — no nicknames)
Public lists
| Tab | Contents |
| EFnet RBL | Unique IPs confirmed listed, with category & totals (searchable) |
| Local bans | Oper-added hosts/IPs and reasons |
| Exempts | Hosts allowed despite EFnet listing |
Connection scan logs (nicks, user hosts) are not published on the website.
Oper commands
/msg Monitor HELP
/msg Monitor ADDBAN <host|ip> <reason> (alias: ADDBANN)
/msg Monitor DELBAN <host|ip>
/msg Monitor EXEMPT <host|ip> <reason>
/msg Monitor DELEXEMPT <host|ip>
/msg Monitor CHECK <ip>
/msg Monitor STATS
Announcements: #scanner · also joins #XYZ and #services.
Open scanner.XYZnet.org →