MODES

 
USER AND CHANNEL MODES

Modes are settings which control the various properties of nicks and channels. User modes control the behavior of a user's nick and Channel modes control the behavior of individual channels. Chat programs use letters (called flags) to denote the modes that are active for a nick or channel. Note that flags are case sensitive, i.e. mode "i" is not the same as mode "I".
 
USER MODES
To add or subtract a user mode, the general syntax is /mode <nick> <+/-><flag>. However, mode commands can combine both addition and subtraction of flags with one command.
 
Example:
/mode fred +i = gives fred an i flag.
/mode tom s = gives tom an s flag (with simple mode commands, you can leave out the +).
/mode hank +isw-Gxc = adds flags i and s and w and subtracts G and x and c from hank.
 
If you use mIRC, you can see your own flags in the titlebar of your Status window. Only ircops and admins can see the flags of other nicks.
 
The following are the flags supported by Unreal. Note that not all are changable by the user. Some are assigned by the server or Services and represent a status rather than a setting, and some are settable but only by ircops/admins. Its also possible for a flag to be prohibited from any usage.
 
Mode
 
a
Is a Services Administrator (assigned by the server).
b
Can read & send chatops. Chatops are a special type of broadcast /msg. Chatop messages can only be sent and received by nicks with +b. Only local/global ircops can give themselves +b.
c
Can see all connects/disconnects on the local server.
d
Blocks all channel PRIVMSGs (Deaf).
e
Can listen to server messages sent to +e users (Eyes).
f
Listen to flood alerts from server.
g
Can read & send to global ircops and local ircops.
h
Available for help (Help Operator) (only ircops/admins can assign).
i
Invisible (Not shown in /WHO searches). +i does not affect searches done by ircops/admins.
j
"Junk" mode. Displays misc information and nick changes.
k
See's all the /KILL's that are being done.
o
Global IRC operator (assigned by the server).
q
Only U:lines can kick you (only ircops/admins can assign).
A
"U:line" is a nick/server/whatever whose hostaddress is listed in the U:line section of the ircd configuration file. If enabled, the commmand /stats U will show who or what has a U:line.
r
Identifies the nick as being Registered (assigned by Services).
s
Can see server notices.
t
Says that you are using a /VHOST.
v
Receive infected DCC send rejection notices.
w
Can listen to wallop messages. Wallops area special type of broadcast /msg. Only ircops can send them but any nick with +w can receive.
x
Cloaks the nick's hostaddress in an encrypted format.
z
Marks the client as being on a Secure Connection (SSL).
A
Is a Server Administrator (assigned by the server).
B
Marks you as being a bot.
C
Is a Co Administrator (assigned by the server).
F
Lets you receive Remote and Local connect notices.
G
Replaces bad words sent to you with <censored>. The bad words are those listed in the ircd configuration file badwords.message .conf .
H
Hide IRCop status in /WHO and /WHOIS. (ircops/admins only).
I
Invisible.(only ircops/admins can assign). Effectively, it makes you invisible in a channel. A +I user's channels will not show up in /who nor /whois. If a user enables +I while in a channel, that channel will show him parting. If a user disables +I while in a channel, that channel will show him joining.
N
Is a Network Administrator (assigned by the server).
O
Local IRC Operator (i.e. only on the server its logged onto) (assigned by the server).
S
Services nick (nickserv, chanserv, etc).
W
Lets you see when people do a /WHOIS on you (ircops/admins only).
 
CHANNEL MODES
To add or subtract a channel mode, the general syntax is /mode <#channel> <+/- ><flag> [options]. Like with nick modes, channel mode commands can combine both addition and subtraction of flags with one command.
 
Example:
/mode #kitchen +i = gives #kitchen an i(invite only) flag.
/mode #bathroom l 15 = gives #bathroom an l(limit) flag with a limit of 15.
/mode #bedroom +ilb-Gtc 9 gerald!ger@aol.com = adds flag i, subtracts G and t and c, puts the channel limit at 9 and bans gerald. Be careful when combining channel modes, it can get tricky trying to keep things straight and the server may get confused as to which option is for which flag.
 
If you use mIRC, you can see the flags of a channel in the titlebar of the channel window.
 
The following are the flags supported by Unreal. They are usually only setable by ops, however, some can also be set by halfops and some are assigned by the server, Services or ircops/admins. Its also possible for a flag to be prohibited from any usage. No channel mode can be set by non-ops/halfops.
 
Mode
 
a
Protected. Gives kick/deop protection to a nick in the channel. Example: /mode #cars +a ricky = gives ricky a +a in channel #cars. Not a channel setting per se, but is a flag that is assigned to a nick for that channel. There is no special nicklist symbol associated with Protected like the @ is associated with ops, however, if the protected user is in that channel, then the user's /whois will show a "&" next to the channel. Also, when the user first joins that channel, ChanServ will be seen giving the +a. Can also be assigned by Chanserv thru the access list and by the /cs protect command.
b

Prevents a hostmask from entering the channel. Example: /mode #cars +b ricky!IrCQNet@icq.com = bans ricky from entering #cars. This is the famous (or infamous) ban command. Not a channel setting per se, but is a flag that is assigned to a hostmask for that channel.

Note that the definition does NOT say anything about kicking...a ban is not a kick, they are two separate actions. Alot of misunderstanding is associated with bans due to clients/scripts combining those two actions together. A straight ban ONLY prevents channel entry. If the hostmask is already in the channel, the ban does nothing to them.

Note that the definition does not say anything about preventing a USER from entering. Servers have no way of knowing who is behind a hostmask; servers don't have psychic powers. If a user has the ability to change nicks/usernames/hosts at will, then there will be no reasonable way to keep them out of a channel except by drastic measures such as key (+k), invite only (+i), Restricted channel (done with Chanserv), etc.

The ban victim can be entered into the /mode command in several ways. If only a nick or host is entered, the server will attempt to fill in the remaining hostmask with wildcards.

All the bans for a channel are listed in that channel's ban list. To see the list in #cars, use /mode #cars b .If you use a client like mIRC, you can also get the banlist by doubleclicking on any open whitespace in the channel (this brings up Channel Central).

Bans can be set/removed by anyone who is presently opped or halfopped.

c
Blocks messages with ANSI colour (ColourBlock). Example: /mode #cars +c
Prevents all users from sending any chat lines into the channel that contain ANSI control characters. ANSI control characters are what is used to change normal text into colors, bold, underline, etc. Note that this setting is not the same as +S. +S strips off the ANSI control characters but allows the text itself to come thru. +c blocks the whole line.
e

Ban exception. Example: /mode #cars +e ricky!IrCQNet@te48.aol.com. Not a channel setting per se, but is a flag that is assigned to a hostmask for that channel.

This will exempt a hostmask from being banned. Say for example that there was a broad ban in #cars such as *!*@*.aol.com. This ban would keep out all aol users. Giving ricky an exemption would let him (and only him) thru the ban.
Exemptions can be set/removed by anyone who is presently opped or halfopped.

f
Channel flood protection. Example: /mode #cars +f *10:60 = Kickbans any user who sends out more than 10 lines of chat within 60 seconds in channel #cars.
The * means that flooders will be kicked and banned. No * means that flooders will only be kicked. Does not affect ops/ircops/admins.
h

Gives halfop status to a nick in the channel. Example: /mode #cars +k ricky = makes ricky a halfop in #cars. Not a channel setting per se, but is a flag that is assigned to a nick for that channel.

Nicks with a halfop flag are designated in the nicklist with a % in front of their nick and also have a % in their /whois next to the channel. Halfops can: give/take voice, kick users, set bans. Halfops cannot: give/take op, give/take halfop, invite, kick ops, kick halfops, assign other channel modes. Can also be assigned by Chanserv thru the access list and by the /cs halfop command.

i
Sets channel to invite-only. Example: /mode #cars +i . Channels set to invite-only cannot be entered unless chanserv or an op in that channel invites them.
k
"Keys" a channel. Example: /mode #cars +k blah Keyed channels can only be entered when the user gives the proper key with the join command. In the above example, that command would be /join #cars blah . A user with the proper key can enter the keyed channel even if his hostmask is banned.
l
Channel population is limited. Example: /mode #cars +l 53. Limited channels will only hold a certain number of users. In the above example, that number is 53. Any user attempting to join a channel that is at its limit will be denied entry.
m
Channel is moderated. Example: /mode #cars +m. When a channel is moderated, only users with voice (+), halfop (%) or op (@) may send text into the channel.
Most clients will inform the user that they cannot send text into the channel with a message in their Status window.
n
No channel messages allowed from outside channel. Example: /mode #cars +n
Normally, a user from outside of a channel can send a message to all the users of that channel with /msg #channel <message>. This channel mode blocks that.
o

Gives operator status to a nick in the channel. Example: /mode #cars +o ricky = makes ricky an op in #cars. Not a channel setting per se, but is a flag that is assigned to a nick for that channel.

Nicks with an op flag are designated in the nicklist with a @ in front of their nick and also have a @ in their /whois next to the channel. Ops can (generally speaking) kick/ban/exempt anyone, can assign voice and halfops, and can set channel modes.

p

Private channel. Example: /mode #cars +p. A private channel will not show up with the /list command. Nicks in a private channel will not show up with the /names #channel nor /who #channel commands.

I don't know of any difference between a private channel and a secret (+s) channel.

q
Denotes channel Owner (founder). Not a channel setting per se, but is a flag that is assigned to a nick for that channel. There is no special nicklist symbol associated with Owner like the @ is associated with ops, however, if the owner is in that channel, then the user's /whois will show a "~" next to the channel. Also, when the user first joins that channel, ChanServ will be seen giving the +q.
Gives the same protection as +a.
r
Channel is Registered. Assigned by Services.
s
Secret channel. Example: /mode #cars +s. A secret channel will not show up with the /list command. Nicks in a secret channel will not show up with the /names #channel nor /who #channel commands. Ircops/admins are not affected by +s.
I don't know of any difference between a secret channel and a private (+p) channel.
t
Only ops/halfops may set the channel topic. Example: /mode #cars +t. Normally, anyone in a channel can set the channel topic. With +t, only ops and halfops can, users/voices cannot.
u

Channel set to "Auditorium". Example: /mode #cars +u. Normally, when a user first joins a channel, their client does a /names command for that channel and creates its nicklist from the resulting output. After that, the client uses joins and parts to keep the nicklist updated. A channel set to +u however, will filter that output such that only ops/halfops/+a/+q will be seen. In addition, all joins and parts are blocked from being seen by users/voices.

The effects of +u on a channel can be disconcerting to users who are not used to that mode. The following is short summary:

For ops/halfops/+a/+q who are already in the +u channel, there is no affect. All nicks can be seen in the nicklist and all joins/parts are sent to them by the server. However, when an op or halfop first joins, they do not have their op status and so they begin as a user. After receiving op/halfop, they must use /names #channel to refresh their nicklist. During the time that they were not op/halfop, they will not have seen any joins/parts.

For normal users and voices: When first entering a channel, they will only see ops/halfops/+a/+q. They will not see any normal users nor voices. They will not see anyone join or part in the channel. Even if an op leaves, the user will not see the channel part message and the op's nick will remain in the nicklist. Quits are not affected by +u. They will still be seen in the channel. Channel chat is not affected by +u. All chat, even from normal users and voices, can still be seen. However, the chat will seem to come from invisible users (which is a fairly accurate description). The nick of the chatter will still preceed the chat lines, but you will not see the nick in the nicklist. In addition to affecting /names, the /who command can be affected as well.

v

Gives voice to a nick in the channel. Example: /mode #cars +v ricky = gives ricky voice in channel #cars. Not a channel setting per se, but is a flag that is assigned to a nick for that channel.

The original purpose of the voice funtion was to help control user channel chat in special situations. In a moderated channel (one with +m set), only ops, halfops and voices can send text to the channel and so a channel can be made to act as a meeting hall, with only one speaker talking at a time. However, +m and voice can also be used to limit floods during flood attacks. Voice is also sometimes used for showing favorable recognition.

Nicks with voice are designated in the nicklist with a + in front of their nick and also have a + in their /whois next to the channel. Can also be assigned by Chanserv thru the access list and by the /cs voice command.

z
Only Clients on a Secure Connection (SSL) can join. No information available about this mode at this time.
A
Server/Net Admin only channel. Example: /mode #cars +A = only admins/ircops may join #cars. Not a channel setting per se, but is a flag that is assigned to a nick for that channel. Only admins can assign +A.
C
No CTCPs allowed in the channel. Example: /mode #cars +C. Blocks users from sending /ctcp commands to the channel. The usual purpose of this setting is to block ctcp channel floods. Does not block a user from sending a direct ctcp to a user in that channel.
G
Channel text is filtered (G-rated). Example: /mode #cars +G Chat text sent to the channel is filtered. Any text found that is listed in the ircd configuration file badwords.channel.conf will be replaced with <censored>.
H
No +I users may join. Example: /mode #cars +H - +I users are blocked from joining #cars. Only admins can assign +H
K
/KNOCK commands are blocked. Example: /mode #cars +K. Blocks users from sending /knock commands to the channel. The usual purpose of this setting is to block knock floods.
L
Overlimit redirect. Example: /mode #cars +L #boats = will auto-join #boats if #cars is full. Must be used with the channel limit (+l) setting.
N
No Nickname changes by users are permitted in the channel. Example: /mode #cars +N. Blocks users from using /nick while in the channel. U:lines,ircops/admins, +a, +q and ops can still change their nicks. Usual purpose of this setting is to stop nick change floods.
O
IRC Operator only channel. Example: /mode #cars +O. +I users are blocked from joining #cars. Only ircops/admins can assign +O.
Q
Kicks can't be done in channel unless by U:Lines. Example: /mode #cars +Q
Kicks from any source (except a U:line) are blocked. This includes ops, etc. A "U:line" is a nick/server/whatever whose hostaddress is listed in the U:line section of the ircd configuration file. If enabled, the commmand /stats U will show who or what has a U:line.
R
Prevents unregistered nicks from joining the channel. Example: /mode #cars +R.
When Services are down, this setting effectively acts as a +i, since no nick is listed as registered. This setting will keep website users out of a channel because the default Guest nicks are unregistered.
S
Strip all incoming colours away. Example: /mode #cars +S. This has the server filter out any ANSI control characters that are sent into the channel. ANSI control characters are what is used to change normal text into colors, bold, underline, etc.
Note that this setting is not the same as +c. +S strips off the ANSI control characters but allows the text itself to come thru. +c blocks the whole line.
V
/INVITE is not allowed. Example: /mode #cars +V. Blocks users and chanserv from inviting others to the channel.
^
Reports channel modes in bitstring. Example: /mode #cars +^. Only exists in development versions of Unreal.
 

© 2000-2004
All rights reserved.