added some more filter help
[spider.git] / cmd / Commands_en.hlp
1 #
2 # please put your help in in alphabetical order
3 #
4 # a string search is done in the command field (case is ignored)
5 # and all commands matching the asked for command are printed out
6 #
7 # the order of the fields in each header is 
8 #   privilege, command, Description 
9 # if the command ends in a - then that line isn't printed, but any
10 # subsequent lines are
11 #
12 # Comment lines are indented before printing
13 #
14 === 0^ACCEPT/SPOTS [0-9] <pattern>^Set an 'accept' filter line for spots
15 Create an 'accept this spot' line for a filter. 
16
17 An accept filter line means that if the spot matches this filter it is
18 passed onto the user. See HELP FILTERS for more info. Please read this
19 to understand how filters work - it will save a lot of grief later on.
20
21 You can use any of the following things in this line:-
22
23   freq <range>           eg: 0/30000 or hf or hf/cw or 6m,4m,2m
24   call <prefixes>        eg: G,PA,HB9
25   info <string>          eg: iota or qsl
26   by <prefixes>            
27   call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
28   call_itu <numbers>
29   call_zone <numbers>
30   by_dxcc <numbers>
31   by_itu <numbers>
32   by_zone <numbers>
33   origin <prefixes>
34   channel <prefixes>
35
36 some examples:-
37
38   acc/spot 1 freq hf/cw
39   acc/spot 2 freq vhf and (by_zone 14,15,16 or call_zone 14,15,16)
40
41 You can use the tag 'all' to reject everything that is left, eg:
42
43   rej/spot 3 all
44
45 === 8^ACCEPT/SPOTS <call> [input] [0-9] <pattern>^Spot filter sysop version
46 This version allows a sysop to set a filter for a callsign as well as the
47 default for nodes and users eg:-
48
49   accept/spot db0sue-7 1 by_zone 14,15,16
50   accept/spot node_default all
51   set/hops node_default 10
52
53   accept/spot user_default by G,M,2
54
55 === 0^ANNOUNCE <text>^Send an announcement to LOCAL users only
56 <text> is the text of the announcement you wish to broadcast 
57
58 === 0^ANNOUNCE FULL <text>^Send an announcement cluster wide
59 This will send your announcement cluster wide
60
61 === 5^ANNOUNCE SYSOP <text>^Send an announcement to Sysops only
62
63 === 0^APROPOS <string>^Search help database for <string>
64 Search the help database for <string> (it isn't case sensitive), and print
65 the names of all the commands that may be relevant.
66
67 === 0^BYE^Exit from the cluster
68 This will disconnect you from the cluster
69
70 === 5^CATCHUP <node call> All|[<msgno> ...]^Mark a message as sent
71 === 5^UNCATCHUP <node call> All|[msgno> ...]^Unmark a message as sent
72 When you send messages the fact that you have forwarded it to another node 
73 is remembered so that it isn't sent again. When you have a new partner
74 node and you add their callsign to your /spider/msg/forward.pl file, all
75 outstanding non-private messages will be forwarded to them. This may well
76 be ALL the non-private messages. You can prevent this by using these 
77 commmands:-
78
79   catchup GB7DJK all
80   catchup GB7DJK 300 301 302 303 500-510
81         
82 and to undo what you have just done:-
83   
84   uncatchup GB7DJK all
85   uncatchup GB7DJK 300 301 302 303 500-510
86
87 which will arrange for them to be forward candidates again.
88
89 Order is not important.
90
91 === 0^CLEAR/SPOTS [1|all]^Clear a spot filter line
92 This command allows you to clear (remove) a line in a spot filter or to 
93 remove the whole filter.
94
95 If you have a filter:-
96
97   acc/spot 1 freq hf/cw
98   acc/spot 2 freq vhf and (by_zone 14,15,16 or call_zone 14,15,16)
99
100 and you say:-
101
102   clear/spot 1
103
104 you will be left with:-
105
106   acc/spot 2 freq vhf and (by_zone 14,15,16 or call_zone 14,15,16)
107
108 If you do:
109
110   clear/spot all
111
112 the filter will be completely removed.
113
114 === 5^CONNECT <callsign>^Start a connection to another DX Cluster
115 Start a connection process that will culminate in a new connection to the
116 DX cluster <callsign>. This process creates a new 'client' process which will
117 use the script in /spider/connect/<callsign> to effect the 'chat' exchange
118 necessary to traverse the network(s) to logon to the cluster <callsign>.
119
120 === 0^DBAVAIL^Show a list of all the Databases in the system
121 Title says it all really, this command lists all the databases defined
122 in the system. It is also aliased to SHOW/COMMAND.
123
124 === 9^DBCREATE <name>^Create a database entry
125 === 9^DBCREATE <name> chain <name> [<name>..]^Create a chained database entry
126 === 9^DBCREATE <name> remote <node>^Create a remote database entry
127 DBCREATE allows you to define a database in the system. It doesn't actually
128 create anything, just defines it.
129
130 The databases that are created are simple DB_File hash databases, they are 
131 therefore already 'indexed'.
132
133 You can define a local database with the first form of the command eg:
134
135   DBCREATE oblast
136
137 You can also chain databases with the addition of the 'chain' keyword. 
138 This will search each database one after the other. A typical example 
139 is:
140
141   DBCREATE sdx_qsl chain sql_ad
142
143 No checking is done to see if the any of the chained databases exist, in
144 fact it is usually better to do the above staement first then do each of
145 the chained databases.
146
147 Databases can exist offsite. To define a database that lives on another 
148 node do:
149
150   DBCREATE buckmaster remote gb7dxc
151
152 Remote databases cannot be chained; however, the last database in a 
153 a chain can be a remote database eg:
154
155   DBCREATE qsl chain gb7dxc
156
157 To see what databases have been defined do:
158
159   DBAVAIL (or it will have been aliased to SHOW/COMMAND)
160
161 It would be normal for you to add an entry into your local Aliases file
162 to allow people to use the 'SHOW/<dbname>' style syntax. So you would
163 need to add a line like:-
164
165   's' => [
166     ..
167     ..
168     '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
169     ..
170     ..
171    ],
172
173 to allow 
174  
175   SH/BUCK g1tlh
176
177 to work as they may be used to.
178
179 See DBIMPORT for the importing of existing AK1A format data to databases.
180 See DBSHOW for generic database enquiry
181  
182 === 9^DBIMPORT <dbname> <filename>^Import AK1A data into a database
183 If you want to import or update data in bulk to a database you can use
184 this command. It will either create or update entries into an existing
185 database. For example:-
186
187   DBIMPORT oblast /tmp/OBLAST.FUL
188
189 will import the standard OBLAST database that comes with AK1A into the
190 oblast database held locally.
191
192 === 9^DBREMOVE <dbname>^Delete a database
193 DBREMOVE will completely remove a database entry and also delete any data
194 file that is associated with it. 
195
196 There is no warning, no comeback, no safety net. 
197
198 For example:
199
200   DBREMOVE oblast 
201
202 will remove the oblast database from the system and it will also remove
203 the associated datafile.
204
205 I repeat:
206
207 There is no warning, no comeback, no safety net.
208  
209 You have been warned.
210
211 === 0^DBSHOW <dbname> <key>^Display an entry, if it exists, in a database
212 This is the generic user interface to the database to the database system.
213 It is expected that the sysop will add an entry to the local Aliases file
214 so that users can use the more familiar AK1A style of enquiry such as:
215
216   SH/BUCK G1TLH
217
218 but if he hasn't and the database really does exist (use DBAVAIL or
219 SHOW/COMMAND to find out) you can do the same thing with:
220
221   DBSHOW buck G1TLH
222
223 === 9^DEBUG^Set the cluster program into debug mode
224 Executing this command will only have an effect if you are running the cluster
225 in debug mode i.e.
226
227         perl -d cluster.pl
228
229 It will interrupt the cluster just after the debug command has finished.
230 === 0^DIRECTORY^List messages 
231 === 0^DIRECTORY ALL^List all messages
232 === 0^DIRECTORY OWN^List your own messages
233 === 0^DIRECTORY NEW^List all new messages
234 === 0^DIRECTORY TO <call>^List all messages to <call>
235 === 0^DIRECTORY FROM <call>^List all messages from <call>
236 === 0^DIRECTORY SUBJECT <string>^List all messages with <string> in subject
237 === 0^DIRECTORY <nn>^List last <nn> messages
238 === 0^DIRECTORY <from>-<to>^List messages <from> message <to> message 
239 List the messages in the messages directory.
240
241 If there is a 'p' one space after the message number then it is a 
242 personal message. If there is a '-' between the message number and the
243 'p' then this indicates that the message has been read.
244
245 You can use shell escape characters such as '*' and '?' in the <call>
246 fields.
247
248 You can combine some of the various directory commands together eg:-
249
250    DIR TO G1TLH 5
251 or 
252    DIR SUBJECT IOTA 200-250
253
254 You can abbreviate all the commands to one letter and use ak1a syntax:-
255
256    DIR/T G1* 10
257    DIR/S QSL 10-100 5
258
259 === 5^DIRECTORY-^
260 Sysops can see all users' messages.
261
262 === 8^DISCONNECT <call> [<call> ...]^Disconnect a user or cluster
263 Disconnect any <call> connected locally
264
265 === 0^DX [BY <call>] <freq> <call> <remarks>^Send a DX spot
266 This is how you send a DX Spot to other users. You can, in fact, now
267 enter the <freq> and the <call> either way round. 
268
269    DX FR0G 144.600
270    DX 144.600 FR0G
271    DX 144600 FR0G 
272
273 will all give the same result. You can add some remarks to the end
274 of the command and they will be added to the spot.
275
276    DX FR0G 144600 this is a test
277
278 You can credit someone else by saying:-
279
280    DX by G1TLH FR0G 144.600 he isn't on the cluster
281
282 The <freq> is compared against the available bands set up in the 
283 cluster.  See SHOW/BANDS for more information.
284
285 === 9^EXPORT <msgno> <filename>^Export a message to a file
286 Export a message to a file. This command can only be executed on a local
287 console with a fully privileged user. The file produced will be in a form
288 ready to be imported back into the cluster by placing it in the import 
289 directory (/spider/msg/import).
290
291 This command cannot overwrite an existing file. This is to provide some 
292 measure of security. Any files written will owned by the same user as the 
293 main cluster, otherwise you can put the new files anywhere the cluster can
294 access. For example:-
295
296   EXPORT 2345 /tmp/a
297
298 === 9^EXPORT_USERS [<filename>]^Export the users database to ascii
299 Export the users database to a file in ascii format. If no filename
300 is given then it will export the file to /spider/data/user_asc.
301
302 If the file already exists it will be renamed to <filename>.o. In fact
303 up to 5 generations of the file can be kept each one with an extra 'o' on the
304 suffix. 
305
306 BE WARNED: this will write to any file you have write access to. No check is
307 made on the filename (if any) that you specify.
308
309 === 0^FILTERING...^Filtering things in DXSpider
310 There are a number of things you can filter in the DXSpider system. They
311 all use the same general mechanism.
312
313 In general terms you can create a 'reject' or an 'accept' filter which can
314 have up to 10 lines in it. You do this using, for example:-
315  
316   accept/spots .....
317   reject/spots .....
318
319 where ..... are the specific commands for that type of filter. There are 
320 filters for spots, wwv, announce, wcy and (for sysops) connects. See each
321 different accept or reject command reference for more details.
322
323 There is also a command to clear out one or more lines in a filter and one
324 to show you what you have set. They are:-
325
326   clear/spots 1
327   clear/spots all
328
329 and 
330   
331   show/filter
332
333 There is clear/xxxx command for each type of filter.
334
335 For now we are going to use spots for the examples, but you can apply the 
336 principles to all types of filter. 
337
338 There are two main types of filter 'accept' or 'reject'; which you use depends
339 entirely on how you look at the world and what is least writing to achieve 
340 what you want. Each filter has 10 lines (of any length) which are tried in 
341 order. If a line matches then the action you have specified is taken (ie reject
342 means ignore it and accept means gimme it).
343
344 The important thing to remember is that if you specify a 'reject' filter (all
345 the lines in it say 'reject/spots' (for instance) then if a spot comes in that
346 doesn't match any of the lines then you will get it BUT if you specify an
347 'accept' filter then any spots that don't match are dumped. For example if I 
348 have a one line accept filter:-
349
350   accept/spots freq vhf and (by_zone 14,15,16 or call_zone 14,15,16)
351
352 then automatically you will ONLY get VHF spots from or to CQ zones 14 15 and 16.
353 If you set a reject filter like:
354
355   reject/spots freq hf/cw
356
357 Then you will get everything EXCEPT HF CW spots, If you am interested in IOTA
358 and will work it even on CW then you could say:-
359
360   reject/spots freq hf/cw and not info iota
361
362 But in that case you might only be interested in iota and say:-
363
364   accept/spots not freq hf/cw or info iota
365
366 which is exactly the same. You should choose one or the other until you are
367 confortable with the way it works. Yes, you can mix them (actually you can
368 have an accept AND a reject on the same line) but don't try this at home
369 until you can analyse the results that you get without ringing up the sysop
370 for help.
371
372 You can arrange your filter lines into logical units, either for your own 
373 understanding or simply convenience. I have one set frequently:-
374
375   reject/spots 1 freq/cw
376   reject/spots 2 freq 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)  
377
378 What this does is to ignore all HF CW spots (being a class B I can't read
379 any CW and couldn't possibly be interested in HF :-) and also rejects any
380 spots on VHF which don't either originate or spot someone in Europe.
381
382 This is an exmaple where you would use the line number (1 and 2 in this case),
383 if you leave the digit out, the system assumes '1'. Digits '0'-'9' are 
384 available.
385
386 You can leave the word 'and' out if you want, it is implied. You can use any 
387 number of brackets to make the 'expression' as you want it. There are things
388 called precedence rules working here which mean that you will NEED brackets 
389 in a situation like line 2 because, without it, will assume:-
390
391   (freq 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16 
392
393 annoying, but that is the way it is. If you use OR - use brackets. Whilst we
394 are here CASE is not important. 'And BY_Zone' is just 'and by_zone'.
395
396 If you want to alter your filter you can just redefine one or more
397 lines of it or clear out one line. For example:-
398
399   reject/spots 1 freq/ssb
400
401 or 
402
403   clear/spots 1
404
405 To remove the filter in its entirty:-
406
407   clear/spots all
408
409 === 1^FORWARD/OPERNAM <call>^Send out information on this <call> to all clusters
410 This command sends out any information held in the user file which can 
411 be broadcast in PC41 protocol packets. This information is Name, QTH, Location
412 and Homenode. PC41s are only sent for the information that is available.
413  
414 === 0^HELP^The HELP Command
415 HELP is available for a number of commands. The syntax is:-
416
417   HELP <cmd>
418   
419 Where <cmd> is the name of the command you want help on.
420
421 All commands can be abbreviated, so SHOW/DX can be abbreviated
422 to SH/DX, ANNOUNCE can be shortened to AN and so on.
423
424 Look at the APROPOS <string> command which will search the help database
425 for the <string> you specify and give you a list of likely commands
426 to look at with HELP.
427
428 === 5^INIT <node>^Re-initialise a link to an AK1A compatible node
429 This command attempts to re-initialise a link to a (usually) AK1A node
430 that has got confused, usually by a protocol loop of some kind. It may
431 work - but you usually will be better off simply disconnecting it (or
432 better, if it is a real AK1A node, doing an RCMD <node> DISC/F <your
433 node>).
434
435 Best of luck - you will need it.
436   
437 === 0^KILL <msgno> [<msgno..]^Delete a message from the local system
438 Delete a message from the local system. You will only be able to
439 delete messages that you have originated or been sent (unless you are
440 the sysop).
441
442 === 5^KILL FULL <msgno> [<msgno..]^Delete a message from the whole cluster
443 Delete a message (usually a 'bulletin') from the whole cluster system. 
444
445 This uses the subject field, so any messages that have exactly the
446 same subject will be deleted. Beware!
447
448 === 0^LINKS^Show which nodes is physically connected
449 This is a quick listing that shows which links are connected and
450 some information about them. See WHO for a list of all connections.
451
452 === 9^LOAD/ALIASES^Reload the command alias table
453 Reload the /spider/cmd/Aliases file after you have editted it. You
454 will need to do this if you change this file whilst the cluster is
455 running in order for the changes to take effect.
456
457 === 9^LOAD/BANDS^Reload the band limits table
458 Reload the /spider/data/bands.pl file if you have changed it manually whilst
459 the cluster is running. 
460
461 === 9^LOAD/BADDX^Reload the bad DX table
462 Reload the /spider/data/baddx.pl file if you have changed it manually whilst
463 the cluster is running. This table contains the DX Calls that, if spotted, 
464 will not be passed on. FR0G and TEST are classic examples.
465
466 === 9^LOAD/BADMSG^Reload the bad msg table
467 Reload the /spider/msg/badmsg.pl file if you have changed it manually whilst
468 the cluster is running. This table contains a number of perl regular 
469 expressions which are searched for in the fields targetted of each message. 
470 If any of them match then that message is immediately deleted on receipt. 
471
472 === 9^LOAD/BADWORDS^Reload the bad words table
473 Reload the /spider/data/badwords file if you have changed it manually whilst
474 the cluster is running. This file contains a list of words which, if found
475 on certain text portions of PC protocol, will cause those protocol frames
476 to be rejected. It will all put out a message if any of these words are
477 used on the announce, dx and talk commands. The words can be one or 
478 more on a line, lines starting with '#' are ignored.
479
480 === 9^LOAD/CMD_CACHE^Reload the automatic command cache
481 Normally, if you change a command file in the cmd or local_cmd tree it
482 will automatially be picked up by the cluster program. Sometimes it
483 can get confused if you are doing a lot of moving commands about or
484 delete a command in the local_cmd tree and want to use the normal one
485 again. Execute this command to reset everything back to the state it
486 was just after a cluster restart.
487
488 === 9^LOAD/FORWARD^Reload the msg forwarding routing table
489 Reload the /spider/msg/forward.pl file if you have changed it
490 manually whilst the cluster is running.
491
492 === 9^LOAD/MESSAGES^Reload the system messages file
493 If you change the /spider/perl/Messages file (usually whilst
494 fiddling/writing new commands) you can have them take effect during a
495 cluster session by executing this command. You need to do this if get
496 something like :-
497
498 unknown message 'xxxx' in lang 'en'
499
500 === 9^LOAD/PREFIXES^Reload the prefix table
501 Reload the /spider/data/prefix_data.pl file if you have changed it
502 manually whilst the cluster is running.
503
504 === 5^MERGE <node> [<no spots>/<no wwv>]^Ask for the latest spots and WWV 
505 MERGE allows you to bring your spot and wwv database up to date. By default
506 it will request the last 10 spots and 5 WWVs from the node you select. The 
507 node must be connected locally.
508
509 You can request any number of spots or wwv and although they will be appended
510 to your databases they will not duplicate any that have recently been added 
511 (the last 2 days for spots and last month for WWV data).
512
513 === 9^MSG <cmd> <msgno> [data ... ]^Alter various message parameters
514 Alter message parameters like To, From, Subject, whether private or bulletin
515 or return receipt (RR) is required or whether to keep this message from timing
516 out.
517
518   MSG TO <msgno> <call>     - change TO callsign to <call>
519   MSG FRom <msgno> <call>   - change FROM callsign to <call>
520   MSG PRrivate <msgno>      - set private flag
521   MSG NOPRrivate <msgno>    - unset private flag
522   MSG RR <msgno>            - set RR flag
523   MSG NORR <msgno>          - unset RR flag
524   MSG KEep <msgno>          - set the keep flag (message won't be deleted ever)
525   MSG NOKEep <msgno>        - unset the keep flag
526   MSG SUbject <msgno> <new> - change the subject to <new>
527   MSG WAittime <msgno>      - remove any waitting time for this message
528   MSG NOREad <msgno>        - mark message as unread
529   MSG REad <msgno>          - mark message as read
530   MSG QUeue                 - queue any outstanding bulletins
531   MSG QUeue 1               - queue any outstanding private messages
532
533 You can look at the status of a message by using:-
534
535   STAT/MSG <msgno>      
536
537 This will display more information on the message than DIR does.
538    
539 === 8^PC <call> <text>^Send text (eg PC Protocol) to <call>
540 Send some arbitrary text to a locally connected callsign. No
541 processing is done on the text. This command allows you to send PC
542 Protocol to unstick things if problems arise (messages get stuck
543 etc). eg:-
544
545    pc gb7djk PC33^GB7TLH^GB7DJK^400^
546 or 
547    pc G1TLH Try doing that properly!!!
548
549 === 1^PING <node>^Send a ping command to another cluster
550 This command is used to estimate the quality of the link to another cluster. 
551 The time returned is the length of time taken for a PC51 to go to another 
552 cluster and be returned.
553
554 === 0^KILL <msgno> [<msgno> ...]^Remove or erase a message from the system
555 You can get rid of any message to or originating from your callsign using 
556 this command. You can remove more than one message at a time.
557
558 === 5^KILL <from>-<to>^Remove a range of messages from the system
559 === 5^KILL FROM <call>^Remove all messages from a callsign
560 === 5^KILL TO <call>^Remove all messages to a callsign
561 === 5^KILL FULL <msgno> [<msgno]^Remove a message from the entire cluster
562 Remove this message from the entire cluster system as well as your node.
563
564 === 5^KILL^
565 As a sysop you can kill any message on the system.
566
567 === 8^PC <call> <text>^Send arbitrary text to a connected callsign
568 Send any text you like to the callsign requested. This is used mainly to send
569 PC protocol to connected nodes either for testing or to unstick things. 
570
571 You can also use in the same way as a talk command to a connected user but
572 without any processing, added of "from <blah> to <blah" or whatever.
573  
574 === 1^PING <node call>^Find out the delays an a circuit to another node
575 This command will enable sysops to determine the speed of an inter-cluster
576 node. 
577
578 Any visible cluster node can be PINGed.
579
580 === 1^RCMD <node call> <cmd>^Send a command to another DX Cluster
581 This command allows you to send nearly any command to another DX Cluster
582 node that is connected to the system. 
583
584 Whether you get any output is dependant on a) whether the other system knows
585 that the node callsign of this cluster is in fact a node b) whether the
586 other system is allowing RCMDs from this node and c) whether you have
587 permission to send this command at all.
588
589 === 0^READ^Read the next unread personal message addressed to you
590 === 0^READ <msgno>^Read the specified message
591 You can read any messages that are sent as 'non-personal' and also any
592 message either sent by or sent to your callsign.
593
594 === 5^READ-^
595 As a sysop you may read any message on the system
596
597 === 0^REJECT/SPOTS [0-9] <pattern>^Set an 'reject' filter line for spots
598 Create an 'accept this spot' line for a filter. 
599
600 An reject filter line means that if the spot matches this filter it is
601 dumped (not passed on). See HELP FILTERS for more info. Please read this
602 to understand how filters work - it will save a lot of grief later on.
603
604 You can use any of the following things in this line:-
605
606   freq <range>           eg: 0/30000 or hf or hf/cw or 6m,4m,2m
607   call <prefixes>        eg: G,PA,HB9
608   info <string>          eg: iota or qsl
609   by <prefixes>            
610   call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
611   call_itu <numbers>
612   call_zone <numbers>
613   by_dxcc <numbers>
614   by_itu <numbers>
615   by_zone <numbers>
616   origin <prefixes>
617   channel <prefixes>
618
619 some examples:-
620
621   rej/spot 1 freq hf
622   rej/spot 2 freq vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
623
624 You can use the tag 'all' to reject everything that is left, eg:
625
626   rej/spot 3 all
627
628 === 8^REJECT/SPOTS <call> [input] [0-9] <pattern>^Spot filter sysop version
629 This version allows a sysop to set a filter for a callsign as well as the
630 default for nodes and users eg:-
631
632   reject/spot db0sue-7 1 by_zone 14,15,16
633   reject/spot node_default all
634   set/hops node_default 10
635
636   reject/spot user_default by G,M,2
637
638 === 0^REPLY^Reply (privately) to the last message that you have read
639 === 0^REPLY <msgno>^Reply (privately) to the specified message
640 === 0^REPLY B <msgno>^Reply as a Bulletin to the specified message
641 === 0^REPLY NOPrivate <msgno>^Reply as a Bulletin to the specified message
642 === 0^REPLY RR <msgno>^Reply to the specified message with read receipt
643 You can reply to a message and the subject will automatically have
644 "Re:" inserted in front of it, if it isn't already present.
645
646 You can also use all the extra qualifiers such as RR, PRIVATE, 
647 NOPRIVATE, B that you can use with the SEND command (see SEND
648 for further details)
649
650 === 0^SEND <call> [<call> ...]^Send a message to one or more callsigns
651 === 0^SEND RR <call>^Send a message and ask for a read receipt
652 === 0^SEND COPY <msgno> <call>^Send a copy of a  message to someone
653 === 0^SEND PRIVATE <call>^Send a personal message
654 === 0^SEND NOPRIVATE <call>^Send a message to all stations
655 All the SEND commands will create a message which will be sent either to
656 an individual callsign or to one of the 'bulletin' addresses. 
657
658 SEND <call> on its own acts as though you had typed SEND PRIVATE, that is
659 it will mark the message as personal and send it to the cluster node that
660 that callsign is connected to.
661
662 You can have more than one callsign in all of the SEND commands.
663
664 You can have multiple qualifiers so that you can have for example:-
665
666   SEND RR COPY 123 PRIVATE G1TLH G0RDI
667
668 which should send a copy of message 123 to G1TLH and G0RDI and you will
669 receive a read receipt when they have read the message.
670
671 SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
672 SP is an alias for SEND PRIVATE
673
674 === 0^SET/ADDRESS <your address>^Record your postal address
675
676 === 0^SET/ANNOUNCE^Allow announce messages to come out on your terminal
677 === 0^UNSET/ANNOUNCE^Stop announce messages coming out on your terminal
678
679 === 5^SET/ARCLUSTER <call> [<call>..]^Make the callsign an AR-Cluster node
680
681 === 0^SET/BEEP^Add a beep to DX and other messages on your terminal
682 === 0^UNSET/BEEP^Stop beeps for DX and other messages on your terminal
683
684 === 5^SET/CLX <call> [<call>..]^Make the callsign an CLX node
685
686 === 9^SET/DEBUG <name>^Add a debug level to the debug set
687 === 9^UNSET/DEBUG <name>^Remove a debug level from the debug set
688
689 === 0^SET/DX^Allow DX messages to come out on your terminal
690 === 0^UNSET/DX^Stop DX messages coming out on your terminal
691
692 === 0^SET/DXGRID^Allow Grid Squares on the end of DX announcements
693 === 0^UNSET/DXGRID^Stop Grid Squares on the end of DX announcements
694 A standard feature which is enabled in version 1.43 and above is 
695 that if the spotter's grid square is known it is output on the end
696 of a DX announcement (there is just enough room). Some user programs
697 cannot cope with this. You can use this command to reset (or set)
698 this feature.
699
700 === 5^SET/DXNET <call> [<call>..]^Make the callsign an DXNet node
701
702 === 0^SET/ECHO^Make the cluster echo your input
703 === 0^UNSET/ECHO^Stop the cluster echoing your input
704 If you are connected via a telnet session, different implimentations
705 of telnet handle echo differently depending on whether you are 
706 connected via port 23 or some other port. You can use this command
707 to change the setting appropriately. 
708
709 The setting is stored in your user profile.
710
711 YOU DO NOT NEED TO USE THIS COMMAND IF YOU ARE CONNECTED VIA AX25.
712
713 === 0^SET/HERE^Tell the system you are present at your terminal
714 === 0^UNSET/HERE^Tell the system you are absent from your terminal
715
716 === 0^SET/HOMENODE <node> ^Set your normal cluster callsign
717 Tell the cluster system where you normally connect to. Any Messages sent
718 to you will normally find their way there should you not be connected.
719 eg:-
720   SET/HOMENODE gb7djk
721
722 === 9^SET/ISOLATE^Isolate a node from the rest of the network
723 Connect a node to your system in such a way that you are a full protocol
724 member of its network and can see all spots on it, but nothing either leaks
725 out from it nor goes back into from the rest of the nodes connected to you.
726
727 You can potentially connect several nodes in this way.
728  
729 === 9^UNSET/ISOLATE^Stop Isolation of a node from the rest of the network
730 Remove isolation from a node - SET/ISOLATE
731
732 === 0^SET/LANGUAGE <lang>^Set the language you want to use
733 You can select the language that you want the cluster to use. Currently
734 the languages available are en (english) and nl (dutch).
735
736 === 0^SET/LOCATION <lat & long>^Set your latitude and longitude
737 === 9^SET/SYS_LOCATION <lat & long>^Set your cluster latitude and longitude
738 In order to get accurate headings and such like you must tell the system
739 what your latitude and longitude is. If you have not yet done a SET/QRA
740 then this command will set your QRA locator for you. For example:-
741   SET/LOCATION 52 22 N 0 57 E
742
743 === 0^SET/LOGININFO^Inform when a station logs in locally
744 === 0^UNSET/LOGININFO^Inform when a station logs out locally
745
746 === 9^SET/LOCKOUT <call>^Stop a callsign connecting to the cluster
747 === 9^UNSET/LOCKOUT <call>^Allow a callsign to connect to the cluster
748
749 === 0^SET/NAME <your name>^Set your name
750 Tell the system what your name is eg:-
751   SET/NAME Dirk
752
753 === 5^SET/NODE <call> [<call>..]^Make the callsign an AK1A cluster
754 Tell the system that the call(s) are to be treated as AK1A cluster and
755 fed PC Protocol rather normal user commands.
756
757 === 8^SET/OBSCOUNT <count> <nodecall>^Set the 'pump-up' obscelence counter 
758 From 1.35 onwards neighbouring nodes are pinged at regular intervals (see
759 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
760 counter which is decremented on every outgoing ping and then reset to
761 the 'obscount' value on every incoming ping. The default value of this
762 parameter is 2. 
763
764 What this means is that a neighbouring node will be pinged twice at 
765 (default) 300 second intervals and if no reply has been heard just before
766 what would be the third attempt, that node is disconnected.
767
768 If a ping is heard then the obscount is reset to the full value. Using
769 default values, if a node has not responded to a ping within 15 minutes,
770 it is disconnected.
771
772 === 0^SET/PAGE <lines per page>^Set the lines per page
773 Tell the system how many lines you wish on a page when the number of line
774 of output from a command is more than this. The default is 20. Setting it
775 explicitly to 0 will disable paging. 
776   SET/PAGE 30
777   SET/PAGE 0
778
779 The setting is stored in your user profile.
780
781 === 9^SET/PINGINTERVAL <time> <nodecall>^Set ping time to neighbouring nodes 
782 As from release 1.35 all neighbouring nodes are pinged at regular intervals
783 in order to determine the rolling quality of the link and, in future, to
784 affect routing decisions. The default interval is 300 secs or 5 minutes.
785
786 You can use this command to set a different interval. Please don't. 
787
788 But if you do the value you enter is treated as minutes up 60 and seconds
789 for numbers greater than that.
790
791 This is used also to help determine when a link is down at the far end
792 (as certain cluster software doesn't always notice), see SET/OBSCOUNT
793 for more information.
794
795 === 9^SET/PRIVILEGE <n> <call> [<call..]^Set privilege level on a call
796 Set the privilege level on a callsign. The privilege levels that pertain
797 to commands are as default:-
798   0 - normal user
799   1 - allow remote nodes normal user RCMDs
800   5 - various privileged commands (including shutdown, but not disc-
801       connect), the normal level for another node.
802   8 - more privileged commands (including disconnect)
803   9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
804       LEVEL.
805 If you are a sysop and you come in as a normal user on a remote connection
806 your privilege will automatically be set to 0.
807
808 === 9^SET/PASSWORD <callsign> <string>^Set a users password
809 The password for a user can only be set by a full sysop. The string
810 can contain any characters but any spaces are removed (you can type in
811 spaces - but they won't appear in the password). You can see the
812 result with STAT/USER.
813
814 === 5^SET/SPIDER <call> [<call>..]^Make the callsign an DXSpider node
815 Tell the system that the call(s) are to be treated as DXSpider node and
816 fed new style DX Protocol rather normal user commands.
817
818 === 9^SET/SYS_QRA <locator>^Set your cluster QRA locator
819 === 0^SET/QRA <locator>^Set your QRA locator
820 Tell the system what your QRA (or Maidenhead) locator is. If you have not
821 done a SET/LOCATION then your latitude and longitude will be set roughly
822 correctly (assuming your locator is correct ;-). For example:-
823   SET/QRA JO02LQ
824
825 === 0^SET/QTH <your qth>^Set your QTH
826 Tell the system where you are. For example:-
827   SET/QTH East Dereham, Norfolk
828
829 === 0^SET/TALK^Allow TALK messages to come out on your terminal
830 === 0^UNSET/TALK^Stop TALK messages coming out on your terminal
831
832 === 0^SET/WCY^Allow WCY messages to come out on your terminal
833 === 0^UNSET/WCY^Stop WCY messages coming out on your terminal
834
835 === 0^SET/WWV^Allow WWV messages to come out on your terminal
836 === 0^UNSET/WWV^Stop WWV messages coming out on your terminal
837
838 === 0^SET/WX^Allow WX messages to come out on your terminal
839 === 0^UNSET/WX^Stop WX messages coming out on your terminal
840
841 === 0^SHOW/CALL <callsign>^Show any callbook details on a callsign
842 This command queries an international callbook server on the internet
843 and returns any information available for that callsign. 
844
845 === 0^SHOW/DATE [<prefix>|<callsign>]^Show the local time 
846 This is very nearly the same as SHOW/TIME, the only difference the format
847 of the date string if no arguments are given.
848
849 If no prefixes or callsigns are given then this command returns the local
850 time and UTC as the computer has it right now. If you give some prefixes
851 then it will show UTC and UTC + the local offset (not including DST) at
852 the prefixes or callsigns that you specify.
853
854 === 0^SHOW/DX^Interrogate the spot database
855 If you just type SHOW/DX you will get the last so many spots
856 (sysop configurable, but usually 10).
857    
858 In addition you can add any number of these commands in very nearly
859 any order to the basic SHOW/DX command, they are:-
860    
861 on <band>       - eg 160m 20m 2m 23cm 6mm
862 on <region>     - eg hf vhf uhf shf      (see SHOW/BANDS)
863    
864 <number>        - the number of spots you want
865 <from>-<to>     - <from> spot no <to> spot no in the selected list
866    
867 <prefix>        - for a spotted callsign beginning with <prefix>
868 *<suffix>       - for a spotted callsign ending in <suffix>
869 *<string>*      - for a spotted callsign containing <string>
870    
871 day <number>    - starting <number> days ago
872 day <from>-<to> - <from> days <to> days ago
873    
874 info <text>     - any spots containing <text> in the info or remarks
875    
876 by <call>       - any spots spotted by <call> (spotter <call> is the 
877                   same).
878
879 qsl             - this automatically looks for any qsl info on the call
880                   held in the spot database.
881
882 iota [<iota>]   - If the iota island number is missing it will look for
883                   the string iota and anything which looks like an iota
884                   island number. If you specify then it will look for  
885                   that island.
886
887 qra [<locator>] - this will look for the specific locator if you specify
888                   one or else anything that looks like a locator.
889    
890 e.g. 
891    
892    SH/DX 9m0
893    SH/DX on 20m info iota
894    SH/DX 9a on vhf day 30
895    SH/DX rf1p qsl
896    SH/DX iota 
897    SH/DX iota eu-064
898    SH/DX qra jn86
899   
900 === 0^SHOW/DXCC <prefix>^Interrogate the spot database by country
901 This command takes the <prefix> (which can be a full or partial 
902 callsign if desired), looks up which internal country number it is
903 and then displays all the spots as per SH/DX for that country.
904    
905 The options for SHOW/DX also apply to this command.   
906 e.g. 
907    
908    SH/DXCC G
909    SH/DXCC W on 20m info iota
910
911 === 0^SHOW/FILES [<filearea> [<string>]]^List the contents of a filearea
912 SHOW/FILES on its own will show you a list of the various fileareas
913 available on the system. To see the contents of a particular file
914 area type:-
915    SH/FILES <filearea>
916 where <filearea> is the name of the filearea you want to see the 
917 contents of.
918
919 You can also use shell globbing characters like '*' and '?' in a
920 string to see a selection of files in a filearea eg:-
921    SH/FILES bulletins arld*
922
923 See also TYPE - to see the contents of a file.
924
925 === 0^SHOW/FILTER^Show the contents of all the filters you have set
926 Show the contents of all the filters that are set. This command displays
927 all the filters set - for all the various categories.
928
929 === 1^SHOW/ISOLATE^Show list of ISOLATED nodes
930
931 === 9^SHOW/LOCKOUT^Show the list of locked out or excluded callsigns
932
933 === 0^SHOW/MOON [<prefix>|<callsign>]^Show Moon rise and set times
934 Show the Moon rise and set times for a (list of) prefixes or callsigns, 
935 together with the azimuth and elevation of the sun currently at those
936 locations.
937
938 If you don't specify any prefixes or callsigns, it will show the times for
939 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
940 together with the current azimuth and elevation.
941
942 In addition, it will show the gain or loss dB relative to the nominal 
943 distance of 385,000Km due to the ellipsoidal nature of the orbit.
944
945 If all else fails it will show the Moonrise and set times for the node
946 that you are connected to. 
947
948 For example:-
949
950   SH/MOON
951   SH/MOON G1TLH W5UN
952
953 === 0^SHOW/MUF <prefix> [<hours>][long]^Show the likely propagation to a prefix
954 This command allow you to estimate the likelihood of you contacting
955 a station with the prefix you have specified. The output assumes a modest
956 power of 20dBW and receiver sensitivity of -123dBm (about 0.15muV/10dB SINAD)
957
958 The result predicts the most likely operating frequencies and signal
959 levels for high frequency (shortwave) radio propagation paths on
960 specified days of the year and hours of the day. It is most useful for
961 paths between 250 km and 6000 km, but can be used with reduced accuracy
962 for paths shorter or longer than this.
963
964 The command uses a routine MINIMUF 3.5 developed by the U.S. Navy and
965 used to predict the MUF given the predicted flux, day of the year,
966 hour of the day and geographic coordinates of the transmitter and
967 receiver. This routine is reasonably accurate for the purposes here,
968 with a claimed RMS error of 3.8 MHz, but much smaller and less complex
969 than the programs used by major shortwave broadcasting organizations,
970 such as the Voice of America.
971
972 The command will display some header information detailing its
973 assumptions, together with the locations, latitude and longitudes and
974 bearings. It will then show UTC (UT), local time at the other end
975 (LT), calculate the MUFs, Sun zenith angle at the midpoint of the path
976 (Zen) and the likely signal strengths. Then for each frequency for which
977 the system thinks there is a likelihood of a circuit it prints a value.
978
979 The value is currently a likely S meter reading based on the conventional
980 6dB / S point scale. If the value has a '+' appended it means that it is
981 1/2 an S point stronger. If the value is preceeded by an 'm' it means that
982 there is likely to be much fading and by an 's' that the signal is likely
983 to be noisy.  
984
985 By default SHOW/MUF will show the next two hours worth of data. You
986 can specify anything up to 24 hours worth of data by appending the no of
987 hours required after the prefix. For example:-
988
989   SH/MUF W
990
991 produces:
992
993   RxSens: -123 dBM SFI: 159   R: 193   Month: 10   Day: 21
994   Power :   20 dBW    Distance:  6283 km    Delay: 22.4 ms
995   Location                       Lat / Long           Azim
996   East Dereham, Norfolk          52 41 N 0 57 E         47
997   United-States-W                43 0 N 87 54 W        299
998   UT LT  MUF Zen  1.8  3.5  7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0
999   18 23 11.5 -35  mS0+ mS2   S3
1000   19  0 11.2 -41  mS0+ mS2   S3
1001
1002 indicating that you will have weak, fading circuits on top band and 
1003 80m but usable signals on 40m (about S3).
1004
1005 inputing:-
1006
1007   SH/MUF W 24
1008
1009 will get you the above display, but with the next 24 hours worth of
1010 propagation data.
1011
1012   SH/MUF W L 24
1013   SH/MUF W 24 Long
1014
1015 Gives you an estimate of the long path propagation characterics. It
1016 should be noted that the figures will probably not be very useful, nor
1017 terrible accurate, but it is included for completeness.
1018
1019 === 1^SHOW/NODE [<callsign> ...]^Show the type and version number of nodes
1020 Show the type and version (if connected) of the nodes specified on the
1021 command line. If no callsigns are specified then a sorted list of all
1022 the non-user callsigns known to the system will be displayed.
1023
1024 === 0^SHOW/PREFIX <callsign>^Interrogate the prefix database 
1025 This command takes the <callsign> (which can be a full or partial 
1026 callsign or a prefix), looks up which internal country number 
1027 it is and then displays all the relevant prefixes for that country
1028 together with the internal country no, the CQ and ITU regions. 
1029
1030 See also SHOW/DXCC
1031
1032 === 5^SHOW/PROGRAM^Show the locations of all the included program modules
1033 Show the name and location where every program module was load from. This
1034 is useful for checking where you think you have loaded a .pm file from. 
1035
1036 === 0^SHOW/QRA <locator> [<locator>]^Show distance between locators
1037 === 0^SHOW/QRA <lat> <long>^Convert latitude and longitude to a locator
1038 This is a multipurpose command that allows you either to calculate the
1039 distance and bearing between two locators or (if only one locator is
1040 given on the command line) the distance and beraing from your station
1041 to the locator. For example:-
1042
1043 SH/QRA IO92QL 
1044 SH/QRA JN06 IN73
1045
1046 The first example will show the distance and bearing to the locator from
1047 yourself, the second example will calculate the distance and bearing from
1048 the first locator to the second. You can use 4 or 6 character locators.
1049
1050 It is also possible to convert a latitude and longitude to a locator by 
1051 using this command with a latitude and longitude as an argument, for
1052 example:-
1053
1054 SH/QRA 52 41 N 0 58 E
1055
1056 === 0^SHOW/SATELLITE <name> [<hours> <interval>]^Show tracking data
1057 Show the tracking data from your location to the satellite of your choice
1058 from now on for the next few hours.
1059
1060 If you use this command without a satellite name it will display a list
1061 of all the satellites known currently to the system. 
1062
1063 If you give a name then you can obtain tracking data of all the passes
1064 that start and finish 5 degrees below the horizon. As default it will
1065 give information for the next three hours for every five minute period.
1066
1067 You can alter the number of hours and the step size, within certain 
1068 limits. 
1069
1070 Each pass in a period is separated with a row of '-----' characters
1071
1072 So for example:-
1073
1074 SH/SAT AO-10 
1075 SH/SAT FENGYUN1 12 2
1076
1077 === 0^SHOW/SUN [<prefix>|<callsign>]^Show sun rise and set times
1078 Show the sun rise and set times for a (list of) prefixes or callsigns, 
1079 together with the azimuth and elevation of the sun currently at those
1080 locations.
1081
1082 If you don't specify any prefixes or callsigns, it will show the times for
1083 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
1084 together with the current azimuth and elevation.
1085
1086 If all else fails it will show the sunrise and set times for the node
1087 that you are connected to. 
1088
1089 For example:-
1090
1091   SH/SUN
1092   SH/SUN G1TLH K9CW ZS
1093
1094 === 0^SHOW/TIME [<prefix>|<callsign>]^Show the local time 
1095 If no prefixes or callsigns are given then this command returns the local
1096 time and UTC as the computer has it right now. If you give some prefixes
1097 then it will show UTC and UTC + the local offset (not including DST) at
1098 the prefixes or callsigns that you specify.
1099
1100 === 0^SHOW/WCY^Show last 10 WCY broadcasts
1101 === 0^SHOW/WCY <n>^Show last <n> WCY broadcasts
1102 Display the most recent WCY information that has been received by the system
1103
1104 === 0^SHOW/WWV^Show last 10 WWV broadcasts
1105 === 0^SHOW/WWV <n>^Show last <n> WWV broadcasts
1106 Display the most recent WWV information that has been received by the system
1107
1108 === 5^SHUTDOWN^Shutdown the cluster
1109 Shutdown the cluster and disconnect all the users 
1110
1111 === 9^SPOOF <call> <command>^Do a command as though you are another user
1112 This command is provided so that sysops can set a user's parameters without
1113 me having to write a special 'sysop' version for every user command. It
1114 allows you to pretend that you are doing the command as the user you specify.
1115
1116 eg:-
1117
1118    SPOOF G1TLH set/name Dirk
1119    SPOOF G1TLH set/qra JO02LQ
1120
1121 === 5^STAT/DB <dbname>^Show the status of a database
1122 Show the internal status of a database descriptor.
1123
1124 Depending on your privilege level you will see more or less information. 
1125 This command is unlikely to be of much use to anyone other than a sysop.
1126
1127 === 5^STAT/CHANNEL [<callsign>]^Show the status of a channel on the cluster
1128 Show the internal status of the channel object either for the channel that 
1129 you are on or else for the callsign that you asked for.
1130
1131 Only the fields that are defined (in perl term) will be displayed.
1132
1133 === 5^STAT/MSG <msgno>^Show the status of a message
1134 This command shows the internal status of a message and includes information
1135 such as to whom it has been forwarded, its size, origin etc etc.
1136
1137 === 5^STAT/USER [<callsign>]^Show the full status of a user
1138 Shows the full contents of a user record including all the secret flags
1139 and stuff.
1140
1141 Only the fields that are defined (in perl term) will be displayed.
1142
1143 === 0^SYSOP^Regain your privileges if you login remotely
1144 The system automatically reduces your privilege level to that of a
1145 normal user if you login in remotely. This command allows you to
1146 regain your normal privilege level. It uses the normal system: five
1147 numbers are returned that are indexes into the character array that is
1148 your assigned password (see SET/PASSWORD). The indexes start from
1149 zero.
1150
1151 You are expected to return a string which contains the characters
1152 required in the correct order. You may intersperse those characters
1153 with others to obscure your reply for any watchers. For example (and
1154 these values are for explanation :-):
1155
1156   password = 012345678901234567890123456789
1157   > sysop
1158   22 10 15 17 3
1159 you type:-
1160  aa2bbbb0ccc5ddd7xxx3n
1161  or 2 0 5 7 3
1162  or 20573
1163
1164 They will all match. If there is no password you will still be offered
1165 numbers but nothing will happen when you input a string. Any match is
1166 case sensitive.
1167
1168 === 0^TALK <call> [<text>]^Send a text message to another station
1169 === 0^TALK <call> > <node> [<text>]^Send a text message to another station via a node
1170 Send a short message to any other station that is visible on the cluster
1171 system. You can send it to anyone you can see with a SHOW/CONFIGURATION 
1172 command, they don't have to be connected locally.
1173
1174 The second form of TALK is used when other cluster nodes are connected
1175 with restricted information. This usually means that they don't send 
1176 the user information usually associated with logging on and off the cluster.
1177
1178 If you know that G3JNB is likely to be present on GB7TLH, but you can only
1179 see GB7TLH in the SH/C list but with no users, then you would use the
1180 second form of the talk message.
1181
1182 If you want to have a ragchew with someone you can leave the text message
1183 out and the system will go into 'Talk' mode. What this means is that a
1184 short message is sent to the recipient telling them that you are in a
1185 'Talking' frame of mind and then you just type - everything you send will
1186 go to the station that you asked for. 
1187
1188 All the usual announcements, spots and so on will still come out on your
1189 terminal.
1190
1191 If you want to do something (such as send a spot) you preceed the normal 
1192 command with a '/' character, eg:-
1193
1194    /DX 14001 G1TLH What's a B class licensee doing on 20m CW?
1195    /HELP talk
1196
1197 To leave talk mode type:
1198    
1199    /EX
1200
1201 === 0^TYPE <filearea>/<name>^Look at the contents of a file in one of the fileareas
1202 Type out the contents of a file in a filearea. So, for example, in 
1203 filearea 'bulletins' you want to look at file 'arld051' you would 
1204 enter:-
1205    TYPE bulletins/arld051
1206
1207 See also SHOW/FILES to see what fileareas are available and a 
1208 list of content.
1209
1210 === 0^WHO^Show who is physically connected
1211 This is a quick listing that shows which callsigns are connected and
1212 what sort of connection they have
1213
1214 === 0^WX <text>^Send a weather message to local users
1215 === 0^WX FULL <text>^Send a weather message to all cluster users
1216 === 5^WX SYSOP <text>^Send a weather message to other clusters only
1217 Weather messages can sometimes be useful if you are experiencing an extreme
1218 that may indicate enhanced conditions
1219