added some help text for the filtering
[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 This is an exmaple where you would use the line number (1 and 2 in this case).
379
380 You can leave the word 'and' out if you want, it is implied. You can use any 
381 number of brackets to make the 'expression' as you want it. There are things
382 called precedence rules working here which mean that you will NEED brackets 
383 in a situation like line 2 because, without it, will assume:-
384
385   (freq 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16 
386
387 annoying, but that is the way it is. If you use OR - use brackets. Whilst we
388 are here CASE is not important. 'And BY_Zone' is just 'and by_zone'.
389
390 If you want to alter your filter you can just redefine one or more
391 lines of it or clear out one line. For example:-
392
393   reject/spots 1 freq/ssb
394
395 or 
396
397   clear/spots 1
398
399 To remove the filter in its entirty:-
400
401   clear/spots all
402
403 === 1^FORWARD/OPERNAM <call>^Send out information on this <call> to all clusters
404 This command sends out any information held in the user file which can 
405 be broadcast in PC41 protocol packets. This information is Name, QTH, Location
406 and Homenode. PC41s are only sent for the information that is available.
407  
408 === 0^HELP^The HELP Command
409 HELP is available for a number of commands. The syntax is:-
410
411   HELP <cmd>
412   
413 Where <cmd> is the name of the command you want help on.
414
415 All commands can be abbreviated, so SHOW/DX can be abbreviated
416 to SH/DX, ANNOUNCE can be shortened to AN and so on.
417
418 Look at the APROPOS <string> command which will search the help database
419 for the <string> you specify and give you a list of likely commands
420 to look at with HELP.
421
422 === 5^INIT <node>^Re-initialise a link to an AK1A compatible node
423 This command attempts to re-initialise a link to a (usually) AK1A node
424 that has got confused, usually by a protocol loop of some kind. It may
425 work - but you usually will be better off simply disconnecting it (or
426 better, if it is a real AK1A node, doing an RCMD <node> DISC/F <your
427 node>).
428
429 Best of luck - you will need it.
430   
431 === 0^KILL <msgno> [<msgno..]^Delete a message from the local system
432 Delete a message from the local system. You will only be able to
433 delete messages that you have originated or been sent (unless you are
434 the sysop).
435
436 === 5^KILL FULL <msgno> [<msgno..]^Delete a message from the whole cluster
437 Delete a message (usually a 'bulletin') from the whole cluster system. 
438
439 This uses the subject field, so any messages that have exactly the
440 same subject will be deleted. Beware!
441
442 === 0^LINKS^Show which nodes is physically connected
443 This is a quick listing that shows which links are connected and
444 some information about them. See WHO for a list of all connections.
445
446 === 9^LOAD/ALIASES^Reload the command alias table
447 Reload the /spider/cmd/Aliases file after you have editted it. You
448 will need to do this if you change this file whilst the cluster is
449 running in order for the changes to take effect.
450
451 === 9^LOAD/BANDS^Reload the band limits table
452 Reload the /spider/data/bands.pl file if you have changed it manually whilst
453 the cluster is running. 
454
455 === 9^LOAD/BADDX^Reload the bad DX table
456 Reload the /spider/data/baddx.pl file if you have changed it manually whilst
457 the cluster is running. This table contains the DX Calls that, if spotted, 
458 will not be passed on. FR0G and TEST are classic examples.
459
460 === 9^LOAD/BADMSG^Reload the bad msg table
461 Reload the /spider/msg/badmsg.pl file if you have changed it manually whilst
462 the cluster is running. This table contains a number of perl regular 
463 expressions which are searched for in the fields targetted of each message. 
464 If any of them match then that message is immediately deleted on receipt. 
465
466 === 9^LOAD/BADWORDS^Reload the bad words table
467 Reload the /spider/data/badwords file if you have changed it manually whilst
468 the cluster is running. This file contains a list of words which, if found
469 on certain text portions of PC protocol, will cause those protocol frames
470 to be rejected. It will all put out a message if any of these words are
471 used on the announce, dx and talk commands. The words can be one or 
472 more on a line, lines starting with '#' are ignored.
473
474 === 9^LOAD/CMD_CACHE^Reload the automatic command cache
475 Normally, if you change a command file in the cmd or local_cmd tree it
476 will automatially be picked up by the cluster program. Sometimes it
477 can get confused if you are doing a lot of moving commands about or
478 delete a command in the local_cmd tree and want to use the normal one
479 again. Execute this command to reset everything back to the state it
480 was just after a cluster restart.
481
482 === 9^LOAD/FORWARD^Reload the msg forwarding routing table
483 Reload the /spider/msg/forward.pl file if you have changed it
484 manually whilst the cluster is running.
485
486 === 9^LOAD/MESSAGES^Reload the system messages file
487 If you change the /spider/perl/Messages file (usually whilst
488 fiddling/writing new commands) you can have them take effect during a
489 cluster session by executing this command. You need to do this if get
490 something like :-
491
492 unknown message 'xxxx' in lang 'en'
493
494 === 9^LOAD/PREFIXES^Reload the prefix table
495 Reload the /spider/data/prefix_data.pl file if you have changed it
496 manually whilst the cluster is running.
497
498 === 5^MERGE <node> [<no spots>/<no wwv>]^Ask for the latest spots and WWV 
499 MERGE allows you to bring your spot and wwv database up to date. By default
500 it will request the last 10 spots and 5 WWVs from the node you select. The 
501 node must be connected locally.
502
503 You can request any number of spots or wwv and although they will be appended
504 to your databases they will not duplicate any that have recently been added 
505 (the last 2 days for spots and last month for WWV data).
506
507 === 9^MSG <cmd> <msgno> [data ... ]^Alter various message parameters
508 Alter message parameters like To, From, Subject, whether private or bulletin
509 or return receipt (RR) is required or whether to keep this message from timing
510 out.
511
512   MSG TO <msgno> <call>     - change TO callsign to <call>
513   MSG FRom <msgno> <call>   - change FROM callsign to <call>
514   MSG PRrivate <msgno>      - set private flag
515   MSG NOPRrivate <msgno>    - unset private flag
516   MSG RR <msgno>            - set RR flag
517   MSG NORR <msgno>          - unset RR flag
518   MSG KEep <msgno>          - set the keep flag (message won't be deleted ever)
519   MSG NOKEep <msgno>        - unset the keep flag
520   MSG SUbject <msgno> <new> - change the subject to <new>
521   MSG WAittime <msgno>      - remove any waitting time for this message
522   MSG NOREad <msgno>        - mark message as unread
523   MSG REad <msgno>          - mark message as read
524   MSG QUeue                 - queue any outstanding bulletins
525   MSG QUeue 1               - queue any outstanding private messages
526
527 You can look at the status of a message by using:-
528
529   STAT/MSG <msgno>      
530
531 This will display more information on the message than DIR does.
532    
533 === 8^PC <call> <text>^Send text (eg PC Protocol) to <call>
534 Send some arbitrary text to a locally connected callsign. No
535 processing is done on the text. This command allows you to send PC
536 Protocol to unstick things if problems arise (messages get stuck
537 etc). eg:-
538
539    pc gb7djk PC33^GB7TLH^GB7DJK^400^
540 or 
541    pc G1TLH Try doing that properly!!!
542
543 === 1^PING <node>^Send a ping command to another cluster
544 This command is used to estimate the quality of the link to another cluster. 
545 The time returned is the length of time taken for a PC51 to go to another 
546 cluster and be returned.
547
548 === 0^KILL <msgno> [<msgno> ...]^Remove or erase a message from the system
549 You can get rid of any message to or originating from your callsign using 
550 this command. You can remove more than one message at a time.
551
552 === 5^KILL <from>-<to>^Remove a range of messages from the system
553 === 5^KILL FROM <call>^Remove all messages from a callsign
554 === 5^KILL TO <call>^Remove all messages to a callsign
555 === 5^KILL FULL <msgno> [<msgno]^Remove a message from the entire cluster
556 Remove this message from the entire cluster system as well as your node.
557
558 === 5^KILL^
559 As a sysop you can kill any message on the system.
560
561 === 8^PC <call> <text>^Send arbitrary text to a connected callsign
562 Send any text you like to the callsign requested. This is used mainly to send
563 PC protocol to connected nodes either for testing or to unstick things. 
564
565 You can also use in the same way as a talk command to a connected user but
566 without any processing, added of "from <blah> to <blah" or whatever.
567  
568 === 1^PING <node call>^Find out the delays an a circuit to another node
569 This command will enable sysops to determine the speed of an inter-cluster
570 node. 
571
572 Any visible cluster node can be PINGed.
573
574 === 1^RCMD <node call> <cmd>^Send a command to another DX Cluster
575 This command allows you to send nearly any command to another DX Cluster
576 node that is connected to the system. 
577
578 Whether you get any output is dependant on a) whether the other system knows
579 that the node callsign of this cluster is in fact a node b) whether the
580 other system is allowing RCMDs from this node and c) whether you have
581 permission to send this command at all.
582
583 === 0^READ^Read the next unread personal message addressed to you
584 === 0^READ <msgno>^Read the specified message
585 You can read any messages that are sent as 'non-personal' and also any
586 message either sent by or sent to your callsign.
587
588 === 5^READ-^
589 As a sysop you may read any message on the system
590
591 === 0^REJECT/SPOTS [0-9] <pattern>^Set an 'reject' filter line for spots
592 Create an 'accept this spot' line for a filter. 
593
594 An reject filter line means that if the spot matches this filter it is
595 dumped (not passed on). See HELP FILTERS for more info. Please read this
596 to understand how filters work - it will save a lot of grief later on.
597
598 You can use any of the following things in this line:-
599
600   freq <range>           eg: 0/30000 or hf or hf/cw or 6m,4m,2m
601   call <prefixes>        eg: G,PA,HB9
602   info <string>          eg: iota or qsl
603   by <prefixes>            
604   call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
605   call_itu <numbers>
606   call_zone <numbers>
607   by_dxcc <numbers>
608   by_itu <numbers>
609   by_zone <numbers>
610   origin <prefixes>
611   channel <prefixes>
612
613 some examples:-
614
615   rej/spot 1 freq hf
616   rej/spot 2 freq vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
617
618 You can use the tag 'all' to reject everything that is left, eg:
619
620   rej/spot 3 all
621
622 === 8^REJECT/SPOTS <call> [input] [0-9] <pattern>^Spot filter sysop version
623 This version allows a sysop to set a filter for a callsign as well as the
624 default for nodes and users eg:-
625
626   reject/spot db0sue-7 1 by_zone 14,15,16
627   reject/spot node_default all
628   set/hops node_default 10
629
630   reject/spot user_default by G,M,2
631
632 === 0^REPLY^Reply (privately) to the last message that you have read
633 === 0^REPLY <msgno>^Reply (privately) to the specified message
634 === 0^REPLY B <msgno>^Reply as a Bulletin to the specified message
635 === 0^REPLY NOPrivate <msgno>^Reply as a Bulletin to the specified message
636 === 0^REPLY RR <msgno>^Reply to the specified message with read receipt
637 You can reply to a message and the subject will automatically have
638 "Re:" inserted in front of it, if it isn't already present.
639
640 You can also use all the extra qualifiers such as RR, PRIVATE, 
641 NOPRIVATE, B that you can use with the SEND command (see SEND
642 for further details)
643
644 === 0^SEND <call> [<call> ...]^Send a message to one or more callsigns
645 === 0^SEND RR <call>^Send a message and ask for a read receipt
646 === 0^SEND COPY <msgno> <call>^Send a copy of a  message to someone
647 === 0^SEND PRIVATE <call>^Send a personal message
648 === 0^SEND NOPRIVATE <call>^Send a message to all stations
649 All the SEND commands will create a message which will be sent either to
650 an individual callsign or to one of the 'bulletin' addresses. 
651
652 SEND <call> on its own acts as though you had typed SEND PRIVATE, that is
653 it will mark the message as personal and send it to the cluster node that
654 that callsign is connected to.
655
656 You can have more than one callsign in all of the SEND commands.
657
658 You can have multiple qualifiers so that you can have for example:-
659
660   SEND RR COPY 123 PRIVATE G1TLH G0RDI
661
662 which should send a copy of message 123 to G1TLH and G0RDI and you will
663 receive a read receipt when they have read the message.
664
665 SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
666 SP is an alias for SEND PRIVATE
667
668 === 0^SET/ADDRESS <your address>^Record your postal address
669
670 === 0^SET/ANNOUNCE^Allow announce messages to come out on your terminal
671 === 0^UNSET/ANNOUNCE^Stop announce messages coming out on your terminal
672
673 === 5^SET/ARCLUSTER <call> [<call>..]^Make the callsign an AR-Cluster node
674
675 === 0^SET/BEEP^Add a beep to DX and other messages on your terminal
676 === 0^UNSET/BEEP^Stop beeps for DX and other messages on your terminal
677
678 === 5^SET/CLX <call> [<call>..]^Make the callsign an CLX node
679
680 === 9^SET/DEBUG <name>^Add a debug level to the debug set
681 === 9^UNSET/DEBUG <name>^Remove a debug level from the debug set
682
683 === 0^SET/DX^Allow DX messages to come out on your terminal
684 === 0^UNSET/DX^Stop DX messages coming out on your terminal
685
686 === 0^SET/DXGRID^Allow Grid Squares on the end of DX announcements
687 === 0^UNSET/DXGRID^Stop Grid Squares on the end of DX announcements
688 A standard feature which is enabled in version 1.43 and above is 
689 that if the spotter's grid square is known it is output on the end
690 of a DX announcement (there is just enough room). Some user programs
691 cannot cope with this. You can use this command to reset (or set)
692 this feature.
693
694 === 5^SET/DXNET <call> [<call>..]^Make the callsign an DXNet node
695
696 === 0^SET/ECHO^Make the cluster echo your input
697 === 0^UNSET/ECHO^Stop the cluster echoing your input
698 If you are connected via a telnet session, different implimentations
699 of telnet handle echo differently depending on whether you are 
700 connected via port 23 or some other port. You can use this command
701 to change the setting appropriately. 
702
703 The setting is stored in your user profile.
704
705 YOU DO NOT NEED TO USE THIS COMMAND IF YOU ARE CONNECTED VIA AX25.
706
707 === 0^SET/HERE^Tell the system you are present at your terminal
708 === 0^UNSET/HERE^Tell the system you are absent from your terminal
709
710 === 0^SET/HOMENODE <node> ^Set your normal cluster callsign
711 Tell the cluster system where you normally connect to. Any Messages sent
712 to you will normally find their way there should you not be connected.
713 eg:-
714   SET/HOMENODE gb7djk
715
716 === 9^SET/ISOLATE^Isolate a node from the rest of the network
717 Connect a node to your system in such a way that you are a full protocol
718 member of its network and can see all spots on it, but nothing either leaks
719 out from it nor goes back into from the rest of the nodes connected to you.
720
721 You can potentially connect several nodes in this way.
722  
723 === 9^UNSET/ISOLATE^Stop Isolation of a node from the rest of the network
724 Remove isolation from a node - SET/ISOLATE
725
726 === 0^SET/LANGUAGE <lang>^Set the language you want to use
727 You can select the language that you want the cluster to use. Currently
728 the languages available are en (english) and nl (dutch).
729
730 === 0^SET/LOCATION <lat & long>^Set your latitude and longitude
731 === 9^SET/SYS_LOCATION <lat & long>^Set your cluster latitude and longitude
732 In order to get accurate headings and such like you must tell the system
733 what your latitude and longitude is. If you have not yet done a SET/QRA
734 then this command will set your QRA locator for you. For example:-
735   SET/LOCATION 52 22 N 0 57 E
736
737 === 0^SET/LOGININFO^Inform when a station logs in locally
738 === 0^UNSET/LOGININFO^Inform when a station logs out locally
739
740 === 9^SET/LOCKOUT <call>^Stop a callsign connecting to the cluster
741 === 9^UNSET/LOCKOUT <call>^Allow a callsign to connect to the cluster
742
743 === 0^SET/NAME <your name>^Set your name
744 Tell the system what your name is eg:-
745   SET/NAME Dirk
746
747 === 5^SET/NODE <call> [<call>..]^Make the callsign an AK1A cluster
748 Tell the system that the call(s) are to be treated as AK1A cluster and
749 fed PC Protocol rather normal user commands.
750
751 === 8^SET/OBSCOUNT <count> <nodecall>^Set the 'pump-up' obscelence counter 
752 From 1.35 onwards neighbouring nodes are pinged at regular intervals (see
753 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
754 counter which is decremented on every outgoing ping and then reset to
755 the 'obscount' value on every incoming ping. The default value of this
756 parameter is 2. 
757
758 What this means is that a neighbouring node will be pinged twice at 
759 (default) 300 second intervals and if no reply has been heard just before
760 what would be the third attempt, that node is disconnected.
761
762 If a ping is heard then the obscount is reset to the full value. Using
763 default values, if a node has not responded to a ping within 15 minutes,
764 it is disconnected.
765
766 === 0^SET/PAGE <lines per page>^Set the lines per page
767 Tell the system how many lines you wish on a page when the number of line
768 of output from a command is more than this. The default is 20. Setting it
769 explicitly to 0 will disable paging. 
770   SET/PAGE 30
771   SET/PAGE 0
772
773 The setting is stored in your user profile.
774
775 === 9^SET/PINGINTERVAL <time> <nodecall>^Set ping time to neighbouring nodes 
776 As from release 1.35 all neighbouring nodes are pinged at regular intervals
777 in order to determine the rolling quality of the link and, in future, to
778 affect routing decisions. The default interval is 300 secs or 5 minutes.
779
780 You can use this command to set a different interval. Please don't. 
781
782 But if you do the value you enter is treated as minutes up 60 and seconds
783 for numbers greater than that.
784
785 This is used also to help determine when a link is down at the far end
786 (as certain cluster software doesn't always notice), see SET/OBSCOUNT
787 for more information.
788
789 === 9^SET/PRIVILEGE <n> <call> [<call..]^Set privilege level on a call
790 Set the privilege level on a callsign. The privilege levels that pertain
791 to commands are as default:-
792   0 - normal user
793   1 - allow remote nodes normal user RCMDs
794   5 - various privileged commands (including shutdown, but not disc-
795       connect), the normal level for another node.
796   8 - more privileged commands (including disconnect)
797   9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
798       LEVEL.
799 If you are a sysop and you come in as a normal user on a remote connection
800 your privilege will automatically be set to 0.
801
802 === 9^SET/PASSWORD <callsign> <string>^Set a users password
803 The password for a user can only be set by a full sysop. The string
804 can contain any characters but any spaces are removed (you can type in
805 spaces - but they won't appear in the password). You can see the
806 result with STAT/USER.
807
808 === 5^SET/SPIDER <call> [<call>..]^Make the callsign an DXSpider node
809 Tell the system that the call(s) are to be treated as DXSpider node and
810 fed new style DX Protocol rather normal user commands.
811
812 === 9^SET/SYS_QRA <locator>^Set your cluster QRA locator
813 === 0^SET/QRA <locator>^Set your QRA locator
814 Tell the system what your QRA (or Maidenhead) locator is. If you have not
815 done a SET/LOCATION then your latitude and longitude will be set roughly
816 correctly (assuming your locator is correct ;-). For example:-
817   SET/QRA JO02LQ
818
819 === 0^SET/QTH <your qth>^Set your QTH
820 Tell the system where you are. For example:-
821   SET/QTH East Dereham, Norfolk
822
823 === 0^SET/TALK^Allow TALK messages to come out on your terminal
824 === 0^UNSET/TALK^Stop TALK messages coming out on your terminal
825
826 === 0^SET/WCY^Allow WCY messages to come out on your terminal
827 === 0^UNSET/WCY^Stop WCY messages coming out on your terminal
828
829 === 0^SET/WWV^Allow WWV messages to come out on your terminal
830 === 0^UNSET/WWV^Stop WWV messages coming out on your terminal
831
832 === 0^SET/WX^Allow WX messages to come out on your terminal
833 === 0^UNSET/WX^Stop WX messages coming out on your terminal
834
835 === 0^SHOW/CALL <callsign>^Show any callbook details on a callsign
836 This command queries an international callbook server on the internet
837 and returns any information available for that callsign. 
838
839 === 0^SHOW/DATE [<prefix>|<callsign>]^Show the local time 
840 This is very nearly the same as SHOW/TIME, the only difference the format
841 of the date string if no arguments are given.
842
843 If no prefixes or callsigns are given then this command returns the local
844 time and UTC as the computer has it right now. If you give some prefixes
845 then it will show UTC and UTC + the local offset (not including DST) at
846 the prefixes or callsigns that you specify.
847
848 === 0^SHOW/DX^Interrogate the spot database
849 If you just type SHOW/DX you will get the last so many spots
850 (sysop configurable, but usually 10).
851    
852 In addition you can add any number of these commands in very nearly
853 any order to the basic SHOW/DX command, they are:-
854    
855 on <band>       - eg 160m 20m 2m 23cm 6mm
856 on <region>     - eg hf vhf uhf shf      (see SHOW/BANDS)
857    
858 <number>        - the number of spots you want
859 <from>-<to>     - <from> spot no <to> spot no in the selected list
860    
861 <prefix>        - for a spotted callsign beginning with <prefix>
862 *<suffix>       - for a spotted callsign ending in <suffix>
863 *<string>*      - for a spotted callsign containing <string>
864    
865 day <number>    - starting <number> days ago
866 day <from>-<to> - <from> days <to> days ago
867    
868 info <text>     - any spots containing <text> in the info or remarks
869    
870 by <call>       - any spots spotted by <call> (spotter <call> is the 
871                   same).
872
873 qsl             - this automatically looks for any qsl info on the call
874                   held in the spot database.
875
876 iota [<iota>]   - If the iota island number is missing it will look for
877                   the string iota and anything which looks like an iota
878                   island number. If you specify then it will look for  
879                   that island.
880
881 qra [<locator>] - this will look for the specific locator if you specify
882                   one or else anything that looks like a locator.
883    
884 e.g. 
885    
886    SH/DX 9m0
887    SH/DX on 20m info iota
888    SH/DX 9a on vhf day 30
889    SH/DX rf1p qsl
890    SH/DX iota 
891    SH/DX iota eu-064
892    SH/DX qra jn86
893   
894 === 0^SHOW/DXCC <prefix>^Interrogate the spot database by country
895 This command takes the <prefix> (which can be a full or partial 
896 callsign if desired), looks up which internal country number it is
897 and then displays all the spots as per SH/DX for that country.
898    
899 The options for SHOW/DX also apply to this command.   
900 e.g. 
901    
902    SH/DXCC G
903    SH/DXCC W on 20m info iota
904
905 === 0^SHOW/FILES [<filearea> [<string>]]^List the contents of a filearea
906 SHOW/FILES on its own will show you a list of the various fileareas
907 available on the system. To see the contents of a particular file
908 area type:-
909    SH/FILES <filearea>
910 where <filearea> is the name of the filearea you want to see the 
911 contents of.
912
913 You can also use shell globbing characters like '*' and '?' in a
914 string to see a selection of files in a filearea eg:-
915    SH/FILES bulletins arld*
916
917 See also TYPE - to see the contents of a file.
918
919 === 0^SHOW/FILTER^Show the contents of all the filters you have set
920 Show the contents of all the filters that are set. This command displays
921 all the filters set - for all the various categories.
922
923 === 1^SHOW/ISOLATE^Show list of ISOLATED nodes
924
925 === 9^SHOW/LOCKOUT^Show the list of locked out or excluded callsigns
926
927 === 0^SHOW/MOON [<prefix>|<callsign>]^Show Moon rise and set times
928 Show the Moon rise and set times for a (list of) prefixes or callsigns, 
929 together with the azimuth and elevation of the sun currently at those
930 locations.
931
932 If you don't specify any prefixes or callsigns, it will show the times for
933 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
934 together with the current azimuth and elevation.
935
936 In addition, it will show the gain or loss dB relative to the nominal 
937 distance of 385,000Km due to the ellipsoidal nature of the orbit.
938
939 If all else fails it will show the Moonrise and set times for the node
940 that you are connected to. 
941
942 For example:-
943
944   SH/MOON
945   SH/MOON G1TLH W5UN
946
947 === 0^SHOW/MUF <prefix> [<hours>][long]^Show the likely propagation to a prefix
948 This command allow you to estimate the likelihood of you contacting
949 a station with the prefix you have specified. The output assumes a modest
950 power of 20dBW and receiver sensitivity of -123dBm (about 0.15muV/10dB SINAD)
951
952 The result predicts the most likely operating frequencies and signal
953 levels for high frequency (shortwave) radio propagation paths on
954 specified days of the year and hours of the day. It is most useful for
955 paths between 250 km and 6000 km, but can be used with reduced accuracy
956 for paths shorter or longer than this.
957
958 The command uses a routine MINIMUF 3.5 developed by the U.S. Navy and
959 used to predict the MUF given the predicted flux, day of the year,
960 hour of the day and geographic coordinates of the transmitter and
961 receiver. This routine is reasonably accurate for the purposes here,
962 with a claimed RMS error of 3.8 MHz, but much smaller and less complex
963 than the programs used by major shortwave broadcasting organizations,
964 such as the Voice of America.
965
966 The command will display some header information detailing its
967 assumptions, together with the locations, latitude and longitudes and
968 bearings. It will then show UTC (UT), local time at the other end
969 (LT), calculate the MUFs, Sun zenith angle at the midpoint of the path
970 (Zen) and the likely signal strengths. Then for each frequency for which
971 the system thinks there is a likelihood of a circuit it prints a value.
972
973 The value is currently a likely S meter reading based on the conventional
974 6dB / S point scale. If the value has a '+' appended it means that it is
975 1/2 an S point stronger. If the value is preceeded by an 'm' it means that
976 there is likely to be much fading and by an 's' that the signal is likely
977 to be noisy.  
978
979 By default SHOW/MUF will show the next two hours worth of data. You
980 can specify anything up to 24 hours worth of data by appending the no of
981 hours required after the prefix. For example:-
982
983   SH/MUF W
984
985 produces:
986
987   RxSens: -123 dBM SFI: 159   R: 193   Month: 10   Day: 21
988   Power :   20 dBW    Distance:  6283 km    Delay: 22.4 ms
989   Location                       Lat / Long           Azim
990   East Dereham, Norfolk          52 41 N 0 57 E         47
991   United-States-W                43 0 N 87 54 W        299
992   UT LT  MUF Zen  1.8  3.5  7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0
993   18 23 11.5 -35  mS0+ mS2   S3
994   19  0 11.2 -41  mS0+ mS2   S3
995
996 indicating that you will have weak, fading circuits on top band and 
997 80m but usable signals on 40m (about S3).
998
999 inputing:-
1000
1001   SH/MUF W 24
1002
1003 will get you the above display, but with the next 24 hours worth of
1004 propagation data.
1005
1006   SH/MUF W L 24
1007   SH/MUF W 24 Long
1008
1009 Gives you an estimate of the long path propagation characterics. It
1010 should be noted that the figures will probably not be very useful, nor
1011 terrible accurate, but it is included for completeness.
1012
1013 === 1^SHOW/NODE [<callsign> ...]^Show the type and version number of nodes
1014 Show the type and version (if connected) of the nodes specified on the
1015 command line. If no callsigns are specified then a sorted list of all
1016 the non-user callsigns known to the system will be displayed.
1017
1018 === 0^SHOW/PREFIX <callsign>^Interrogate the prefix database 
1019 This command takes the <callsign> (which can be a full or partial 
1020 callsign or a prefix), looks up which internal country number 
1021 it is and then displays all the relevant prefixes for that country
1022 together with the internal country no, the CQ and ITU regions. 
1023
1024 See also SHOW/DXCC
1025
1026 === 5^SHOW/PROGRAM^Show the locations of all the included program modules
1027 Show the name and location where every program module was load from. This
1028 is useful for checking where you think you have loaded a .pm file from. 
1029
1030 === 0^SHOW/QRA <locator> [<locator>]^Show distance between locators
1031 === 0^SHOW/QRA <lat> <long>^Convert latitude and longitude to a locator
1032 This is a multipurpose command that allows you either to calculate the
1033 distance and bearing between two locators or (if only one locator is
1034 given on the command line) the distance and beraing from your station
1035 to the locator. For example:-
1036
1037 SH/QRA IO92QL 
1038 SH/QRA JN06 IN73
1039
1040 The first example will show the distance and bearing to the locator from
1041 yourself, the second example will calculate the distance and bearing from
1042 the first locator to the second. You can use 4 or 6 character locators.
1043
1044 It is also possible to convert a latitude and longitude to a locator by 
1045 using this command with a latitude and longitude as an argument, for
1046 example:-
1047
1048 SH/QRA 52 41 N 0 58 E
1049
1050 === 0^SHOW/SATELLITE <name> [<hours> <interval>]^Show tracking data
1051 Show the tracking data from your location to the satellite of your choice
1052 from now on for the next few hours.
1053
1054 If you use this command without a satellite name it will display a list
1055 of all the satellites known currently to the system. 
1056
1057 If you give a name then you can obtain tracking data of all the passes
1058 that start and finish 5 degrees below the horizon. As default it will
1059 give information for the next three hours for every five minute period.
1060
1061 You can alter the number of hours and the step size, within certain 
1062 limits. 
1063
1064 Each pass in a period is separated with a row of '-----' characters
1065
1066 So for example:-
1067
1068 SH/SAT AO-10 
1069 SH/SAT FENGYUN1 12 2
1070
1071 === 0^SHOW/SUN [<prefix>|<callsign>]^Show sun rise and set times
1072 Show the sun rise and set times for a (list of) prefixes or callsigns, 
1073 together with the azimuth and elevation of the sun currently at those
1074 locations.
1075
1076 If you don't specify any prefixes or callsigns, it will show the times for
1077 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
1078 together with the current azimuth and elevation.
1079
1080 If all else fails it will show the sunrise and set times for the node
1081 that you are connected to. 
1082
1083 For example:-
1084
1085   SH/SUN
1086   SH/SUN G1TLH K9CW ZS
1087
1088 === 0^SHOW/TIME [<prefix>|<callsign>]^Show the local time 
1089 If no prefixes or callsigns are given then this command returns the local
1090 time and UTC as the computer has it right now. If you give some prefixes
1091 then it will show UTC and UTC + the local offset (not including DST) at
1092 the prefixes or callsigns that you specify.
1093
1094 === 0^SHOW/WCY^Show last 10 WCY broadcasts
1095 === 0^SHOW/WCY <n>^Show last <n> WCY broadcasts
1096 Display the most recent WCY information that has been received by the system
1097
1098 === 0^SHOW/WWV^Show last 10 WWV broadcasts
1099 === 0^SHOW/WWV <n>^Show last <n> WWV broadcasts
1100 Display the most recent WWV information that has been received by the system
1101
1102 === 5^SHUTDOWN^Shutdown the cluster
1103 Shutdown the cluster and disconnect all the users 
1104
1105 === 9^SPOOF <call> <command>^Do a command as though you are another user
1106 This command is provided so that sysops can set a user's parameters without
1107 me having to write a special 'sysop' version for every user command. It
1108 allows you to pretend that you are doing the command as the user you specify.
1109
1110 eg:-
1111
1112    SPOOF G1TLH set/name Dirk
1113    SPOOF G1TLH set/qra JO02LQ
1114
1115 === 5^STAT/DB <dbname>^Show the status of a database
1116 Show the internal status of a database descriptor.
1117
1118 Depending on your privilege level you will see more or less information. 
1119 This command is unlikely to be of much use to anyone other than a sysop.
1120
1121 === 5^STAT/CHANNEL [<callsign>]^Show the status of a channel on the cluster
1122 Show the internal status of the channel object either for the channel that 
1123 you are on or else for the callsign that you asked for.
1124
1125 Only the fields that are defined (in perl term) will be displayed.
1126
1127 === 5^STAT/MSG <msgno>^Show the status of a message
1128 This command shows the internal status of a message and includes information
1129 such as to whom it has been forwarded, its size, origin etc etc.
1130
1131 === 5^STAT/USER [<callsign>]^Show the full status of a user
1132 Shows the full contents of a user record including all the secret flags
1133 and stuff.
1134
1135 Only the fields that are defined (in perl term) will be displayed.
1136
1137 === 0^SYSOP^Regain your privileges if you login remotely
1138 The system automatically reduces your privilege level to that of a
1139 normal user if you login in remotely. This command allows you to
1140 regain your normal privilege level. It uses the normal system: five
1141 numbers are returned that are indexes into the character array that is
1142 your assigned password (see SET/PASSWORD). The indexes start from
1143 zero.
1144
1145 You are expected to return a string which contains the characters
1146 required in the correct order. You may intersperse those characters
1147 with others to obscure your reply for any watchers. For example (and
1148 these values are for explanation :-):
1149
1150   password = 012345678901234567890123456789
1151   > sysop
1152   22 10 15 17 3
1153 you type:-
1154  aa2bbbb0ccc5ddd7xxx3n
1155  or 2 0 5 7 3
1156  or 20573
1157
1158 They will all match. If there is no password you will still be offered
1159 numbers but nothing will happen when you input a string. Any match is
1160 case sensitive.
1161
1162 === 0^TALK <call> [<text>]^Send a text message to another station
1163 === 0^TALK <call> > <node> [<text>]^Send a text message to another station via a node
1164 Send a short message to any other station that is visible on the cluster
1165 system. You can send it to anyone you can see with a SHOW/CONFIGURATION 
1166 command, they don't have to be connected locally.
1167
1168 The second form of TALK is used when other cluster nodes are connected
1169 with restricted information. This usually means that they don't send 
1170 the user information usually associated with logging on and off the cluster.
1171
1172 If you know that G3JNB is likely to be present on GB7TLH, but you can only
1173 see GB7TLH in the SH/C list but with no users, then you would use the
1174 second form of the talk message.
1175
1176 If you want to have a ragchew with someone you can leave the text message
1177 out and the system will go into 'Talk' mode. What this means is that a
1178 short message is sent to the recipient telling them that you are in a
1179 'Talking' frame of mind and then you just type - everything you send will
1180 go to the station that you asked for. 
1181
1182 All the usual announcements, spots and so on will still come out on your
1183 terminal.
1184
1185 If you want to do something (such as send a spot) you preceed the normal 
1186 command with a '/' character, eg:-
1187
1188    /DX 14001 G1TLH What's a B class licensee doing on 20m CW?
1189    /HELP talk
1190
1191 To leave talk mode type:
1192    
1193    /EX
1194
1195 === 0^TYPE <filearea>/<name>^Look at the contents of a file in one of the fileareas
1196 Type out the contents of a file in a filearea. So, for example, in 
1197 filearea 'bulletins' you want to look at file 'arld051' you would 
1198 enter:-
1199    TYPE bulletins/arld051
1200
1201 See also SHOW/FILES to see what fileareas are available and a 
1202 list of content.
1203
1204 === 0^WHO^Show who is physically connected
1205 This is a quick listing that shows which callsigns are connected and
1206 what sort of connection they have
1207
1208 === 0^WX <text>^Send a weather message to local users
1209 === 0^WX FULL <text>^Send a weather message to all cluster users
1210 === 5^WX SYSOP <text>^Send a weather message to other clusters only
1211 Weather messages can sometimes be useful if you are experiencing an extreme
1212 that may indicate enhanced conditions
1213