]> jfr.im git - irc/evilnet/x3.git/blame - src/opserv.help
Fix for "whats the color" 8ball question formats
[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.",
1a29a3a4 59 " $bTRACES$b Powerful 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 ",
1a29a3a4 103 " Start by creating a routing plan, and then adding servers to it, with their listening 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.",
1a29a3a4 129 " $bCLEARBANS$b Clear 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.",
1a29a3a4 160 " $bUNRESERVE$b Remove a permanent reserved clone.",
d2dce5ac
AS
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",
1a29a3a4 203 " $bDUMP$b Drop safety-checked 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.",
1a29a3a4 219 "Alerts watch for users matching a given criteria and perform an action on them.",
182dd032
AS
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" (
1a29a3a4 229 " Many commands require a duration parameter ",
182dd032
AS
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",
4351f7df 258 "$bTEMPSHUN$b : Temporarily shun the user that tripped the alert",
39c1a4ef 259 "$bVERSION$b : Check the version on the user that tripped the alert",
260 "$bSVSJOIN$b : Force the user that tripped the alert to join the target channel",
261 "$bSVSPART$b : Force the user that tripped the alert to part the target channel",
fb44aff0 262 "$bMARK$b : Mark the user that tripped the alert (must be used in combination with the mark trace criteria)",
182dd032
AS
263 "$uSee Also:$u addalert, delalert"
264 );
d2dce5ac 265
d76ed9a9
AS
266"DELALERT" ("/msg $O DELALERT <alert> [alert]...",
267 "Remove the specified alerts from the $b$O$b alert list.",
182dd032
AS
268 "Access level: $b${level/delalert}$b",
269 "$uSee Also:$u addalert, stats"
270 );
d2dce5ac 271
d76ed9a9
AS
272"DELTRUST" ("/msg $O DELTRUST <ip>",
273 "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 274 "Access level: $b${level/deltrust}$b",
1136f709 275 "$uSee Also:$u addtrust, edittrust, stats"
182dd032 276 );
1136f709 277"EDITTRUST" ("/msg $O EDITTRUST <ip> <count> <duration> <reason>",
278 "Edits the 'trust' for the specified IP, changing the count, duration and/or reason.",
279 "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.",
280 "$uSee Also:$u addtrust, deltrust, stats trusted");
57fdf922 281"INVITE" ("/msg $O INVITE #channel",
282 "Invites you to the specified channel.");
d76ed9a9
AS
283"INVITEME" ("/msg $O INVITEME [nick]",
284 "Invites the specified user (if omitted, you) to $O's debug channel.",
182dd032
AS
285 "This is currently pointless, since no output is sent to the debug channel.",
286 "Access level: $b${level/inviteme}$b",
287 "$uSee Also:$u invite, clearmodes, clearbans"
288 );
d2dce5ac 289
d76ed9a9 290"TRACE" ("/msg $O TRACE <action> <criteria> <value> [<criteria> <value>]...",
d2dce5ac 291 "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.",
4351f7df 292 "Quick Ref ACTIONS: PRINT, COUNT, PRIVMSG, NOTICE, KILL, GLINE, SHUN, TEMPSHUN, GAG, DOMAINS, SVSJOIN, SVSPART, VERSION",
2c00fbc2 293 "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
294 "Access level: $b${level/trace}$b",
295 "$uSee Also:$u trace action, trace criteria"
296 );
d2dce5ac 297
d76ed9a9
AS
298"TRACE ACTION" ("$bTRACE ACTION$b",
299 "Options for action in $btrace$b are:",
4351f7df
MB
300 "$bPRINT$b: Display the hostmask to you.",
301 "$bCOUNT$b: Count all matching users.",
302 "$bPRIVMSG$b: Send a PRIVMSG to all matching users containing REASON.",
303 "$bNOTICE$b: Send a NOTICE to all matching users containing REASON.",
304 "$bKILL$b: Kill matching clients.",
305 "$bGLINE$b: Issue a gline for the client's host (by default, 1 hour long).",
306 "$bSHUN$b: Issue a shun for the client's host (by default, 1 hour long).",
307 "$bTEMPSHUN$b: Issue a temporary shun that affects only the targeted users.",
308 "$bGAG$b: Gag all matching users (by default, does not expire).",
309 "$bDOMAINS$b: Display counts of users in each domain (length specified by DEPTH criteria.",
1a29a3a4 310 "$bSVSJOIN$b: Force users to join channel given in chantarget criteria.",
4351f7df
MB
311 "$bSVSPART$b: Force part the matching clients out of the specified target channel.",
312 "$bVERSION$b: Query for the users CTCP VERSION reply.",
1a29a3a4 313 "$bMARK$b: Set a nefarious 'mark' named via the mark criteria as if the user were in that dnsbl.",
a4f0fe36 314 "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
315 "$uSee Also:$u trace criteria, trace"
316 );
d2dce5ac 317
d76ed9a9
AS
318"TRACE CRITERIA" ("$bTRACE CRITERIA$b",
319 "Criteria and values for $btrace$b (a search with $btrace$b must match all specified items):",
5aa400d2 320 "$bMASK$b nick!user@host Specifies a full hostmask to search for.",
321 "$bNICK$b nick Specifies a nick to search for.",
322 "$bIDENT$b ident Specifies an ident to search for.",
323 "$bHOST$b host Specifies a hostname to search for.",
324 "$bINFO$b infoline Specifies a user's info to search for.",
75ddd327 325 "$bMODES$b +modes-modes Specifies modes they have and don't have.",
5aa400d2 326 "$bSERVER$b server Specifies a server to search for.",
327 "$bIP$b 127.0.0.1 Specifies an IP to search for (independent of hostname).",
328 "$bACCOUNT$b account Specifies an account to search for.",
329 "$bAUTHED$b yes/no Specifies if matching users must be authenticated with $N or not",
330 "$bCHANNEL$b #target Specifies a channel the client must be in.",
331 "$bNUMCHANNELS$b 5 Specifies a number of channels the client must be in.",
332 "$bLIMIT$b 50 Limits the number of responses to a certain number.",
333 "$bNICKAGE$b cmp Client has had nick this long (<Nu, <=Nu, =Nu, >=Nu or >Nu)",
334 "$bLINKED$b cmp Connected to the network this long (<Nu, <=Nu, =Nu, >=Nu or >Nu)",
335 "$bACCESS$b cmp Access constraints (<nnn, <=nnn, =nnn, >=nnn or >nnn)",
336 "$bREASON$b reason Reason for kill, gline or shun (must be listed last).",
337 "$bDEPTH$b depth How many domain-name parts to use for $bDOMAINS$b action.",
338 "$bDURATION$b duration How long to apply a G-line or gag (see $C help topic $bdurations$b).",
339 "$bCLONES$b min Ignore clients from hosts with fewer than this many connections.",
340 "$bINFO_SPACE$b yes/no Clients match only if their info starts with a space (' ') character.",
341 "$bABUSE OPERS$b Force adverse actions to affect opers as well.",
1136f709 342 "$bABUSE TRUSTED$b Force adverse actions to affect users on trusted hosts as well.",
343 "$bTARGET$b Send alert notice to this channel.",
5aa400d2 344 "$bLOG$b Record matching users in $O's log file (in addition to acting).",
345 "$bREGEX$b yes/no Specifies if NICK/IDENT/HOST/INFO should be treated as a regular expression.",
346 "$bSILENT$b yes/no If yes, AUTO is prepended to the gline message, making the gline silent in nefarious ircd.",
347 "$bVERSION$b version If they have been queried using the VERSION action and responded, they are matched if the reply they give matches.",
2c00fbc2 348 "$bMARKED$b mark If they have a dnsbl mark matching mark. (e.g. from an X line or alert)",
5aa400d2 349 "$bCHANTARGET$b #channel For use with SVSJOIN action, this specifies the channel they are svsjoined to.",
350 "$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 351 "$bMARK$b mark For use with the MARK action, this is what they are marked with.",
182dd032 352 "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 353 "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
354 "$uSee Also:$u trace action, trace"
355 );
d2dce5ac 356
d76ed9a9 357"WHOIS" ("/msg $O WHOIS <nick>",
182dd032
AS
358 "Displays detailed information for the named user.",
359 "Access level: $b${level/whois}$b",
360 );
d2dce5ac 361
d76ed9a9
AS
362"CHANINFO" ("/msg $O CHANINFO <#channel> [users]",
363 "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
364 "Access level: $b${level/chaninfo}$b",
365 "$uSee Also:$u whois"
366 );
d2dce5ac 367
d76ed9a9
AS
368"CSEARCH" ("/msg $O CSEARCH <action> <criteria> <value> [<criteria> <value>]...",
369 "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
370 "Access level: $b${level/csearch}$b",
371 "$uSee Also:$u csearch action, csearch criteria"
372 );
d2dce5ac 373
d76ed9a9
AS
374"CSEARCH ACTION" ("$bCSEARCH ACTION$b",
375 "Options for action in $bcsearch$b are:",
376 "$bPRINT$b: Display the channel and user count.",
182dd032
AS
377 "$bCOUNT$b: Count all matching channels."
378 );
d2dce5ac 379
d76ed9a9
AS
380"CSEARCH CRITERIA" ("$bCSEARCH CRITERIA$b",
381 "Criteria and values for $bcsearch$b (a search with $bcsearch$b must match all specified items):",
382 "$bNAME$b name Specifies a name to search for.",
383 "$bTOPIC$b topic Specifies a topic to search for.",
fb44aff0 384 "$bUSERS$b cmp User count constraint (<Nu, <=Nu, =Nu, >=Nu or >Nu)",
d76ed9a9 385 "$bTIMESTAMP$b cmp Timestamp constraint (<Nu, <=Nu, =Nu, >=Nu or >Nu; supports interval notation)",
182dd032
AS
386 "$bLIMIT$b 50 Limits the number of responses to a certain number."
387 );
d2dce5ac 388
d76ed9a9
AS
389"JOIN" ("/msg $O JOIN <#channel> ",
390 "Makes $b$O$b join the specified channel.",
182dd032
AS
391 "Access level: $b${level/join}$b",
392 "$uSee Also:$u part"
393 );
d2dce5ac 394
d76ed9a9
AS
395"PART" ("/msg $O PART <#channel> ",
396 "Makes $b$O$b leave the specified channel.",
182dd032
AS
397 "Access level: $b${level/part}$b",
398 "$uSee Also:$u join"
399 );
d2dce5ac 400
d76ed9a9
AS
401"ADDBAD" ("/msg $O ADDBAD <word>",
402 "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 403 "Access level: $b${level/addbad}$b",
de9510bc 404 "$uSee Also:$u addexempt, delbad, stats bad, $C:noregister"
182dd032 405 );
d2dce5ac 406
d76ed9a9
AS
407"ADDEXEMPT" ("/msg $O ADDEXEMPT <#channel>",
408 "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.",
409 "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.",
410 "The current exempt list is displayed with the current bad-words in $bstats bad$b.",
182dd032
AS
411 "Access level: $b${level/addexempt}$b",
412 "$uSee Also:$u addbad, delexempt, stats"
413 );
d2dce5ac 414
d76ed9a9
AS
415"DELBAD" ("/msg $O DELBAD <keyword>",
416 "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 417 "Access level: $b${level/delbad}$b",
de9510bc 418 "$uSee Also:$u addbad, delexempt, stats bad, $C:allowregister"
182dd032 419 );
d2dce5ac 420
d76ed9a9
AS
421"DELEXEMPT" ("/msg $O DELEXEMPT <#channel>",
422 "Removes a channel from $O's bad-word-exempt channel list.",
182dd032
AS
423 "Access level: $b${level/delexempt}$b",
424 "$uSee Also:$u addexempt, delbad, stats"
425 );
d2dce5ac 426
d76ed9a9
AS
427"BAN" ("/msg $O BAN <#channel> <nick|hostmask>",
428 "Bans the specified hostmask from the specified channel.",
429 "If a nick is used instead of hostmask, the hostmask is generated based on the nickname.",
430 "If the channel is omitted, the $bban$b will be done in the channel where the command was given.",
182dd032
AS
431 "Access level: $b${level/ban}$b",
432 "$uSee Also:$u kickban, kickbanall, unban"
433 );
d2dce5ac 434
d76ed9a9 435"UNBAN" ("/msg $O UNBAN <#channel> <hostmask>",
fb44aff0
MB
436 "Unbans the specified hostmask from the specified channel.",
437 "If the channel is omitted, the $bunban$b will be done in the channel where the command was given.",
182dd032 438 "Access level: $b${level/unban}$b",
fb44aff0 439 "$uSee Also:$u kickban, kickbanall, ban"
182dd032 440 );
d2dce5ac 441
d76ed9a9
AS
442"CLEARBANS" ("/msg $O CLEARBANS <#channel> ",
443 "Clears all bans in the specified channel.",
444 "If the channel is omitted, then $bclearbans$b will be done in the channel where the command was given.",
182dd032
AS
445 "Access level: $b${level/clearbans}$b",
446 "$uSee Also:$u ban, unban"
447 );
d2dce5ac 448
d76ed9a9
AS
449"CLEARMODES" ("/msg $O CLEARMODES <#channel> ",
450 "Clears the specified channel of all modes.",
451 "If the channel is omitted, then $bclearmodes$b will be done in the channel where the command was given.",
182dd032
AS
452 "Access level: $b${level/clearmodes}$b",
453 "$uSee Also:$u mode"
454 );
d2dce5ac 455
d76ed9a9
AS
456"DEOP" ("/msg $O DEOP <#channel> <nick> [nick]...",
457 "Deops the specified user from the specified channel.",
458 "If the channel is omitted, then $bdeop$b will be done in the channel where the command was given.",
182dd032
AS
459 "Access level: $b${level/deop}$b",
460 "$uSee Also:$u deopall, devoiceall, op, opall"
461 );
d2dce5ac 462
d76ed9a9
AS
463"DEOPALL" ("/msg $O DEOPALL <#channel>",
464 "Deops all members of the specified channel.",
465 "If the channel is omitted, then $bdeopall$b will be done in the channel where the command was given.",
182dd032
AS
466 "Access level: $b${level/deopall}$b",
467 "$uSee Also:$u deop, devoiceall, op, opall"
468 );
d2dce5ac 469
82794e1b 470"DEHOP" ("/msg $O DEHOP <#channel> <nick> [nick]...",
471 "Dehalfops the specified user from the specified channel.",
472 "If the channel is omitted, then $bdehop$b will be done in the channel where the command was given.",
473 "Access level: $b${level/dehalfop}$b",
474 "$uSee Also:$u dehalfopall, hop, hopall"
475 );
476
477"DEHOPALL" ("/msg $O DEHOPALL <#channel>",
478 "Dehalfops all members of the specified channel.",
479 "If the channel is omitted, then $bdehopall$b will be done in the channel where the command was given.",
480 "Access level: $b${level/dehopall}$b",
481 "$uSee Also:$u dehop, hop, hopall"
482 );
483
d76ed9a9
AS
484"DEVOICEALL" ("/msg $O DEVOICEALL <#channel>",
485 "Devoice all members of the specified channel who do not have channel ops.",
486 "If the channel is omitted, then $bdevoiceall$b will be done in the channel where the command was given.",
182dd032
AS
487 "Access level: $b${level/devoiceall}$b",
488 "$uSee Also:$u deop, deopall, op, opall"
489 );
d2dce5ac 490
d76ed9a9
AS
491"KICK" ("/msg $O KICK <#channel> <nick> [reason]",
492 "Kicks the specified user from the specified channel.",
493 "If the channel is omitted, then $bkick$b will be done in the channel where the command was given.",
182dd032 494 "Access level: $b${level/kick}$b",
0f6fe38c 495 "$uSee Also:$u ban, kickall, kickban, kickbanall"
182dd032 496 );
1136f709 497"FORCEKICK" ("/msg $O FORCEKICK <#channel> <nick> [reason]",
498 "Kicks the specified user from the specified channel even if he is a channel service (+k).",
499 "If the channel is omitted, then $bforcekick$b will be done in the channel where the command was given.",
500 "$uSee Also:$u ban, kick, kickall, kickban, kickbanall"
501 );
d76ed9a9
AS
502"KICKALL" ("/msg $O KICKALL <#channel> [reason]",
503 "Kicks all users in the specified channel except for the user issuing the command.",
504 "If the channel is omitted, then $bkickall$b will be done in the channel where the command was given.",
182dd032
AS
505 "Access level: $b${level/kickall}$b",
506 "$uSee Also:$u ban, kick, kickbanall"
507 );
d2dce5ac 508
d76ed9a9
AS
509"KICKBAN" ("/msg $O KICKBAN <#channel> <nick> [reason]",
510 "Kicks and bans the specified user. $b$O$b determines the hostmask to ban from the nick specified.",
511 "If the channel is omitted, then $bkickban$b will be done in the channel where the command was given.",
182dd032
AS
512 "Access level: $b${level/kickban}$b",
513 "$uSee Also:$u ban, kickall, kickbanall"
514 );
d2dce5ac 515
d76ed9a9
AS
516"KICKBANALL" ("/msg $O KICKBANALL <#channel> [reason]",
517 "Kick and bans all members of the specified channel except for the user issuing the command.",
518 "If the channel is omitted, then $bkickbanall$b will be done in the channel where the command was given.",
182dd032
AS
519 "Access level: $b${level/kickbanall}$b",
520 "$uSee Also:$u ban, kick, kickban"
521 );
d2dce5ac 522
d82cf2f0
AS
523"MARK" ("/msg $O MARK <mark>",
524 "Sets a nefarious 'mark' on the user as if they are in <mark> dnsbl. ",
525 "(shows in /whois and prefixes their host, for easy banning)",
526 "Mark must be a-z0-9 or dash (-) 20 chars or less.",
527 "$uSee Also:$u trace action"
528 );
529
530"SVSJOIN" ("/msg $O SVSJOIN <nick> <#channel>",
531 "Forces nick to join #channel",
532 "$uSee Also:$u svspart, join, trace action"
533 );
534
535"SVSPART" ("/msg $O SVSPART <nick> <#channel>",
536 "Forces nick to part #channel",
537 "$uSee Also:$u svsjoin, part, trace action"
538 );
539
964a842d
AS
540"SVSNICK" ("/msg $O SVSNICK <nick> <newnick>",
541 "Forces nick to change nick to newnick",
542 "$uSee Also:$u svspart, svsjoin"
543 );
544
d76ed9a9
AS
545"MODE" ("/msg $O MODE <#channel> <+/- mode>",
546 "Sets the specified modes (but cannot include voice, ban or op changes) on a channel.",
547 "If the channel is omitted, then $bmode$b will be done in the channel where the command was given.",
182dd032
AS
548 "Access level: $b${level/mode}$b",
549 "$uSee Also:$u ban, deop, kickban, op"
550 );
d2dce5ac 551
d76ed9a9
AS
552"OP" ("/msg $O OP <#channel> <nick> [nick]...",
553 "Ops specified nicknames the specified channel.",
554 "If the channel is omitted, then $bop$b will be done in the channel where the command was given.",
182dd032
AS
555 "Access level: $b${level/op}$b",
556 "$uSee Also:$u deop, deopall, opall"
557 );
d2dce5ac 558
d76ed9a9
AS
559"OPALL" ("/msg $O OPALL <#channel>",
560 "Ops all members of the specified channel.",
561 "If the channel is omitted, then $bopall$b will be done in the channel where the command was given.",
182dd032
AS
562 "Access level: $b${level/opall}$b",
563 "$uSee Also:$u deopall"
564 );
d2dce5ac 565
82794e1b 566"HOP" ("/msg $O HOP <#channel> <nick> [nick]...",
567 "Half ops specified nicknames the specified channel.",
568 "If the channel is omitted, then $bhop$b will be done in the channel where the command was given.",
569 "Access level: $b${level/hop}$b",
570 "$uSee Also:$u dehop, dehopall, hopall"
571 );
572
573"HOPALL" ("/msg $O HOPALL <#channel>",
574 "Half ops all members of the specified channel.",
575 "If the channel is omitted, then $bhopall$b will be done in the channel where the command was given.",
576 "Access level: $b${level/hopall}$b",
577 "$uSee Also:$u dehopall"
578 );
579
d76ed9a9
AS
580"VOICEALL" ("/msg $O VOICEALL <#channel>",
581 "Voices all members of the specified channel who do not have channel ops.",
582 "If the channel is omitted, then $bvoiceall$b will be done in the channel where the command was given.",
182dd032
AS
583 "Access level: $b${level/voiceall}$b",
584 "$uSee Also:$u opall, deopall, devoiceall"
585 );
d76ed9a9
AS
586
587"GLINES" ("$bGLINE COMMANDS$b",
588 "Searches for, issues, and removes G-lines (network-global K-lines).",
589 " BLOCK [${level/block}]",
590 " GLINE [${level/gline}]",
591 " GTRACE [${level/gtrace}]",
592 " GSYNC [${level/gsync}]",
593 " REFRESHG [${level/refreshg}]",
182dd032
AS
594 " UNGLINE [${level/ungline}]"
595 );
d2dce5ac 596
1136f709 597"BLOCK" ("/msg $O BLOCK <nick> [duration] [reason]",
598 "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
599 "Access level: $b${level/block}$b",
600 "$uSee Also:$u gline, ungline"
601 );
d2dce5ac 602
d76ed9a9 603"GLINE" ("/msg $O GLINE <user@host> <duration> <reason>",
1a29a3a4
J
604 "Issues a GLINE (network ban) on the network for the specified user@host for the specified duration (making the expiration time: net time + duration).",
605 "duration is in the form nnm, where nn is a number, and m is a character representing the unit (e.g., d for days.)",
182dd032 606 "Access level: $b${level/gline}$b",
6762ab9f 607 "$uSee Also:$u trace, ungline, ($C) durations"
182dd032 608 );
d2dce5ac 609
d76ed9a9
AS
610"GTRACE" ("/msg $O GTRACE <action> <criteria> [<criteria> <value>]...",
611 "Searches through the glines, much like $bTRACE$b does for users.",
182dd032
AS
612 "Access level: $b${level/gtrace}$b",
613 "$uSee Also:$u trace, gtrace action, gtrace criteria"
614 );
d2dce5ac 615
d76ed9a9
AS
616"GTRACE ACTION" ("$bGTRACE ACTION$b",
617 "Options for the action in $bgtrace$b are:",
618 "$bPRINT$b: Display the glines (mask, issuer, expiration time, reason)",
619 "$bCOUNT$b: Count the number of matching glines",
fb44aff0 620 "$bUNGLINE$b: Remove matching glines",
182dd032
AS
621 "$uSee Also:$u gtrace criteria, gtrace"
622 );
d2dce5ac 623
d76ed9a9
AS
624"GTRACE CRITERIA" ("$bGTRACE CRITERIA$b",
625 "Criteria and values for $bgtrace$b (a search with $bgtrace$b must match all the criteria you give):",
626 "$bMASK SUPERSET$b user@host G-line matches if it applies to someone with this hostmask.",
627 "$bMASK SUBSET$b user@host G-line matches if this hostmask \"covers\" the G-line target.",
628 "$bMASK EXACT$b user@host G-line matches only if the target is exactly this.",
629 "$bMASK$b user@host Specifies a mask to search for (equivalent to MASK SUPERSET).",
630 "$bLIMIT$b count Limits the number of matching glines.",
631 "$bREASON$b reason Looks for glines with the given reason.",
632 "$bISSUER$b account Looks for glines issued by the given account.",
1136f709 633 "$bLASTMOD$b interval Looks for glines last modified in the specified time.",
182dd032
AS
634 "$bAFTER$b interval Looks for glines that expire more than $binterval$b in the future.",
635 "$uSee Also:$u gtrace action, gtrace"
636 );
d2dce5ac 637
d76ed9a9 638"GSYNC" ("/msg $O GSYNC [server]",
fb44aff0 639 "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 640 "Access level: $b${level/gsync}$b",
fb44aff0 641 "$uSee Also:$u refreshg, gline, ungline"
182dd032 642 );
d2dce5ac 643
08895577 644"DEFCON" ("/msg $O DEFCON [1|2|3|4|5]",
645 "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",
646 "Access level: $b${level/defcon}$b",
647 );
648
d76ed9a9
AS
649"REFRESHG" ("/msg $O REFRESHG [server]",
650 "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
651 "Access level: $b${level/refreshg}$b",
652 "$uSee Also:$u gline, ungline, gsync"
653 );
d2dce5ac 654
d76ed9a9
AS
655"UNGLINE" ("/msg $O UNGLINE <user@host>",
656 "Removes a gline from the network before it expires.",
182dd032
AS
657 "Access level: $b${level/ungline}$b",
658 "$uSee Also:$u gline"
659 );
d2dce5ac 660
d914d1cb 661"SHUN" ("$bSHUN COMMANDS$b",
662 "Searches for, issues, and removes Shuns.",
663 " SBLOCK [${level/sblock}]",
664 " SHUN [${level/shun}]",
665 " STRACE [${level/strace}]",
666 " SSYNC [${level/ssync}]",
667 " REFRESHS [${level/refreshs}]",
668 " UNSHUN [${level/unshun}]"
669 );
670
1136f709 671"SBLOCK" ("/msg $O SBLOCK <nick> [duration] [reason]",
672 "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 673 "Access level: $b${level/sblock}$b",
674 "$uSee Also:$u shun, unshun"
675 );
676
677"SHUN" ("/msg $O SHUN <user@host> <duration> <reason>",
1a29a3a4 678 "Issues a SHUN on the network for the specified user@host for the specified duration (making the expiration time: net time + duration).",
d914d1cb 679 "Access level: $b${level/shun}$b",
680 "$uSee Also:$u trace, unshun"
681 );
682
683"STRACE" ("/msg $O STRACE <action> <criteria> [<criteria> <value>]...",
684 "Searches through the shuns, much like $bTRACE$b does for users.",
685 "Access level: $b${level/strace}$b",
686 "$uSee Also:$u trace, strace action, strace criteria"
687 );
688
689"STRACE ACTION" ("$bSTRACE ACTION$b",
690 "Options for the action in $bstrace$b are:",
691 "$bPRINT$b: Display the shuns (mask, issuer, expiration time, reason)",
692 "$bCOUNT$b: Count the number of matching shuns",
fb44aff0 693 "$bUNSHUN$b: Remove matching shuns",
d914d1cb 694 "$uSee Also:$u strace criteria, strace"
695 );
696
697"STRACE CRITERIA" ("$bSTRACE CRITERIA$b",
698 "Criteria and values for $bstrace$b (a search with $bstrace$b must match all the criteria you give):",
699 "$bMASK SUPERSET$b user@host Shun matches if it applies to someone with this hostmask.",
700 "$bMASK SUBSET$b user@host Shun matches if this hostmask \"covers\" the Shun target.",
701 "$bMASK EXACT$b user@host Shun matches only if the target is exactly this.",
702 "$bMASK$b user@host Specifies a mask to search for (equivalent to MASK SUPERSET).",
703 "$bLIMIT$b count Limits the number of matching shuns.",
704 "$bREASON$b reason Looks for shuns with the given reason.",
705 "$bISSUER$b account Looks for shuns issued by the given account.",
1136f709 706 "$BLASTMOD$b interval Looks for shuns last modified in the specified time.",
d914d1cb 707 "$bAFTER$b interval Looks for shuns that expire more than $binterval$b in the future.",
708 "$uSee Also:$u strace action, strace"
709 );
710
711"SSYNC" ("/msg $O SSYNC [server]",
fb44aff0 712 "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 713 "Access level: $b${level/ssync}$b",
fb44aff0 714 "$uSee Also:$u refreshs, shun, unshun"
d914d1cb 715 );
716
717"REFRESHS" ("/msg $O REFRESHS [server]",
718 "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.",
719 "Access level: $b${level/refreshs}$b",
720 "$uSee Also:$u shun, unshun, ssync"
721 );
722
723"UNSHUN" ("/msg $O UNSHUN <user@host>",
724 "Removes a shun from the network before it expires.",
725 "Access level: $b${level/unshun}$b",
726 "$uSee Also:$u shun"
727 );
728
d76ed9a9 729"CLONE" ("/msg $O CLONE <sub-command> <sub-command arguments>",
1a29a3a4 730 "Creates and manipulates a fake user. Sub-commands for $bclone$b are:",
d76ed9a9
AS
731 "$bADD$b: Adds a new clone. Arguments: <nickname> <user@host> <info>",
732 "$bREMOVE$b: Removes a clone. Arguments: <nickname>",
733 "$bJOIN$b: Joins a clone to a channel. Arguments: <nickname> <channel>",
734 "$bPART$b: Parts a clone from a channel. Arguments: <nickname> <channel>",
735 "$bOP$b: Ops a clone in a channel. Arguments: <nickname> <channel>",
182dd032
AS
736 "$bSAY$b: Makes a clone say something to a channel. Arguments: <nickname> <channel> <text>",
737 "Access level: $b${level/clone}$b",
738 "$uSee Also:$u collide, reserve, jupe"
739 );
d2dce5ac 740
d76ed9a9
AS
741"COLLIDE" ("/msg $O COLLIDE <nick> <ident> <host> <description>",
742 "Creates a clone with the specified properties, colliding any existing user with the same nick.",
182dd032
AS
743 "Access level: $b${level/collide}$b",
744 "$uSee Also:$u clone, reserve, jupe"
745 );
d2dce5ac 746
d76ed9a9 747"JUPE" ("/msg $O JUPE <srvname> <srvnum> <description>",
fb44aff0 748 "Causes X3 to create a \"juped\" (dummy) server. This can be used to prevent a poorly connected server from connecting.",
182dd032 749 "Access level: $b${level/jupe}$b",
fb44aff0 750 "$uSee Also:$u unjupe, clone, reserve"
182dd032 751 );
d2dce5ac 752
d76ed9a9 753"RESERVE" ("/msg $O RESERVE <nickname> <user> <host> <comment>",
ceafd592 754 "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
755 "Access level: $b${level/reserve}$b",
756 "$uSee Also:$u unreserve, clone, jupe"
757 );
d2dce5ac 758
d76ed9a9 759"UNJUPE" ("/msg $O UNJUPE <srvname>",
fb44aff0 760 "Causes X3 to unjupe a jupe server.",
182dd032 761 "Access level: $b${level/unjupe}$b",
fb44aff0 762 "$uSee Also:$u jupe, unreserve, clone"
182dd032 763 );
d2dce5ac 764
47956fc5
AS
765"ROUTING ADDPLAN" ("/msg $O ROUTING ADDPLAN <name>",
766 "Creates a new blank routing plan named name.",
767 "You can then use $bROUTING ADDSERVER$b to build it.",
5c6bff84 768 "Use $bSTATS ROUTING [name]$b to view it, and $bROUTING SET ACTIVE$b to activate it.",
47956fc5
AS
769 "$uSee Also:$u routing, stats routing, routing delplan, routing set, routing addserver"
770 );
771"ROUTING DELPLAN" ("/msg $O ROUTING DELPLAN <name>",
772 "Removes the routing plan name, including all the servers that make it up. Use with caution, there is no undo.",
773 "$uSee Also:$u routing, stats routing, routing addplan"
774 );
775
776"ROUTING ADDSERVER" ("/msg $O ROUTING ADDSERVER <plan> <name>[:port] <uplink> [backup uplink]",
777 "Adds a server to the routing plan 'plan'.",
778 " plan - The name of a routing plan already created.",
779 " server - The name of the server you are adding (full hostname).",
1a29a3a4 780 " port - The port that the server listens to connections on. If you leave this out, the default is taken from $bSET ROUTING DEFAULT_PORT$b.",
47956fc5
AS
781 " uplink - This is the server (full hostname) that you want the server to connect to.",
782 " backup uplink - If uplink is offline, this one takes over.",
783 " $b$b ",
1a29a3a4 784 " It is $uvery$u important that the routing plan be from a consistent 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.",
47956fc5
AS
785 " If you add a server whose name already exists, the old one will be replaced.",
786 "$uSee Also:$u routing, stats routing, routing delserver, routing addplan",
787 );
788
789"ROUTING EXAMPLE" ("An Auto Routing System Example:",
790 " Consider the following map: ",
791 " test.net.org - test's uplink is x3",
792 " |-X3.NET.Services - this is me",
793 " |-laptop.net.org - laptop's uplink is test",
794 " | `-foobar.net.org - foobar's uplink is laptop",
795 " `-test2.net.org - test2's uplink is test",
dd1fc2a3 796 " `-test3.net.org - test3's uplink is test2",
47956fc5 797 " $b$b ",
1a29a3a4 798 " It's important that every entry in your routing plan be specified relative to the same location. Usually this is the location of X3 itself but it does not have to be. In the above example you could do:",
5a61e83f 799 " ROUTING ADDPLAN myplan ",
47956fc5
AS
800 " ROUTING ADDSERVER myplan test.net.org:4400 x3.net.services ",
801 " ROUTING ADDSERVER myplan test2.net.org:4400 test.net.org ",
802 " ROUTING ADDSERVER myplan test3.net.org:4400 test2.net.org ",
803 " ROUTING ADDSERVER myplan laptop.net.org:4400 test.net.org ",
804 " ROUTING ADDSERVER myplan foobar.net.org:4400 laptop.net.org ",
20517d48 805 " ROUTING SET ACTIVE myplan ",
47956fc5 806 " $b$b ",
1a29a3a4 807 " If there are loops, or two servers who point to each other, $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.",
47956fc5
AS
808 );
809
810"ROUTING DELSERVER" ("/msg $O ROUTING DELSERVER <plan> <server>",
811 "Deletes a server from a routing plan.",
812 "$uSee also:$u routing, stats routing, routing addserver, routing delplan",
813 );
814
815"ROUTING SET" ("/msg $O ROUTING SET [option] [value]",
816 "Changes The Auto Routing System options",
817 " ACTIVE - Sets which routing plan is active. ",
818 " Set to 'none' to disable auto routing.",
819 " RETRY_PERIOD - How often to check for missing servers",
820 " see /msg $C durations for help with units",
821 " CONN_PINGOUT - enable to auto-reconnect servers that ping out",
822 " CONN_READERROR - enable to auto-reconnect servers that squit with a read error",
823 " KARMA - enable to keep track of oft-splitting servers, and try to route around them",
824 " DEFAULT_PORT - If you don't specify a port in $brouting addserver$b, this port is used",
825 " $b$b ",
826 " Issue without any option/value to see the current value(s).",
827 "$uSee also:$u routing, stats routing, routing addserver",
828 );
829
830"ROUTING MAP" ("/msg $O ROUTING MAP",
831 "Shows the currently active routing plan, as parsed and re-centered for use.",
832 "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.",
833 "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.",
834 "The check box [ ] is used to indicate if the current routing of the network conforms to the routing map.",
835 "[X] - Server is linked correctly",
836 "[!] - Server is linked, but not where the plan specifies",
837 "[ ] - Server is not linked to the network at all",
838 " $b$b",
839 "$uSee also:$u routing, stats routing, routing set, routing addserver",
840 );
841
842"REROUTE" ("/msg $O REROUTE <C|N|T>",
843 "Allows $O to make changes to the linkage of the servers on the network. It has 3 modes: Normal, Connect-only, and Test:",
1a29a3a4 844 " 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.",
47956fc5
AS
845 " C - Connect-only: Will attempt to connect any missing servers to the network, using the active routing plan.",
846 " 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.",
847 " $b$b ",
848 "$uSee also:$u routing, routing map, stats routing",
849 );
850
5c6bff84 851"STATS ROUTING" ("/msg $O STATS ROUTING [planmask]",
47956fc5 852 "Provides information about The Auto Routing System's configuration. You can see the routing plans, and the current routing options.",
5c6bff84 853 " If planmask is provided, you will see the full details for any plans matching the mask (* and ? wildcards)",
47956fc5
AS
854 "$uSee also:$u routing, routing set",
855 );
856
6c34bb5a 857"PRIVSET" ("/msg $O PRIVSET <nick> <+/-flag>",
858 "Allows $O to set flags on users.",
859 "Access level: $b${level/privset}$b",
860 "$uSee also: privflags"
861 );
862
d76ed9a9
AS
863"UNRESERVE" ("/msg $O UNRESERVE <nick>",
864 "Removes a nick from $b$O's$b reserve list.",
182dd032
AS
865 "Access level: $b${level/unreserve}$b",
866 "$uSee Also:$u reserve, clone, unjupe"
867 );
d76ed9a9 868
d76ed9a9 869"LOG" ("/msg $O LOG <criteria> <value> [<criteria> <value>]...",
1a29a3a4
J
870 "Searches services logs based on criteria specified and displays the results.",
871 "Criteria and associated values (a search matches all specified items):",
d76ed9a9
AS
872 "$bBOT$b - A service bot's name (for example, $O).",
873 "$bCHANNEL$b - The channel where a command was issued (accepts wildcards).",
874 "$bNICK$b - The nickname issuing the command (accepts wildcards).",
875 "$bACCOUNT$b - The account of the user who issued the command (accepts wildcards).",
876 "$bHOSTMASK$b - The ident@host of the user who issued the command (accepts wildcards).",
877 "$bAGE$b - Age of commands to find (for example, 1m or >3m).",
878 "$bLIMIT$b - Maximum number of results to show.",
879 "$bLEVEL$b - Comma-separated list of COMMAND, OVERRIDE, STAFF, to return only those commands.",
880 "$bTYPE$b - Name of module that generated log (see $bSTATS MODULES$b).",
182dd032
AS
881 "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.",
882 "Access level: $b${level/log}$b",
883 "$uSee Also:$u reopen"
884 );
d2dce5ac 885
d76ed9a9
AS
886"REOPEN" ("/msg $O REOPEN",
887 "Close and re-open all the log files.",
182dd032
AS
888 "$uSee Also:$u log, rehash, write, writeall, readhelp"
889 );
d2dce5ac 890
d76ed9a9 891"DIE" ("/msg $O DIE <reason>",
ceafd592 892 "SQUIT X3 with the given reason and shuts it down.",
182dd032
AS
893 "Access level: $b${level/die}$b",
894 "$uSee Also:$u restart, reconnect, jump"
895 );
896
d76ed9a9 897"JUMP" ("/msg $O JUMP <uplink>",
ceafd592 898 "Causes X3 to connect to the specified uplink.",
182dd032
AS
899 "Access level: $b${level/jump}$b",
900 "$uSee Also:$u reconnect, restart, die"
901 );
d2dce5ac 902
d76ed9a9 903"RECONNECT" ("/msg $O RECONNECT ",
ceafd592 904 "Causes X3 to reconnect to its current uplink.",
182dd032
AS
905 "Access level: $b${level/reconnect}$b",
906 "$uSee Also:$u jump, rehash, restart, die"
907 );
d2dce5ac 908
d76ed9a9 909"REHASH" ("/msg $O REHASH",
ceafd592 910 "Causes X3 to re-read its configuration file and update its state as much as possible.",
182dd032
AS
911 "Access level: $b${level/rehash}$b",
912 "$uSee Also:$u die, reconnect, jump, restart"
913 );
d2dce5ac 914
d76ed9a9 915"RESTART" ("/msg $O RESTART <reason>",
ceafd592 916 "Causes X3 to SQUIT with the specified reason and restart.",
182dd032
AS
917 "Access level: $b${level/restart}$b",
918 "$uSee Also:$u reconnect, rehash, die"
919 );
d2dce5ac 920
d76ed9a9 921"GAG" ("/msg $O GAG <mask> <duration> <reason>",
de9510bc
AS
922 "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.",
923 "The gag will automatically expire after $b<duration>$b (or last forever if that is zero).",
182dd032 924 "Access level: $b${level/gag}$b",
de9510bc 925 "$uSee Also:$u ungag, trace, stats gags"
182dd032 926 );
d2dce5ac 927
d76ed9a9
AS
928"HELPSERV" ("/msg $O HELPSERV <command>",
929 "Sends a command to the HelpServ system. It is used for all \"override\" commands, as well as registration and unregistration.",
182dd032
AS
930 "$uSee also:$u /msg $O HELPSERV HELP"
931 );
d2dce5ac 932
258d1427
AS
933"QUERY" ("/msg $O QUERY [key][/<sub-key>[/<sub-sub-key>]...]",
934 "Displays the value of the given configuration key. ",
935 "If the key is a composite entry, show the subkeys inside it.",
936 "Examples:",
937 " QUERY - shows 1st level keys ",
938 " QUERY services/chanserv - shows list of chanserv settings ",
939 " QUERY services/chanserv/chan_expire_delay - shows value ",
182dd032
AS
940 "Access level: $b${level/query}$b",
941 "$uSee Also:$u set, rehash"
942 );
d2dce5ac 943
d76ed9a9
AS
944"SET" ("/msg $O SET <option> <value>",
945 "Modifies the internal configuration database. Currently, only keys that have been previously set may be modified.",
182dd032
AS
946 "Access level: $b${level/set}$b",
947 "$uSee Also:$u query, rehash"
948 );
d2dce5ac 949
d76ed9a9 950"UNGAG" ("/msg $O UNGAG <hostmask>",
de9510bc 951 "Ungags a gaged hostmask.",
182dd032
AS
952 "Access level: $b${level/ungag}$b",
953 "$uSee Also:$u gag, stats gags"
954 );
d2dce5ac 955
d76ed9a9
AS
956"DUMP" ("/msg $O DUMP <raw line>",
957 "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
958 "Access level: $b${level/dump}$b",
959 "$uSee Also:$u raw"
960 );
d2dce5ac 961
d76ed9a9
AS
962"RAW" ("/msg $O RAW <raw line>",
963 "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
964 "Access level: $b${level/raw}$b",
965 "$uSee Also:$u dump"
966 );
d2dce5ac 967
d76ed9a9 968"SETTIME" ("/msg $O SETTIME [servermask] [resync]",
ceafd592 969 "Sets the time on the named server(s) to match the time known to X3.",
d76ed9a9 970 "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 971 "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
972 "Access level: $b${level/settime}$b",
973 "$uSee Also:$u timecmd"
974 );
d2dce5ac 975
d76ed9a9
AS
976"STATS" ("/msg $O STATS <subject>",
977 "Displays statistics about a specified subject. Subjects include:",
978 "$bALERTS$b: The list of current \"alerts\".",
979 "$bBAD$b: Current list of bad words and exempted channels.",
980 "$bGAGS$b: The list of current gags.",
981 "$bGLINES$b: Reports the current number of glines.",
d914d1cb 982 "$bSHUNS$b : Reports the current number of shuns.",
d76ed9a9
AS
983 "$bLINKS$b: Information about the link to the network.",
984 "$bMAX$b: The max clients seen on the network.",
985 "$bNETWORK$b: Displays network information such as total users and how many users are on each server.",
986 "$bNETWORK2$b: Additional information about the network, such as numerics and linked times.",
987 "$bOPERS$b: A list of users that are currently +o.",
ceafd592 988 "$bPROXYCHECK$b: Information about proxy checking in X3.",
d76ed9a9 989 "$bRESERVED$b: The list of currently reserved nicks.",
47956fc5 990 "$bROUTING$b: The routing plans and settings of the Auto Routing System",
d76ed9a9
AS
991 "$bTIMEQ$b: The number of events in the timeq, and how long until the next one.",
992 "$bTRUSTED$b: The list of currently trusted IPs.",
ceafd592 993 "$bUPTIME$b: X3 uptime, lines processed, and CPU time.",
d76ed9a9 994 "$bMODULES$b: Shows loaded modules that implement commands.",
182dd032
AS
995 "$bSERVICES$b: Shows active service bots.",
996 "Access level: $b${level/stats}$b",
eaf715f1
AS
997 "$b$b",
998 "$uSee Also:$u stats alerts"
182dd032 999 );
d76ed9a9 1000
eaf715f1
AS
1001"STATS ALERTS" ("/msg $O STATS ALERTS [Owner|Filter]",
1002 "Show alerts. If a parameter is given, only alerts who match it are shown.",
1003 "$b$b",
1004 " Owner - the account name of whoever created the alert",
1005 " Filter - A wildcard (* and ?) match string compared against the criteria string",
1006 "$b$b",
8709474a 1007 "Example: STATS ALERTS *nick phil*",
eaf715f1 1008 "$uSee Also:$u addalert, delalert, stats"
8709474a 1009 );
eaf715f1 1010
ec311f39 1011"TRACK" ("/msg $O TRACK <+/-type|all|none>",
1012 "This specifies what will be tracked in the tracking channel.",
1013 "Use + to add flags and - to remove types. Use ALL to enable all",
1a29a3a4 1014 "tracking options available, use NONE to completely disable them.",
ec311f39 1015 "Available flags are:",
1016 "auth - Auths",
1017 "chanmode - Channel Modes",
1018 "del - Quits",
1019 "join - Joins",
1020 "kick - Kicks",
1021 "new - New Nicks",
1022 "nick - Nick Changes",
1023 "part - Parts",
1024 "umode - Umodes");
1025
1026"ADDTRACK" ("/msg $O ADDTRACK <nick>",
1027 "Adds the given <nick> to the tracking list.",
1028 "$uSee Also:$u deltrack listtrack addalert");
1029
1030"DELTRACK" ("/msg $O DELTRACK <nick>",
1031 "Removes the given <nick> from the tracking list.",
1032 "$uSee Also:$u deltrack listtrack");
1033
1034"LISTTRACK" ("/msg $O LISTTRACK",
1035 "Lists all currently active tracks.",
1036 "$uSee Also:$u addtrack deltrack");
1037
7637f48f 1038"RESETMAX" ("/msg $O RESETMAX",
1a29a3a4 1039 "Resets the max clients number to the current amount of connected clients. Use with caution.",
7637f48f 1040 "$uSee Also:$u stats max");
1041
d2dce5ac 1042