module { name = "protocol/unreal" /* * Enforces mode locks server-side. This reduces the spam caused by * services immediately reversing mode changes for locked modes. */ use_server_side_mlock = yes } usermode { name = "BOT" character = "B" } usermode { name = "CENSOR" character = "G" } usermode { name = "HIDEOPER" character = "H" oper_only = yes } usermode { name = "HIDEIDLE" character = "I" oper_only = yes } usermode { name = "REGPRIV" character = "R" } usermode { name = "PROTECTED" character = "S" oper_only = yes } usermode { name = "NOCTCP" character = "T" } usermode { name = "WEBTV" character = "V" } usermode { name = "WHOIS" character = "W" oper_only = yes } usermode { name = "DEAF" character = "d" } usermode { name = "GLOBOPS" character = "g" oper_only = yes } usermode { name = "HELPOP" character = "h" oper_only = yes } usermode { name = "INVIS" character = "i" } usermode { name = "OPER" character = "o" oper_only = yes } usermode { name = "PRIV" character = "p" } usermode { name = "GOD" character = "q" oper_only = yes } usermode { name = "REGISTERED" character = "r" oper_only = yes } usermode { name = "SNOMASK" character = "s" oper_only = yes } usermode { name = "VHOST" character = "t" setable = no } usermode { name = "WALLOPS" character = "w" } usermode { name = "CLOAK" character = "x" } usermode { name = "SSL" character = "z" setable = no } channelmode { name = "VOICE" character = "v" status = "+" level = 1 } channelmode { name = "HALFOP" character = "h" status = "%" level = 2 } channelmode { name = "OP" character = "o" status = "@" level = 3 } channelmode { name = "PROTECT" character = "a" status = "~" level = 4 } channelmode { name = "OWNER" character = "q" status = "*" level = 5 } channelmode { name = "BAN" character = "b" list = yes } channelmode { name = "EXCEPT" character = "e" list = yes } channemode { name = "INVITEOVERRIDE" character = "I" list = yes } channelmode { name = "KEY" character = "k" param_regex = "[^:,]+" } channelmode { name = "FLOOD" character = "f" param_regex = "\[(?:(?:(?<=\[)|,)\d+[ckmnt](?:#[CiKmNmMRb]\d*)?)+\]:\d+" } channelmode { name = "REDIRECT" character = "L" param = yes } channelmode { name = "LIMIT" character = "l" param_regex = "\d+" param_unset = no } channelmode { name = "DELAYEDJOIN" character = "D" } channelmode { name = "PRIVATE" character = "p" } channelmode { name = "SECRET" character = "s" } channelmode { name = "MODERATED" character = "m" } channelmode { name = "NOEXTERNAL" character = "n" } channelmode { name = "TOPIC" character = "t" } channelmode { name = "INVITE" character = "i" } channelmode { name = "REGISTERED" character = "r" setable = no } channelmode { name = "REGISTEREDONLY" character = "R" } channelmode { name = "BLOCKCOLOR" character = "c" } channelmode { name = "OPERONLY" character = "O" oper_only = yes } channelmode { name = "PERM" character = "P" } channelmode { name = "NOKICK" character = "Q" } channelmode { name = "NOKNOCK" character = "K" } channelmode { name = "NOINVITE" character = "V" } channelmode { name = "NOCTCP" character = "C" } channelmode { name = "SSL" character = "z" } channelmode { name = "NONICK" character = "N" } channelmode { name = "STRIPCOLOR" character = "S" } channelmode { name = "REGMODERATED" character = "M" } channelmode { name = "NONOTICE" character = "T" } channelmode { name = "CENSOR" character = "G" } channelmode { name = "SSL2" character = "Z" setable = no } extban { name = "CHANNELBAN" type = "channel" character = "c" } extban { name = "JOINBAN" type = "entry" character = "j" } extban { name = "NONICKBAN" type = "entry" base = "BAN" character = "n" } extban { name = "QUIET" type = "entry" base = "BAN" character = "q" } extban { name = "REALNAMEBAN" type = "realname" base = "BAN" character = "r" } extban { name = "REGISTEREDBAN" type = "registered" base = "BAN" character = "R" } extban { name = "ACCOUNTBAN" type = "account" base = "BAN" character = "a" } extban { name = "SSLBAN" type = "fingerprint" base = "BAN" character = "S" }