]> jfr.im git - irc/evilnet/x3.git/blame - src/opserv.help
Merge branch 'master' of github.com:evilnet/x3
[irc/evilnet/x3.git] / src / opserv.help
CommitLineData
b1bf690d 1"<INDEX>" (
d2dce5ac
AS
2 " $O provides Oper Services for the Network. ",
3 " Please choose from the following categories: ",
d2dce5ac
AS
4 " $bINFORMATION$b Get information about users. ",
5 " or $O, $C, and $N. ",
964a842d
AS
6 " $bPUNISH$b Commands to discipline users.",
7 " $bCHANNEL$b Channel commands. ",
8 " $bUSER$b User commands. ",
1d957482 9 " $bTRACES$b Powerful commands for ",
d2dce5ac
AS
10 " viewing or acting on lists of",
11 " IRC objects. ",
12 " $bALERTS$b Automated responses. ",
964a842d 13 " $bGOD$b Enabling channel override. ",
ec311f39 14 " $bTRACKING$b Tracking commands. (if enabled)",
d2dce5ac 15 " $bCLONES$b Manage trusts and limits. ",
47956fc5 16 " $bROUTING$b Manage the Auto Routing System.",
d2dce5ac
AS
17 " $bSETTINGS$b View and temporarily change ",
18 " config file settings. ",
19 " $bADMIN$b Misc Administrator Commands. ",
b1bf690d 20 " $bOWNERONLY$b $O operator only commands. "
d2dce5ac 21);
a8370a20
AS
22"COMMANDS" ("The following commands are available in $O:",
23 "${index}",
24 "$uSee Also$u: modcmd, access, command");
25"INDEX" ("The following commands are available in $O:",
26 "${index}",
27 "$uSee Also$u: modcmd, access, command");
d76ed9a9 28
b1bf690d 29"PUNISH" (
d2dce5ac
AS
30 " $bGLINE$b Global Ban a host.",
31 " $bUNGLINE$b Remove a GLINE.",
32 " $bBLOCK$b Gline by nickname.",
33 " $bTRACE GLINE$b Gline all hosts matching a search.",
34 " $bGTRACE$b Search the gline list.",
35 " $b$b",
d914d1cb 36 " $bSHUN$b Global Shun a host.",
37 " $bUNSHUN$b Remove a SHUN.",
38 " $bSBLOCK$b Shun by nickname.",
39 " $bTRACE SHUN$b Shun all hosts matching a search.",
40 " $bSTRACE$b Search the shun list.",
41 " $b$b",
d2dce5ac 42 " $bGAG$b Cause the services to ignore... ",
b1bf690d 43 " $bUNGAG$b ...or unignore by mask."
d2dce5ac
AS
44 );
45
964a842d
AS
46"USER" (
47 " $bSVSJOIN$b Force a user to join a channel.",
48 " $bSVSPART$b Force a user to part a channel.",
49 " $bSVSNICK$b Force a user to change nicks.",
50 " $bACCESS$b Show/modify $O access level of a user."
51 );
52
b1bf690d 53"INFORMATION" (
d2dce5ac
AS
54 " $bACCESS$b Shows a users $O access level.",
55 " $bSTATS$b Show various lists and runtime info.",
56 " $bWHOIS$b Show details about a user by nick.",
57 " $bVERSION$b Show the $O version information.",
58 " $bLOG$b View $O logs.",
b1bf690d 59 " $bTRACES$b Powerfull commands for viewing or acting on lists of IRC objects."
d2dce5ac
AS
60 );
61
b1bf690d 62"TRACES" (
d2dce5ac
AS
63 " $bTRACE$b Search current users and optionally apply an action.",
64 " $bGTRACE$b Search current GLINEs and optionally remove them.",
d914d1cb 65 " $bSTRACE$b Search current SHUNs and optionally remove them.",
b1bf690d 66 " $bCSEARCH$b Search current channels."
d2dce5ac
AS
67 );
68
b1bf690d 69"ALERTS" (
d2dce5ac
AS
70 " $bADDALERT$b Make $O automatically do something",
71 " when users match a criteria.",
72 " $bDELALERT$b Remove an alert.",
f41d4c1e 73 " $bSTATS ALERTS$b See a listing of alerts. "
d2dce5ac
AS
74 );
75
ec311f39 76"TRACKING" (
77 " These commands only work if the tracking module has been compiled in",
78 " $b$b",
79 " $bTRACK$b Display and set tracking options.",
80 " $bADDTRACK$b Adds a nick to the tracking list.",
81 " $bDELTRACK$b Deletes an active track.",
82 " $bLISTTRACK$b Lists all active tracks.",
83 );
6c34bb5a 84
85"PRIVILEGE" (
86 " The Privilege list system: ",
87 " $b$b",
88 " $bPRIVSET$b Set and unset privileges on the fly."
89 );
90
47956fc5
AS
91"ROUTING" (
92 " The Auto Routing System: ",
93 " $b$b",
94 " $bSTATS ROUTING$b Shows everything about the auto routing configuration.",
95 " $bROUTING ADDPLAN$b Creates a new routing plan. Routing plans are a collection of server linking information that $O uses to decide how to route.",
96 " $bROUTING DELPLAN$b Deletes a routing plan (and all its servers).",
97 " $bROUTING ADDSERVER$b Adds server linking information to a plan.",
98 " $bROUTING DELSERVER$b Deletes a server from a routing plan.",
99 " $bROUTING SET$b Show and change routing settings. ",
100 " $bROUTING MAP$b Show what the active routing plan says the network should look like.",
101 " $bREROUTE$b Connect servers to the network, optionally squiting them first to change the routing.",
102 " $b$b ",
5c6bff84 103 " Start by creating a routing plan, and then adding servers to it, with their listning port, uplink, and a backup uplink. You can view it in $bSTATS ROUTING planname$b. Take care not to create loops, and that you make everything connected. Then set your new plan ACTIVE using $bROUTING SET$b. $O does the rest! See help topic $bROUTING EXAMPLE$b for a working example."
47956fc5 104 );
ec311f39 105
b1bf690d 106"CHANNEL" (
0f6fe38c 107 " $bOP$b Op someone.",
108 " $bDEOP$b Deop someone.",
109 " $bHOP$b Half Op someone.",
110 " $bDEHOP$b DeHalfop someone.",
111 " $bVOICE$b Voice someone.",
112 " $bDEVOICE$b Devoice someone.",
113 " $bKICK$b Kick someone.",
114 " $bBAN$b Ban someone.",
115 " $bKICKBAN$b Kickban someone.",
d2dce5ac
AS
116 " $b$b",
117 " $bOPALL$b Op everyone in a channel.",
118 " $bDEOPALL$b Deop everyone in a channel.",
82794e1b 119 " $bHOPALL$b Half Op everyone in a channel.",
120 " $bDEHOPALL$b Dehalfop everyone in a channel.",
d2dce5ac
AS
121 " $bVOICEALL$b Voice everyone in a channel.",
122 " $bDEVOICEALL$b Devoice everyone in a channel.",
1136f709 123 " $bFORCEKICK$b Kicks someone even if they are +k.",
d2dce5ac
AS
124 " $bKICKALL$b Kick everyone from a channel.",
125 " $bKICKBANALL$b Kickban everyone from a channel.",
126 " $b$b",
127 " $bINVITE$b Invite someone to a channel.",
128 " $bINVITEME$b Invite yourself to a channel.",
129 " $bCLEARBANS$b Cear all bans from a channel.",
b1bf690d 130 " $bCLEARMODES$b Clear all modes from a channel."
d2dce5ac
AS
131 );
132
b1bf690d 133"CLONES" (
d2dce5ac
AS
134 " $bADDTRUST$b Add a clone limit exemption for a host.",
135 " $bDELTRUST$b Remove a clone exemption.",
136 " $bEDITTRUST$b Modify a clone exemption.",
137 " $bquery services/opserv/untrusted_max$b",
b1bf690d 138 " View the clone kill limit"
d2dce5ac
AS
139 );
140
b1bf690d 141"SETTINGS" (
d2dce5ac 142 " $bQUERY$b Show a runtime config setting.",
b1bf690d 143 " $bSET$b $uTemporarily$u change a runtime config setting."
d2dce5ac
AS
144 );
145
b1bf690d 146"ADMIN" (
d2dce5ac
AS
147 " $bACCESS$b Modify someone's $O access level.",
148 " $bCOMMAND$b Show details of a command.",
149 " $bSHOWCOMMANDS$b List all commands and required access levels.",
150 " $b$b",
151 " $bBANEMAIL$b Ban an email address from being used by the email system.",
152 " $bUNBANEMAIL$b Remove an email ban.",
153 " $b$b",
154 " $bJOIN$b Make $O join a channel.",
155 " $bPART$b Make $O leave a channel.",
156 " $b$b",
157 " $bCLONE$b Create and manipulate a fake user.",
158 " $bCOLLIDE$b Create a clone, colliding an existing user.",
159 " $bRESERVE$b Permanently reserve a nick with a clone.",
160 " $bUNRESERVE$b Remove a perminant reserved clone.",
161 " $bJUPE$b Create dummy server.",
162 " $bUNJUPE$b Remove a dummy server.",
163 " $b$b",
08895577 164 " $bDEFCON$b Manipulate the DefCon system.",
d2dce5ac 165 " $bREFRESHG$b Refresh the Glines.",
d914d1cb 166 " $bREFRESHS$b Refresh the Shuns.",
d2dce5ac 167 " $bSETTIME$b Synchronize time across the network.",
b1bf690d 168 " $bTIMECMD$b Time how long a command runs."
d2dce5ac
AS
169 );
170
b1bf690d 171"OWNERONLY" (
d2dce5ac
AS
172 " $bWRITE$b Write out a database.",
173 " $bWRITEALL$b Write out ALL databases.",
174 " $bREOPEN$b Close and Re-Open the logs.",
175 " $bREADHELP$b Re-read a help file.",
176 " $bDUMPMESSAGES$b Writes messages to a .db file (for translators).",
177 " $b$b",
178 " $bREHASH$b Re-read the config files.",
ceafd592 179 " $bRESTART$b Quit and re-run X3.",
d2dce5ac
AS
180 " $bDIE$b Make the bot quit.",
181 " $bJUMP$b Change uplink servers.",
182 " $bRECONNECT$b Reconnect to this uplink server.",
d914d1cb 183 " $bGSYNC$b Pull glines from the given server into memory.",
184 " $bSSYNC$b Pull shuns from the given server into memory.",
d2dce5ac
AS
185 " $b$b",
186 " $bMODCMD$b Change details of a command.",
187 " $bBIND$b Make a command alias.",
188 " $bUNBIND$b Remove a command alias.",
c8273589 189 " $bREBINDALL$b Re-create all missing commands on all services",
d2dce5ac
AS
190 " $bHELPFILES$b Change the helpfile priority order.",
191 " $b$b",
192 " $bSERVICE ADD$b Create a new service bot.",
193 " $bSERVICE REMOVE$b Remove a service bot.",
194 " $bSERVICE RENAME$b Rename a service bot.",
195 " $bSERVICE PRIVILEGED$b Sets if only opers can use the service.",
182dd032 196 " $bSERVICE TRIGGER$b Change the command character of a service.",
d2dce5ac
AS
197 " $b$b",
198 " $bADDBAD$b Add a word to the illegal channel word list.",
199 " $bDELBAD$b Remove a word from the illegal channel word list.",
200 " $bADDEXEMPT$b Make an exception to the illegal word list for a channel.",
201 " $bDELEXEMPT$b Remove an exception of the illegal word list.",
202 " $b$b",
203 " $bDUMP$b Drop safetychecked server protocol to the server. ",
7637f48f 204 " $bRAW$b Drop raw server protocol to the server. (DANGEROUS!)",
205 " $b$b",
206 " $bRESETMAX$b Reset the maximum recorded users. (used in the event of a clone flood)"
d2dce5ac
AS
207 );
208
209
d76ed9a9 210"ACCESS" ("/msg $O ACCESS [nick|*account] [new-level]",
d2dce5ac 211 "Displays the $O access level for the specified user or account. With no arguments, displays your own access level. With two arguments, sets the target's $O access level to the second argument (assuming you have sufficient access to do so).",
4ec29502 212 "\"ACCESS *\" will show the access levels of everyone.",
d2dce5ac 213 "Access level: $b${level/access}$b",
182dd032
AS
214 "$uSee Also:$u commands, modcmd"
215 );
d2dce5ac 216
a947ef71 217"ADDALERT" ("/msg $O ADDALERT <name> <reaction> [expire <duration>] <criteria>",
d76ed9a9 218 "Adds the specified alert to the $b$O$b alert list.",
182dd032
AS
219 "Alerts watch for users matching a givin criteria and perform an action on them.",
220 " <name> - An alphanumeric word to identify this alert in the list",
221 " <reaction> - What to do if a user matches the criteria. See $bALERT REACTION$b.",
a947ef71 222 " <duration> - Duration after which the alert should be deleted. See $bdurations$b.",
182dd032 223 " <criteria> - What to look for. See $bTRACE CRITERIA$b.",
d2dce5ac
AS
224 "Access level: $b${level/addalert}$b",
225 "$uSee Also:$u delalert, alert reaction, trace criteria"
226 );
227
b1bf690d 228"TIME NOTATION" (
182dd032
AS
229 " Many commands require a duration perameter ",
230 " which all use the same syntax: ",
231 " 1s - 1 second ",
232 " 2m - 2 minutes ",
233 " 3h - 3 hours ",
234 " 4d - 4 days ",
235 " 5w - 5 weeks ",
236 " 6M - 6 months",
237 " 1y - 1 year",
238 " Times can be compounded such as: ",
239 " 1m40s - 1 minute and 40 seconds ",
b1bf690d 240 " 5h20m30s - 5 hours 20 minutes and 30 seconds "
182dd032
AS
241 );
242
d76ed9a9 243"ADDTRUST" ("/msg $O ADDTRUST <ip> <count> <duration> <reason>",
182dd032
AS
244 "Extends the clone kill limit for the specified <ip> to <count> for <duration>.",
245 "<duration> uses $btime notation$b",
d76ed9a9 246 "You may use 0 as the duration if you do not wish the trust to ever expire, and 0 as the count for unlimited connections.",
d2dce5ac 247 "Access level: $b${level/addtrust}$b",
1136f709 248 "$uSee Also:$u deltrust, edittust, stats trusted, time notation"
d2dce5ac
AS
249 );
250
d76ed9a9
AS
251"ALERT REACTION" ("$bALERT REACTION$b",
252 "Valid alert actions (to be taken when an alert is hit) are:",
253 "$bNOTICE$b: Send a notice to the $b$O$b alert channel",
254 "$bKILL$b: Disconnect the user",
255 "$bGLINE$b: Gline the user that tripped the alert",
ec311f39 256 "$bTRACK$b: Send a notice to the $b$O$b alert channel and track the user (if the tracking module is loaded)",
d914d1cb 257 "$bSHUN$b : Shun the user that tripped the alert",
39c1a4ef 258 "$bVERSION$b : Check the version on the user that tripped the alert",
259 "$bSVSJOIN$b : Force the user that tripped the alert to join the target channel",
260 "$bSVSPART$b : Force the user that tripped the alert to part the target channel",
fb44aff0 261 "$bMARK$b : Mark the user that tripped the alert (must be used in combination with the mark trace criteria)",
182dd032
AS
262 "$uSee Also:$u addalert, delalert"
263 );
d2dce5ac 264
d76ed9a9
AS
265"DELALERT" ("/msg $O DELALERT <alert> [alert]...",
266 "Remove the specified alerts from the $b$O$b alert list.",
182dd032
AS
267 "Access level: $b${level/delalert}$b",
268 "$uSee Also:$u addalert, stats"
269 );
d2dce5ac 270
d76ed9a9
AS
271"DELTRUST" ("/msg $O DELTRUST <ip>",
272 "Deletes a trusted IP from $b$O's$b trusted hosts list. A trusted IP address is exempted from normal client limits. A list of currently trusted IPs is displayed by $bstats trusted$b.",
182dd032 273 "Access level: $b${level/deltrust}$b",
1136f709 274 "$uSee Also:$u addtrust, edittrust, stats"
182dd032 275 );
1136f709 276"EDITTRUST" ("/msg $O EDITTRUST <ip> <count> <duration> <reason>",
277 "Edits the 'trust' for the specified IP, changing the count, duration and/or reason.",
278 "You may use 0 as the duration if you do not wish the trust to ever expire, and 0 as the count for unlimited connections.",
279 "$uSee Also:$u addtrust, deltrust, stats trusted");
57fdf922 280"INVITE" ("/msg $O INVITE #channel",
281 "Invites you to the specified channel.");
d76ed9a9
AS
282"INVITEME" ("/msg $O INVITEME [nick]",
283 "Invites the specified user (if omitted, you) to $O's debug channel.",
182dd032
AS
284 "This is currently pointless, since no output is sent to the debug channel.",
285 "Access level: $b${level/inviteme}$b",
286 "$uSee Also:$u invite, clearmodes, clearbans"
287 );
d2dce5ac 288
d76ed9a9 289"TRACE" ("/msg $O TRACE <action> <criteria> <value> [<criteria> <value>]...",
d2dce5ac 290 "Searches through the current users for those matching the specified criteria, and applies the specified action to them. A detailed list of actions can be found in $bhelp trace action$b and a list of criteria in $bhelp trace criteria$b.",
53b62ed9 291 "Quick Ref ACTIONS: PRINT, COUNT, PRIVMSG, NOTICE, KILL, GLINE, SHUN, GAG, DOMAINS, SVSJOIN, SVSPART, VERSION",
2c00fbc2 292 "Quick Ref CRITERIA: MASK, NICK, IDENT, HOST, INFO, SERVER, IP, ACCOUNT, AUTHED, CHANNEL, NUMCHANNELS, LIMIT, NICKAGE, ACCESS, REASON, DEPTH, DURATION, CLONES, INFO_SPACE, CHECKRESTRICTIONS ABUSE OPERS, LOG, REGEX, CHANTARGET, SILENT, VERSION, MARKED",
182dd032
AS
293 "Access level: $b${level/trace}$b",
294 "$uSee Also:$u trace action, trace criteria"
295 );
d2dce5ac 296
d76ed9a9
AS
297"TRACE ACTION" ("$bTRACE ACTION$b",
298 "Options for action in $btrace$b are:",
299 "$bPRINT$b: Display the hostmask to you.",
300 "$bCOUNT$b: Count all matching users.",
53b62ed9
MB
301 "$bPRIVMSG$b: Send a PRIVMSG to all matching users containing REASON.",
302 "$bNOTICE$b: Send a NOTICE to all matching users containing REASON.",
d76ed9a9
AS
303 "$bKILL$b: Kill matching clients.",
304 "$bGLINE$b: Issue a gline for the client's host (by default, 1 hour long).",
d914d1cb 305 "$bSHUN$b: Issue a shun for the client's host (by default, 1 hour long).",
d76ed9a9
AS
306 "$bGAG$b: Gag all matching users (by default, does not expire).",
307 "$bDOMAINS$b: Display counts of users in each domain (length specified by DEPTH criteria.",
a4f0fe36
AS
308 "$bSVSJOIN$b: Force users to join channel givin in chantarget criteria.",
309 "$bSVSPART$b: Force part the matching clients out of the specified target channel.",
310 "$bVERSION$b: Query for the users CTCP VERSION reply.",
d82cf2f0 311 "$bMARK$b: Set a nefarius 'mark' named via the mark criteria as if the user were in that dnsbl.",
a4f0fe36 312 "Note: By default, IRC operators are not affected by the KILL, GLINE, SHUN or GAG actions. You can override this by specifying the $bABUSE OPERS$b criteria for a trace. Even if you do specify $bABUSE OPERS$b, it will not affect opers at your access level or above.",
182dd032
AS
313 "$uSee Also:$u trace criteria, trace"
314 );
d2dce5ac 315
d76ed9a9
AS
316"TRACE CRITERIA" ("$bTRACE CRITERIA$b",
317 "Criteria and values for $btrace$b (a search with $btrace$b must match all specified items):",
5aa400d2 318 "$bMASK$b nick!user@host Specifies a full hostmask to search for.",
319 "$bNICK$b nick Specifies a nick to search for.",
320 "$bIDENT$b ident Specifies an ident to search for.",
321 "$bHOST$b host Specifies a hostname to search for.",
322 "$bINFO$b infoline Specifies a user's info to search for.",
323 "$bSERVER$b server Specifies a server to search for.",
324 "$bIP$b 127.0.0.1 Specifies an IP to search for (independent of hostname).",
325 "$bACCOUNT$b account Specifies an account to search for.",
326 "$bAUTHED$b yes/no Specifies if matching users must be authenticated with $N or not",
327 "$bCHANNEL$b #target Specifies a channel the client must be in.",
328 "$bNUMCHANNELS$b 5 Specifies a number of channels the client must be in.",
329 "$bLIMIT$b 50 Limits the number of responses to a certain number.",
330 "$bNICKAGE$b cmp Client has had nick this long (<Nu, <=Nu, =Nu, >=Nu or >Nu)",
331 "$bLINKED$b cmp Connected to the network this long (<Nu, <=Nu, =Nu, >=Nu or >Nu)",
332 "$bACCESS$b cmp Access constraints (<nnn, <=nnn, =nnn, >=nnn or >nnn)",
333 "$bREASON$b reason Reason for kill, gline or shun (must be listed last).",
334 "$bDEPTH$b depth How many domain-name parts to use for $bDOMAINS$b action.",
335 "$bDURATION$b duration How long to apply a G-line or gag (see $C help topic $bdurations$b).",
336 "$bCLONES$b min Ignore clients from hosts with fewer than this many connections.",
337 "$bINFO_SPACE$b yes/no Clients match only if their info starts with a space (' ') character.",
338 "$bABUSE OPERS$b Force adverse actions to affect opers as well.",
1136f709 339 "$bABUSE TRUSTED$b Force adverse actions to affect users on trusted hosts as well.",
340 "$bTARGET$b Send alert notice to this channel.",
5aa400d2 341 "$bLOG$b Record matching users in $O's log file (in addition to acting).",
342 "$bREGEX$b yes/no Specifies if NICK/IDENT/HOST/INFO should be treated as a regular expression.",
343 "$bSILENT$b yes/no If yes, AUTO is prepended to the gline message, making the gline silent in nefarious ircd.",
344 "$bVERSION$b version If they have been queried using the VERSION action and responded, they are matched if the reply they give matches.",
2c00fbc2 345 "$bMARKED$b mark If they have a dnsbl mark matching mark. (e.g. from an X line or alert)",
5aa400d2 346 "$bCHANTARGET$b #channel For use with SVSJOIN action, this specifies the channel they are svsjoined to.",
347 "$bCHECKRESTRICTIONS$b yes/no For use with SVSJOIN action, this specifies to check channel modes like bans, invite, limits, and key before the SVSJOIN is issued.",
8ea17960 348 "$bMARK$b mark For use with the MARK action, this is what they are marked with.",
182dd032 349 "Additionally, the $bCHANNEL$b target may be prefixed with @ to select channel operators, + to select voiced users (will not select chanops unless @ is also used), or - to select non-voiced non-chanop users. For example, CHANNEL #foo will select all users in #foo; CHANNEL +#foo will select only users voiced in #foo; CHANNEL @+#foo will select ops and voiced users in #foo; etc.",
63665495 350 "When searching on the criteria of nick, ident, or info, the search string can be another of the three, prefixed with a & character, to indicate that the match should compare each user's individual data. For example, $binfo &nick$b would search for all users whose info matches their nick. To search for that phrase explicitly, prefix the & with a backslash; e.g.: $binfo \&ident$b.",
182dd032
AS
351 "$uSee Also:$u trace action, trace"
352 );
d2dce5ac 353
d76ed9a9 354"WHOIS" ("/msg $O WHOIS <nick>",
182dd032
AS
355 "Displays detailed information for the named user.",
356 "Access level: $b${level/whois}$b",
357 );
d2dce5ac 358
d76ed9a9
AS
359"CHANINFO" ("/msg $O CHANINFO <#channel> [users]",
360 "Displays very detailed information on the specified channel. If the channel is omitted, then $bchaninfo$b will be done on the channel where the command was given. You must give a second parameter ($busers$b) to list users in the channel.",
182dd032
AS
361 "Access level: $b${level/chaninfo}$b",
362 "$uSee Also:$u whois"
363 );
d2dce5ac 364
d76ed9a9
AS
365"CSEARCH" ("/msg $O CSEARCH <action> <criteria> <value> [<criteria> <value>]...",
366 "Searches through the network's channels for those matching the specified criteria, and applies the specified action to them. A list of actions can be found under $bhelp csearch action$b and a list of criteria in $bhelp csearch criteria$b.",
182dd032
AS
367 "Access level: $b${level/csearch}$b",
368 "$uSee Also:$u csearch action, csearch criteria"
369 );
d2dce5ac 370
d76ed9a9
AS
371"CSEARCH ACTION" ("$bCSEARCH ACTION$b",
372 "Options for action in $bcsearch$b are:",
373 "$bPRINT$b: Display the channel and user count.",
182dd032
AS
374 "$bCOUNT$b: Count all matching channels."
375 );
d2dce5ac 376
d76ed9a9
AS
377"CSEARCH CRITERIA" ("$bCSEARCH CRITERIA$b",
378 "Criteria and values for $bcsearch$b (a search with $bcsearch$b must match all specified items):",
379 "$bNAME$b name Specifies a name to search for.",
380 "$bTOPIC$b topic Specifies a topic to search for.",
fb44aff0 381 "$bUSERS$b cmp User count constraint (<Nu, <=Nu, =Nu, >=Nu or >Nu)",
d76ed9a9 382 "$bTIMESTAMP$b cmp Timestamp constraint (<Nu, <=Nu, =Nu, >=Nu or >Nu; supports interval notation)",
182dd032
AS
383 "$bLIMIT$b 50 Limits the number of responses to a certain number."
384 );
d2dce5ac 385
d76ed9a9
AS
386"JOIN" ("/msg $O JOIN <#channel> ",
387 "Makes $b$O$b join the specified channel.",
182dd032
AS
388 "Access level: $b${level/join}$b",
389 "$uSee Also:$u part"
390 );
d2dce5ac 391
d76ed9a9
AS
392"PART" ("/msg $O PART <#channel> ",
393 "Makes $b$O$b leave the specified channel.",
182dd032
AS
394 "Access level: $b${level/part}$b",
395 "$uSee Also:$u join"
396 );
d2dce5ac 397
d76ed9a9
AS
398"ADDBAD" ("/msg $O ADDBAD <word>",
399 "Adds a bad word to $b$O's$b bad word list. Bad words make any channel that has a bad word anywhere in a channel's name illegal. A list of current bad words can be displayed by $bstats bad$b.",
182dd032 400 "Access level: $b${level/addbad}$b",
de9510bc 401 "$uSee Also:$u addexempt, delbad, stats bad, $C:noregister"
182dd032 402 );
d2dce5ac 403
d76ed9a9
AS
404"ADDEXEMPT" ("/msg $O ADDEXEMPT <#channel>",
405 "Adds a channel to $O's \"exempt\" list. These channels (and only these channels) are never considered to contain prohibited words. Note that you $bmust$b specify the whole channel name, and may not use wildcards.",
406 "For example, if you have added $ufree$u to the bad-word list, you could add $u#FreeBSD$u to the exempt list, and anyone could join #FreeBSD. Users joining #FreeBSDISOz would be kickbanned by $O.",
407 "The current exempt list is displayed with the current bad-words in $bstats bad$b.",
182dd032
AS
408 "Access level: $b${level/addexempt}$b",
409 "$uSee Also:$u addbad, delexempt, stats"
410 );
d2dce5ac 411
d76ed9a9
AS
412"DELBAD" ("/msg $O DELBAD <keyword>",
413 "Deletes a bad word from $b$O's$b bad word list. Bad words make any channel that has a bad word anywhere in a channel's name illegal. A list of current bad words can be displayed by $bstats bad$b.",
182dd032 414 "Access level: $b${level/delbad}$b",
de9510bc 415 "$uSee Also:$u addbad, delexempt, stats bad, $C:allowregister"
182dd032 416 );
d2dce5ac 417
d76ed9a9
AS
418"DELEXEMPT" ("/msg $O DELEXEMPT <#channel>",
419 "Removes a channel from $O's bad-word-exempt channel list.",
182dd032
AS
420 "Access level: $b${level/delexempt}$b",
421 "$uSee Also:$u addexempt, delbad, stats"
422 );
d2dce5ac 423
d76ed9a9
AS
424"BAN" ("/msg $O BAN <#channel> <nick|hostmask>",
425 "Bans the specified hostmask from the specified channel.",
426 "If a nick is used instead of hostmask, the hostmask is generated based on the nickname.",
427 "If the channel is omitted, the $bban$b will be done in the channel where the command was given.",
182dd032
AS
428 "Access level: $b${level/ban}$b",
429 "$uSee Also:$u kickban, kickbanall, unban"
430 );
d2dce5ac 431
d76ed9a9 432"UNBAN" ("/msg $O UNBAN <#channel> <hostmask>",
fb44aff0
MB
433 "Unbans the specified hostmask from the specified channel.",
434 "If the channel is omitted, the $bunban$b will be done in the channel where the command was given.",
182dd032 435 "Access level: $b${level/unban}$b",
fb44aff0 436 "$uSee Also:$u kickban, kickbanall, ban"
182dd032 437 );
d2dce5ac 438
d76ed9a9
AS
439"CLEARBANS" ("/msg $O CLEARBANS <#channel> ",
440 "Clears all bans in the specified channel.",
441 "If the channel is omitted, then $bclearbans$b will be done in the channel where the command was given.",
182dd032
AS
442 "Access level: $b${level/clearbans}$b",
443 "$uSee Also:$u ban, unban"
444 );
d2dce5ac 445
d76ed9a9
AS
446"CLEARMODES" ("/msg $O CLEARMODES <#channel> ",
447 "Clears the specified channel of all modes.",
448 "If the channel is omitted, then $bclearmodes$b will be done in the channel where the command was given.",
182dd032
AS
449 "Access level: $b${level/clearmodes}$b",
450 "$uSee Also:$u mode"
451 );
d2dce5ac 452
d76ed9a9
AS
453"DEOP" ("/msg $O DEOP <#channel> <nick> [nick]...",
454 "Deops the specified user from the specified channel.",
455 "If the channel is omitted, then $bdeop$b will be done in the channel where the command was given.",
182dd032
AS
456 "Access level: $b${level/deop}$b",
457 "$uSee Also:$u deopall, devoiceall, op, opall"
458 );
d2dce5ac 459
d76ed9a9
AS
460"DEOPALL" ("/msg $O DEOPALL <#channel>",
461 "Deops all members of the specified channel.",
462 "If the channel is omitted, then $bdeopall$b will be done in the channel where the command was given.",
182dd032
AS
463 "Access level: $b${level/deopall}$b",
464 "$uSee Also:$u deop, devoiceall, op, opall"
465 );
d2dce5ac 466
82794e1b 467"DEHOP" ("/msg $O DEHOP <#channel> <nick> [nick]...",
468 "Dehalfops the specified user from the specified channel.",
469 "If the channel is omitted, then $bdehop$b will be done in the channel where the command was given.",
470 "Access level: $b${level/dehalfop}$b",
471 "$uSee Also:$u dehalfopall, hop, hopall"
472 );
473
474"DEHOPALL" ("/msg $O DEHOPALL <#channel>",
475 "Dehalfops all members of the specified channel.",
476 "If the channel is omitted, then $bdehopall$b will be done in the channel where the command was given.",
477 "Access level: $b${level/dehopall}$b",
478 "$uSee Also:$u dehop, hop, hopall"
479 );
480
d76ed9a9
AS
481"DEVOICEALL" ("/msg $O DEVOICEALL <#channel>",
482 "Devoice all members of the specified channel who do not have channel ops.",
483 "If the channel is omitted, then $bdevoiceall$b will be done in the channel where the command was given.",
182dd032
AS
484 "Access level: $b${level/devoiceall}$b",
485 "$uSee Also:$u deop, deopall, op, opall"
486 );
d2dce5ac 487
d76ed9a9
AS
488"KICK" ("/msg $O KICK <#channel> <nick> [reason]",
489 "Kicks the specified user from the specified channel.",
490 "If the channel is omitted, then $bkick$b will be done in the channel where the command was given.",
182dd032 491 "Access level: $b${level/kick}$b",
0f6fe38c 492 "$uSee Also:$u ban, kickall, kickban, kickbanall"
182dd032 493 );
1136f709 494"FORCEKICK" ("/msg $O FORCEKICK <#channel> <nick> [reason]",
495 "Kicks the specified user from the specified channel even if he is a channel service (+k).",
496 "If the channel is omitted, then $bforcekick$b will be done in the channel where the command was given.",
497 "$uSee Also:$u ban, kick, kickall, kickban, kickbanall"
498 );
d76ed9a9
AS
499"KICKALL" ("/msg $O KICKALL <#channel> [reason]",
500 "Kicks all users in the specified channel except for the user issuing the command.",
501 "If the channel is omitted, then $bkickall$b will be done in the channel where the command was given.",
182dd032
AS
502 "Access level: $b${level/kickall}$b",
503 "$uSee Also:$u ban, kick, kickbanall"
504 );
d2dce5ac 505
d76ed9a9
AS
506"KICKBAN" ("/msg $O KICKBAN <#channel> <nick> [reason]",
507 "Kicks and bans the specified user. $b$O$b determines the hostmask to ban from the nick specified.",
508 "If the channel is omitted, then $bkickban$b will be done in the channel where the command was given.",
182dd032
AS
509 "Access level: $b${level/kickban}$b",
510 "$uSee Also:$u ban, kickall, kickbanall"
511 );
d2dce5ac 512
d76ed9a9
AS
513"KICKBANALL" ("/msg $O KICKBANALL <#channel> [reason]",
514 "Kick and bans all members of the specified channel except for the user issuing the command.",
515 "If the channel is omitted, then $bkickbanall$b will be done in the channel where the command was given.",
182dd032
AS
516 "Access level: $b${level/kickbanall}$b",
517 "$uSee Also:$u ban, kick, kickban"
518 );
d2dce5ac 519
d82cf2f0
AS
520"MARK" ("/msg $O MARK <mark>",
521 "Sets a nefarious 'mark' on the user as if they are in <mark> dnsbl. ",
522 "(shows in /whois and prefixes their host, for easy banning)",
523 "Mark must be a-z0-9 or dash (-) 20 chars or less.",
524 "$uSee Also:$u trace action"
525 );
526
527"SVSJOIN" ("/msg $O SVSJOIN <nick> <#channel>",
528 "Forces nick to join #channel",
529 "$uSee Also:$u svspart, join, trace action"
530 );
531
532"SVSPART" ("/msg $O SVSPART <nick> <#channel>",
533 "Forces nick to part #channel",
534 "$uSee Also:$u svsjoin, part, trace action"
535 );
536
964a842d
AS
537"SVSNICK" ("/msg $O SVSNICK <nick> <newnick>",
538 "Forces nick to change nick to newnick",
539 "$uSee Also:$u svspart, svsjoin"
540 );
541
d76ed9a9
AS
542"MODE" ("/msg $O MODE <#channel> <+/- mode>",
543 "Sets the specified modes (but cannot include voice, ban or op changes) on a channel.",
544 "If the channel is omitted, then $bmode$b will be done in the channel where the command was given.",
182dd032
AS
545 "Access level: $b${level/mode}$b",
546 "$uSee Also:$u ban, deop, kickban, op"
547 );
d2dce5ac 548
d76ed9a9
AS
549"OP" ("/msg $O OP <#channel> <nick> [nick]...",
550 "Ops specified nicknames the specified channel.",
551 "If the channel is omitted, then $bop$b will be done in the channel where the command was given.",
182dd032
AS
552 "Access level: $b${level/op}$b",
553 "$uSee Also:$u deop, deopall, opall"
554 );
d2dce5ac 555
d76ed9a9
AS
556"OPALL" ("/msg $O OPALL <#channel>",
557 "Ops all members of the specified channel.",
558 "If the channel is omitted, then $bopall$b will be done in the channel where the command was given.",
182dd032
AS
559 "Access level: $b${level/opall}$b",
560 "$uSee Also:$u deopall"
561 );
d2dce5ac 562
82794e1b 563"HOP" ("/msg $O HOP <#channel> <nick> [nick]...",
564 "Half ops specified nicknames the specified channel.",
565 "If the channel is omitted, then $bhop$b will be done in the channel where the command was given.",
566 "Access level: $b${level/hop}$b",
567 "$uSee Also:$u dehop, dehopall, hopall"
568 );
569
570"HOPALL" ("/msg $O HOPALL <#channel>",
571 "Half ops all members of the specified channel.",
572 "If the channel is omitted, then $bhopall$b will be done in the channel where the command was given.",
573 "Access level: $b${level/hopall}$b",
574 "$uSee Also:$u dehopall"
575 );
576
d76ed9a9
AS
577"VOICEALL" ("/msg $O VOICEALL <#channel>",
578 "Voices all members of the specified channel who do not have channel ops.",
579 "If the channel is omitted, then $bvoiceall$b will be done in the channel where the command was given.",
182dd032
AS
580 "Access level: $b${level/voiceall}$b",
581 "$uSee Also:$u opall, deopall, devoiceall"
582 );
d76ed9a9
AS
583
584"GLINES" ("$bGLINE COMMANDS$b",
585 "Searches for, issues, and removes G-lines (network-global K-lines).",
586 " BLOCK [${level/block}]",
587 " GLINE [${level/gline}]",
588 " GTRACE [${level/gtrace}]",
589 " GSYNC [${level/gsync}]",
590 " REFRESHG [${level/refreshg}]",
182dd032
AS
591 " UNGLINE [${level/ungline}]"
592 );
d2dce5ac 593
1136f709 594"BLOCK" ("/msg $O BLOCK <nick> [duration] [reason]",
595 "GLINES the host of the specified nick for one hour if no duration is given. If no reason is given, use a default reason.",
182dd032
AS
596 "Access level: $b${level/block}$b",
597 "$uSee Also:$u gline, ungline"
598 );
d2dce5ac 599
d76ed9a9
AS
600"GLINE" ("/msg $O GLINE <user@host> <duration> <reason>",
601 "Issues a GLINE (network ban) on the network for the speicified user@host for the specified duration (making the expiration time: net time + duration).",
6762ab9f 602 "duration is in the form nnm, where nn is a number, and m is a charactor representing the unit (eg d for days.)",
182dd032 603 "Access level: $b${level/gline}$b",
6762ab9f 604 "$uSee Also:$u trace, ungline, ($C) durations"
182dd032 605 );
d2dce5ac 606
d76ed9a9
AS
607"GTRACE" ("/msg $O GTRACE <action> <criteria> [<criteria> <value>]...",
608 "Searches through the glines, much like $bTRACE$b does for users.",
182dd032
AS
609 "Access level: $b${level/gtrace}$b",
610 "$uSee Also:$u trace, gtrace action, gtrace criteria"
611 );
d2dce5ac 612
d76ed9a9
AS
613"GTRACE ACTION" ("$bGTRACE ACTION$b",
614 "Options for the action in $bgtrace$b are:",
615 "$bPRINT$b: Display the glines (mask, issuer, expiration time, reason)",
616 "$bCOUNT$b: Count the number of matching glines",
fb44aff0 617 "$bUNGLINE$b: Remove matching glines",
182dd032
AS
618 "$uSee Also:$u gtrace criteria, gtrace"
619 );
d2dce5ac 620
d76ed9a9
AS
621"GTRACE CRITERIA" ("$bGTRACE CRITERIA$b",
622 "Criteria and values for $bgtrace$b (a search with $bgtrace$b must match all the criteria you give):",
623 "$bMASK SUPERSET$b user@host G-line matches if it applies to someone with this hostmask.",
624 "$bMASK SUBSET$b user@host G-line matches if this hostmask \"covers\" the G-line target.",
625 "$bMASK EXACT$b user@host G-line matches only if the target is exactly this.",
626 "$bMASK$b user@host Specifies a mask to search for (equivalent to MASK SUPERSET).",
627 "$bLIMIT$b count Limits the number of matching glines.",
628 "$bREASON$b reason Looks for glines with the given reason.",
629 "$bISSUER$b account Looks for glines issued by the given account.",
1136f709 630 "$bLASTMOD$b interval Looks for glines last modified in the specified time.",
182dd032
AS
631 "$bAFTER$b interval Looks for glines that expire more than $binterval$b in the future.",
632 "$uSee Also:$u gtrace action, gtrace"
633 );
d2dce5ac 634
d76ed9a9 635"GSYNC" ("/msg $O GSYNC [server]",
fb44aff0 636 "Requests a list of GLINES from its uplink or the specified server. This can be used in the event X3 is down for period and becomes desynced.",
182dd032 637 "Access level: $b${level/gsync}$b",
fb44aff0 638 "$uSee Also:$u refreshg, gline, ungline"
182dd032 639 );
d2dce5ac 640
08895577 641"DEFCON" ("/msg $O DEFCON [1|2|3|4|5]",
642 "The defcon system can be used to implement a pre-defined set of restrictions to services useful during an attempted attack on the network. Not specifying a level will cause $O to display the currently set defcon level and options if the level is below 5",
643 "Access level: $b${level/defcon}$b",
644 );
645
d76ed9a9
AS
646"REFRESHG" ("/msg $O REFRESHG [server]",
647 "Re-issues all GLINES in $b$O's$b database. Usually used for newly joining or desynched servers. If a server mask is specified, the GLINES are only sent to server(s) with matching names.",
182dd032
AS
648 "Access level: $b${level/refreshg}$b",
649 "$uSee Also:$u gline, ungline, gsync"
650 );
d2dce5ac 651
d76ed9a9
AS
652"UNGLINE" ("/msg $O UNGLINE <user@host>",
653 "Removes a gline from the network before it expires.",
182dd032
AS
654 "Access level: $b${level/ungline}$b",
655 "$uSee Also:$u gline"
656 );
d2dce5ac 657
d914d1cb 658"SHUN" ("$bSHUN COMMANDS$b",
659 "Searches for, issues, and removes Shuns.",
660 " SBLOCK [${level/sblock}]",
661 " SHUN [${level/shun}]",
662 " STRACE [${level/strace}]",
663 " SSYNC [${level/ssync}]",
664 " REFRESHS [${level/refreshs}]",
665 " UNSHUN [${level/unshun}]"
666 );
667
1136f709 668"SBLOCK" ("/msg $O SBLOCK <nick> [duration] [reason]",
669 "SHUNS the host of the specified nick for one hour if no duration is given. If no reason is given, use a default reason.",
d914d1cb 670 "Access level: $b${level/sblock}$b",
671 "$uSee Also:$u shun, unshun"
672 );
673
674"SHUN" ("/msg $O SHUN <user@host> <duration> <reason>",
675 "Issues a SHUN on the network for the speicified user@host for the specified duration (making the expiration time: net time + duration).",
676 "Access level: $b${level/shun}$b",
677 "$uSee Also:$u trace, unshun"
678 );
679
680"STRACE" ("/msg $O STRACE <action> <criteria> [<criteria> <value>]...",
681 "Searches through the shuns, much like $bTRACE$b does for users.",
682 "Access level: $b${level/strace}$b",
683 "$uSee Also:$u trace, strace action, strace criteria"
684 );
685
686"STRACE ACTION" ("$bSTRACE ACTION$b",
687 "Options for the action in $bstrace$b are:",
688 "$bPRINT$b: Display the shuns (mask, issuer, expiration time, reason)",
689 "$bCOUNT$b: Count the number of matching shuns",
fb44aff0 690 "$bUNSHUN$b: Remove matching shuns",
d914d1cb 691 "$uSee Also:$u strace criteria, strace"
692 );
693
694"STRACE CRITERIA" ("$bSTRACE CRITERIA$b",
695 "Criteria and values for $bstrace$b (a search with $bstrace$b must match all the criteria you give):",
696 "$bMASK SUPERSET$b user@host Shun matches if it applies to someone with this hostmask.",
697 "$bMASK SUBSET$b user@host Shun matches if this hostmask \"covers\" the Shun target.",
698 "$bMASK EXACT$b user@host Shun matches only if the target is exactly this.",
699 "$bMASK$b user@host Specifies a mask to search for (equivalent to MASK SUPERSET).",
700 "$bLIMIT$b count Limits the number of matching shuns.",
701 "$bREASON$b reason Looks for shuns with the given reason.",
702 "$bISSUER$b account Looks for shuns issued by the given account.",
1136f709 703 "$BLASTMOD$b interval Looks for shuns last modified in the specified time.",
d914d1cb 704 "$bAFTER$b interval Looks for shuns that expire more than $binterval$b in the future.",
705 "$uSee Also:$u strace action, strace"
706 );
707
708"SSYNC" ("/msg $O SSYNC [server]",
fb44aff0 709 "Requests a list of SHUNS from its uplink or the specified server. This can be used in the event X3 is down for period and becomes desynced.",
d914d1cb 710 "Access level: $b${level/ssync}$b",
fb44aff0 711 "$uSee Also:$u refreshs, shun, unshun"
d914d1cb 712 );
713
714"REFRESHS" ("/msg $O REFRESHS [server]",
715 "Re-issues all SHUNS in $b$O's$b database. Usually used for newly joining or desynched servers. If a server mask is specified, the SHUNS are only sent to server(s) with matching names.",
716 "Access level: $b${level/refreshs}$b",
717 "$uSee Also:$u shun, unshun, ssync"
718 );
719
720"UNSHUN" ("/msg $O UNSHUN <user@host>",
721 "Removes a shun from the network before it expires.",
722 "Access level: $b${level/unshun}$b",
723 "$uSee Also:$u shun"
724 );
725
d76ed9a9
AS
726"CLONE" ("/msg $O CLONE <sub-command> <sub-command arguments>",
727 "Creats and manipulates a fake user. Sub-commands for $bclone$b are:",
728 "$bADD$b: Adds a new clone. Arguments: <nickname> <user@host> <info>",
729 "$bREMOVE$b: Removes a clone. Arguments: <nickname>",
730 "$bJOIN$b: Joins a clone to a channel. Arguments: <nickname> <channel>",
731 "$bPART$b: Parts a clone from a channel. Arguments: <nickname> <channel>",
732 "$bOP$b: Ops a clone in a channel. Arguments: <nickname> <channel>",
182dd032
AS
733 "$bSAY$b: Makes a clone say something to a channel. Arguments: <nickname> <channel> <text>",
734 "Access level: $b${level/clone}$b",
735 "$uSee Also:$u collide, reserve, jupe"
736 );
d2dce5ac 737
d76ed9a9
AS
738"COLLIDE" ("/msg $O COLLIDE <nick> <ident> <host> <description>",
739 "Creates a clone with the specified properties, colliding any existing user with the same nick.",
182dd032
AS
740 "Access level: $b${level/collide}$b",
741 "$uSee Also:$u clone, reserve, jupe"
742 );
d2dce5ac 743
d76ed9a9 744"JUPE" ("/msg $O JUPE <srvname> <srvnum> <description>",
fb44aff0 745 "Causes X3 to create a \"juped\" (dummy) server. This can be used to prevent a poorly connected server from connecting.",
182dd032 746 "Access level: $b${level/jupe}$b",
fb44aff0 747 "$uSee Also:$u unjupe, clone, reserve"
182dd032 748 );
d2dce5ac 749
d76ed9a9 750"RESERVE" ("/msg $O RESERVE <nickname> <user> <host> <comment>",
ceafd592 751 "Used to ban, protect, or jupe a given nick. Unlike $bclone$b and $bcollide$b, reserved nicks are saved across restarts of X3.",
182dd032
AS
752 "Access level: $b${level/reserve}$b",
753 "$uSee Also:$u unreserve, clone, jupe"
754 );
d2dce5ac 755
d76ed9a9 756"UNJUPE" ("/msg $O UNJUPE <srvname>",
fb44aff0 757 "Causes X3 to unjupe a jupe server.",
182dd032 758 "Access level: $b${level/unjupe}$b",
fb44aff0 759 "$uSee Also:$u jupe, unreserve, clone"
182dd032 760 );
d2dce5ac 761
47956fc5
AS
762"ROUTING ADDPLAN" ("/msg $O ROUTING ADDPLAN <name>",
763 "Creates a new blank routing plan named name.",
764 "You can then use $bROUTING ADDSERVER$b to build it.",
5c6bff84 765 "Use $bSTATS ROUTING [name]$b to view it, and $bROUTING SET ACTIVE$b to activate it.",
47956fc5
AS
766 "$uSee Also:$u routing, stats routing, routing delplan, routing set, routing addserver"
767 );
768"ROUTING DELPLAN" ("/msg $O ROUTING DELPLAN <name>",
769 "Removes the routing plan name, including all the servers that make it up. Use with caution, there is no undo.",
770 "$uSee Also:$u routing, stats routing, routing addplan"
771 );
772
773"ROUTING ADDSERVER" ("/msg $O ROUTING ADDSERVER <plan> <name>[:port] <uplink> [backup uplink]",
774 "Adds a server to the routing plan 'plan'.",
775 " plan - The name of a routing plan already created.",
776 " server - The name of the server you are adding (full hostname).",
777 " port - The port that the server listens to connectons on. If you leave this out, the default is taken from $bSET ROUTING DEFAULT_PORT$b.",
778 " uplink - This is the server (full hostname) that you want the server to connect to.",
779 " backup uplink - If uplink is offline, this one takes over.",
780 " $b$b ",
781 " It is $uvery$u important that the routing plan be from a consistant perspective, without any loops, or disconnected pieces. It helps to pick a server (usually the one $O is liked to) and consider which server each of the servers links to towards $O. For an example see /msg $O HELP ROUTING EXAMPLE.",
782 " If you add a server whose name already exists, the old one will be replaced.",
783 "$uSee Also:$u routing, stats routing, routing delserver, routing addplan",
784 );
785
786"ROUTING EXAMPLE" ("An Auto Routing System Example:",
787 " Consider the following map: ",
788 " test.net.org - test's uplink is x3",
789 " |-X3.NET.Services - this is me",
790 " |-laptop.net.org - laptop's uplink is test",
791 " | `-foobar.net.org - foobar's uplink is laptop",
792 " `-test2.net.org - test2's uplink is test",
dd1fc2a3 793 " `-test3.net.org - test3's uplink is test2",
47956fc5
AS
794 " $b$b ",
795 " Its important that every entry in your routing plan be specified relitive to the same location. Usually this is the location of X3 itself, but doesn't have to be. In the above example you could do:",
5a61e83f 796 " ROUTING ADDPLAN myplan ",
47956fc5
AS
797 " ROUTING ADDSERVER myplan test.net.org:4400 x3.net.services ",
798 " ROUTING ADDSERVER myplan test2.net.org:4400 test.net.org ",
799 " ROUTING ADDSERVER myplan test3.net.org:4400 test2.net.org ",
800 " ROUTING ADDSERVER myplan laptop.net.org:4400 test.net.org ",
801 " ROUTING ADDSERVER myplan foobar.net.org:4400 laptop.net.org ",
20517d48 802 " ROUTING SET ACTIVE myplan ",
47956fc5
AS
803 " $b$b ",
804 " If there are loops, or two servers who point to eachother, $O will not be able to use the plan. If there are sections which do not link back to the rest, they will be lost and the plan will not work properly.",
805 );
806
807"ROUTING DELSERVER" ("/msg $O ROUTING DELSERVER <plan> <server>",
808 "Deletes a server from a routing plan.",
809 "$uSee also:$u routing, stats routing, routing addserver, routing delplan",
810 );
811
812"ROUTING SET" ("/msg $O ROUTING SET [option] [value]",
813 "Changes The Auto Routing System options",
814 " ACTIVE - Sets which routing plan is active. ",
815 " Set to 'none' to disable auto routing.",
816 " RETRY_PERIOD - How often to check for missing servers",
817 " see /msg $C durations for help with units",
818 " CONN_PINGOUT - enable to auto-reconnect servers that ping out",
819 " CONN_READERROR - enable to auto-reconnect servers that squit with a read error",
820 " KARMA - enable to keep track of oft-splitting servers, and try to route around them",
821 " DEFAULT_PORT - If you don't specify a port in $brouting addserver$b, this port is used",
822 " $b$b ",
823 " Issue without any option/value to see the current value(s).",
824 "$uSee also:$u routing, stats routing, routing addserver",
825 );
826
827"ROUTING MAP" ("/msg $O ROUTING MAP",
828 "Shows the currently active routing plan, as parsed and re-centered for use.",
829 "Before $O can take a routing plan as entered by you, and use it, $O must re-orient the map so all the uplinks point toward it. Loops are detected, and missing pieces lost. This command shows you the desired route, as $O has compiled it.",
830 "If KARMA is enabled, or a server is un-connectable, $O may use a backup uplink to build this map to attempt to repair the network.",
831 "The check box [ ] is used to indicate if the current routing of the network conforms to the routing map.",
832 "[X] - Server is linked correctly",
833 "[!] - Server is linked, but not where the plan specifies",
834 "[ ] - Server is not linked to the network at all",
835 " $b$b",
836 "$uSee also:$u routing, stats routing, routing set, routing addserver",
837 );
838
839"REROUTE" ("/msg $O REROUTE <C|N|T>",
840 "Allows $O to make changes to the linkage of the servers on the network. It has 3 modes: Normal, Connect-only, and Test:",
841 " N - Normal mode: Will delink any servers which are not linked to their primary uplink, and try to reconnect them correctly according to the active routing plan. it will also try to connect servers that are completely missing.",
842 " C - Connect-only: Will attempt to connect any missing servers to the network, using the active routing plan.",
843 " T - Test: Will do the same as normal mode, only all actions will be simulated. No actual rerouting will take place, it will only tell you what it WOULD do in normal mode.",
844 " $b$b ",
845 "$uSee also:$u routing, routing map, stats routing",
846 );
847
5c6bff84 848"STATS ROUTING" ("/msg $O STATS ROUTING [planmask]",
47956fc5 849 "Provides information about The Auto Routing System's configuration. You can see the routing plans, and the current routing options.",
5c6bff84 850 " If planmask is provided, you will see the full details for any plans matching the mask (* and ? wildcards)",
47956fc5
AS
851 "$uSee also:$u routing, routing set",
852 );
853
6c34bb5a 854"PRIVSET" ("/msg $O PRIVSET <nick> <+/-flag>",
855 "Allows $O to set flags on users.",
856 "Access level: $b${level/privset}$b",
857 "$uSee also: privflags"
858 );
859
d76ed9a9
AS
860"UNRESERVE" ("/msg $O UNRESERVE <nick>",
861 "Removes a nick from $b$O's$b reserve list.",
182dd032
AS
862 "Access level: $b${level/unreserve}$b",
863 "$uSee Also:$u reserve, clone, unjupe"
864 );
d76ed9a9 865
d76ed9a9
AS
866"LOG" ("/msg $O LOG <criteria> <value> [<criteria> <value>]...",
867 "Searches services logs based on critera specified and displays the results.",
868 "Criteria and associated values (a search match all specified items):",
869 "$bBOT$b - A service bot's name (for example, $O).",
870 "$bCHANNEL$b - The channel where a command was issued (accepts wildcards).",
871 "$bNICK$b - The nickname issuing the command (accepts wildcards).",
872 "$bACCOUNT$b - The account of the user who issued the command (accepts wildcards).",
873 "$bHOSTMASK$b - The ident@host of the user who issued the command (accepts wildcards).",
874 "$bAGE$b - Age of commands to find (for example, 1m or >3m).",
875 "$bLIMIT$b - Maximum number of results to show.",
876 "$bLEVEL$b - Comma-separated list of COMMAND, OVERRIDE, STAFF, to return only those commands.",
877 "$bTYPE$b - Name of module that generated log (see $bSTATS MODULES$b).",
182dd032
AS
878 "By default, all levels of audit log entries are returned. You may exclude levels from the results by using the level criteria and the '-' character in front of the level name.",
879 "Access level: $b${level/log}$b",
880 "$uSee Also:$u reopen"
881 );
d2dce5ac 882
d76ed9a9
AS
883"REOPEN" ("/msg $O REOPEN",
884 "Close and re-open all the log files.",
182dd032
AS
885 "$uSee Also:$u log, rehash, write, writeall, readhelp"
886 );
d2dce5ac 887
d76ed9a9 888"DIE" ("/msg $O DIE <reason>",
ceafd592 889 "SQUIT X3 with the given reason and shuts it down.",
182dd032
AS
890 "Access level: $b${level/die}$b",
891 "$uSee Also:$u restart, reconnect, jump"
892 );
893
d76ed9a9 894"JUMP" ("/msg $O JUMP <uplink>",
ceafd592 895 "Causes X3 to connect to the specified uplink.",
182dd032
AS
896 "Access level: $b${level/jump}$b",
897 "$uSee Also:$u reconnect, restart, die"
898 );
d2dce5ac 899
d76ed9a9 900"RECONNECT" ("/msg $O RECONNECT ",
ceafd592 901 "Causes X3 to reconnect to its current uplink.",
182dd032
AS
902 "Access level: $b${level/reconnect}$b",
903 "$uSee Also:$u jump, rehash, restart, die"
904 );
d2dce5ac 905
d76ed9a9 906"REHASH" ("/msg $O REHASH",
ceafd592 907 "Causes X3 to re-read its configuration file and update its state as much as possible.",
182dd032
AS
908 "Access level: $b${level/rehash}$b",
909 "$uSee Also:$u die, reconnect, jump, restart"
910 );
d2dce5ac 911
d76ed9a9 912"RESTART" ("/msg $O RESTART <reason>",
ceafd592 913 "Causes X3 to SQUIT with the specified reason and restart.",
182dd032
AS
914 "Access level: $b${level/restart}$b",
915 "$uSee Also:$u reconnect, rehash, die"
916 );
d2dce5ac 917
d76ed9a9 918"GAG" ("/msg $O GAG <mask> <duration> <reason>",
de9510bc
AS
919 "Sets a complete services-wide ignore on all users matching the provided mask. All services will completely ignore all private messages or notices from gagged users.",
920 "The gag will automatically expire after $b<duration>$b (or last forever if that is zero).",
182dd032 921 "Access level: $b${level/gag}$b",
de9510bc 922 "$uSee Also:$u ungag, trace, stats gags"
182dd032 923 );
d2dce5ac 924
d76ed9a9
AS
925"HELPSERV" ("/msg $O HELPSERV <command>",
926 "Sends a command to the HelpServ system. It is used for all \"override\" commands, as well as registration and unregistration.",
182dd032
AS
927 "$uSee also:$u /msg $O HELPSERV HELP"
928 );
d2dce5ac 929
258d1427
AS
930"QUERY" ("/msg $O QUERY [key][/<sub-key>[/<sub-sub-key>]...]",
931 "Displays the value of the given configuration key. ",
932 "If the key is a composite entry, show the subkeys inside it.",
933 "Examples:",
934 " QUERY - shows 1st level keys ",
935 " QUERY services/chanserv - shows list of chanserv settings ",
936 " QUERY services/chanserv/chan_expire_delay - shows value ",
182dd032
AS
937 "Access level: $b${level/query}$b",
938 "$uSee Also:$u set, rehash"
939 );
d2dce5ac 940
d76ed9a9
AS
941"SET" ("/msg $O SET <option> <value>",
942 "Modifies the internal configuration database. Currently, only keys that have been previously set may be modified.",
182dd032
AS
943 "Access level: $b${level/set}$b",
944 "$uSee Also:$u query, rehash"
945 );
d2dce5ac 946
d76ed9a9 947"UNGAG" ("/msg $O UNGAG <hostmask>",
de9510bc 948 "Ungags a gaged hostmask.",
182dd032
AS
949 "Access level: $b${level/ungag}$b",
950 "$uSee Also:$u gag, stats gags"
951 );
d2dce5ac 952
d76ed9a9
AS
953"DUMP" ("/msg $O DUMP <raw line>",
954 "Dumps a raw server message into the stream. Unlike $braw$b, $bdump$b checks line syntax before sending it, making it much safer to use then $braw$b. If $bdump$b detects a syntax error in the line, it is not sent. It is $bHIGHLY$b recommended that you use $bdump$b instead of $braw$b.",
182dd032
AS
955 "Access level: $b${level/dump}$b",
956 "$uSee Also:$u raw"
957 );
d2dce5ac 958
d76ed9a9
AS
959"RAW" ("/msg $O RAW <raw line>",
960 "Dumps a raw server message into the stream. Unlike $bdump$b, $braw$b does $bNOT$b check line syntax before sending it, making $braw$b dangerous. It will however, after the line is sent, warn of a parse error if there is a problem with the line. It is $bHIGHLY$b recommended that $bdump$b be used instead of $braw$b because it is much safer.",
182dd032
AS
961 "Access level: $b${level/raw}$b",
962 "$uSee Also:$u dump"
963 );
d2dce5ac 964
d76ed9a9 965"SETTIME" ("/msg $O SETTIME [servermask] [resync]",
ceafd592 966 "Sets the time on the named server(s) to match the time known to X3.",
d76ed9a9 967 "For example, using $b*$b as the mask sets the time on all servers; using a server's full name sets the time only on that one.",
ceafd592 968 "If the RESYNC argument is provided, sets the time to what X3 believes the local time is, rather than what it believes the network time is.",
182dd032
AS
969 "Access level: $b${level/settime}$b",
970 "$uSee Also:$u timecmd"
971 );
d2dce5ac 972
d76ed9a9
AS
973"STATS" ("/msg $O STATS <subject>",
974 "Displays statistics about a specified subject. Subjects include:",
975 "$bALERTS$b: The list of current \"alerts\".",
976 "$bBAD$b: Current list of bad words and exempted channels.",
977 "$bGAGS$b: The list of current gags.",
978 "$bGLINES$b: Reports the current number of glines.",
d914d1cb 979 "$bSHUNS$b : Reports the current number of shuns.",
d76ed9a9
AS
980 "$bLINKS$b: Information about the link to the network.",
981 "$bMAX$b: The max clients seen on the network.",
982 "$bNETWORK$b: Displays network information such as total users and how many users are on each server.",
983 "$bNETWORK2$b: Additional information about the network, such as numerics and linked times.",
984 "$bOPERS$b: A list of users that are currently +o.",
ceafd592 985 "$bPROXYCHECK$b: Information about proxy checking in X3.",
d76ed9a9 986 "$bRESERVED$b: The list of currently reserved nicks.",
47956fc5 987 "$bROUTING$b: The routing plans and settings of the Auto Routing System",
d76ed9a9
AS
988 "$bTIMEQ$b: The number of events in the timeq, and how long until the next one.",
989 "$bTRUSTED$b: The list of currently trusted IPs.",
ceafd592 990 "$bUPTIME$b: X3 uptime, lines processed, and CPU time.",
d76ed9a9 991 "$bMODULES$b: Shows loaded modules that implement commands.",
182dd032
AS
992 "$bSERVICES$b: Shows active service bots.",
993 "Access level: $b${level/stats}$b",
eaf715f1
AS
994 "$b$b",
995 "$uSee Also:$u stats alerts"
182dd032 996 );
d76ed9a9 997
eaf715f1
AS
998"STATS ALERTS" ("/msg $O STATS ALERTS [Owner|Filter]",
999 "Show alerts. If a parameter is given, only alerts who match it are shown.",
1000 "$b$b",
1001 " Owner - the account name of whoever created the alert",
1002 " Filter - A wildcard (* and ?) match string compared against the criteria string",
1003 "$b$b",
8709474a 1004 "Example: STATS ALERTS *nick phil*",
eaf715f1 1005 "$uSee Also:$u addalert, delalert, stats"
8709474a 1006 );
eaf715f1 1007
ec311f39 1008"TRACK" ("/msg $O TRACK <+/-type|all|none>",
1009 "This specifies what will be tracked in the tracking channel.",
1010 "Use + to add flags and - to remove types. Use ALL to enable all",
1011 "tracking options available, use NONE to completly disable them.",
1012 "Available flags are:",
1013 "auth - Auths",
1014 "chanmode - Channel Modes",
1015 "del - Quits",
1016 "join - Joins",
1017 "kick - Kicks",
1018 "new - New Nicks",
1019 "nick - Nick Changes",
1020 "part - Parts",
1021 "umode - Umodes");
1022
1023"ADDTRACK" ("/msg $O ADDTRACK <nick>",
1024 "Adds the given <nick> to the tracking list.",
1025 "$uSee Also:$u deltrack listtrack addalert");
1026
1027"DELTRACK" ("/msg $O DELTRACK <nick>",
1028 "Removes the given <nick> from the tracking list.",
1029 "$uSee Also:$u deltrack listtrack");
1030
1031"LISTTRACK" ("/msg $O LISTTRACK",
1032 "Lists all currently active tracks.",
1033 "$uSee Also:$u addtrack deltrack");
1034
7637f48f 1035"RESETMAX" ("/msg $O RESETMAX",
1036 "Resets the max clients number to the current ammount of connected clients. Use with caution.",
1037 "$uSee Also:$u stats max");
1038
d2dce5ac 1039