Import from http://svn.freenode.net/ircd-seven/private/beu/seven (r196).
[seven-1.x.git] / doc / sgml / oper-guide / umodes.sgml
blob5e57d8c2b6b137f9d80af73bc093defae2bf2454
1 <chapter id="umodes">
2 <title>Umodes</title>
3 <sect1 id="umodelist">
4 <title>Meanings of user modes</title>
5 <sect2>
6 <title>+a, server administrator</title>
7 <para>
8 This vanity usermode is used to denote a server administrator in WHOIS output.
9 All local <quote>admin</quote> privileges are independent of it, though services
10 packages may grant extra privileges to +a users.
11 </para>
12 </sect2>
13 <sect2>
14 <title>+D, deaf</title>
15 <para>
16 <note>
17 <para>
18 This is a user umode, which anybody can set. It is not specific to operators.
19 </para>
20 </note>
21 Users with the +D umode set will not receive messages sent to
22 channels. Joins, parts, topic changes, mode changes, etc are
23 received as normal, as are private messages.
24 </para>
25 <para>
26 Support of this umode is indicated by the DEAF token in
27 RPL_ISUPPORT (005); the parameter indicates the letter
28 of the umode. Note that several common IRCD implementations have
29 an umode like this (typically +d) but do not have the token in 005.
30 </para>
31 </sect2>
32 <sect2>
33 <title>+g, Caller ID</title>
34 <para>
35 <note>
36 <para>
37 This is a user umode, which anybody can set. It is not specific to operators.
38 </para>
39 </note>
40 Users with the +g umode set will only receive private messages from users on a
41 session-defined whitelist, defined by the /accept command. If a user who is not
42 on the whitelist attempts to send a private message, the target user will receive a rate-limited notice saying that the user
43 wishes to speak to them.
44 </para>
45 <para>
46 Network operators are not affected by the callerid whitelist system in the event
47 that they need to speak to users who have it enabled.
48 </para>
49 <para>
50 Support of this umode is indicated by the CALLERID token in
51 RPL_ISUPPORT (005); the optional parameter indicates the letter
52 of the umode, otherwise +g.
53 </para>
54 </sect2>
55 <sect2>
56 <title>+i, invisible</title>
57 <para>
58 <note>
59 <para>
60 This is a user umode, which anybody can set. It is not specific to operators.
61 </para>
62 </note>
63 Invisible users do not show up in WHO and NAMES unless you can see them.
64 </para>
65 </sect2>
66 <sect2>
67 <title>+m, immune</title>
68 <para>
69 This umode prevents an operator from being kicked from any channel. It can only be accessed by
70 an operator with the 'immune' operflag.
71 </para>
72 </sect2>
73 <sect2>
74 <title>+o, operator</title>
75 <para>
76 This indicates global operator status.
77 </para>
78 </sect2>
79 <sect2>
80 <title>+Q, disable forwarding</title>
81 <para>
82 <note>
83 <para>
84 This is a user umode, which anybody can set. It is not specific to operators.
85 </para>
86 </note>
87 This umode prevents you from being affected by any of the channel forwarding mechanisms. In
88 any event where you would normally be forwarded, instead you will get the usual error message
89 as if no forwarding was in effect.
90 </para>
91 </sect2>
92 <sect2>
93 <title>+R, reject messages from unauthenticated users</title>
94 <para>
95 <note>
96 <para>
97 This is a user umode, which anybody can set. It is not specific to operators.
98 </para>
99 </note>
100 If a user has the +R umode set, then any users who are not authenticated
101 will receive an error message if they attempt to send a private
102 message or notice to the +R user.
103 </para>
104 <para>
105 Opers and accepted users (like in +g) are exempt.
106 Unlike +g, the target user is not notified of failed messages.
107 </para>
108 </sect2>
109 <sect2>
110 <title>+T, appear in /stats p</title>
111 <para>
112 This umode marks an operator as available for support. Users with this umode set who are
113 not marked away will appear in /stats p output.
114 </para>
115 </sect2>
116 <sect2>
117 <title>+s, receive server notices</title>
118 <para>
119 This umode allows an oper to receive server notices.
120 The requested types of server notices are specified as a
121 parameter (<quote>snomask</quote>) to this umode.
122 </para>
123 </sect2>
124 <sect2>
125 <title>+S, network service</title>
126 <para>
127 <note>
128 <para>
129 This umode can only be set by servers named in a service{}
130 block.
131 </para>
132 </note>
133 This umode grants various features useful for services. For example,
134 clients with this umode cannot be kicked or deopped on channels,
135 do not show channels the querying user is not on in WHOIS,
136 and do not appear in /stats p.
137 </para>
138 <para>
139 The exact effects of this umode are variable; no user or oper on
140 an actual charybdis server can set it.
141 </para>
142 </sect2>
143 <sect2>
144 <title>+w, receive wallops</title>
145 <para>
146 <note>
147 <para>
148 This is a user umode, which anybody can set. It is not specific to operators.
149 </para>
150 </note>
151 Users with the +w umode set will receive WALLOPS messages sent by opers.
152 Opers with +w additionally receive WALLOPS sent by servers (e.g.
153 remote CONNECT, remote SQUIT, many services packages).
154 </para>
155 </sect2>
156 <sect2>
157 <title>+z, receive operwall</title>
158 <para>
159 OPERWALL differs from WALLOPS in that the ability to receive such messages is
160 restricted. Opers with +z set will receive OPERWALL messages.
161 </para>
162 </sect2>
163 </sect1>
164 <sect1 id="snomaskusage">
165 <title>Snomask usage</title>
166 <para>
167 Usage is as follows:
168 </para>
169 <cmdsynopsis><command>MODE</command>
170 <arg choice=plain><replaceable>nick</replaceable></arg>
171 <arg choice=plain>+s</arg>
172 <arg choice=plain><replaceable>+/-flags</replaceable></arg>
173 </cmdsynopsis>
174 <para>
175 To set snomasks.
176 </para>
177 <cmdsynopsis><command>MODE</command>
178 <arg choice=plain><replaceable>nick</replaceable></arg>
179 <arg choice=plain>-s</arg>
180 </cmdsynopsis>
181 <para>
182 To clear all snomasks.
183 </para>
184 <para>
185 Umode +s will be set if at least one snomask is set.
186 </para>
187 <para>
188 Umode +s is oper only by default, but even if you allow nonopers to
189 set it, they will not get any server notices.
190 </para>
191 </sect1>
192 <sect1 id="snomasklist">
193 <title>Meanings of server notice masks</title>
194 <sect2>
195 <title>+b, bot warnings</title>
196 <para>
197 Opers with the +b snomask set will receive warning messages from the server when potential
198 flooders and spambots are detected.
199 </para>
200 </sect2>
201 <sect2>
202 <title>+c, client connections</title>
203 <para>
204 Opers who have the +c snomask set will receive server notices when clients attach to the
205 local server.
206 </para>
207 </sect2>
208 <sect2>
209 <title>+C, extended client connection notices</title>
210 <para>
211 Opers who have the +C snomask set will receive server notices when clients attach to the
212 local server. Unlike the +c snomask, the information is displayed in a format intended
213 to be parsed by scripts, and includes the two unused fields of the USER command.
214 </para>
215 </sect2>
216 <sect2>
217 <title>+d, debug</title>
218 <para>
219 The +d snomask provides opers extra information which may be of interest to debuggers.
220 It will also cause the user to receive server notices if certain assertions fail inside the
221 server. Its precise meaning is variable. Do not depend on the
222 effects of this snomask as they can and will change without notice in later revisions.
223 </para>
224 </sect2>
225 <sect2>
226 <title>+f, full warning</title>
227 <para>
228 Opers with the +f snomask set will receive notices when a user
229 connection is denied because a connection limit is exceeded
230 (one of the limits in a class{} block, or the total per-server
231 limit settable with /quote set max).
232 </para>
233 </sect2>
234 <sect2>
235 <title>+k, server kill notices</title>
236 <para>
237 Opers with the +k snomask set will receive server notices when
238 services kill users and when
239 other servers kill and save (forced nick change to UID) users.
240 Kills and saves by this server are on +d or +s.
241 </para>
242 </sect2>
243 <sect2>
244 <title>+n, nick change notices</title>
245 <para>
246 An oper with +n set will receive a server notice every time a local user changes their nick,
247 giving the old and new nicks.
248 This is mostly useful for bots that track all users on a single server.
249 </para>
250 </sect2>
251 <sect2>
252 <title>+N, global nick change notices</title>
253 <para>
254 An oper with +N set will receive a server notice every time a user on the network changes their nick,
255 giving the old and new nicks.
256 </para>
257 </sect2>
258 <sect2>
259 <title>+r, notices on name rejections</title>
260 <para>
261 Opers with this snomask set will receive a server notice when somebody tries to use an
262 invalid username, or if a dumb HTTP proxy tries to connect.
263 </para>
264 </sect2>
265 <sect2>
266 <title>+s, generic server notices</title>
267 <para>
268 This snomask allows an oper to receive generic server notices.
269 This includes kills from opers (except services).
270 </para>
271 </sect2>
272 <sect2>
273 <title>+u, unauthorized connections</title>
274 <para>
275 This snomask allows an oper to see when users try to connect who do not have an
276 available auth{} block.
277 </para>
278 </sect2>
279 <sect2>
280 <title>+x, extra routing notices</title>
281 <para>
282 Opers who have the +x snomask set will get notices about servers
283 connecting and disconnecting on the whole network. This includes
284 all servers connected behind the affected link. This can get
285 rather noisy but is useful for keeping track of all linked
286 servers.
287 </para>
288 </sect2>
289 <sect2>
290 <title>+y, spy</title>
291 <para>
292 Opers with +y receive notices when users try to join RESV'ed (<quote>juped</quote>) channels.
293 Additionally, if certain extension modules are loaded, they will
294 receive notices when special commands are used and/or when they
295 are whoised.
296 </para>
297 </sect2>
298 </sect1>
299 </chapter>
300 <!-- Keep this comment at the end of the file
301 Local variables:
302 mode: sgml
303 sgml-omittag:t
304 sgml-shorttag:t
305 sgml-namecase-general:t
306 sgml-general-insert-case:lower
307 sgml-minimize-attributes:nil
308 sgml-always-quote-attributes:t
309 sgml-indent-step:2
310 sgml-indent-data:t
311 sgml-parent-document: ("charybdis-oper-guide.sgml" "book")
312 sgml-exposed-tags:nil
313 fill-column: 105
314 sgml-validate-command: "nsgmls -e -g -s -u charybdis-oper-guide.sgml"
315 End: