minor update on manuals
[spider.git] / sgml / adminmanual.sgml
1 <!doctype linuxdoc system>
2
3 <article>
4
5 <!-- Title information -->
6
7 <title>The DXSpider Administration Manual v1.49</title> 
8 <author>Ian Maude, G0VGS, (ianmaude@btinternet.com)</author>
9 <date>November 2001 revision 1.1</date>
10
11 <abstract>
12 A reference for SysOps of the DXSpider DXCluster program.
13 </abstract>
14
15 <!-- Table of contents -->
16 <toc>
17
18 <!-- Begin the document -->
19
20 <sect>Routing and Filtering
21
22 <sect1>Introduction
23
24 <P>
25 From DXSpider version 1.48, major changes were introduced to the way 
26 node connections are treated.  This is part of an ongoing process to
27 remove problems with loops and to enable talk and other functions to
28 propagate across the whole of the worldwide cluster network.  In fact,
29 in a Spider network, it would be useful, perhaps even necessary to
30 have loops.  This would give real resilience to the network, meaning
31 that if a link dropped, the information flow would simply come in and
32 go out via a different route.  Of course, we do not have a complete
33 network of Spider nodes, there are other programs out there.  Some of
34 these do not have any protection from loops.  Certainly AK1A does not 
35 handle loops well at all.  It is therefore necessary to have some form 
36 of protection for these nodes.
37
38 <P>
39 In fact DXSpider has had a simple system for some time which is called
40 <it>isolation</it>. This is similar to what in other systems such as 
41 <bf>clx</bf>, is called <it>passive mode</it>. A more detailed explanation
42 of <it>isolation</it> is given further below. This system is still available
43 and, for simple networks, is probably all that you need.
44
45 <P>
46 The new functionality introduced in version 1.48 allows filtering the node
47 and user protocol frames on a "per interface" basis. We call this
48 <it>route filtering</it>. This is used <bf>instead of</bf>
49 <it>isolation</it>. 
50
51 <p>
52 What this really means is that you can control more or less completely
53 which user and node management PC protocol frames pass to each of your 
54 partner nodes. You can also limit what comes into your node from your 
55 partners. It is even possible to control the settings that your partner 
56 node has for the routing information that it sends to you 
57 (using the <it>rcmd</it> command).
58
59 <sect1>Route Filters
60
61 <p>
62 Initially when route filters were being tested we generated a
63 "default" filter.  Unfortunately it quickly became apparent that this
64 might suit the UK cluster network but didn't really fit anybody else.
65 However using a default filter is an appropriate thing to do. How, is
66 explained further on.
67
68 <p>
69 The first thing that you must do is determine whether you need to use 
70 route filtering <bf>at all</bf>. If you are a "normal" node with two or 
71 three partners and you arranged in an "official" non-looping tree type 
72 network, then <bf>you do not need to do route filtering</bf> and you will 
73 feel a lot better for not getting involved. If you are successfully using 
74 <it>isolation</it> then you also probably don't need to use route filtering.
75
76 <p>
77 To put it simply, you should not mix Isolation and Route Filtering.  It 
78 will work, of sorts, but you will not get the expected results.  If you 
79 are using Isolation sucessfully at the moment, do not get involved in 
80 Route Filtering unless you have a good supply of aspirin!  Once you have 
81 started down the road of Route Filtering, do not use Isolation either.
82 Use one or the other, not both.
83
84 <p>
85 You will only require this functionality if you are "well-connected". What 
86 that means is that you are connected to several different parts of (say) 
87 the EU cluster and, at the same time, also connected to two or three places 
88 in the US which, in turn are connected back to the EU. This is called a 
89 "loop" and if you are seriously looped then you need filtering.
90
91 <P>
92 I should at this stage give a little bit of background on filters.  All
93 the filters in Spider work in basically the same way.  You can either
94 accept or reject various options in order to create the filter rules
95 you wish to achieve.  Some filters are user settable, others can only
96 be altered by the sysop.  Route filtering can only be done by the sysop.
97
98 <P> 
99 Anyway, without further discouragement, let me start the process
100 of explanation.
101
102 <sect1>The node_default filter
103
104 <P>
105 All normal systems should have a default routing filter and it should
106 usually be set to send only the normal, unlooped, view of your
107 "national" network.  Here in the UK that means nodes from the UK and
108 Eire, in EU it is more complex as the networks there grew up in a more
109 intertwined way.
110
111 <p> 
112 The generic commands are:-
113
114 <tscreen><verb>
115 reject/route node_default &lt;filter_option&gt;
116
117 or
118
119 accept/route node_default &lt;filter_option&gt;
120 </verb></tscreen>
121
122 where filter_option is one of the following ...
123
124 <tscreen><verb>
125 call &lt;prefixes&gt;
126 call_dxcc &lt;numbers&gt;
127 call_itu &lt;numbers&gt;
128 call_zone &lt;numbers&gt;
129 channel &lt;prefixes&gt;
130 channel_dxcc &lt;numbers&gt;
131 channel_itu &lt;numbers&gt;
132 channel_zone &lt;numbers&gt;
133 </verb></tscreen>
134
135 Please be careful if you alter this setting, it will affect 
136 <bf><it>ALL</it></bf> your links!  Remember, this is a <it>default</it>
137 filter for node connections, not a <it>per link</it> default.
138
139 <p>
140 For the default routing filter then you have two real choices: either
141 a "national" view or the "safe" option of only your own
142 callsign. Examples of each (for my node: GB7DJK) are:-
143
144 <tscreen><verb>
145 acc/route node_default call_dxcc 61,38
146 acc/route node_default call gb7djk
147 </verb></tscreen>
148
149 GB7DJK uses the first of these. The DXCC countries can be obtained from the 
150 <it>show/prefix</it> command.
151
152 <p>
153 The example filters shown control <it>output</it> <bf>TO</bf> all your
154 partner nodes unless they have a specific filter applied to them (see
155 next section).
156
157 <p>
158 It is also possible to control the <it>incoming</it> routing
159 information that you are prepared to accept <bf>FROM</bf> your partner
160 nodes. The reason this is necessary is to make sure that stuff like
161 mail, pings and similar commands a) go down the correct links and b)
162 don't loop around excessively. Again using GB7DJK as an example a typical
163 default input filter would be something like:
164
165 <tscreen><verb>
166 rej/route node_default input call_dxcc 61,38 and not channel_dxcc 61,38
167 </verb></tscreen>
168
169 What this does is accept node and user information for our national
170 network from nodes that are in our national network, but rejects such
171 information from anyone else. Although it doesn't explicitly say so,
172 by implication, any other node information (not from the UK and Eire)
173 is accepted.
174
175 <p>
176 As I imagine it will take a little while to get one's head around all of 
177 this you can study the effect of any rules that you try by watching the 
178 debug output after having done:-
179
180 <tscreen><verb>
181 set/debug filter
182 </verb></tscreen>
183
184 After you have got tired of that, to put it back the way it was:-
185
186 <tscreen><verb>
187 unset/debug filter
188 </verb></tscreen>
189
190 <sect1>General route filtering
191
192 <P>
193 Exactly the same rules apply for general route filtering.  You would
194 use either an accept filter or a reject filter like this ...
195
196 <tscreen><verb>
197 reject/route &lt;node_call&gt; &lt;filter_option&gt;
198
199 or
200
201 accept/route &lt;node_call&gt; &lt;filter_option&gt; 
202 </verb></tscreen>
203
204 <P>
205 Here are some examples of route filters ...
206
207 <tscreen><verb>
208 rej/route gb7djk call_dxcc 61,38 (send everything except UK+EIRE nodes)
209 rej/route all                    (equiv to [very] restricted mode)
210 acc/route gb7djk call_dxcc 61,38 (send only UK+EIRE nodes)
211 acc/route gb7djk call gb7djk     (equiv to SET/ISOLATE)
212 </verb></tscreen>
213
214 In practice you will either be opening the default filter out for a
215 partner by defining a specific filter for that callsign:-
216  
217 <tscreen><verb>
218 acc/route gb7baa all
219 acc/route gb7baa input all
220 </verb></tscreen>
221
222 or restricting it quite a lot, in fact making it very nearly like an 
223 <it>isolated</it> node, like this:-
224
225 <tscreen><verb>
226 acc/route pi4ehv-8 call gb7djk
227 rej/route pi4ehv-8 input call_dxcc 61,38 
228 </verb></tscreen>
229
230 This last example takes everything except UK and Eire from PI4EHV-8
231 but only sends him my local configuration (just a PC19 for GB7DJK and
232 PC16s for my local users).
233
234 <p>
235 It is possible to write <bf>much</bf> more complex rules, there are up 
236 to 10 accept/reject pairs per callsign per filter. For more information 
237 see the next section. 
238
239
240 <sect1>General filter rules
241
242 <P>
243 Upto v1.44 it was not possible for the user to set their own filters.  From 
244 v1.45 though that has all changed.  It is now possible to set filters for just 
245 about anything you wish.  If you have just updated from an older version of 
246 DXSpider you will need to update your new filters.  You do not need to do 
247 anything with your old filters, they will be renamed as you update.
248
249 <P>
250 There are 3 basic commands involved in setting and manipulating filters.  These 
251 are <em>accept</em>, <em>reject</em> and <em>clear</em>.  First we will look
252 generally at filtering. There are a number of things you can filter in the 
253 DXSpider system. They all use the same general mechanism.
254
255 <P>
256 In general terms you can create a "reject" or an "accept" filter which can have 
257 up to 10 lines in it. You do this using, for example ... 
258
259 <tscreen><verb> 
260 accept/spots .....
261 reject/spots .....
262 </verb></tscreen>
263
264 where ..... are the specific commands for that type of filter. There are filters 
265 for spots, wwv, announce, wcy and (for sysops) connects. See each different 
266 accept or reject command reference for more details.
267
268 There is also a command to clear out one or more lines in a filter. They are ...
269
270 <tscreen><verb>
271 clear/spots 1
272 clear/spots all
273 </verb></tscreen>
274
275 There is clear/xxxx command for each type of filter.
276
277 <P>
278 and you can check that your filters have worked by the command ... 
279
280 <tscreen><verb>  
281 show/filter
282 </verb></tscreen>
283
284 <P>
285 For now we are going to use spots for the examples, but you can apply the same
286 principles to all types of filter.
287
288 <sect1>Types of filter
289
290 <P>
291 There are two main types of filter, <em>accept</em> or <em>reject</em>.  You 
292 can use either to achieve the result you want dependent on your own preference 
293 and which is more simple to do.  It is pointless writing 8 lines of reject 
294 filters when 1 accept filter would do the same thing!  Each filter has 10 
295 lines (of any length) which are tried in order.  If a line matches then the 
296 action you have specified is taken (ie reject means ignore it and accept 
297 means take it)
298
299 <P>
300 If you specify reject filters, then any lines that arrive that match the filter 
301 will be dumped but all else will be accepted.  If you use an accept filter, 
302 then ONLY the lines in the filter will be accepted and all else will be dumped.
303 For example if you have a single line <em>accept</em> filter ...
304
305 <tscreen><verb>
306 accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
307 </verb></tscreen>
308
309 then you will <em>ONLY</em> get VHF spots <em>from</em> or <em>to</em> CQ zones 
310 14, 15 and 16.
311
312 <P>
313 If you set a reject filter like this ...
314
315 <tscreen><verb>
316 reject/spots on hf/cw
317 </verb></tscreen>
318
319 Then you will get everything <em>EXCEPT</em> HF CW spots.  You could make this 
320 single filter even more flexible.  For example, if you are interested in IOTA 
321 and will work it even on CW even though normally you are not interested in 
322 CW, then you could say ...
323
324 <tscreen><verb>
325 reject/spots on hf/cw and not info iota
326 </verb></tscreen>
327
328 But in that case you might only be interested in iota and say:-
329
330 <tscreen><verb>
331 accept/spots not on hf/cw or info iota
332 </verb></tscreen>
333
334 which achieves exactly the same thing. You should choose one or the other 
335 until you are comfortable with the way it works. You can mix them if you 
336 wish (actually you can have an accept AND a reject on the same line) but 
337 don't attempt this until you are sure you know what you are doing!
338
339 <P>
340 You can arrange your filter lines into logical units, either for your own
341 understanding or simply convenience. Here is an example ...
342
343 <tscreen><verb>
344 reject/spots 1 on hf/cw
345 reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)  
346 </verb></tscreen>
347
348 What this does is to ignore all HF CW spots and also rejects any spots on VHF 
349 which don't either originate or spot someone in Europe. 
350
351 <P>
352 This is an example where you would use a line number (1 and 2 in this case), if 
353 you leave the digit out, the system assumes '1'. Digits '0'-'9' are available.  
354 This make it easier to see just what filters you have set.  It also makes it 
355 more simple to remove individual filters, during a contest for example.
356
357 <P>
358 You will notice in the above example that the second line has brackets.  Look 
359 at the line logically.  You can see there are 2 separate sections to it.  We 
360 are saying reject spots that are VHF or above <em>APART</em> from those in 
361 zones 14, 15 and 16 (either spotted there or originated there).  If you did 
362 not have the brackets to separate the 2 sections, then Spider would read it 
363 logically from the front and see a different expression entirely ...
364
365 <tscreen><verb>
366 (on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16 
367 </verb></tscreen>
368
369 The simple way to remember this is, if you use OR - use brackets. Whilst we are 
370 here CASE is not important. 'And BY_Zone' is just the same as 'and by_zone'.
371
372 As mentioned earlier, setting several filters can be more flexible than 
373 simply setting one complex one.  Doing it in this way means that if you want 
374 to alter your filter you can just redefine or remove one or more lines of it or 
375 one line. For example ...
376
377 <tscreen><verb>
378 reject/spots 1 on hf/ssb
379 </verb></tscreen>
380
381 would redefine our earlier example, or 
382
383 <tscreen><verb>
384 clear/spots 1
385 </verb></tscreen>
386
387 To remove all the filter lines in the spot filter ...
388
389 <tscreen><verb>
390 clear/spots all
391 </verb></tscreen>
392
393 <sect1>Filter options
394
395 <P>
396 You can filter in several different ways.  The options are listed in the
397 various helpfiles for accept, reject and filter.
398
399 <sect1>Default filters
400
401 <P>
402 Sometimes all that is needed is a general rule for node connects.  This can
403 be done with a node_default filter.  This rule will always be followed, even
404 if the link is isolated, unless another filter is set specifically.  Default
405 rules can be set for nodes and users.  They can be set for spots, announces,
406 WWV and WCY.  They can also be used for hops.  An example might look like 
407 this ...
408
409 <tscreen><verb>
410 accept/spot node_default by_zone 14,15,16,20,33
411 set/hops node_default spot 50
412 </verb></tscreen>
413
414 This filter is for spots only, you could set others for announce, WWV and WCY.
415 This filter would work for ALL nodes unless a specific filter is written to 
416 override it for a particular node.  You can also set a user_default should
417 you require.  It is important to note that default filters should be
418 considered to be "connected".  By this I mean that should you override the
419 default filter for spots, you need to add a rule for the hops for spots also.
420
421 <sect1>Advanced filtering
422
423 <P>
424 Once you are happy with the results you get, you may like to experiment. 
425
426 <P>
427 The previous example that filters hf/cw spots and accepts vhf/uhf spots from EU 
428 can be written with a mixed filter, for example ... 
429
430 <tscreen><verb>
431 rej/spot on hf/cw
432 acc/spot on 0/30000
433 acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
434 </verb></tscreen>
435
436 Note that the first filter has not been specified with a number.  This will 
437 automatically be assumed to be number 1.  In this case, we have said <em>reject all
438 HF spots in the CW section of the bands but accept all others at HF.  Also
439 accept anything in VHF and above spotted in or by operators in the zones
440 14, 15 and 16</em>.  Each filter slot actually has a 'reject' slot and 
441 an 'accept' slot. The reject slot is executed BEFORE the accept slot.
442
443 <P>
444 It was mentioned earlier that after a reject test that doesn't match, the default 
445 for following tests is 'accept', the reverse is true for 'accept'. In the example 
446 what happens is that the reject is executed first, any non hf/cw spot is passed 
447 to the accept line, which lets through everything else on HF.  The next filter line 
448 lets through just VHF/UHF spots from EU.
449
450 <sect1>Basic hop control
451
452 <P>
453 In /spider/data you will find a file called hop_table.pl.  This is the file 
454 that controls your hop count settings.  It has a set of default hops on the 
455 various PC frames and also a set for each node you want to alter the hops for.  
456 You may be happy with the default settings of course, but this powerful tool 
457 can help to protect and improve the network.  The file will look something 
458 like this ...
459
460 <tscreen><verb>
461
462 # hop table construction
463
464
465 package DXProt;
466
467 # default hopcount to use
468 $def_hopcount = 5;
469
470 # some variable hop counts based on message type
471 %hopcount = 
472 (
473  11 => 10,
474  16 => 10,
475  17 => 10,
476  19 => 10,
477  21 => 10,
478 );
479
480
481 # the per node hop control thingy
482
483
484 %nodehops = 
485
486  GB7ADX => {            11 => 8,
487                         12 => 8,
488                         16 => 8,
489                         17 => 8,
490                         19 => 8,
491                         21 => 8,
492                    },
493
494  GB7UDX => {            11 => 8,
495                         12 => 8,
496                         16 => 8,
497                         17 => 8,
498                         19 => 8,
499                         21 => 8,
500                    },
501  GB7BAA => {
502                         11 => 5,
503                         12 => 8,
504                         16 => 8,
505                         17 => 8,
506                         19 => 8,
507                         21 => 8,
508                    },
509 };
510 </verb></tscreen>
511
512 <P>
513 Each set of hops is contained within a pair of curly braces and contains a 
514 series of PC frame types.  PC11 for example is a DX spot. The figures here 
515 are not exhaustive but should give you a good idea of how the file works.
516
517 <P>
518 You can alter this file at any time, including whilst the cluster is running.  
519 If you alter the file during runtime, the command <em>load/hops</em> will 
520 bring your changes into effect.
521
522 <sect1>Hop Control on Specific Nodes
523
524 <p>You can set a callsign specific hop count for any of the standard filter
525 options so:-
526
527 <tscreen><verb>
528 set/hops gb7djk spot 4
529 set/hops node_default route 10
530 set/hops gb7baa wcy 5
531 </verb></tscreen>
532  
533 all work on their specific area of the protocol.
534
535 <p>
536 The <em>set/hops</em> command overrides any hops that you have set otherwise.
537
538 <p>
539 You can set what hops have been set using the <em>show/hops</em> command.
540
541 <sect1>Isolating networks
542
543 <P>
544 It is possible to isolate networks from each other on a "gateway" node using the
545  <em>set/isolate &lt;node_call&gt;</em> command.
546         
547 <P>
548 The effect of this is to partition an isolated network completely from another 
549 node connected to your node. Your node will appear on and otherwise behave 
550 normally on every network to which you are connected, but data from an isolated 
551 network will not cross onto any other network or vice versa. However all the 
552 spot, announce and WWV traffic and personal messages will still be handled 
553 locally (because you are a real node on all connected networks), that is locally
554 connected users will appear on all networks and will be able to access and 
555 receive information from all networks transparently.  All routed messages will 
556 be sent as normal, so if a user on one network knows that you are a gateway for 
557 another network, he can still still send a talk/announce etc message via your 
558 node and it will be routed across.
559
560 <P>
561 If you use isolate on a node connection you will continue to receive
562 all information from the isolated partner, however you will not pass
563 any information back to the isolated node.  There are times when you
564 would like to forward only spots across a link (maybe during a contest
565 for example).  To do this, isolate the node in the normal way and use
566 an <em>acc/spot &gt;call&lt; all</em> filter to override the isolate. 
567
568 <sect>Other filters
569
570 <sect1>Filtering Mail
571
572 <P>
573 In the /spider/msg directory you will find a file called badmsg.pl.issue.  Rename
574 this to badmsg.pl and edit the file.  The original looks something like this ....
575
576 <tscreen><verb>
577
578 # the list of regexes for messages that we won't store having
579 # received them (bear in mind that we must receive them fully before
580 # we can bin them)
581
582
583 # The format of each line is as follows
584
585 #     type      source             pattern 
586 #     P/B/F     T/F/O/S            regex  
587
588 # type: P - private, B - bulletin (msg), F - file (ak1a bull)
589 # source: T - to field, F - from field,  O - origin, S - subject 
590 # pattern: a perl regex on the field requested
591
592 # Currently only type B and P msgs are affected by this code.
593
594 # The list is read from the top down, the first pattern that matches
595 # causes the action to be taken.
596
597 # The pattern can be undef or 0 in which case it will always be selected
598 # for the action specified
599
600
601
602 package DXMsg;
603
604 @badmsg = (
605 'B',    'T',    'SALE', 
606 'B',    'T',    'WANTED',
607 'B',    'S',    'WANTED',
608 'B',    'S',    'SALE', 
609 'B',    'S',    'WTB',
610 'B',    'S',    'WTS',
611 'B',    'T',    'FS',
612 );
613 </verb></tscreen>
614
615 <P>
616 I think this is fairly self explanatory.  It is simply a list of subject 
617 headers that we do not want to pass on to either the users of the cluster or 
618 the other cluster nodes that we are linked to.  This is usually because of 
619 rules and regulations pertaining to items for sale etc in a particular country.
620
621
622 <sect1>Filtering words from text fields in Announce, Talk and DX spots
623
624 <p>
625 From version 1.48 onwards the interface to this has changed. You can now
626 use the commands <em>set/badword</em> to add words that you are not prepared
627 to see on the cluster, <em>unset/badword</em> to allow that word again and 
628 <em>show/badword</em> to list the words that you have set.
629
630 <p>
631 If you have a previous <em>/spider/data/badwords</em>, the first time you start
632 the node, it will read and convert this file to the new commands. The old style
633 file will then be removed.
634
635 <sect1>Stopping (possibly bad) DX Spots from Nodes or Spotters
636
637 <p> 
638 There are a number of commands that control whether a spot progresses
639 any further by regarding it as "bad" in some way.
640
641 <p>
642 A DX Spot has a number of fields which can be checked to see whether they
643 contain "bad" values, they are: the DX callsign itself, the Spotter and
644 the Originating Node.
645
646 <p>
647 There are a set of commands which allow the sysop to control whether a
648 spot continues:-
649
650 <tscreen><verb>
651 set/baddx
652 set/badspotter
653 set/badnode
654 </verb></tscreen>
655
656 These work in the same as the <em>set/badword</em> command, you can add
657 any words or callsigns or whatever to the appropriate database. For
658 example, to stop a spot from a particular node you do:
659
660 <tscreen><verb>
661 set/badnode gb7djk gb7dxc
662 </verb></tscreen>
663
664 a bad spotter:
665
666 <tscreen><verb>
667 set/badspotter b0mb p1rat nocall
668 </verb></tscreen>
669
670 and some bad dx:
671
672 <tscreen><verb>
673 set/baddx video wsjt
674 </verb></tscreen>
675
676 You can remove a word using the appropriate unset command
677 (<em>unset/baddx, unset/badspotter, unset/badnode</em>) or list them
678 using one of <em>show/baddx, show/badspotter</em> and
679 <em>show/badnode</em>.
680
681 <sect>Mail
682
683 <P>
684 DXSpider deals seamlessly with standard AK1A type mail.  It supports both
685 personal and bulletin mail and the sysop has additional commands to ensure
686 that mail gets to where it is meant.  DXSpider will send mail almost
687 immediately, assuming that the target is on line.  However, only one
688 mail message is dealt with at any one time.  If a mail message is already
689 being sent or recieved, then the new message will be queued until it has
690 finished.
691
692 The cluster mail is automatically deleted after 30 days unless the sysop
693 sets the "keep" flag using the <em>msg</em> command.
694
695 <sect1>Personal mail
696
697 <P>
698 Personal mail is sent using the <em>sp</em> command.  This is actually the
699 default method of sending mail and so a simple <em>s</em> for send will do.
700 A full list of the send commands and options is in the <em>command set</em>
701 section, so I will not duplicate them here.
702
703 <sect1>Bulletin mail
704
705 <P>
706 Bulletin mail is sent by using the <em>sb</em> command.  This is one of the
707 most common mistakes users make when sending mail.  They send a bulletin
708 mail with <em>s</em> or <em>sp</em> instead of <em>sb</em> and of course
709 the message never leaves the cluster.  This can be rectified by the sysop
710 by using the <em>msg</em> command.
711
712 <P>Bulletin addresses can be set using the Forward.pl file.
713
714 <sect1>Forward.pl
715
716 <P>
717 DXSpider receives all and any mail sent to it without any alterations needed
718 in files.  Because personal and bulletin mail are treated differently, there
719 is no need for a list of accepted bulletin addresses.  It is necessary, however,
720 to tell the program which links accept which bulletins.  For example, it is
721 pointless sending bulletins addresses to "UK" to any links other than UK
722 ones.  The file that does this is called forward.pl and lives in /spider/msg.
723 At default, like other spider files it is named forward.pl.issue.  Rename it
724 to forward.pl and edit the file to match your requirements.
725 The format is below ...
726
727 <tscreen><verb>
728 #
729 # this is an example message forwarding file for the system
730 #
731 # The format of each line is as follows
732 #
733 #     type    to/from/at pattern action  destinations
734 #     P/B/F     T/F/A     regex   I/F    [ call [, call ...] ]
735 #
736 # type: P - private, B - bulletin (msg), F - file (ak1a bull)
737 # to/from/at: T - to field, F - from field, A - home bbs, O - origin 
738 # pattern: a perl regex on the field requested
739 # action: I - ignore, F - forward
740 # destinations: a reference to an array containing node callsigns
741 #
742 # if it is non-private and isn't in here then it won't get forwarded 
743 #
744 # Currently only type B msgs are affected by this code.
745
746 # The list is read from the top down, the first pattern that matches
747 # causes the action to be taken.
748 #
749 # The pattern can be undef or 0 in which case it will always be selected
750 # for the action specified
751 #
752 # If the BBS list is undef or 0 and the action is 'F' (and it matches the
753 # pattern) then it will always be forwarded to every node that doesn't have 
754 # it (I strongly recommend you don't use this unless you REALLY mean it, if
755 # you allow a new link with this on EVERY bull will be forwarded immediately
756 # on first connection)
757 #
758
759 package DXMsg;
760
761 @forward = (
762 'B',    'T',    'LOCAL',        'F',    [ qw(GB7MBC) ],
763 'B',    'T',    'ALL',          'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
764 'B',    'T',    'UK',           'F',    [ qw(GB7BAA GB7ADX) ],
765 'B',    'T',    'QSL',          'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
766 'B',    'T',    'QSLINF',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
767 'B',    'T',    'DX',           'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
768 'B',    'T',    'DXINFO',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
769 'B',    'T',    'DXNEWS',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
770 'B',    'T',    'DXQSL',        'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
771 'B',    'T',    'SYSOP',        'F',    [ qw(GB7BAA GB7ADX) ],
772 'B',    'T',    '50MHZ',        'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],
773 );
774 </verb></tscreen>
775
776 Simply insert a bulletin address and state in the brackets where you wish
777 that mail to go.  For example, you can see here that mail sent to "UK" will
778 only be sent to the UK links and not to PA4AB-14.
779
780 <P>
781 To force the cluster to reread the file use load/forward
782
783
784 <sect1>The msg command
785
786 <P>
787 The <em>msg</em> command is a very powerful and flexible tool for the
788 sysop.  It allows the sysop to alter to and from fields and make other
789 changes to manage the cluster mail.
790
791 Here is a full list of the various options ...
792
793 <tscreen><verb>
794   MSG TO <msgno> <call>     - change TO callsign to <call>
795   MSG FRom <msgno> <call>   - change FROM callsign to <call>
796   MSG PRrivate <msgno>      - set private flag
797   MSG NOPRrivate <msgno>    - unset private flag
798   MSG RR <msgno>            - set RR flag
799   MSG NORR <msgno>          - unset RR flag
800   MSG KEep <msgno>          - set the keep flag (message won't be deleted ever)
801   MSG NOKEep <msgno>        - unset the keep flag
802   MSG SUbject <msgno> <new> - change the subject to <new>
803   MSG WAittime <msgno>      - remove any waiting time for this message
804   MSG NOREad <msgno>        - mark message as unread
805   MSG REad <msgno>          - mark message as read
806   MSG QUeue                 - queue any outstanding bulletins
807   MSG QUeue 1               - queue any outstanding private messages
808 </verb></tscreen>
809
810 These commands are simply typed from within the cluster as the sysop user.
811
812 <sect1>Message status
813
814 <P>
815 You can check on a message from within the cluster by using the command
816 <em>stat/msg</em>.  This will give you additional information on the
817 message number including which nodes have received it, which node it
818 was received from and when etc.  Here is an example of the output of
819 the command ...
820
821 <tscreen><verb>
822 G0VGS de GB7MBC 28-Jan-2001 1308Z >
823 stat/msg 6869
824         From: GB7DJK
825     Msg Time: 26-Jan-2001 1302Z
826        Msgno: 6869
827       Origin: GB7DJK
828         Size: 8012
829      Subject: AMSAT 2line KEPS 01025.AMSAT
830           To: UK
831 Got it Nodes: GB7BAA, GB7ADX
832      Private: 0
833 Read Confirm: 0
834   Times read: 0
835 G0VGS de GB7MBC 28-Jan-2001 1308Z >
836 </verb></tscreen>
837
838 <sect1>Filtering mail
839
840 <P>
841 This is described in the section on <em>Other filters</em> so I will not
842 duplicate it here.
843
844 <sect1>Distribution lists
845
846 <P>
847 Distribution lists are simply a list of users to send certain types of
848 mail to.  An example of this is mail you only wish to send to other
849 sysops.  In /spider/msg there is a directory called <em>distro</em>.  You
850 put any distibution lists in here.  For example, here is a file called
851 SYSOP.pl that caters for the UK sysops.
852
853 <tscreen><verb>
854 qw(GB7TLH GB7DJK GB7DXM GB7CDX GB7BPQ GB7DXN GB7MBC GB7MBC-6 GB7MDX
855    GB7NDX GB7SDX GB7TDX GB7UDX GB7YDX GB7ADX GB7BAA GB7DXA GB7DXH 
856    GB7DXK GB7DXI GB7DXS)
857 </verb></tscreen>
858
859 Any mail sent to "sysop" would only be sent to the callsigns in this list.
860
861 <sect1>BBS interface
862
863 <P>
864 Spider provides a simple BBS interface.  No input is required from the sysop
865 of the cluster at all.  The BBS simply sets the cluster as a BBS and pushes
866 any required mail to the cluster.  No mail can flow from Spider to the BBS,
867 the interface is one-way.
868
869 <P>
870 Please be careful not to flood the cluster network with unnecessary mail.
871 Make sure you only send mail to the clusters that want it by using the
872 Forward.pl file very carefully.
873
874 <sect>Scripts
875
876 <p>
877 From 1.48 onwards it will become increasingly possible to control DXSpider's
878 operation with scripts of various kinds.
879
880 <P>
881 The directory /spider/scripts is where it all happens and is used for several 
882 things.  Firstly it contains a file called startup that can be used to call 
883 in any changes to the cluster from the default settings on startup.  This
884 script is executed immediately after all initialisation of the node is done
885 but before any connections are possible.  Examples of this include how many 
886 spots it is possible to get with the sh/dx command, whether you want 
887 registration/passwords to be permanently on etc.  An example file is shown 
888 below and is included in the distribution as startup.issue.
889
890 <tscreen><verb>
891 #
892 # startup script example
893 #
894 # set maximum no of spots allowed to 100
895 # set/var $Spot::maxspots = 1
896 #
897 # Set registration on
898 # set/var $main::reqreg = 1
899 #
900 # Set passwords on
901 # set/var $main::passwdreq = 1
902 #
903 </verb></tscreen>
904
905 <P>
906 As usual, any text behind a # is treated as a comment and not read.
907
908 Secondly, it is used to store the login scripts for users and nodes.  Currently
909 this can only be done by the sysop but it is envisaged that eventually users will 
910 be able to set their own.  An example is included in the distibution but here is 
911 a further example.
912
913 <tscreen><verb>
914 #
915 # G0FYD
916 #
917 blank +
918 sh/wwv 3
919 blank +
920 sh/dx 
921 blank +
922 t g0jhc You abt?
923 blank +
924 </verb></tscreen>
925
926 The lines in between commands can simply insert a blank line or a character
927 such as a + sign to make the output easier to read.  Simply create this script
928 with your favourite editor and save it with the callsign of the user as the
929 filename.  Filenames should always be in lower case.
930
931 <P>
932 Commands can be inserted in the same way for nodes.  A node may wish a series
933 of commands to be issued on login, such as a merge command for example.
934
935 <P>
936 Thirdly, there are 2 default scripts for users and nodes who do not have a
937 specifically defined script.  These are <em>user_default</em> and
938 <em>node_default</em>
939
940 <sect>Databases
941
942 <P>
943 Spider allows the creation of local or remote databases.  It supports
944 chained databases, allowing several different databases to be scanned
945 with one simple command.  Importing of databases is limited at present
946 to the standard AK1A databases such as OBLAST and the DB0SDX QSL 
947 database but will expand with time.
948
949 <sect1>Creating databases
950
951 <P>
952 Creating a database could not be more simple.  All the commands are
953 sent from the cluster prompt as the <em>sysop</em> user.
954
955 To create a database you use the command <em>dbcreate</em>.  It can
956 be used in 3 different ways like so ..
957
958 <tscreen><verb>
959 dbcreate <name>
960 </verb></tscreen>
961
962 To simply create a database locally, you just tell the command the
963 name of the database.  This does not create the actual database, it
964 simply defines it to say that it exists.
965
966 <tscreen><verb>
967 dbcreate <name> chain <name> [<name>...]
968 </verb></tscreen>
969
970 This creates a chained database entry.  The first database will be
971 scanned, then the second, the third etc...
972
973 <tscreen><verb>
974 dbcreate <name> remote <name>
975 </verb></tscreen>
976
977 This creates a remote entry.  the first name field is the database
978 name at the remote node, then the remote switch, then the actual
979 node_call of the remote node, for example...
980
981 <tscreen><verb>
982 dbcreate buckmaster remote gb7dxc
983 </verb></tscreen>
984
985 Remote databases cannot be chained, however, the last database in a
986 chain can be a remote database.
987
988 <sect1>Importing databases
989
990 <P>
991 The only databases that Spider can currently import are the standard
992 AK1A databases such as OBLAST or the DB0SDX qsl and address database.
993 This will be added to with time.
994
995 To import such a database, first put the file somewhere useful like /tmp
996 and then issue the following command ...
997
998 <tscreen><verb>
999 dbimport oblast /tmp/OBLAST.FUL
1000 </verb></tscreen>
1001
1002 This will update the existing local oblast database or create it if
1003 it does not exist.
1004
1005 <sect1>Checking available databases
1006
1007 <P>
1008 Once a database is created, you will want to check that it has been
1009 added.  To do this use the <em>dbavail</em> command.  This will
1010 output the available databases.  For example ...
1011
1012 <tscreen><verb>
1013 dbavail
1014 DB Name          Location   Chain
1015 qsl              Local
1016 buck             GB7ADX
1017 hftest           GB7DXM
1018 G0VGS de GB7MBC  3-Feb-2001 1925Z >
1019 </verb></tscreen>
1020
1021 <sect1>Looking up databases
1022
1023 <P>
1024 To look for information in a defined database, simply use the <em>dbshow</em>
1025 command, for example ...
1026
1027 <tscreen><verb>
1028 dbshow buckmaster G0YLM
1029 </verb></tscreen>
1030
1031 will show the information for the callsign G0YLM from the buckmaster
1032 database if it exists.  To make things more standard for the users
1033 you can add an entry in the Aliases file so that it looks like a standard 
1034 <em>show</em> command like this ...
1035
1036 <tscreen><verb>
1037 '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
1038 </verb></tscreen>
1039
1040 Now you can simply use show/buckmaster or an abreviation.
1041
1042 <sect1>Removing databases
1043
1044 <P>
1045 To delete an existing database you use the <em>dbremove</em> command.
1046 For example ...
1047
1048 <tscreen><verb>
1049 dbremove oblast
1050 </verb></tscreen>
1051
1052 would remove the oblast database and its associated datafile from the
1053 system.  There are no warnings or recovery possible from this command.
1054 If you remove a database it ceases to exist and would have to be created
1055 from scratch if you still required it.
1056
1057 <sect>Information, files and useful programs
1058
1059 <sect1>MOTD
1060
1061 <P>
1062 One of the more important things a cluster sysop needs to do is to get 
1063 information to his users.  The simplest way to do this is to have a banner 
1064 that is sent to the user on login.  This is know as a "message of the day" 
1065 or "motd".  To set this up, simply create a file in /spider/data called motd 
1066 and edit it to say whatever you want.  It is purely a text file and will be 
1067 sent automatically to anyone logging in to the cluster.
1068
1069 <sect1>MOTD_NOR
1070
1071 <P>
1072 This message of the day file lives in the same directory as the standard
1073 motd file but is only sent to non-registered users.  Once registered they
1074 will receive the same message as any other user.
1075
1076 <sect1>Downtime message
1077
1078 <P>
1079 If for any reason the cluster is down, maybe for upgrade or maintenance but 
1080 the machine is still running, a message can be sent to the user advising them 
1081 of the fact.  This message lives in the /spider/data directory and is called
1082 "offline".  Simply create the file and edit it to say whatever you wish.  
1083 This file will be sent to a user attempting to log into the cluster when
1084 DXSpider is not actually running.
1085
1086 <sect1>Other text messages
1087
1088 <P>
1089 You can set other text messages to be read by the user if they input the file 
1090 name.  This could be for news items or maybe information for new users.  
1091 To set this up, make a directory under /spider called <em>packclus</em>.  
1092 Under this directory you can create files called <em>news</em> or <em>newuser</em>
1093 for example.  In fact you can create files with any names you like.  These can 
1094 be listed by the user with the command ....
1095
1096 <tscreen><verb>
1097 show/files
1098 </verb></tscreen>
1099
1100 They can be read by the user by typing the command ....
1101
1102 <tscreen><verb>
1103 type news
1104 </verb></tscreen>
1105
1106 If the file they want to read is called <em>news</em>.  You could also set 
1107 an alias for this in the Alias file to allow them just to type <em>news</em>
1108
1109 <P>
1110 You can also store other information in this directory, either directly or 
1111 nested under directories.  One use for this would be to store DX bulletins 
1112 such as the OPDX bulletins.  These can be listed and read by the user.  
1113 To keep things tidy, make a directory under /spider/packclus called
1114 <em>bulletin</em>.  Now copy any OPDX or similar bulletins into it.  These 
1115 can be listed by the user in the same way as above using the <em>show/files</em>
1116 command with an extension for the bulletin directory you have just created, 
1117 like this ....
1118
1119 <tscreen><verb>
1120 show/files bulletin
1121 </verb></tscreen>
1122
1123 <P>
1124 An example would look like this ....
1125
1126 <tscreen><verb>
1127 sh/files
1128 bulletin      DIR 20-Dec-1999 1715Z news          1602 14-Dec-1999 1330Z
1129 </verb></tscreen>
1130
1131 You can see that in the files area (basically the packclus directory) there is a 
1132 file called <em>news</em> and a directory called <em>bulletin</em>.  You can 
1133 also see that dates they were created.  In the case of the file <em>news</em>, 
1134 you can also see the time it was last modified, a good clue as to whether the 
1135 file has been updated since you last read it.  To read the file called 
1136 <em>news</em> you would simply issue the command ....
1137
1138 <tscreen><verb>
1139 type news
1140 </verb></tscreen>
1141
1142 To look what is in the bulletin directory you issue the command ....
1143
1144 <tscreen><verb>
1145 show/files bulletin
1146 opdx390      21381 29-Nov-1999 1621Z opdx390.1     1670 29-Nov-1999 1621Z
1147 opdx390.2     2193 29-Nov-1999 1621Z opdx391      25045 29-Nov-1999 1621Z  
1148 opdx392      35969 29-Nov-1999 1621Z opdx393      15023 29-Nov-1999 1621Z  
1149 opdx394      33429 29-Nov-1999 1621Z opdx394.1     3116 29-Nov-1999 1621Z  
1150 opdx395      24319 29-Nov-1999 1621Z opdx396      32647 29-Nov-1999 1621Z
1151 opdx396.1     5537 29-Nov-1999 1621Z opdx396.2     6242 29-Nov-1999 1621Z
1152 opdx397      18433 29-Nov-1999 1621Z opdx398      19961 29-Nov-1999 1621Z  
1153 opdx399      17719 29-Nov-1999 1621Z opdx400      19600 29-Nov-1999 1621Z
1154 opdx401      27738 29-Nov-1999 1621Z opdx402      18698 29-Nov-1999 1621Z
1155 opdx403      24994 29-Nov-1999 1621Z opdx404      15685 29-Nov-1999 1621Z
1156 opdx405      13984 29-Nov-1999 1621Z opdx405.1     4166 29-Nov-1999 1621Z
1157 opdx406      28934 29-Nov-1999 1621Z opdx407      24153 29-Nov-1999 1621Z
1158 opdx408      15081 29-Nov-1999 1621Z opdx409      23234 29-Nov-1999 1621Z
1159 Press Enter to continue, A to abort (16 lines) >
1160 </verb></tscreen>
1161
1162 You can now read any file in this directory using the type command, like this ....
1163
1164 <tscreen><verb>
1165 type bulletin/opdx391
1166 Ohio/Penn DX Bulletin No. 391
1167 The Ohio/Penn Dx PacketCluster
1168 DX Bulletin No. 391
1169 BID: $OPDX.391
1170 January 11, 1999
1171 Editor Tedd Mirgliotta, KB8NW
1172 Provided by BARF-80 BBS Cleveland, Ohio
1173 Online at 440-237-8208 28.8k-1200 Baud 8/N/1 (New Area Code!)
1174 Thanks to the Northern Ohio Amateur Radio Society, Northern Ohio DX
1175 Association, Ohio/Penn PacketCluster Network, K1XN & Golist, WB2RAJ/WB2YQH
1176 & The 59(9) DXReport, W3UR & The Daily DX, K3TEJ, KN4UG, W4DC, NC6J, N6HR,
1177 Press Enter to continue, A to abort (508 lines) >
1178 </verb></tscreen>
1179
1180 The page length will of course depend on what you have it set to!
1181
1182 <sect1>The Aliases file
1183
1184 <P>
1185 You will find a file in /spider/cmd/ called Aliases.  First, copy this file to
1186 /spider/local_cmd/Aliases and edit this file.  You will see something like this ...
1187
1188 <tscreen><verb>
1189
1190 #!/usr/bin/perl
1191
1192 # provide some standard aliases for commands for terminally
1193 # helpless ak1a user (helpless in the sense that they never
1194 # read nor understand help files)
1195
1196 # This file is automagically reloaded if its modification time is 
1197 # later than the one stored in CmdAlias.pm
1198
1199 # PLEASE make this file consistant with reality! (the patterns MUST
1200 # match the filenames!)
1201
1202 # Don't alter this file, copy it into the local_cmd tree and modify it.
1203 # This file will be replaced everytime I issue a new release.
1204
1205 # You only need to put aliases in here for commands that don't work as
1206 # you desire naturally, e.g sh/dx on its own just works as you expect
1207 # so you need not add it as an alias.
1208
1209
1210
1211 package CmdAlias;
1212
1213 %alias = (
1214     '?' => [
1215           '^\?', 'apropos', 'apropos',
1216         ],
1217     'a' => [
1218           '^ann.*/full', 'announce full', 'announce', 
1219           '^ann.*/sysop', 'announce sysop', 'announce',
1220           '^ann.*/(.*)$', 'announce $1', 'announce',
1221         ],
1222         'b' => [
1223         ],
1224         'c' => [
1225         ],
1226         'd' => [
1227           '^del', 'kill', 'kill',
1228           '^del\w*/fu', 'kill full', 'kill',
1229           '^di\w*/a\w*', 'directory all', 'directory',
1230           '^di\w*/b\w*', 'directory bulletins', 'directory',
1231           '^di\w*/n\w*', 'directory new', 'directory',
1232           '^di\w*/o\w*', 'directory own', 'directory',
1233           '^di\w*/s\w*', 'directory subject', 'directory',
1234           '^di\w*/t\w*', 'directory to', 'directory',
1235           '^di\w*/f\w*', 'directory from', 'directory',
1236           '^di\w*/(\d+)', 'directory $1', 'directory',
1237         ],
1238         'e' => [
1239         ],
1240         'f' => [
1241         ],
1242         'g' => [
1243         ],
1244         'h' => [
1245         ],
1246         'i' => [
1247         ],
1248         'j' => [
1249         ],
1250         'k' => [
1251         ],
1252         'l' => [
1253           '^l$', 'directory', 'directory',
1254           '^ll$', 'directory', 'directory',
1255           '^ll/(\d+)', 'directory $1', 'directory',
1256         ],
1257         'm' => [
1258         ],
1259         'n' => [
1260           '^news', 'type news', 'type',
1261         ],
1262         'o' => [
1263         ],
1264         'p' => [
1265         ],
1266         'q' => [
1267           '^q', 'bye', 'bye',
1268         ],
1269         'r' => [        
1270           '^r$', 'read', 'read',
1271           '^rcmd/(\S+)', 'rcmd $1', 'rcmd',
1272         ],
1273         's' => [
1274           '^s/p$', 'send', 'send',
1275           '^sb$', 'send noprivate', 'send',
1276           '^set/home$', 'set/homenode', 'set/homenode',
1277           '^set/nobe', 'unset/beep', 'unset/beep',
1278           '^set/nohe', 'unset/here', 'unset/here',
1279           '^set/noan', 'unset/announce', 'unset/announce',
1280           '^set/nodx', 'unset/dx', 'unset/dx',
1281           '^set/nota', 'unset/talk', 'unset/talk',
1282           '^set/noww', 'unset/wwv', 'unset/wwv',
1283           '^set/nowx', 'unset/wx', 'unset/wx',
1284           '^sh$', 'show', 'show',
1285           '^sh\w*/buck', 'dbshow buck', 'dbshow',
1286           '^sh\w*/bu', 'show/files bulletins', 'show/files',
1287           '^sh\w*/c/n', 'show/configuration nodes', 'show/configuration',
1288           '^sh\w*/c$', 'show/configuration', 'show/configuration',
1289           '^sh\w*/com', 'dbavail', 'dbavail',
1290           '^sh\w*/dx/(\d+)-(\d+)', 'show/dx $1-$2', 'show/dx',
1291           '^sh\w*/dx/(\d+)', 'show/dx $1', 'show/dx',
1292           '^sh\w*/dx/d(\d+)', 'show/dx from $1', 'show/dx',
1293           '^sh\w*/email', 'dbshow email', 'dbshow',
1294           '^sh\w*/hftest', 'dbshow hftest', 'dbshow',
1295           '^sh\w*/vhftest', 'dbshow vhftest', 'dbshow',
1296           '^sh\w*/qsl', 'dbshow qsl', 'dbshow',
1297           '^sh\w*/tnc', 'who', 'who',
1298           '^sh\w*/up', 'show/cluster', 'show/cluster',
1299           '^sh\w*/w\w*/(\d+)-(\d+)', 'show/wwv $1-$2', 'show/wwv',
1300           '^sh\w*/w\w*/(\d+)', 'show/wwv $1', 'show/wwv',
1301           '^sp$', 'send', 'send',
1302         
1303     ],
1304         't' => [
1305           '^ta$', 'talk', 'talk',
1306           '^t$', 'talk', 'talk',
1307         ],
1308         'u' => [
1309         ],
1310         'v' => [
1311         ],
1312         'w' => [
1313           '^wx/full', 'wx full', 'wx',
1314           '^wx/sysop', 'wx sysop', 'wx',
1315         ],
1316         'x' => [
1317         ],
1318         'y' => [
1319         ],
1320         'z' => [
1321         ],
1322 )
1323 </verb></tscreen>
1324
1325 You can create aliases for commands at will.  Beware though, these may not 
1326 always turn out as you think.  Care is needed and you need to test the 
1327 results once you have set an alias.
1328
1329 <sect1>Console.pl
1330
1331 <P>
1332 In later versions of Spider a simple console program is provided for the sysop.  
1333 This has a type ahead buffer with line editing facilities and colour for spots,
1334 announces etc.  To use this program, simply use console.pl instead of client.
1335
1336 <P>
1337 To edit the colours, copy /spider/perl/Console.pl to /spider/local and edit the 
1338 file with your favourite editor.
1339
1340 <sect1>Updating kepler data
1341
1342 <P>
1343 Spider has a powerful and flexible show/satellite command.  In order for
1344 this to be accurate, the kepler data has to be updated regularly.  In
1345 general, this data is available as an email or via cluster mail.
1346 Updating it is simple.  First you need to export the mail message as a
1347 file.  You do this with the <em>export</em> command from the cluster prompt
1348 as the sysop.  For example ...
1349
1350 <tscreen><verb>
1351 export 5467 /spider/perl/keps.in
1352 </verb></tscreen>
1353
1354 would export message number 5467 as a file called keps.in in the
1355 /spider/perl directory.
1356
1357 Now login to a VT as sysop and cd /spider/perl.  There is a command in
1358 the perl directory called <em>convkeps.pl</em>.  All we need to do now is
1359 convert the file like so ...
1360
1361 <tscreen><verb>
1362 ./convkeps.pl keps.in
1363 </verb></tscreen>
1364
1365 Now go back to the cluster and issue the command ...
1366
1367 <tscreen><verb>
1368 load/keps
1369 </verb></tscreen>
1370
1371 That is it!  the kepler data has been updated.
1372
1373 <sect1>The QRZ callbook
1374
1375 <P>
1376 The command <em>sh/qrz</em> will only work once you have followed a few
1377 simple steps.  First you need to get a user ID and password from qrz.com.
1378 Simply go to the site and create one.  Secondly you need to copy the file
1379 /spider/perl/Internet.pm to /spider/local and alter it to match your user
1380 ID and password.  You also at this point need to set $allow=1 to complete
1381 the setup.  Many thanks to Fred Lloyd, the proprieter of
1382 <htmlurl url="http://www.qrz.com" name="qrz.com"> for allowing this access.
1383
1384 <sect>Security
1385
1386 <P>
1387 From version 1.49 DXSpider has some additional security features.  These
1388 are not by any means meant to be exhaustive, however they do afford some
1389 security against piracy.  These two new features can be used independently 
1390 of each other or in concert to tighten the security.
1391
1392 <sect1>Registration
1393
1394 <P>
1395 The basic principle of registration is simple.  If a user is not registered
1396 by the sysop, then they have read-only access to the cluster.  The only
1397 thing they can actually send is a talk or a message to the sysop.  In
1398 order for them to be able to spot, send announces or talks etc the sysop
1399 must register them with the <em>set/register</em> command, like this ...
1400
1401 <tscreen><verb>
1402 set/register g0vgs
1403 </verb></tscreen>
1404
1405 The user g0vgs can now fully use the cluster.  In order to enable 
1406 registration, you can issue the command ...
1407
1408 <tscreen><verb>
1409 set/var $main::reqreg = 1
1410 </verb></tscreen>
1411
1412 Any users that are not registered will now see the motd_nor file rather
1413 than the motd file as discussed in the Information, files and useful 
1414 programs section.
1415
1416 <P>
1417 Entering this line at the prompt will only last for the time the cluster
1418 is running of course and would not be present on a restart.  To make the
1419 change permanent, add the above line to /spider/scripts/startup.  To
1420 read more on the startup file, see the section on Information, files 
1421 and useful programs.
1422
1423 <P>
1424 To unregister a user use <em>unset/register</em> and to show the list
1425 of registered users, use the command <em>show/register</em>.
1426
1427 <sect1>Passwords
1428
1429 <P>
1430 At the moment, passwords only affect users who login to a DXSpider
1431 cluster node via telnet.  If a user requires a password, they can
1432 either set it themselves or have the sysop enter it for them by using
1433 the <em>set/password</em> command.  Any users who already have passwords, 
1434 such as remote sysops, will be asked for their passwords automatically 
1435 by the cluster.  Using passwords in this way means that the user has a
1436 choice on whether to have a password or not.  To force the use of
1437 passwords at login, issue the command ...
1438
1439 <tscreen><verb>
1440 set/var $main::passwdreq = 1
1441 </verb></tscreen>
1442
1443 at the cluster prompt.  This can also be added to the /spider/scripts/startup
1444 file as above to make the change permanent.
1445
1446 <P>
1447 Of course, if you do this you will have to assign a password for each of 
1448 your users.  If you were asking them to register, it is anticipated that
1449 you would ask them to send you a message both to ask to be registered and
1450 to give you the password they wish to use.
1451
1452 <P>
1453 Should a user forget their password, it can be reset by the sysop by
1454 first removing the existing password and then setting a new one like so ...
1455
1456 <tscreen><verb>
1457 unset/password g0vgs
1458 set/password g0vgs new_password
1459 </verb></tscreen>
1460
1461 <sect>CVS
1462
1463 <P>
1464 CVS stands for "Concurrent Versions System" and the CVS for DXSpider is held
1465 at <htmlurl url="http://www.sourceforge.net" name="Sourceforge">.  This means
1466 that it is possible to update your DXSpider installation to the latest
1467 sources by using a few simple commands.
1468
1469 <P>
1470 Please be aware that if you update your system using CVS, it is possible that
1471 you could be running code that is very beta and not fully tested.  There is
1472 a possibility that it could be unstable.
1473
1474 <P>
1475 I am of course assuming that you have a machine with both DXSpider and
1476 Internet access running.
1477
1478 <P>
1479 BEFORE YOU EVEN CONSIDER STARTING WITH THIS MAKE A BACKUP OF YOUR
1480 ENTIRE SPIDER TREE!!
1481
1482 <P>
1483 Assuming you are connected to the Internet, you need to login to the
1484 CVS repository and then update your Spider source.  There are several
1485 steps which are listed below ...
1486
1487 <P>
1488 First login as the user <em>sysop</em>.  Next you need to connect to the CVS
1489 repository.  You do this with the command below ...
1490
1491 <verb>
1492 cvs -d:pserver:anonymous@cvs.DXSpider.sourceforge.net:/cvsroot/dxspider login 
1493 </verb>
1494
1495 You will get a password prompt.  Simply hit return here and your machine should
1496 return to a normal linux prompt.
1497
1498 <P>
1499 What happens next depends on whether you have an existing installation that 
1500 you want to update with the latest and greatest or whether you just want
1501 to see what is there and/or run it on a new machine for testing.
1502
1503 If you are installing Spider from CVS then change directory to /home/sysop
1504
1505 If you are wanting to update Spider then cd to /tmp
1506
1507 <P>
1508 The next step will create a brand new 'spider' directory in your current
1509 directory.
1510
1511 <verb>
1512 cvs -z3 -d:pserver:anonymous@cvs.DXSpider.sourceforge.net:/cvsroot/dxspider co spider
1513 </verb>
1514
1515 This command is all on one line.
1516
1517 <P>
1518 Hopefully your screen should show you downloading files.  The -z3 simply compresses
1519 the download to improve speed.
1520 When this has finished, you will have exactly the same as if you had untarred a full 
1521 tarball PLUS some extra directories and files that CVS needs to do the magic that 
1522 it does.
1523
1524 <P>
1525 Now if you are doing a new installation, that's it.  Carry on as if you have
1526 just downloaded and untarred the lastest tarball.
1527
1528 <P>
1529 If you want to upgrade your current installation then do this ...
1530
1531 <tscreen><verb>
1532 tar cvfz /tmp/s.tgz spider
1533 cd /
1534 tar xvfzp /tmp/s.tgz
1535 </verb></tscreen>
1536
1537 This is assuming you downloaded to the /tmp directory of course.
1538
1539 <P>
1540 NOTE:  the 'p' on the end of the 'xvfz' is IMPORTANT!   It keeps the permissions
1541 correct.  YOU WERE LOGGED IN AS THE USER SYSOP WEREN'T YOU?????
1542
1543 Remember to recompile the C client (cd /spider/src; make)
1544
1545 <P>
1546 At this point the files have been upgraded.  You can (usually) restart the cluster
1547 in your own time.  However, if you attempt to use any new commands or features
1548 expect it to be fatal!  At least your cluster will have been restarted then so it
1549 will be too late to worry about it!
1550
1551 <P>
1552 Now the magic part!  From now on when you want to update, simply connect to the 
1553 Internet and then, as the user <em>sysop</em> ...
1554
1555 <tscreen><verb>
1556 cd /spider
1557 cvs -z3 update -d
1558 </verb></tscreen>
1559
1560 and your files will be updated.  As above, remember to recompile the "C" client 
1561 if it has been updated (CVS will tell you) and restart if any of the perl scripts
1562 have been altered or added, again, CVS will tell you.
1563
1564 <P>
1565 You will find any changes documented in the /spider/Changes file.
1566
1567 <sect>The DXSpider command set
1568
1569 <P>
1570 Below is a complete list of commands available from the cluster prompt.
1571 Most maintenance tasks are automatic but there are some commands that are useful 
1572 for a sysop.  These are listed below in alphabetical order.  The number in 
1573 brackets following the command name is the permissions level needed to use 
1574 the command.
1575
1576 <sect1>accept/announce (0)
1577
1578 <P>
1579 <tt>
1580 <bf>accept/announce &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an accept filter
1581  line for announce
1582 </tt>
1583
1584 <P>
1585 Create an 'accept this announce' line for a filter. 
1586
1587 An accept filter line means that if the announce matches this filter it is
1588 passed onto the user. See HELP FILTERS for more info. Please read this
1589 to understand how filters work - it will save a lot of grief later on.
1590
1591 You can use any of the following things in this line:-
1592
1593 <tscreen><verb>
1594   info <string>            eg: iota or qsl
1595   by <prefixes>            eg: G,M,2         
1596   origin <prefixes>
1597   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
1598   origin_itu <numbers>
1599   origin_zone <numbers>
1600   by_dxcc <numbers>
1601   by_itu <numbers>
1602   by_zone <numbers>
1603   channel <prefixes>
1604   wx 1                     filter WX announces
1605   dest <prefixes>          eg: 6MUK,WDX      (distros)
1606 </verb></tscreen>
1607
1608 some examples:-
1609
1610 <tscreen><verb>
1611   acc/ann dest 6MUK
1612   acc/ann 2 by_zone 14,15,16
1613   (this could be all on one line: acc/ann dest 6MUK or by_zone 14,15,16)
1614 </verb></tscreen>
1615
1616 or
1617
1618 <tscreen><verb>
1619   acc/ann by G,M,2 
1620 </verb></tscreen>
1621
1622 This filter would only allow announces that were posted buy UK stations.  
1623 You can use the tag 'all' to accept everything eg:
1624
1625 <tscreen><verb>
1626   acc/ann all
1627 </verb></tscreen>
1628
1629 but this probably for advanced users...
1630
1631 <sect1>accept/announce (extended for sysops) (8)
1632
1633 <P>
1634 <tt>
1635 <bf>accept/announce &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb;&lt;pattern&gt;</bf> Announce filter sysop version
1636 </tt>
1637
1638 <P>
1639 This version allows a sysop to set a filter for a callsign as well as the
1640 default for nodes and users eg:-
1641
1642 <tscreen><verb>
1643   accept/ann by G,M,2
1644   accept/ann input node_default by G,M,2
1645   accept/ann user_default by G,M,2
1646 </verb></tscreen>
1647
1648 <sect1>accept/route (8)
1649
1650 <P>
1651 <tt>
1652 <bf>accept/route &lt;call&gt; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an 'accept' filter line for routing
1653 </tt>
1654
1655 <P>
1656 Create an 'accept this routing PC Protocol' line for a filter. 
1657
1658 <P>
1659 An accept filter line means that if a PC16/17/19/21/24/41/50 matches this filter 
1660 it is passed thru that interface. See HELP FILTERING for more info. Please read this
1661 to understand how filters work - it will save a lot of grief later on.
1662
1663 <P>
1664 You can use any of the following things in this line:-
1665
1666 <tscreen><verb>
1667   call <prefixes>        the callsign of the thingy
1668   call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
1669   call_itu <numbers>
1670   call_zone <numbers>
1671   origin <prefixes>      really the interface it came in on
1672   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
1673   origin_itu <numbers>
1674   origin_zone <numbers>
1675 </verb></tscreen>
1676
1677 <P>
1678 some examples:-
1679
1680 <tscreen><verb>
1681   acc/route gb7djk call_dxcc 61,38 (send only UK+EIRE nodes)
1682   acc/route gb7djk call gb7djk     (equiv to SET/ISOLATE)
1683 </verb></tscreen>
1684
1685 <P>
1686 You can use the tag 'all' to accept everything eg:
1687
1688 <tscreen><verb>
1689   acc/route all
1690 </verb></tscreen>
1691
1692 <sect1>accept/spots (0)
1693
1694 <P>
1695 <tt>
1696 <bf>accept/announce &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an accept filter 
1697 line for spots
1698 </tt>
1699
1700 <P>
1701 Create an 'accept this spot' line for a filter.
1702
1703 <P>
1704 An accept filter line means that if the spot matches this filter it is
1705 passed onto the user. See HELP FILTERS for more info. Please read this
1706 to understand how filters work - it will save a lot of grief later on.
1707
1708 You can use any of the following things in this line:-
1709
1710 <tscreen><verb>
1711   freq <range>           eg: 0/30000 or hf or hf/cw or 6m,4m,2m
1712   on <range>             same as 'freq'
1713   call <prefixes>        eg: G,PA,HB9
1714   info <string>          eg: iota or qsl
1715   by <prefixes>            
1716   call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
1717   call_itu <numbers>
1718   call_zone <numbers>
1719   by_dxcc <numbers>
1720   by_itu <numbers>
1721   by_zone <numbers>
1722   origin <prefixes>
1723   channel <prefixes>
1724 </verb></tscreen>
1725
1726 <P>
1727 For frequencies, you can use any of the band names defined in
1728 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
1729 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
1730 this is more efficient than saying simply: freq HF (but don't get
1731 too hung up about that)
1732
1733 some examples:-
1734
1735 <tscreen><verb>
1736   acc/spot 1 on hf/cw
1737   acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
1738 </verb></tscreen>
1739
1740 You can use the tag 'all' to accept everything, eg:
1741
1742 <tscreen><verb>
1743   acc/spot 3 all
1744 </verb></tscreen>
1745
1746 but this probably for advanced users...
1747
1748 <sect1>accept/spots (extended for sysops) (8)
1749
1750 <P>
1751 <tt>
1752 <bf>accept/spots &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Spot filter sysop version
1753 </tt>
1754
1755 <P>
1756 This version allows a sysop to set a filter for a callsign as well as the
1757 default for nodes and users eg:-
1758
1759 <tscreen><verb>
1760   accept/spot db0sue-7 1 by_zone 14,15,16
1761   accept/spot node_default all
1762   set/hops node_default 10
1763
1764   accept/spot user_default by G,M,2
1765 </verb></tscreen>
1766
1767 <sect1>accept/wcy (0)
1768
1769 <P>
1770 <tt>
1771 <bf>accept/wcy &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> set an accept WCY filter
1772 </tt>
1773
1774 <P>
1775 It is unlikely that you will want to do this, but if you do then you can
1776 filter on the following fields:-
1777
1778 <tscreen><verb>
1779   by <prefixes>            eg: G,M,2         
1780   origin <prefixes>
1781   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
1782   origin_itu <numbers>
1783   origin_zone <numbers>
1784   by_dxcc <numbers>
1785   by_itu <numbers>
1786   by_zone <numbers>
1787   channel <prefixes>
1788 </verb></tscreen>
1789
1790 <P>
1791 There are no examples because WCY Broadcasts only come from one place and
1792 you either want them or not (see UNSET/WCY if you don't want them).
1793
1794 This command is really provided for future use.
1795
1796 See HELP FILTER for information.
1797
1798 <sect1>accept/wcy (extended for sysops) (8)
1799
1800 <P>
1801 <tt>
1802 <bf>accept/wcy &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf>
1803 WCY filter sysop version
1804 </tt>
1805
1806 <P>
1807 This version allows a sysop to set a filter for a callsign as well as the
1808 default for nodes and users eg:-
1809
1810 <tscreen><verb>
1811   accept/wcy node_default all
1812   set/hops node_default 10
1813 </verb></tscreen>
1814
1815 <sect1>accept/wwv (0)
1816
1817 <P>
1818 <tt>
1819 <bf>accept/wwv &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an accept WWV filter
1820 </tt>
1821
1822 <P>
1823 It is unlikely that you will want to do this, but if you do then you can
1824 filter on the following fields:-
1825
1826 <tscreen><verb>
1827   by <prefixes>            eg: G,M,2         
1828   origin <prefixes>
1829   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
1830   origin_itu <numbers>
1831   origin_zone <numbers>
1832   by_dxcc <numbers>
1833   by_itu <numbers>
1834   by_zone <numbers>
1835   channel <prefixes>
1836 </verb></tscreen>
1837
1838 for example 
1839
1840 <tscreen><verb>
1841   accept/wwv by_zone 4
1842 </verb></tscreen>
1843
1844 is probably the only useful thing to do (which will only show WWV broadcasts
1845 by stations in the US).
1846
1847 See HELP FILTER for information.
1848
1849 <sect1>accept/wwv (extended for sysops) (8)
1850
1851 <P>
1852 <tt>
1853 <bf>accept/wwv &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf>
1854 WWV filter sysop version
1855 </tt>
1856
1857 <P>
1858 This version allows a sysop to set a filter for a callsign as well as the
1859 default for nodes and users eg:-
1860
1861 <tscreen><verb>
1862   accept/wwv db0sue-7 1 by_zone 4
1863   accept/wwv node_default all
1864   set/hops node_default 10
1865
1866   accept/wwv user_default by W,K
1867 </verb></tscreen>
1868
1869 <sect1>announce (0)
1870
1871 <P>
1872 <tt>
1873 <bf>announce &lt;text&gt;</bf> Send an announcement to local users
1874 </tt>
1875
1876 <P>
1877 Send an announcement to LOCAL users only, where &lt;text&gt; is the text 
1878 of the announcement you wish to broadcast.  If you do not wish to receive
1879 announces, use the <em>set/noannounce</em> command.  Any announces made by
1880 a sysop will override set/noannounce.
1881
1882 <sect1>announce full (0)
1883
1884 <P>
1885 <tt>
1886 <bf>announce full &lt;text&gt;</bf> Send an announcement cluster wide
1887 </tt>
1888
1889 <P>
1890 This command will send your announcement across the whole cluster
1891 network.
1892
1893
1894 <sect1>announce sysop (5)
1895
1896 <P>
1897 <tt>
1898 <bf>announce sysop &lt;text&gt;</bf>
1899 </tt>
1900
1901 <P>
1902 Send an announcement to Sysops only
1903
1904 <sect1>apropos (0)
1905
1906 <P>
1907 <tt>
1908 <bf>apropos &lt;string&gt;</bf> Search the help database
1909 </tt>
1910
1911 <P>
1912 Search the help database for &lt;string&gt; (it isn't case sensitive), 
1913 and print the names of all the commands that may be relevant.
1914
1915 <sect1>bye (0)
1916
1917 <P>
1918 <tt>
1919 <bf>bye</bf> Exit from the cluster
1920 </tt>
1921
1922 <P>
1923 This will disconnect you from the cluster
1924
1925 <sect1>catchup (5)
1926
1927 <P>
1928 <tt>
1929 <bf>catchup &lt;node_call&gt; All&verbar;&lsqb;&lt;msgno&gt; ...&rsqb;</bf> 
1930 Mark a message as sent
1931 </tt>
1932
1933 <P>
1934 When you send messages the fact that you have forwarded it to another node 
1935 is remembered so that it isn't sent again. When you have a new partner
1936 node and you add their callsign to your /spider/msg/forward.pl file, all
1937 outstanding non-private messages will be forwarded to them. This may well
1938 be ALL the non-private messages. You can prevent this by using these 
1939 commmands:-
1940
1941 <tscreen><verb>
1942   catchup GB7DJK all
1943   catchup GB7DJK 300 301 302 303 500-510
1944 </verb></tscreen>
1945         
1946 and to undo what you have just done:-
1947   
1948 <tscreen><verb>
1949   uncatchup GB7DJK all
1950   uncatchup GB7DJK 300 301 302 303 500-510
1951 </verb></tscreen>
1952
1953 which will arrange for them to be forward candidates again.
1954
1955 Order is not important.
1956
1957 <sect1>clear/announce (8)
1958
1959 <P>
1960 <tt>
1961 <bf>clear/announce &lsqb;input&rsqb; &lt;callsign&gt; &lsqb;0-9&verbar;all&rsqb;</bf> Clear an announce filter line
1962 </tt>
1963
1964 <P>
1965 A sysop can clear an input or normal output filter for a user or the
1966 node_default or user_default. 
1967
1968 <sect1>clear/route (8)
1969
1970 <P>
1971 <tt>
1972 <bf>clear/route &lsqb;input&rsqb; ^lt;callsign&gt; &lsqb;0-9&verbar;all&rsqb;</bf> Clear a route filter line
1973 </tt>
1974
1975 <P>
1976 This command allows you to clear (remove) a line in a route filter or to 
1977 remove the whole filter.
1978
1979 see CLEAR/SPOTS for a more detailed explanation.
1980
1981 A sysop can clear an input or normal output filter for a user or the
1982 node_default or user_default. 
1983
1984 <sect1>clear/spots (0)
1985
1986 <P>
1987 <tt>
1988 <bf>clear/spots &lsqb;1&verbar;all&rsqb;</bf> Clear a spot filter line
1989 </tt>
1990
1991 <P>
1992 This command allows you to clear (remove) a line in a spot filter or to 
1993 remove the whole filter.
1994
1995 If you have a filter:-
1996
1997 <tscreen><verb>
1998   acc/spot 1 on hf/cw
1999   acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2000 </verb></tscreen>
2001
2002 and you say:-
2003
2004 <tscreen><verb>
2005   clear/spot 1
2006 </verb></tscreen>
2007
2008 you will be left with:-
2009
2010 <tscreen><verb>
2011   acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2012 </verb></tscreen>
2013
2014 If you do:
2015
2016 <tscreen><verb>
2017   clear/spot all
2018 </verb></tscreen>
2019
2020 the filter will be completely removed.
2021
2022 <sect1>clear/spots (extended for sysops) (8)
2023
2024 <P>
2025 <tt>
2026 <bf>clear/spots &lsqb;input&rsqb; &lt;callsign&gt; &lsqb;0-9&verbar;all&rsqb;</bf> Clear a spot filter line
2027 </tt>
2028
2029 <P>
2030 A sysop can clear an input or normal output filter for a user or the
2031 node_default or user_default. 
2032
2033 <sect1>clear/wcy (0)
2034
2035 <P>
2036 <tt>
2037 <bf>clear/wcy &lsqb;1&verbar;all&rsqb;</bf> Clear a WCY filter line
2038 </tt>
2039
2040 <P>
2041 This command allows you to clear (remove) a line in a WCY filter or to 
2042 remove the whole filter.
2043
2044 see CLEAR/SPOTS for a more detailed explanation.
2045
2046 <sect1>clear/wcy (extended for sysops) (8)
2047
2048 <P>
2049 <tt>
2050 <bf>clear/wcy &lsqb;input&rsqb; &lt;callsign&gt; &lsqb;0-9&verbar;all&rsqb;</bf> Clear a WCY filter line
2051 </tt>
2052
2053 <P>
2054 A sysop can clear an input or normal output filter for a user or the
2055 node_default or user_default. 
2056
2057 <sect1>clear/wwv (0)
2058
2059 <P>
2060 <tt>
2061 <bf>clear/wwv &lsqb;1&verbar;all&rsqb;</bf> Clear a WWV filter line
2062 </tt>
2063
2064 <P>
2065 This command allows you to clear (remove) a line in a WWV filter or to
2066 remove the whole filter.
2067
2068 see CLEAR/SPOTS for a more detailed explanation.
2069
2070 <sect1>clear/wwv (extended for sysops) (8)
2071
2072 <P>
2073 <tt>
2074 <bf>clear/wwv &lsqb;input&rsqb; &lt;callsign&gt; &lsqb;0-9&verbar;all&rsqb;</bf> Clear a WWV filter line
2075 </tt>
2076
2077 <P>
2078 A sysop can clear an input or normal output filter for a user or the
2079 node_default or user_default.
2080
2081 <sect1>connect (5) 
2082
2083 <P>
2084 <tt>
2085 <bf>connect &lt;callsign&gt;</bf> Start a connection to another DX Cluster
2086 </tt>
2087
2088 <P>
2089 Start a connection process that will culminate in a new connection to the
2090 DX cluster &lt;callsign&gt;. This process creates a new 'client' process which will
2091 use the script in /spider/connect/&lt;callsign&gt; to effect the 'chat' exchange
2092 necessary to traverse the network(s) to logon to the cluster &lt;callsign&gt;.
2093
2094 <sect1>dbavail (0)
2095
2096 <P>
2097 <tt>
2098 <bf>dbavail</bf> Show a list of all the databases in the system
2099 </tt>
2100
2101 <P>
2102 The title says it all really, this command lists all the databases defined
2103 in the system. It is also aliased to SHOW/COMMAND.
2104
2105 <sect1>dbcreate (9)
2106
2107 <P>
2108 <tt>
2109 <bf>dbcreate &lt;name&gt;</bf> Create a database entry<newline>
2110 <bf>dbcreate &lt;name&gt; chain &lt;name&gt; [&lt;name&gt;..]</bf> Create a 
2111 chained database entry<newline>
2112 <bf>dbcreate &lt;name&gt; remote &lt;node&gt;</bf> Create a remote database
2113 entry<newline>
2114 </tt>
2115
2116 <P>
2117 DBCREATE allows you to define a database in the system. It doesn't actually
2118 create anything, just defines it.
2119
2120 The databases that are created are simple DB_File hash databases, they are 
2121 therefore already 'indexed'.
2122
2123 You can define a local database with the first form of the command eg:
2124
2125   DBCREATE oblast
2126
2127 You can also chain databases with the addition of the 'chain' keyword. 
2128 This will search each database one after the other. A typical example 
2129 is:
2130
2131   DBCREATE sdx_qsl chain sql_ad
2132
2133 No checking is done to see if the any of the chained databases exist, in
2134 fact it is usually better to do the above statement first then do each of
2135 the chained databases.
2136
2137 Databases can exist offsite. To define a database that lives on another 
2138 node do:
2139
2140   DBCREATE buckmaster remote gb7dxc
2141
2142 Remote databases cannot be chained; however, the last database in a 
2143 a chain can be a remote database eg:
2144
2145   DBCREATE qsl chain gb7dxc
2146
2147 To see what databases have been defined do:
2148
2149   DBAVAIL (or it will have been aliased to SHOW/COMMAND)
2150
2151 It would be normal for you to add an entry into your local Aliases file
2152 to allow people to use the 'SHOW/&lt;dbname&gt;' style syntax. So you would
2153 need to add a line like:-
2154
2155 <tscreen><verb>
2156   's' => [
2157     ..
2158     ..
2159     '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
2160     ..
2161     ..
2162    ],
2163 </verb></tscreen>
2164
2165 to allow 
2166
2167   SH/BUCK g1tlh
2168
2169 to work as they may be used to.
2170
2171 See DBIMPORT for the importing of existing AK1A format data to databases.
2172 See DBSHOW for generic database enquiry
2173
2174 <sect1>dbimport (9)
2175
2176 <P>
2177 <tt>
2178 <bf>dbimport &lt;dbname&gt;</bf> Import AK1A data into a database
2179 </tt>
2180
2181 <P>
2182 If you want to import or update data in bulk to a database you can use
2183 this command. It will either create or update entries into an existing
2184 database. For example:-
2185
2186   DBIMPORT oblast /tmp/OBLAST.FUL
2187
2188 will import the standard OBLAST database that comes with AK1A into the
2189 oblast database held locally.
2190
2191 <sect1>dbremove (9)
2192
2193 <P>
2194 <tt>
2195 <bf>dbremove &lt;dbname&gt;</bf> Delete a database
2196 </tt>
2197
2198 <P>
2199 DBREMOVE will completely remove a database entry and also delete any data
2200 file that is associated with it. 
2201
2202 There is no warning, no comeback, no safety net. 
2203
2204 For example:
2205
2206   DBREMOVE oblast 
2207
2208 will remove the oblast database from the system and it will also remove
2209 the associated datafile.
2210
2211 I repeat:
2212
2213 There is no warning, no comeback, no safety net.
2214
2215 You have been warned.
2216
2217 <sect1>dbshow (0)
2218
2219 <P>
2220 <tt>
2221 <bf>dbshow &lt;dbname&gt; &lt;key&gt;</bf> Display an entry, if it exists, 
2222 in a database
2223 </tt>
2224
2225 <P>
2226 This is the generic user interface to the database to the database system.
2227 It is expected that the sysop will add an entry to the local Aliases file
2228 so that users can use the more familiar AK1A style of enquiry such as:
2229
2230 <tscreen><verb>
2231   SH/BUCK G1TLH
2232 </verb></tscreen>
2233
2234 but if he hasn't and the database really does exist (use DBAVAIL or
2235 SHOW/COMMAND to find out) you can do the same thing with:
2236
2237 <tscreen><verb>
2238   DBSHOW buck G1TLH
2239 </verb></tscreen>
2240
2241
2242 <sect1>debug (9)
2243
2244 <P>
2245 <tt>
2246 <bf>debug</bf> Set the cluster program into debug mode
2247 </tt>
2248
2249 <P>
2250 Executing this command will only have an effect if you are running the cluster
2251 in debug mode i.e.
2252
2253 <tscreen><verb>
2254         perl -d cluster.pl
2255 </verb></tscreen>
2256
2257 It will interrupt the cluster just after the debug command has finished.
2258
2259 <sect1>delete/user (9)
2260
2261 <P>
2262 <tt>
2263 <bf>delete/user &lt;callsign&gt;</bf> Delete a user from the User Database
2264 </tt>
2265
2266 <P>
2267 This command will completely remove a one or more users from the database.
2268
2269 There is NO SECOND CHANCE.
2270
2271 It goes without saying that you should use this command CAREFULLY!
2272
2273
2274 <sect1>directory (0)
2275
2276 <P>
2277 <tt>
2278 <bf>directory</bf> List messages<newline> 
2279 <bf>directory all</bf> List all messages<newline>
2280 <bf>directory own</bf> List your own messages<newline>
2281 <bf>directory new</bf> List all new messages<newline>
2282 <bf>directory to &lt;call&gt;</bf> List all messages to &lt;call&gt;<newline>
2283 <bf>directory from &lt;call&gt;</bf> List all messages from &lt;call&gt;<newline>
2284 <bf>directory subject &lt;string&gt;</bf> List all messages with &lt;string&gt; 
2285 in subject<newline>
2286 <bf>directory &lt;nn&gt;</bf> List last &lt;nn&gt; messages<newline>
2287 <bf>directory &lt;from&gt;-&lt;to&gt;</bf> List messages &lt;from&gt; message &lt;to&gt; message <newline>
2288 </tt>
2289
2290 <P>
2291 List the messages in the messages directory.
2292
2293 If there is a 'p' one space after the message number then it is a 
2294 personal message. If there is a '-' between the message number and the
2295 'p' then this indicates that the message has been read.
2296
2297 You can use shell escape characters such as '*' and '?' in the &lt;call&gt;
2298 fields.
2299
2300 You can combine some of the various directory commands together eg:-
2301
2302 <tscreen><verb>
2303    DIR TO G1TLH 5
2304 or 
2305    DIR SUBJECT IOTA 200-250
2306 </verb></tscreen>
2307
2308 You can abbreviate all the commands to one letter and use ak1a syntax:-
2309
2310 <tscreen><verb>
2311    DIR/T G1* 10
2312    DIR/S QSL 10-100 5
2313 </verb></tscreen>
2314
2315
2316 <sect1>directory (extended for sysops) (5)
2317
2318 <P>
2319 Works just like the user command except that sysops can see ALL messages.
2320
2321 <sect1>disconnect (8)
2322
2323 <P>
2324 <tt>
2325 <bf>disconnect &lt;call&gt; [&lt;call&gt; ...]</bf> Disconnect a user or node
2326 </tt>
2327
2328 <P>
2329 Disconnect any &lt;call&gt; connected locally
2330
2331 <sect1>dx (0)
2332
2333 <P>
2334 <tt>
2335 <bf>dx &lsqb;by &lt;call&gt;&rsqb; &lt;freq&gt; &lt;call&gt; &lt;remarks&gt;</bf> Send a DX spot
2336 </tt>
2337
2338 <P>
2339 This is how you send a DX Spot to other users. You can, in fact, now
2340 enter the &lt;freq&gt; and the &lt;call&gt; either way round. 
2341
2342 <tscreen><verb>
2343    DX FR0G 144.600
2344    DX 144.600 FR0G
2345    DX 144600 FR0G 
2346 </verb></tscreen>
2347
2348 will all give the same result. You can add some remarks to the end
2349 of the command and they will be added to the spot.
2350
2351 <tscreen><verb>
2352    DX FR0G 144600 this is a test
2353 </verb></tscreen>
2354
2355 You can credit someone else by saying:-
2356
2357 <tscreen><verb>
2358    DX by G1TLH FR0G 144.600 he isn't on the cluster
2359 </verb></tscreen>
2360
2361 The &lt;freq&gt; is compared against the available bands set up in the 
2362 cluster.  See SHOW/BANDS for more information.
2363
2364 <sect1>export (9)
2365
2366 <P>
2367 <tt>
2368 <bf>export &lt;msgno&gt; &lt;filename&gt;</bf> Export a message to a file
2369 </tt>
2370
2371 <P>
2372 Export a message to a file. This command can only be executed on a local
2373 console with a fully privileged user. The file produced will be in a form
2374 ready to be imported back into the cluster by placing it in the import 
2375 directory (/spider/msg/import).
2376
2377 This command cannot overwrite an existing file. This is to provide some 
2378 measure of security. Any files written will owned by the same user as the 
2379 main cluster, otherwise you can put the new files anywhere the cluster can
2380 access. For example:-
2381
2382   EXPORT 2345 /tmp/a
2383
2384 <sect1>export_users (9)
2385
2386 <P>
2387 <tt>
2388 <bf>export_users &lsqb;&lt;filename&gt;&rsqb;</bf> Export the users database to ascii
2389 </tt>
2390
2391 <P>
2392 Export the users database to a file in ascii format. If no filename
2393 is given then it will export the file to /spider/data/user_asc.
2394
2395 If the file already exists it will be renamed to &lt;filename&gt;.o. In fact
2396 up to 5 generations of the file can be kept each one with an extra 'o' on the
2397 suffix. 
2398
2399 BE WARNED: this will write to any file you have write access to. No check is
2400 made on the filename (if any) that you specify.
2401
2402 <sect1>filtering (0)
2403
2404 <P>
2405 <tt>
2406 <bf>filtering</bf> Filtering things in DXSpider
2407 </tt>
2408
2409 <P>
2410 There are a number of things you can filter in the DXSpider system. They
2411 all use the same general mechanism.
2412
2413 In general terms you can create a 'reject' or an 'accept' filter which
2414 can have up to 10 lines in it. You do this using, for example:-
2415  
2416   accept/spots .....
2417   reject/spots .....
2418
2419 where ..... are the specific commands for that type of filter. There
2420 are filters for spots, wwv, announce, wcy and (for sysops)
2421 connects. See each different accept or reject command reference for
2422 more details.
2423
2424 There is also a command to clear out one or more lines in a filter and
2425 one to show you what you have set. They are:-
2426
2427   clear/spots 1
2428   clear/spots all
2429
2430 and 
2431   
2432   show/filter
2433
2434 There is clear/xxxx command for each type of filter.
2435
2436 For now we are going to use spots for the examples, but you can apply
2437 the principles to all types of filter.
2438
2439 There are two main types of filter 'accept' or 'reject'; which you use
2440 depends entirely on how you look at the world and what is least
2441 writing to achieve what you want. Each filter has 10 lines (of any
2442 length) which are tried in order. If a line matches then the action
2443 you have specified is taken (ie reject means ignore it and accept
2444 means gimme it).
2445
2446 The important thing to remember is that if you specify a 'reject'
2447 filter (all the lines in it say 'reject/spots' (for instance) then if
2448 a spot comes in that doesn't match any of the lines then you will get
2449 it BUT if you specify an 'accept' filter then any spots that don't
2450 match are dumped. For example if I have a one line accept filter:-
2451
2452   accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2453
2454 then automatically you will ONLY get VHF spots from or to CQ zones 14
2455 15 and 16.  If you set a reject filter like:
2456
2457   reject/spots on hf/cw
2458
2459 Then you will get everything EXCEPT HF CW spots, If you am interested in IOTA
2460 and will work it even on CW then you could say:-
2461
2462   reject/spots on hf/cw and not info iota
2463
2464 But in that case you might only be interested in iota and say:-
2465
2466   accept/spots not on hf/cw or info iota
2467
2468 which is exactly the same. You should choose one or the other until
2469 you are confortable with the way it works. Yes, you can mix them
2470 (actually you can have an accept AND a reject on the same line) but
2471 don't try this at home until you can analyse the results that you get
2472 without ringing up the sysop for help.
2473
2474 You can arrange your filter lines into logical units, either for your
2475 own understanding or simply convenience. I have one set frequently:-
2476
2477   reject/spots 1 on hf/cw
2478   reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)  
2479
2480 What this does is to ignore all HF CW spots (being a class B I can't
2481 read any CW and couldn't possibly be interested in HF :-) and also
2482 rejects any spots on VHF which don't either originate or spot someone
2483 in Europe.
2484
2485 This is an exmaple where you would use the line number (1 and 2 in
2486 this case), if you leave the digit out, the system assumes '1'. Digits
2487 '0'-'9' are available.
2488
2489 You can leave the word 'and' out if you want, it is implied. You can
2490 use any number of brackets to make the 'expression' as you want
2491 it. There are things called precedence rules working here which mean
2492 that you will NEED brackets in a situation like line 2 because,
2493 without it, will assume:-
2494
2495   (on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16 
2496
2497 annoying, but that is the way it is. If you use OR - use
2498 brackets. Whilst we are here CASE is not important. 'And BY_Zone' is
2499 just 'and by_zone'.
2500
2501 If you want to alter your filter you can just redefine one or more
2502 lines of it or clear out one line. For example:-
2503
2504   reject/spots 1 on hf/ssb
2505
2506 or 
2507
2508   clear/spots 1
2509
2510 To remove the filter in its entirty:-
2511
2512   clear/spots all
2513
2514 There are similar CLEAR commands for the other filters:-
2515
2516   clear/announce
2517   clear/wcy
2518   clear/wwv
2519
2520 ADVANCED USERS:-
2521
2522 Once you are happy with the results you get, you may like to experiment. 
2523
2524 my example that filters hf/cw spots and accepts vhf/uhf spots from EU
2525 can be written with a mixed filter, eg:
2526
2527   rej/spot on hf/cw
2528   acc/spot on 0/30000
2529   acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
2530
2531 each filter slot actually has a 'reject' slot and an 'accept'
2532 slot. The reject slot is executed BEFORE the accept slot.
2533
2534 It was mentioned earlier that after a reject test that doesn't match,
2535 the default for following tests is 'accept', the reverse is true for
2536 'accept'. In the example what happens is that the reject is executed
2537 first, any non hf/cw spot is passed to the accept line, which lets
2538 thru everything else on HF.
2539
2540 The next filter line lets through just VHF/UHF spots from EU.
2541
2542 <sect1>forward/latlong (8)
2543
2544 <P>
2545 <tt>
2546 <bf>forward/latlong &lt;node_call&gt;</bf> Send latitude and longitude 
2547 information to another cluster
2548 </tt>
2549
2550 <P>
2551 This command sends all the latitude and longitude information that your
2552 cluster is holding against callsigns.  One advantage of recieving this
2553 information is that more locator information is held by you.  This
2554 means that more locators are given on the DX line assuming you have
2555 <em>set/dxgrid</em> enabled.  This could be a LOT of information though, so
2556 it is not recommended on slow links.
2557
2558 <sect1>forward/opername (1)
2559
2560 <P>
2561 <tt>
2562 <bf>forward/opername &lt;call&gt;</bf> Send out information on this &lt;call&gt; 
2563 to all clusters
2564 </tt>
2565
2566 <P>
2567 This command sends out any information held in the user file which can 
2568 be broadcast in PC41 protocol packets. This information is Name, QTH, Location
2569 and Homenode. PC41s are only sent for the information that is available.
2570
2571 <sect1>help (0)
2572
2573 <P>
2574 <tt>
2575 <bf>help &lt;cmd&gt;</bf> Get help on a command
2576 </tt>
2577
2578 <P>
2579 All commands can be abbreviated, so SHOW/DX can be abbreviated
2580 to SH/DX, ANNOUNCE can be shortened to AN and so on.
2581
2582 Look at the APROPOS &lt;string&gt; command which will search the help database
2583 for the &lt;string&gt; you specify and give you a list of likely commands
2584 to look at with HELP.
2585
2586 <sect1>init (5)
2587
2588 <P>
2589 <tt>
2590 <bf>init &lt;node call&gt;</bf> Re-initialise a link to an AK1A compatible node
2591 </tt>
2592
2593 <P>
2594 This command attempts to re-initialise a link to a (usually) AK1A node
2595 that has got confused, usually by a protocol loop of some kind. It may
2596 work - but you usually will be better off simply disconnecting it (or
2597 better, if it is a real AK1A node, doing an RCMD &lt;node&gt; DISC/F &lt;your
2598 node&gt;).
2599
2600 Best of luck - you will need it.
2601
2602 <sect1>kill (0)
2603
2604 <P>
2605 <tt>
2606 <bf>kill &lt;msgno&gt; &lsqb;&lt;msgno&gt; ..&rsqb;</bf> Delete a message 
2607 from the local system
2608 </tt>
2609
2610 <P>
2611 Delete a message from the local system. You will only be able to
2612 delete messages that you have originated or been sent (unless you are
2613 the sysop).
2614
2615 <sect1>kill (5)
2616
2617 <P>
2618 <tt>
2619 <bf>kill &lt;msgno&gt [&lt;msgno&gt; ...]</bf> Remove or erase a message from 
2620 the system<newline>
2621 <bf>kill from &lt;call&gt;</bf> Remove all messages from a callsign<newline>
2622 <bf>kill to &lt;call&gt;</bf> Remove all messages to a callsign<newline>
2623 </tt>
2624
2625 <P>
2626 You can get rid of any message to or originating from your callsign using 
2627 this command. You can remove more than one message at a time.
2628
2629 As a sysop you can kill any message on the system.
2630
2631 <sect1>kill full (5)
2632
2633 <P>
2634 <tt>
2635 <bf>kill full &lt;msgno&gt; &lsqb;&lt;msgno&gt;&rsqb;</bf> Delete a message from the 
2636 whole cluster
2637 </tt>
2638
2639 <P>
2640 Delete a message (usually a 'bulletin') from the whole cluster system. 
2641
2642 This uses the subject field, so any messages that have exactly the same subject
2643 will be deleted. Beware!
2644
2645 <sect1>kill/expunge (6)
2646
2647 <P>
2648 <tt>
2649 <bf>kill/expunge &lt;msgno&gt; &lsqb;&lt;msgno&gt;..&rsqb;</bf>Expunge a message
2650 </tt>
2651
2652 <P>
2653 Deleting a message using the normal KILL commands only marks that message
2654 for deletion. The actual deletion only happens later (usually two days later).
2655
2656 The KILL EXPUNGE command causes the message to be truly deleted more or less
2657 immediately.
2658
2659 It otherwise is used in the same way as the KILL command.
2660
2661
2662 <sect1>links (0)
2663
2664 <P>
2665 <tt>
2666 <bf>links</bf> Show which nodes are physically connected
2667 </tt>
2668
2669 <P>
2670 This is a quick listing that shows which links are connected and
2671 some information about them. See WHO for a list of all connections.
2672
2673
2674 <sect1>load/aliases (9)
2675
2676 <P>
2677 <tt>
2678 <bf>load/aliases</bf> Reload the command alias table
2679 </tt>
2680
2681 <P>
2682 Reload the /spider/cmd/Aliases file after you have editted it. You will need to
2683 do this if you change this file whilst the cluster is running in order for the
2684 changes to take effect.
2685
2686 <sect1>load/badmsg (9)
2687
2688 <P>
2689 <tt>
2690 <bf>load/badmsg</bf> Reload the bad message table
2691 </tt>
2692
2693 <P>
2694 Reload the /spider/msg/badmsg.pl file if you have changed it manually whilst
2695 the cluster is running. This table contains a number of perl regular 
2696 expressions which are searched for in the fields targetted of each message. 
2697 If any of them match then that message is immediately deleted on receipt. 
2698
2699 <sect1>load/badwords (9)
2700
2701 <P>
2702 <tt>
2703 <bf>load/badwords</bf> Reload the bad words table
2704 </tt>
2705
2706 <P>
2707 Reload the /spider/data/badwords file if you have changed it manually whilst
2708 the cluster is running. This file contains a list of words which, if found
2709 on certain text portions of PC protocol, will cause those protocol frames
2710 to be rejected. It will all put out a message if any of these words are
2711 used on the announce, dx and talk commands. The words can be one or 
2712 more on a line, lines starting with '#' are ignored.
2713
2714 <sect1>load/bands (9)
2715
2716 <P>
2717 <tt>
2718 <bf>load/bands</bf> Reload the band limits table
2719 </tt>
2720
2721 <P>
2722 Reload the /spider/data/bands.pl file if you have changed it manually whilst
2723 the cluster is running. 
2724
2725 <sect1>load/cmd_cache (9)
2726
2727 <P>
2728 <tt>
2729 <bf>load/cmd_cache</bf> Reload the automatic command cache
2730 </tt>
2731
2732 <P>
2733 Normally, if you change a command file in the cmd or local_cmd tree it will
2734 automatially be picked up by the cluster program. Sometimes it can get confused
2735 if you are doing a lot of moving commands about or delete a command in the 
2736 local_cmd tree and want to use the normal one again. Execute this command to
2737 reset everything back to the state it was just after a cluster restart.
2738
2739 <sect1>load/forward (9)
2740
2741 <P>
2742 <tt>
2743 <bf>load/forward</bf> Reload the msg forwarding routing table
2744 </tt>
2745
2746 Reload the /spider/msg/forward.pl file if you have changed it
2747 manually whilst the cluster is running.
2748
2749 <sect1>load/messages (9)
2750
2751 <P>
2752 <tt>
2753 <bf>load/messages</bf> Reload the system messages file
2754 </tt>
2755
2756 <P>
2757 If you change the /spider/perl/Messages file (usually whilst fiddling/writing ne
2758 commands) you can have them take effect during a cluster session by executing this
2759 command. You need to do this if get something like :-
2760
2761 unknown message 'xxxx' in lang 'en'
2762
2763 <sect1>load/prefixes (9)
2764
2765 <P>
2766 <tt>
2767 <bf>load/prefixes</bf> Reload the prefix table
2768 </tt>
2769
2770 <P>
2771 Reload the /spider/data/prefix_data.pl file if you have changed it manually 
2772 whilst the cluster is running. 
2773
2774 <sect1>merge (5)
2775
2776 <P>
2777 <tt>
2778 <bf>merge &lt;node&gt; [&lt;no spots&gt;/&lt;no wwv&gt;]</bf> Ask for the 
2779 latest spots and WWV
2780 </tt>
2781
2782 <P>
2783 MERGE allows you to bring your spot and wwv database up to date. By default
2784 it will request the last 10 spots and 5 WWVs from the node you select. The 
2785 node must be connected locally.
2786
2787 You can request any number of spots or wwv and although they will be appended
2788 to your databases they will not duplicate any that have recently been added 
2789 (the last 2 days for spots and last month for WWV data).
2790
2791 <sect1>msg (9)
2792
2793 <P>
2794 <tt>
2795 <bf>msg &lt;cmd&gt; &lt;msgno&gt; [data ...]</bf> Alter various message 
2796 parameters
2797 </tt>
2798
2799 <P>
2800 Alter message parameters like To, From, Subject, whether private or bulletin
2801 or return receipt (RR) is required or whether to keep this message from timing
2802 out.
2803
2804 <tscreen><verb>
2805   MSG TO <msgno> <call>     - change TO callsign to <call>
2806   MSG FRom <msgno> <call>   - change FROM callsign to <call>
2807   MSG PRrivate <msgno>      - set private flag
2808   MSG NOPRrivate <msgno>    - unset private flag
2809   MSG RR <msgno>            - set RR flag
2810   MSG NORR <msgno>          - unset RR flag
2811   MSG KEep <msgno>          - set the keep flag (message won't be deleted ever)
2812   MSG NOKEep <msgno>        - unset the keep flag
2813   MSG SUbject <msgno> <new> - change the subject to <new>
2814   MSG WAittime <msgno>      - remove any waitting time for this message
2815   MSG NOREad <msgno>        - mark message as unread
2816   MSG REad <msgno>          - mark message as read
2817   MSG QUeue                 - queue any outstanding bulletins
2818   MSG QUeue 1               - queue any outstanding private messages
2819 </verb></tscreen>
2820
2821 You can look at the status of a message by using:-
2822
2823   STAT/MSG &lt;msgno&gt;      
2824
2825 This will display more information on the message than DIR does.
2826
2827 <sect1>pc (8)
2828
2829 <P>
2830 <tt>
2831 <bf>pc &lt;call&gt; &lt;text&gt;</bf> Send text (eg PC Protocol) to &lt;call&gt;
2832 </tt>
2833
2834 <P>
2835 Send some arbitrary text to a locally connected callsign. No processing is done on
2836 the text. This command allows you to send PC Protocol to unstick things if problems
2837 arise (messages get stuck etc). eg:-
2838
2839    pc gb7djk PC33^GB7TLH^GB7DJK^400^
2840
2841 You can also use in the same way as a talk command to a connected user but
2842 without any processing, added of "from &lt;blah&gt; to &lt;blah&gt;" or whatever.
2843
2844    pc G1TLH Try doing that properly!!!
2845
2846 <sect1>ping (1)
2847
2848 <P>
2849 <tt>
2850 <bf>ping &lt;node&gt;</bf> Check the link quality between nodes
2851 </tt>
2852
2853 <P>
2854 his command allows you to send a frame to another cluster node on
2855 the network and get a return frame.  The time it takes to do this
2856 is a good indication of the quality of the link.  The actual time
2857 it takes is output to the console in seconds.
2858 Any visible cluster node can be PINGed.
2859
2860
2861 <sect1>rcmd (1)
2862
2863 <P>
2864 <tt>
2865 <bf>rcmd &lt;node call&gt; &lt;cmd&gt;</bf> Send a command to another DX cluster
2866 </tt>
2867
2868 <P>
2869 This command allows you to send nearly any command to another DX Cluster
2870 node that is connected to the system. 
2871
2872 Whether you get any output is dependant on a) whether the other system knows
2873 that the node callsign of this cluster is in fact a node b) whether the
2874 other system is allowing RCMDs from this node and c) whether you have
2875 permission to send this command at all.
2876
2877 <sect1>read (0)
2878
2879 <P>
2880 <tt>
2881 <bf>read</bf> Read the next unread personal message addressed to you<newline>
2882 <bf>read &lt;msgno&gt;</bf> Read the specified message<newline>
2883 </tt>
2884
2885 <P>
2886 You can read any messages that are sent as 'non-personal' and also any
2887 message either sent by or sent to your callsign.
2888
2889
2890 <sect1>read (extended for sysops) (5) 
2891
2892 <P>
2893 <tt>
2894 <bf>read &lt;msgno&gt;</bf> Read a message on the system
2895 </tt>
2896
2897 <P>
2898 As a sysop you may read any message on the system
2899
2900 <sect1>reject/announce
2901
2902 <P>
2903 <tt>
2904 <bf>reject/announce &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set a reject filter
2905 for announce
2906 </tt>
2907
2908 <P>
2909 Create an 'reject this announce' line for a filter. 
2910
2911 An reject filter line means that if the announce matches this filter it is
2912 passed onto the user. See HELP FILTERS for more info. Please read this
2913 to understand how filters work - it will save a lot of grief later on.
2914
2915 You can use any of the following things in this line:-
2916
2917 <tscreen><verb>
2918   info <string>            eg: iota or qsl
2919   by <prefixes>            eg: G,M,2         
2920   origin <prefixes>
2921   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
2922   origin_itu <numbers>
2923   origin_zone <numbers>
2924   by_dxcc <numbers>
2925   by_itu <numbers>
2926   by_zone <numbers>
2927   channel <prefixes>
2928   wx 1                     filter WX announces
2929   dest <prefixes>          eg: 6MUK,WDX      (distros)
2930 </verb></tscreen>
2931
2932 some examples:-
2933
2934 <tscreen><verb>
2935   rej/ann by_zone 14,15,16 and not by G,M,2
2936 </verb></tscreen>
2937  
2938 You can use the tag 'all' to reject everything eg:
2939
2940 <tscreen><verb>
2941   rej/ann all
2942 </verb></tscreen>
2943
2944 but this probably for advanced users...
2945
2946 <sect1>reject/announce (extended for sysops) (8)
2947
2948 <P>
2949 <tt>
2950 <bf>reject/announce &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Announce filter sysop version
2951 </tt>
2952
2953 <P>
2954 This version allows a sysop to set a filter for a callsign as well as the
2955 default for nodes and users eg:-
2956
2957 <tscreen><verb>
2958   reject/ann by G,M,2
2959   reject/ann input node_default by G,M,2
2960   reject/ann user_default by G,M,2
2961 </verb></tscreen>
2962
2963 <sect1>reject/route (8)
2964
2965 <P>
2966 <tt>
2967 <bf>reject/route &lt;call&gt; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an 'reject' filter line for routing
2968 </tt>
2969
2970 <P>
2971 Create an 'reject this routing PC Protocol' line for a filter. 
2972
2973 <P>
2974 An reject filter line means that if a PC16/17/19/21/24/41/50 matches this filter 
2975 it is NOT passed thru that interface. See HELP FILTERING for more info. Please 
2976 read this to understand how filters work - it will save a lot of grief later on.
2977 You can use any of the following things in this line:-
2978
2979 <tscreen><verb>
2980   call <prefixes>        the callsign of the thingy
2981   call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
2982   call_itu <numbers>
2983   call_zone <numbers>
2984   origin <prefixes>      really the interface it came in on
2985   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
2986   origin_itu <numbers>
2987   origin_zone <numbers>
2988 </verb></tscreen>
2989
2990 <P>
2991 some examples:-
2992
2993 <tscreen><verb>
2994   rej/route gb7djk call_dxcc 61,38 (everything except  UK+EIRE nodes)
2995 </verb></tscreen>
2996
2997 <P>
2998 You can use the tag 'all' to reject everything eg:
2999
3000 <tscreen><verb>
3001   rej/route all     (equiv to [very] restricted mode)
3002 </verb></tscreen>
3003
3004 <sect1>reject/spots (0)
3005
3006 <P>
3007 <tt>
3008 <bf>reject/spots &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set a reject filter 
3009 line for spots
3010 </tt>
3011
3012 <P>
3013 Create a 'reject this spot' line for a filter. 
3014
3015 A reject filter line means that if the spot matches this filter it is
3016 dumped (not passed on). See HELP FILTERS for more info. Please read this
3017 to understand how filters work - it will save a lot of grief later on.
3018
3019 You can use any of the following things in this line:-
3020
3021 <tscreen><verb>
3022   freq <range>           eg: 0/30000 or hf or hf/cw or 6m,4m,2m
3023   on <range>             same as 'freq'
3024   call <prefixes>        eg: G,PA,HB9
3025   info <string>          eg: iota or qsl
3026   by <prefixes>            
3027   call_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
3028   call_itu <numbers>
3029   call_zone <numbers>
3030   by_dxcc <numbers>
3031   by_itu <numbers>
3032   by_zone <numbers>
3033   origin <prefixes>
3034   channel <prefixes>
3035 </verb></tscreen>
3036
3037 For frequencies, you can use any of the band names defined in
3038 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
3039 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
3040 this is more efficient than saying simply: on HF (but don't get
3041 too hung up about that)
3042
3043 some examples:-
3044
3045 <tscreen><verb>
3046   rej/spot 1 on hf
3047   rej/spot 2 on vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
3048 </verb></tscreen>
3049
3050 You can use the tag 'all' to reject everything eg:
3051
3052 <tscreen><verb>
3053   rej/spot 3 all
3054 </verb></tscreen>
3055
3056 but this probably for advanced users...
3057
3058 <sect1>reject/spots (extended for sysops) (8)
3059
3060 <P>
3061 <tt>
3062 <bf>reject/spots &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf>
3063  Reject spot filter sysop version 
3064 </tt>
3065
3066 <P>
3067 This version allows a sysop to set a filter for a callsign as well as the
3068 default for nodes and users eg:-
3069
3070 <tscreen><verb>
3071   reject/spot db0sue-7 1 by_zone 14,15,16
3072   reject/spot node_default all
3073   set/hops node_default 10
3074
3075   reject/spot user_default by G,M,2
3076 </verb></tscreen>
3077
3078 <sect1>reject/wcy (0)
3079
3080 <P>
3081 <tt>
3082 <bf>reject/wcy &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set a reject WCY filter
3083 </tt>
3084
3085 <P>
3086 It is unlikely that you will want to do this, but if you do then you can
3087 filter on the following fields:-
3088
3089 <tscreen><verb>
3090   by <prefixes>            eg: G,M,2         
3091   origin <prefixes>
3092   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
3093   origin_itu <numbers>
3094   origin_zone <numbers>
3095   by_dxcc <numbers>
3096   by_itu <numbers>
3097   by_zone <numbers>
3098   channel <prefixes>
3099 </verb></tscreen>
3100
3101 There are no examples because WCY Broadcasts only come from one place and
3102 you either want them or not (see UNSET/WCY if you don't want them).
3103
3104 This command is really provided for future use.
3105
3106 See HELP FILTER for information.
3107
3108 <sect1>reject/wcy (extended for sysops) (8)
3109
3110 <P>
3111 <tt>
3112 <bf>reject/wcy &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf>
3113  WCY reject filter sysop version
3114 </tt>
3115
3116 <P>
3117 This version allows a sysop to set a filter for a callsign as well as the
3118 default for nodes and users eg:-
3119
3120   reject/wcy gb7djk all
3121
3122 <sect1>reject/wwv (0)
3123
3124 <P>
3125 <tt>
3126 <bf>reject/wwv &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set a reject WWV filter
3127 </tt>
3128
3129 <P>
3130 It is unlikely that you will want to do this, but if you do then you can
3131 filter on the following fields:-
3132
3133 <tscreen><verb>
3134   by <prefixes>            eg: G,M,2         
3135   origin <prefixes>
3136   origin_dxcc <numbers>    eg: 61,62 (from eg: sh/pre G)
3137   origin_itu <numbers>
3138   origin_zone <numbers>
3139   by_dxcc <numbers>
3140   by_itu <numbers>
3141   by_zone <numbers>
3142   channel <prefixes>
3143 </verb></tscreen>
3144
3145 for example 
3146
3147 <tscreen><verb>
3148   reject/wwv by_zone 14,15,16
3149 </verb></tscreen>
3150
3151 is probably the only useful thing to do (which will only show WWV broadcasts
3152 by stations in the US).
3153
3154 See HELP FILTER for information.
3155
3156 <sect1>reject/wwv (extended for sysops) (8)
3157
3158 <P>
3159 <tt>
3160 <bf>reject/wwv &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf>
3161  WWV reject filter sysop version
3162 </tt>
3163
3164 <P>This version allows a sysop to set a filter for a callsign as well as the
3165 default for nodes and users eg:-
3166
3167 <tscreen><verb>
3168   reject/wwv db0sue-7 1 by_zone 4
3169   reject/wwv node_default all
3170
3171   reject/wwv user_default by W
3172 </verb></tscreen>
3173
3174 <sect1>reply (0)
3175
3176 <P>
3177 <tt>
3178 <bf>reply</bf> Reply (privately) to the last message that you have read<newline>
3179 <bf>reply &lt;msgno&gt;</bf> Reply (privately) to the specified message<newline>
3180 <bf>reply B &lt;msgno&gt;</bf> Reply as a Bulletin to the specified message<newline>
3181 <bf>reply NOPrivate &lt;msgno&gt;</bf> Reply as a Bulletin to the specified
3182 message<newline>
3183 <bf>reply RR &lt;msgno&gt;</bf> Reply to the specified message with read 
3184 receipt<newline>
3185 </tt>
3186
3187 <P>
3188 You can reply to a message and the subject will automatically have
3189 "Re:" inserted in front of it, if it isn't already present.
3190
3191 You can also use all the extra qualifiers such as RR, PRIVATE, 
3192 NOPRIVATE, B that you can use with the SEND command (see SEND
3193 for further details)
3194
3195 <sect1>send (0)
3196
3197 <P>
3198 <tt>
3199 <bf>send &lt;call&gt; &lsqb;&lt;call&gt; ...&rsqb;</bf> Send a message to 
3200 one or more callsigns<newline>
3201 <bf>send RR &lt;call&gt;</bf> Send a message and ask for a read receipt<newline>
3202 <bf>send COPY &lt;msgno&gt; &lt;call&gt;</bf> Send a copy of a  message 
3203 to someone<newline>
3204 <bf>send PRIVATE &lt;call&gt;</bf> Send a personal message<newline>
3205 <bf>send NOPRIVATE &lt;call&gt;</bf> Send a message to all stations<newline>
3206 </tt>
3207
3208 <P>
3209 All the SEND commands will create a message which will be sent either to
3210 an individual callsign or to one of the 'bulletin' addresses. 
3211
3212 SEND &lt;call&gt; on its own acts as though you had typed SEND PRIVATE, that is
3213 it will mark the message as personal and send it to the cluster node that
3214 that callsign is connected to.
3215
3216 You can have more than one callsign in all of the SEND commands.
3217
3218 You can have multiple qualifiers so that you can have for example:-
3219
3220 <tscreen><verb>
3221   SEND RR COPY 123 PRIVATE G1TLH G0RDI
3222 </verb></tscreen>
3223
3224 which should send a copy of message 123 to G1TLH and G0RDI and you will
3225 receive a read receipt when they have read the message.
3226
3227 SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
3228 SP is an alias for SEND PRIVATE
3229
3230 <sect1>set/address (0)
3231
3232 <P>
3233 <tt>
3234 <bf>set/address &lt;your_address&gt;</bf> Record your postal address
3235 </tt>
3236
3237 <P>
3238 Literally, record your address details on the cluster.
3239
3240 <sect1>set/announce (0)
3241
3242 <P>
3243 <tt>
3244 <bf>set/announce</bf> Allow announce messages
3245 </tt>
3246
3247 <P>
3248 Allow announce messages to arrive at your terminal.
3249
3250 <sect1>set/arcluster (5)
3251
3252 <P>
3253 <tt>
3254 <bf>set/arcluster &lt;node_call&gt; &lsqb;&lt;node_call&gt; ...&rsqb;</bf> Make
3255 the node_call an AR-Cluster type node
3256 </tt>
3257
3258 <P>
3259 Set the node_call as an AR-Cluster type node
3260
3261 <sect1>set/baddx (8)
3262
3263 <P>
3264 <tt>
3265 <bf>set/baddx &lt;call&gt;</bf> Stop words we do not wish to see in the callsign field
3266 of a dx spot being propagated
3267 </tt>
3268
3269 <P>
3270 Setting a word as 'baddx' will prevent spots with that word in the callsign 
3271 field of a DX spot from going any further. They will not be displayed and they 
3272 will not be sent onto other nodes.
3273
3274 The word must be wriiten in full, no wild cards are allowed eg:-
3275
3276 <tscreen><verb>
3277   set/baddx FORSALE VIDEO FR0G 
3278 </verb></tscreen>
3279
3280 To allow a word again, use the following command ...
3281
3282 <tscreen><verb>
3283   unset/baddx VIDEO
3284 </verb></tscreen>
3285
3286 <sect1>set/badnode (6)
3287
3288 <P>
3289 <tt>
3290 <bf>set/badnode &lt;node_call&gt;</bf> Stop spots from this node_call
3291 being propagated
3292 </tt>
3293
3294 <P>
3295 Setting a callsign as a 'badnode' will prevent spots from that node 
3296 going any further. They will not be displayed and they will not be 
3297 sent onto other nodes.
3298
3299 The call can be a full or partial call (or a prefix), eg:-
3300
3301 <tscreen><verb>
3302   set/badnode K1TTT 
3303 </verb></tscreen>
3304
3305 will stop anything from K1TTT (including any SSID's)
3306
3307 <tscreen><verb>
3308   unset/badnode K1TTT
3309 </verb></tscreen>
3310
3311 will allow spots from him again.
3312
3313 Use with extreme care. This command may well be superceded by FILTERing.
3314
3315 <sect1>set/badspotter (8)
3316
3317 <P>
3318 <tt>
3319 <bf>set/badspotter &lt;call&gt;</bf> Stop spots from this callsign being propagated
3320 </tt>
3321
3322 <P>
3323 Setting a callsign as a 'badspotter' will prevent spots from this callsign 
3324 going any further. They will not be displayed and they will not be 
3325 sent onto other nodes.
3326
3327 The call must be written in full, no wild cards are allowed eg:-
3328
3329 <tscreen><verb>
3330   set/badspotter VE2STN 
3331 </verb></tscreen>
3332
3333 will stop anything from VE2STN. If you want SSIDs as well then you must
3334 enter them specifically.
3335
3336 <tscreen><verb>
3337   unset/badspotter VE2STN
3338 </verb></tscreen>
3339
3340 will allow spots from him again.
3341
3342 Use with extreme care. This command may well be superceded by FILTERing.
3343
3344 <sect1>set/badword (8)
3345
3346 <P>
3347 <tt>
3348 <bf>set/badword &lt;word&gt;</bf> Stop things with this word being propogated
3349 </tt>
3350
3351 <P>
3352 Setting a word as a 'badword' will prevent things like spots,
3353 announces or talks with this word in the the text part from going any
3354 further. They will not be displayed and they will not be sent onto
3355 other nodes.
3356
3357 The word must be written in full, no wild cards are allowed eg:-
3358
3359   set/badword annihilate annihilated annihilation 
3360
3361 will stop anything with these words in the text.
3362
3363   unset/badword annihilated
3364
3365 will allow text with this word again.
3366
3367
3368 <sect1>set/beep (0)
3369
3370 <P>
3371 <tt>
3372 <bf>set/beep</bf> Add beeps to terminal messages
3373 </tt>
3374
3375 <P>
3376 Add a beep to DX and other terminal messages.
3377
3378 <sect1>set/bbs (5)
3379
3380 <P>
3381 <tt>
3382 <bf>set/bbs &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb;</bf>Make &lt;call&gt; a BBS
3383 </tt>
3384
3385 <sect1>set/clx (5)
3386
3387 <P>
3388 <tt>
3389 <bf>set/clx &lt;node_call&gt; &lsqb;&lt;node_call&gt; ...&rsqb;</bf> Make
3390 the node_call a CLX type node
3391 </tt>
3392
3393 <P>
3394 Set the node_call as a CLX type node
3395
3396 <sect1>set/debug (9)
3397
3398 <P>
3399 <tt>
3400 <bf>set/debug &lt;name&gt;</bf> Add a debug level to the debug set
3401 </tt>
3402
3403 <P>
3404 You can choose to log several different levels.  The levels are
3405
3406 chan
3407 state
3408 msg
3409 cron
3410 connect
3411
3412 You can show what levels you are logging with the <em>show/debug</em>
3413 command.
3414
3415 You can remove a debug level with unset/debug &lt;name&gt;
3416
3417 <sect1>set/dx (0)
3418
3419 <P>
3420 <tt>
3421 <bf>set/dx</bf>Allow DX messages to arrive at your terminal
3422 </tt>
3423
3424 <P>
3425 You can stop DX messages with the <em>unset/dx</em> command
3426
3427 <sect1>set/dxgrid (0)
3428
3429 <P>
3430 <tt>
3431 <bf>set/dxgrid</bf>Allow grid squares on the end of DX messages
3432 </tt>
3433
3434 <P>
3435 Some logging programs do not like the additional information at
3436 the end of a DX spot.  If this is the case, use the <em>unset/dxgrid</em>
3437 command to remove the grid squares.
3438
3439 <sect1>set/dxnet (5)
3440
3441 <P>
3442 <tt>
3443 <bf>set/dxnet &lt;node_call&gt; &lsqb;&lt;node_call&gt; ...&rsqb;</bf> Make
3444 the node_call a DXNet type node
3445 </tt>
3446
3447 <P>
3448 Set the node_call as a DXNet type node
3449
3450 <sect1>set/echo (0)
3451
3452 <P>
3453 <tt>
3454 <bf>set/echo</bf> Make the cluster echo your input
3455 </tt>
3456
3457 <P>
3458 If you are connected via a telnet session, different implimentations
3459 of telnet handle echo differently depending on whether you are 
3460 connected via port 23 or some other port. You can use this command
3461 to change the setting appropriately. 
3462
3463 You can remove the echo with the <em>unset/echo</em> command
3464
3465 The setting is stored in your user profile.
3466
3467 YOU DO NOT NEED TO USE THIS COMMAND IF YOU ARE CONNECTED VIA AX25.
3468
3469 <sect1>set/email (0)
3470
3471 <P>
3472 <tt>
3473 <bf>set/email &lt;email_address&gt;</bf> Set email address(es) and forward your personals
3474 </tt>
3475
3476 <P>
3477 If any personal messages come in for your callsign then you can use
3478 these commands to control whether they are forwarded onto your email
3479 address. To enable the forwarding do something like:-
3480
3481   SET/EMAIL mike.tubby@somewhere.com
3482
3483 You can have more than one email address (each one separated by a space).
3484 Emails are forwarded to all the email addresses you specify.
3485
3486 You can disable forwarding by:-
3487
3488   UNSET/EMAIL
3489
3490 <sect1>set/here (0)
3491
3492 <P>
3493 <tt>
3494 <bf>set/here</bf> Set the here flag
3495 </tt>
3496
3497 <P>
3498 Let others on the cluster know you are here by only displaying your
3499 callsign.  If you are away from your terminal you can use the <em>unset/here</em>
3500 command to let people know you are away.  This simply puts brackets
3501 around your callsign to indicate you are not available.
3502
3503 <sect1>set/homenode (0)
3504
3505 <P>
3506 <tt>
3507 <bf>set/homenode &lt;node_call&gt;</bf> Set your home cluster
3508 </tt>
3509
3510 <P>
3511 Tell the cluster system where you normally connect to. Any Messages sent
3512 to you will normally find their way there should you not be connected.
3513 eg:-
3514
3515 <tscreen><verb>
3516   SET/HOMENODE gb7djk
3517 </verb></tscreen>
3518
3519 <sect1>set/hops (8)
3520
3521 <P>
3522 <tt>
3523 <bf>set/hops &lt;node_call&gt; ann&verbar;spots&verbar;wwv&verbar;wcy &lt;n&gt;</bf>
3524 Set hop count
3525 </tt>
3526
3527 <P>
3528 Set the hop count for a particular type of broadcast for a node.
3529
3530 This command allows you to set up special hop counts for a node 
3531 for currently: announce, spots, wwv and wcy broadcasts.
3532
3533 <tscreen><verb>
3534 eg:
3535   set/hops gb7djk ann 10
3536   set/hops gb7mbc spots 20
3537 </verb></tscreen>
3538
3539 Set SHOW/HOPS for information on what is already set. This command
3540 creates a filter and works in conjunction with the filter system. 
3541
3542 <sect1>set/isolate (9)
3543
3544 <P>
3545 <tt>
3546 <bf>set/isolate &lt;node call&gt;</bf> Isolate a node from the rest of the network
3547 </tt>
3548
3549 <P>
3550 Connect a node to your system in such a way that you are a full protocol
3551 member of its network and can see all spots on it, but nothing either leaks
3552 out from it nor goes back into from the rest of the nodes connected to you.
3553
3554 You can potentially connect several nodes in this way.
3555
3556 You can see which nodes are isolated with the show/isolate (1) command.
3557
3558 You can remove the isolation with the command unset/isolate.
3559
3560 <sect1>set/language (0)
3561
3562 <P>
3563 <tt>
3564 <bf>set/language &lt;language&gt;</bf> Set the language you wish to use
3565 </tt>
3566
3567 <P>
3568 You can select the language that you want the cluster to use. Currently
3569 the languages available are <em>en</em> (English) and <em>nl</em> (Dutch).
3570
3571 <sect1>set/location (0)
3572
3573 <P>
3574 <tt>
3575 <bf>set/location &lt;lat and long&gt;</bf> Set your latitude and longitude
3576 </tt>
3577
3578 <P>
3579 You can set your latitude and longitude manually or alternatively use the
3580 <em>set/qra</em> command which will do the conversion for you.
3581
3582 <tscreen><verb>
3583   set/location 54 04 N 2 02 E
3584 </verb></tscreen>
3585
3586
3587 <sect1>set/sys_location (9)
3588
3589 <P>
3590 <tt>
3591 <bf>set/sys_location &lt;lat & long&gt;</bf> Set your cluster latitude and longitude
3592 </tt>
3593
3594 <P>
3595 In order to get accurate headings and such like you must tell the system
3596 what your latitude and longitude is. If you have not yet done a SET/QRA
3597 then this command will set your QRA locator for you. For example:-
3598
3599 <tscreen><verb>
3600   SET/LOCATION 52 22 N 0 57 E
3601 </verb></tscreen>
3602
3603 <sect1>set/logininfo (0)
3604
3605 <P>
3606 <tt>
3607 <bf>set/logininfo</bf> Show logins and logouts of nodes and users
3608 </tt>
3609
3610 <P>
3611 Show users and nodes when they log in and out of the local cluster.  You
3612 can stop these messages by using the <em>unset/logininfo</em> command.
3613
3614
3615 <sect1>set/lockout (9)
3616
3617 <P>
3618 <tt>
3619 <bf>set/lockout &lt;call&gt;</bf> Stop a callsign connecting to the cluster
3620 </tt>
3621
3622 <P>
3623 You can show who is locked out with the <em>show/lockout</em> command.
3624 To allow the user to connect again, use the <em>unset/lockout</em> command.
3625
3626 <sect1>set/name (0)
3627
3628 <P>
3629 <tt>
3630 <bf>set/name &lt;your_name&gt;</bf> Set your name
3631 </tt>
3632
3633 <P>
3634 Tell the cluster what your name is, eg:-
3635
3636 <tscreen><verb>
3637   set/name Dirk
3638 </verb></tscreen>
3639
3640 <sect1>set/node (9)
3641
3642 <P>
3643 <tt>
3644 <bf>set/node &lt;call&gt; [&lt;call&gt; ...]</bf> Make the callsign an AK1A cluster
3645 </tt>
3646
3647 <P>
3648 Tell the system that the call(s) are to be treated as AK1A cluster and
3649 fed PC Protocol rather normal user commands.
3650
3651 From version 1.41 you can also set the following types of cluster
3652
3653 <tscreen><verb>
3654   set/spider
3655   set/dxnet
3656   set/clx
3657   set/arcluster
3658 </verb></tscreen>
3659
3660 To see what your nodes are set to, use the <em>show/nodes</em> command.
3661
3662 <sect1>set/obscount (9)
3663
3664 <P>
3665 <tt>
3666 <bf>set/obscount &lt;count&gt; &lt;node call&gt;</bf> Set the 'pump-up' 
3667 obsolescence counter
3668 </tt>
3669
3670 <P>
3671 From version 1.35 onwards neighbouring nodes are pinged at regular intervals (see
3672 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
3673 counter which is decremented on every outgoing ping and then reset to
3674 the 'obscount' value on every incoming ping. The default value of this
3675 parameter is 2. 
3676
3677 What this means is that a neighbouring node will be pinged twice at 
3678 (default) 300 second intervals and if no reply has been heard just before
3679 what would be the third attempt, that node is disconnected.
3680
3681 If a ping is heard then the obscount is reset to the full value. Using
3682 default values, if a node has not responded to a ping within 15 minutes,
3683 it is disconnected.
3684
3685 <sect1>set/page (0)
3686
3687 <P>
3688 <tt>
3689 <bf>set/page &lt;n&gt;</bf> Set the number of lines per page
3690 </tt>
3691
3692 <P>
3693 Tell the system how many lines you wish on a page when the number of lines
3694 of output from a command is more than this. The default is 20. Setting it
3695 explicitly to 0 will disable paging. 
3696
3697 <tscreen><verb>
3698   SET/PAGE 30
3699   SET/PAGE 0
3700 </verb></tscreen>
3701
3702 The setting is stored in your user profile.
3703
3704 <sect1>set/password (0)
3705
3706 <P>
3707 <tt>
3708 <bf>set/password</bf> Set your own password
3709 </tt>
3710
3711 <P>
3712 This command only works for a 'telnet' user (currently). It will
3713 only work if you have a password already set. This initial password
3714 can only be set by the sysop.
3715
3716 When you execute this command it will ask you for your old password,
3717 then ask you to type in your new password twice (to make sure you
3718 get it right). You may or may not see the data echoed on the screen
3719 as you type, depending on the type of telnet client you have.
3720
3721 <sect1>set/password (9)
3722
3723 <P>
3724 <tt>
3725 <bf>set/password &lt;callsign&gt; &lt;string&gt;</bf> Set a users password
3726 </tt>
3727
3728 <P>
3729 The password for a user can only be set by a full sysop. The string
3730 can contain any characters. 
3731
3732 The way this field is used depends on context. If it is being used in
3733 the SYSOP command context then you are offered 5 random numbers and you
3734 have to supply the corresponding letters. This is now mainly for ax25
3735 connections.
3736
3737 If it is being used on incoming telnet connections then, if a password
3738 is set or the:
3739
3740   set/var $main::passwdreq = 1
3741
3742 command is executed in the startup script, then a password prompt is
3743 given after the normal 'login: ' prompt.  
3744
3745 The command "unset/password" is provided to allow a sysop to remove a
3746 users password completely in case a user forgets or loses their password.
3747
3748 <sect1>set/pinginterval (9)
3749
3750 <P>
3751 <tt><bf>set/pinginterval &lt;time&gt; &lt;node call&gt;</bf> Set the ping time 
3752 to neighbouring nodes
3753 </tt>
3754
3755 <P>
3756 As from version 1.35 all neighbouring nodes are pinged at regular intervals
3757 in order to determine the rolling quality of the link and, in future, to
3758 affect routing decisions. The default interval is 300 secs or 5 minutes.
3759
3760 You can use this command to set a different interval. Please don't. 
3761
3762 But if you do the value you enter is treated as minutes up 60 and seconds
3763 for numbers greater than that.
3764
3765 This is used also to help determine when a link is down at the far end
3766 (as certain cluster software doesn't always notice), see SET/OBSCOUNT
3767 for more information.
3768
3769 <sect1>set/privilege (9)
3770
3771 <P>
3772 <tt>
3773 <bf>set/privilege &lt;n&gt; &lt;call&gt; [&lt;call&gt; ...]</bf> Set the 
3774 privilege level on a call
3775 </tt>
3776
3777 <P>
3778 Set the privilege level on a callsign. The privilege levels that pertain
3779 to commands are as default:-
3780
3781 <tscreen><verb>
3782   0 - normal user
3783   1 - allow remote nodes normal user RCMDs
3784   5 - various privileged commands (including shutdown, but not disc-
3785       connect), the normal level for another node.
3786   8 - more privileged commands (including disconnect)
3787   9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
3788       LEVEL.
3789 </verb></tscreen>
3790
3791 If you are a sysop and you come in as a normal user on a remote connection
3792 your privilege will automatically be set to 0.
3793
3794 <sect1>set/spider (5)
3795
3796 <P>
3797 <tt>
3798 <bf>set/spider &lt;node_call&gt; &lsqb;&lt;node_call&gt; ...&rsqb;</bf> Make
3799 the node_call a DXSpider type node
3800 </tt>
3801
3802 <P>
3803 Set the node_call as a DXSpider type node
3804
3805 <sect1>set/sys_qra (9)
3806
3807 <P>
3808 <tt>
3809 <bf>set/sys_qra &lt;locator&gt;</bf> Set your cluster QRA locator
3810 </tt>
3811
3812 <sect1>set/qra (0)
3813
3814 <P>
3815 <tt>
3816 <bf>set/qra &lt;locator&gt;</bf> Set your QRA locator
3817 </tt>
3818
3819 <P>
3820 Tell the system what your QRA (or Maidenhead) locator is. If you have not
3821 done a SET/LOCATION then your latitude and longitude will be set roughly
3822 correctly (assuming your locator is correct ;-). For example:-
3823
3824 <tscreen><verb>
3825   SET/QRA JO02LQ
3826 </verb></tscreen>
3827
3828 <sect1>set/qth (0)
3829
3830 <P>
3831 <tt>
3832 <bf>set/qth &lt;your QTH&gt;</bf> Set your QTH
3833 </tt>
3834
3835 <P>
3836 Tell the system where your are.  For example:-
3837
3838 <tscreen><verb>
3839   set/qth East Dereham, Norfolk
3840 </verb></tscreen>
3841
3842 <sect1>set/register (9)
3843
3844 <P>
3845 <tt>
3846 <bf>set/register &lt;call&gt;</bf> Mark a user as registered
3847 </tt>
3848
3849 <P>
3850 Registration is a concept that you can switch on by executing the
3851
3852   set/var $main::regreq = 1 
3853
3854 command (usually in your startup file)
3855
3856 If a user is NOT registered then, firstly, instead of the normal
3857 motd file (/spider/data/motd) being sent to the user at startup, the
3858 user is sent the motd_nor file instead. Secondly, the non registered
3859 user only has READ-ONLY access to the node. The non-registered user
3860 cannot use DX, ANN etc. 
3861
3862 The only exception to this is that a non-registered user can TALK or
3863 SEND messages to the sysop.
3864  
3865 To unset a user use the 'unset/register' command
3866
3867 <sect1>set/talk (0)
3868
3869 <P>
3870 <tt>
3871 <bf>set/talk</bf> Allow talk messages to be seen at your console
3872 </tt>
3873
3874 <P>
3875 Allow talk messages to arrive at your console.  You can switch off
3876 talks with the <em>unset/talk</em> command.
3877
3878 <sect1>set/wcy (0)
3879
3880 <P>
3881 <tt>
3882 <bf>set/wcy</bf> Allow WCY messages to be seen at your console
3883 </tt>
3884
3885 <P>
3886 Allow WCY information to be seen at your console.  You can switch off
3887 WCY messages with the <em>unset/wcy</em> command.
3888
3889 <sect1>set/wwv (0)
3890
3891 <P>
3892 <tt>
3893 <bf>set/wwv</bf> Allow WWV messages to be seen at your console
3894 </tt>
3895
3896 <P>
3897 Allow WWV information to be seen at your console.  You can switch off
3898 WWV messages with the <em>unset/wwv</em> command.
3899
3900 <sect1>set/wx (0)
3901
3902 <P>
3903 <tt>
3904 <bf>set/wx</bf> Allow WX messages to be seen at your console
3905 </tt>
3906
3907 <P>
3908 Allow WX information to be seen at your console.  You can switch off
3909 WX messages with the <em>unset/wx</em> command.
3910
3911 <sect1>show/baddx (1)
3912
3913 <P>
3914 <tt>
3915 <bf>show/baddx</bf>Show all the bad dx calls in the system
3916 </tt>
3917
3918 <P>
3919 Display all the bad dx callsigns in the system, see SET/BADDX
3920 for more information.
3921
3922 <sect1>show/badnode (6)
3923
3924 <P>
3925 <tt>
3926 <bf>show/badnode</bf> Show all the bad nodes in the system
3927 </tt>
3928
3929 <P>
3930 Display all the bad node callsigns in the system, see SET/BADNODE
3931 for more information.
3932
3933 <sect1>show/badspotter (1)
3934
3935 <P>
3936 <tt>
3937 <bf>show/badspotter</bf> Show all the bad spotters in the system
3938 </tt>
3939
3940 <P>
3941 Display all the bad spotter's callsigns in the system, see SET/BADSPOTTER
3942 for more information.
3943
3944 <sect1>show/badword (1)
3945
3946 <P>
3947 <tt>
3948 <bf>show/badword</bf> Show all the bad words in the system
3949 </tt>
3950
3951 <P>
3952 Display all the bad words in the system, see SET/BADWORD
3953 for more information.
3954
3955 <sect1>show/configuration (0)
3956
3957 <P>
3958 <tt>
3959 <bf>show/configuration &lsqb;&lt;node&gt;&rsqb;</bf> Show all visible nodes and their users
3960 </tt>
3961
3962 <P>
3963 This command allows you to see all the users that can be seen
3964 and the nodes to which they are connected.  With the optional <em>node</em>,
3965 you can specify a particular node to look at.
3966
3967 This command is normally abbreviated to: sh/c
3968
3969 BE WARNED: the list that is returned can be VERY long
3970
3971 <sect1>show/configuration/node (0)
3972
3973 <P>
3974 <tt>
3975 <bf>show/configuration/node</bf> Show all the nodes connected
3976 </tt>
3977
3978 <P>
3979 Show all the nodes connected locally and the nodes they have connected.
3980
3981 <sect1>show/connect (1)
3982
3983 <P>
3984 <tt>
3985 <bf>show/connect</bf> Show all the active connections
3986 </tt>
3987
3988 <P>
3989 This command shows information on all the active connections known to
3990 the node. This command gives slightly more information than WHO.
3991
3992 <sect1>show/date (0)
3993
3994 <P>
3995 <tt>
3996 <bf>show/date &lsqb;&lt;prefix&gt;&verbar;&lt;callsign&gt;&rsqb;</bf> Show
3997 the local time
3998 </tt>
3999
4000 <P>
4001 This is very nearly the same as SHOW/TIME, the only difference the format
4002 of the date string if no arguments are given.
4003
4004 If no prefixes or callsigns are given then this command returns the local
4005 time and UTC as the computer has it right now. If you give some prefixes
4006 then it will show UTC and UTC + the local offset (not including DST) at
4007 the prefixes or callsigns that you specify.
4008
4009 <sect1>show/debug (9)
4010
4011 <P>
4012 <tt>
4013 <bf>show/debug</bf> Show what levels of debug you are logging
4014 </tt>
4015
4016 <P>
4017 The levels can be set with <em>set/debug</em>
4018
4019 <sect1>show/dx (0)
4020
4021 <P>
4022 <tt>
4023 <bf>show/dx &lsqb;options&rsqb;</bf> interrogate the spot database
4024 </tt>
4025
4026 <P>
4027 If you just type SHOW/DX you will get the last so many spots
4028 (sysop configurable, but usually 10).
4029    
4030 In addition you can add any number of these options in very nearly
4031 any order to the basic SHOW/DX command, they are:-
4032
4033 <tscreen><verb>   
4034 on &lt;band&gt;       - eg 160m 20m 2m 23cm 6mm
4035 on &lt;region&gt;     - eg hf vhf uhf shf      (see SHOW/BANDS)
4036    
4037 &lt;number&gt;        - the number of spots you want
4038 &lt;from&gt;-&lt;to&gt     - &lt;from&gt; spot no &lt;to&gt; spot no in 
4039                   the selected list
4040    
4041 &lt;prefix&gt;        - for a spotted callsign beginning with &lt;prefix&gt;
4042 *&lt;suffix&gt;       - for a spotted callsign ending in &lt;suffix&gt;
4043 *&lt;string&gt;*      - for a spotted callsign containing &lt;string&gt;
4044    
4045 day &lt;number&gt;    - starting &lt;number&gt; days ago
4046 day &lt;from&gt;-&lt;to&gt; - &lt;from&gt; days &lt;to&gt; days ago
4047    
4048 info &lt;text&gt;     - any spots containing &lt;text&gt; in the info or remarks
4049    
4050 by &lt;call&gt;       - any spots spotted by &lt;call&gt; (spotter &lt;call&gt; 
4051                         is the same).
4052
4053 qsl             - this automatically looks for any qsl info on the call
4054                   held in the spot database.
4055
4056 iota &lsqb;&lt;iota&gt;&rsqb;   - If the iota island number is missing it will 
4057                   look for the string iota and anything which looks like 
4058                   an iota island number. If you specify then it will look 
4059                   for that island.
4060
4061 qra &lsqb;&lt;locator&gt;&rsqb; - this will look for the specific locator if 
4062                   you specify one or else anything that looks like a locator.
4063 </verb></tscreen>
4064    
4065 e.g. 
4066
4067 <tscreen><verb>   
4068    SH/DX 9m0
4069    SH/DX on 20m info iota
4070    SH/DX 9a on vhf day 30
4071    SH/DX rf1p qsl
4072    SH/DX iota 
4073    SH/DX iota eu-064
4074    SH/DX qra jn86
4075 </verb></tscreen>
4076
4077 <sect1>show/dxcc (0)
4078
4079 <P>
4080 <tt>
4081 <bf>show/dxcc &lt;prefix&gt;</bf> Interrogate the spot database by country
4082 </tt>
4083
4084 <P>
4085 This command takes the &lt;prefix&gt; (which can be a full or partial 
4086 callsign if desired), looks up which internal country number it is
4087 and then displays all the spots as per SH/DX for that country.
4088    
4089 The options for SHOW/DX also apply to this command.   
4090 e.g. 
4091
4092 <tscreen><verb>   
4093    SH/DXCC G
4094    SH/DXCC W on 20m info iota
4095 </verb></tscreen>
4096
4097 <sect1>sh/dxstats (0)
4098
4099 <P>
4100 <tt>
4101 <bf>sh/dxstats</bf> Show the DX Statistics for last 31 days
4102 </tt>
4103
4104 <P>
4105 Show the total DX spots for the last 31 days
4106
4107
4108 <sect1>show/files (0)
4109
4110 <P>
4111 <tt>
4112 <bf>show/files &lsqb;&lt;filearea&gt; &lsqb;&lt;string&gt;&rsqb;&rsqb;</bf> List
4113 the contents of a filearea
4114 </tt>
4115
4116 <P>
4117 SHOW/FILES on its own will show you a list of the various fileareas
4118 available on the system. To see the contents of a particular file
4119 area type:-
4120
4121 <tscreen><verb>
4122    SH/FILES &lt;filearea&gt;
4123 </verb></tscreen>
4124
4125 where &lt;filearea&gt; is the name of the filearea you want to see the 
4126 contents of.
4127
4128 You can also use shell globbing characters like '*' and '?' in a
4129 string to see a selection of files in a filearea eg:-
4130
4131 <tscreen><verb>
4132    SH/FILES bulletins arld*
4133 </verb></tscreen>
4134
4135 See also TYPE - to see the contents of a file.
4136
4137 <sect1>show/filter (0)
4138
4139 <P>
4140 <tt>
4141 <bf>show/filter</bf> Show the filters you have set
4142 </tt>
4143
4144 <P>
4145 Show the contents of all the filters that are set by you. This command 
4146 displays all the filters set - for all the various categories.
4147
4148 <sect1>show/filter (extended for sysops) (5)
4149
4150 <P>
4151 <tt>
4152 <bf>show/filter &lt;callsign&gt;</bf> Show the filters set by &lt;callsign&gt;
4153 </tt>
4154
4155 <P>
4156 A sysop can look at any filters that have been set.
4157
4158 <sect1>show/hfstats (0)
4159
4160 <P>
4161 <tt>
4162 <bf>show/hfstats</bf> Show the HF DX Statistics for last 31 days
4163 </tt>
4164
4165 <P>
4166 Show the HF DX spots breakdown by band for the last 31 days
4167
4168 <sect1>show/hftable (0)
4169
4170 <P>
4171 <tt>
4172 <bf>show/hftable</bf> Show the HF DX Spotter Table for your country
4173 </tt>
4174
4175 <P>
4176 Show the HF DX Spotter table for your country for the last 31 days
4177
4178 <sect1>show/hops (8)
4179
4180 <P>
4181 <tt>
4182 <bf>show/hops &lt;node_call&gt; &lsqb;ann&verbar;spots&verbar;wcy&verbar;wwv&verbar;&rsqb;</bf> Show the hop 
4183 counts for a node
4184 </tt>
4185
4186 <P>
4187 This command shows the hop counts set up for a node. You can specify
4188 which category you want to see. If you leave the category out then 
4189 all the categories will be listed.
4190
4191 <sect1>show/isolate (1)
4192
4193 <P>
4194 <tt>
4195 <bf>show/isolate</bf> Show a list of isolated nodes
4196 </tt>
4197
4198 <P>
4199 Show which nodes are currently set to be isolated.
4200
4201 <sect1>show/lockout (9)
4202
4203 <P>
4204 <tt>
4205 <bf>show/lockout</bf> Show a list of excluded callsigns
4206 </tt>
4207
4208 <P>
4209 Show a list of callsigns that have been excluded (locked out) of the
4210 cluster locally with the <em>set/lockout</em> command
4211
4212 <sect1>show/log (8)
4213
4214 <P>
4215 <tt>
4216 <bf>show/log &lsqb;&lt;callsign&gt;&rsqb;</bf> Show excerpts from the system log
4217 </tt>
4218
4219 <P>
4220 This command outputs a short section of the system log.  On its own
4221 it will output a general logfile.  With the optional callsign it will
4222 show output from the log associated with that callsign.
4223
4224 <sect1>show/moon (0)
4225
4226 <P>
4227 <tt>
4228 <bf>show/moon &lsqb;&lt;prefix&gt;&verbar;&lt;callsign&gt;&rsqb;</bf> Show moon
4229 rise and set times
4230 </tt>
4231
4232 <P>
4233 Show the Moon rise and set times for a (list of) prefixes or callsigns, 
4234 together with the azimuth and elevation of the sun currently at those
4235 locations.
4236
4237 If you don't specify any prefixes or callsigns, it will show the times for
4238 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
4239 together with the current azimuth and elevation.
4240
4241 In addition, it will show the gain or loss dB relative to the nominal 
4242 distance of 385,000Km due to the ellipsoidal nature of the orbit.
4243
4244 If all else fails it will show the Moonrise and set times for the node
4245 that you are connected to. 
4246
4247 For example:-
4248
4249 <tscreen><verb>
4250   SH/MOON
4251   SH/MOON G1TLH W5UN
4252 </verb></tscreen>
4253
4254 <sect1>show/muf (0)
4255
4256 <P>
4257 <tt>
4258 <bf>show/muf &lt;prefix&gt; &lsqb;&lt;hours&gt;&rsqb;&lsqb;long&rsqb;</bf> Show
4259 the likely propagation to &lt;prefix&gt;
4260 </tt>
4261
4262 <P>
4263 This command allow you to estimate the likelihood of you contacting
4264 a station with the prefix you have specified. The output assumes a modest
4265 power of 20dBW and receiver sensitivity of -123dBm (about 0.15muV/10dB SINAD)
4266
4267 The result predicts the most likely operating frequencies and signal
4268 levels for high frequency (shortwave) radio propagation paths on
4269 specified days of the year and hours of the day. It is most useful for
4270 paths between 250 km and 6000 km, but can be used with reduced accuracy
4271 for paths shorter or longer than this.
4272
4273 The command uses a routine MINIMUF 3.5 developed by the U.S. Navy and
4274 used to predict the MUF given the predicted flux, day of the year,
4275 hour of the day and geographic coordinates of the transmitter and
4276 receiver. This routine is reasonably accurate for the purposes here,
4277 with a claimed RMS error of 3.8 MHz, but much smaller and less complex
4278 than the programs used by major shortwave broadcasting organizations,
4279 such as the Voice of America.
4280
4281 The command will display some header information detailing its
4282 assumptions, together with the locations, latitude and longitudes and
4283 bearings. It will then show UTC (UT), local time at the other end
4284 (LT), calculate the MUFs, Sun zenith angle at the midpoint of the path
4285 (Zen) and the likely signal strengths. Then for each frequency for which
4286 the system thinks there is a likelihood of a circuit it prints a value.
4287
4288 The value is currently a likely S meter reading based on the conventional
4289 6dB / S point scale. If the value has a '+' appended it means that it is
4290 1/2 an S point stronger. If the value is preceeded by an 'm' it means that
4291 there is likely to be much fading and by an 's' that the signal is likely
4292 to be noisy.  
4293
4294 By default SHOW/MUF will show the next two hours worth of data. You
4295 can specify anything up to 24 hours worth of data by appending the no of
4296 hours required after the prefix. For example:-
4297
4298 <tscreen><verb>
4299   SH/MUF W
4300 </verb></tscreen>
4301
4302 produces:
4303
4304 <tscreen><verb>
4305   RxSens: -123 dBM SFI: 159   R: 193   Month: 10   Day: 21
4306   Power :   20 dBW    Distance:  6283 km    Delay: 22.4 ms
4307   Location                       Lat / Long           Azim
4308   East Dereham, Norfolk          52 41 N 0 57 E         47
4309   United-States-W                43 0 N 87 54 W        299
4310   UT LT  MUF Zen  1.8  3.5  7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0
4311   18 23 11.5 -35  mS0+ mS2   S3
4312   19  0 11.2 -41  mS0+ mS2   S3
4313 </verb></tscreen>
4314
4315 indicating that you will have weak, fading circuits on top band and 
4316 80m but usable signals on 40m (about S3).
4317
4318 inputting:-
4319
4320 <tscreen><verb>
4321   SH/MUF W 24
4322 </verb></tscreen>
4323
4324 will get you the above display, but with the next 24 hours worth of
4325 propagation data.
4326
4327 <tscreen><verb>
4328   SH/MUF W L 24
4329   SH/MUF W 24 Long
4330 </verb></tscreen>
4331
4332 Gives you an estimate of the long path propagation characterics. It
4333 should be noted that the figures will probably not be very useful, nor
4334 terrible accurate, but it is included for completeness.
4335
4336 <sect1>show/newconfiguration (0)
4337
4338 <P>
4339 <tt>
4340 <bf>show/newconfiguration &lsqb;&lt;node&gt;&rsqb;</bf> Show all the nodes and users visible
4341 </tt>
4342
4343 <P>
4344 This command allows you to see all the users that can be seen
4345 and the nodes to which they are connected. 
4346
4347 This command produces essentially the same information as 
4348 SHOW/CONFIGURATION except that it shows all the duplication of
4349 any routes that might be present It also uses a different format
4350 which may not take up quite as much space if you don't have any
4351 loops.
4352
4353 BE WARNED: the list that is returned can be VERY long
4354
4355 <sect1>show/newconfiguration/node (0)
4356
4357 <P>
4358 <tt>
4359 <bf>show/newconfiguration/node</bf> Show all the nodes connected locally
4360 </tt>
4361
4362 <P>
4363 Show all the nodes connected to this node in the new format.
4364
4365 <sect1>show/node (1)
4366
4367 <P>
4368 <tt>
4369 <bf>show/node &lsqb;&lt;node_call&gt; ...&rsqb;</bf> Show the type and version
4370 number of nodes
4371 </tt>
4372
4373 <P>
4374 Show the type and version (if connected) of the nodes specified on the
4375 command line. If no callsigns are specified then a sorted list of all
4376 the non-user callsigns known to the system will be displayed.
4377
4378 <sect1>show/prefix (0)
4379
4380 <P>
4381 <tt>
4382 <bf>show/prefix &lt;callsign&gt;</bf> Interrogate the prefix database
4383 </tt>
4384
4385 <P>
4386 This command takes the &lt;callsign&gt; (which can be a full or partial 
4387 callsign or a prefix), looks up which internal country number 
4388 it is and then displays all the relevant prefixes for that country
4389 together with the internal country no, the CQ and ITU regions. 
4390
4391 See also SHOW/DXCC
4392
4393
4394 <sect1>show/program (5)
4395
4396 <P>
4397 <tt>
4398 <bf>show/program</bf> Show the locations of all the included program modules
4399 </tt>
4400
4401 <P>
4402 Show the name and location where every program module was load from. This
4403 is useful for checking where you think you have loaded a .pm file from.
4404
4405 <sect1>show/qra (0)
4406
4407 <P>
4408 <tt>
4409 <bf>show/qra &lt;locator&gt &lsqb;&lt;locator&gt;&rsqb;</bf> Show the distance
4410 between locators<newline>
4411 <bf>show/qra &lt;lat&gt; &lt;long&gt;</bf> Convert latitude and longitude to 
4412 a locator
4413 </tt>
4414
4415 <P>
4416 This is a multipurpose command that allows you either to calculate the
4417 distance and bearing between two locators or (if only one locator is
4418 given on the command line) the distance and beraing from your station
4419 to the locator. For example:-
4420
4421 <tscreen><verb>
4422 SH/QRA IO92QL 
4423 SH/QRA JN06 IN73
4424 </verb></tscreen>
4425
4426 The first example will show the distance and bearing to the locator from
4427 yourself, the second example will calculate the distance and bearing from
4428 the first locator to the second. You can use 4 or 6 character locators.
4429
4430 It is also possible to convert a latitude and longitude to a locator by 
4431 using this command with a latitude and longitude as an argument, for
4432 example:-
4433
4434 <tscreen><verb>
4435 SH/QRA 52 41 N 0 58 E
4436 </verb></tscreen>
4437
4438 <sect1>show/qrz (0)
4439
4440 <P>
4441 <tt>
4442 <bf>show/qrz &lt;callsign&gt;</bf> Show any callbook details on a callsign
4443 </tt>
4444
4445 <P>
4446 This command queries the QRZ callbook server on the internet
4447 and returns any information available for that callsign. This service
4448 is provided for users of this software by http://www.qrz.com 
4449
4450 <sect1>show/registered (9)
4451
4452 <P>
4453 <tt>
4454 <bf>show/registered &lsqb;&lt;prefix&gt;&lsqb;</bf> Show the registered users
4455 </tt>
4456
4457 <sect1>show/route (0)
4458
4459 <P>
4460 <tt>
4461 <bf>show/route &lt;callsign&gt;</bf> Show the route to &lt;callsign&gt;
4462 </tt>
4463
4464 <P>
4465 This command allows you to see to which node the callsigns specified are
4466 connected. It is a sort of inverse sh/config.
4467
4468 <tscreen><verb>
4469   sh/route n2tly
4470 </verb></tscreen>
4471
4472 <sect1>show/satellite (0)
4473
4474 <P>
4475 <tt>
4476 <bf>show/satellite &lt;name&gt; &lsqb;&lt;hours&gt; &lt;interval&gt;&rsqb;</bf>
4477 Show satellite tracking data
4478 </tt>
4479
4480 <P>
4481 Show the tracking data from your location to the satellite of your choice
4482 from now on for the next few hours.
4483
4484 If you use this command without a satellite name it will display a list
4485 of all the satellites known currently to the system. 
4486
4487 If you give a name then you can obtain tracking data of all the passes
4488 that start and finish 5 degrees below the horizon. As default it will
4489 give information for the next three hours for every five minute period.
4490
4491 You can alter the number of hours and the step size, within certain 
4492 limits. 
4493
4494 Each pass in a period is separated with a row of '-----' characters
4495
4496 So for example:-
4497
4498 <tscreen><verb>
4499 SH/SAT AO-10 
4500 SH/SAT FENGYUN1 12 2
4501 </verb></tscreen>
4502
4503 <sect1>show/sun (0)
4504
4505 <P>
4506 <tt>
4507 <bf>show/sun &lsqb;&lt;prefix&gt;&verbar;&lt;callsign&gt;&rsqb;</bf> Show
4508 sun rise and set times
4509 </tt>
4510
4511 <P>
4512 Show the sun rise and set times for a (list of) prefixes or callsigns, 
4513 together with the azimuth and elevation of the sun currently at those
4514 locations.
4515
4516 If you don't specify any prefixes or callsigns, it will show the times for
4517 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
4518 together with the current azimuth and elevation.
4519
4520 If all else fails it will show the sunrise and set times for the node
4521 that you are connected to. 
4522
4523 For example:-
4524
4525 <tscreen><verb>
4526   SH/SUN
4527   SH/SUN G1TLH K9CW ZS
4528 </verb></tscreen>
4529
4530 <sect1>show/time (0)
4531
4532 <P>
4533 <tt>
4534 <bf>show/time &lsqb;&lt;prefix&gt;&verbar;&lt;callsign&gt;&rsqb;</bf> Show
4535 the local time
4536 </tt>
4537
4538 <P>
4539 If no prefixes or callsigns are given then this command returns the local
4540 time and UTC as the computer has it right now. If you give some prefixes
4541 then it will show UTC and UTC + the local offset (not including DST) at
4542 the prefixes or callsigns that you specify.
4543
4544 <sect1>show/vhfstats (0)
4545
4546 <P>
4547 <tt>
4548 <bf>show/vhfstats</bf> Show the VHF DX Statistics for last 31 days
4549 </tt>
4550
4551 <P>
4552 Show the VHF DX spots breakdown by band for the last 31 days
4553
4554 <sect1>show/vhftable (0)
4555
4556 <P>
4557 <tt>
4558 <bf>show/vhftable</bf> Show the VHF DX Spotter Table for your country
4559 </tt>
4560
4561 <P>
4562 Show the VHF DX Spotter table for your country for the last 31 days
4563
4564 <sect1>show/wcy (0)
4565
4566 <P>
4567 <tt>
4568 <bf>show/wcy</bf> Show the last 10 WCY broadcasts<newline>
4569 <bf>show/wcy &lt;n&gt;</bf> Show the last &lt;n&gt; WCY broadcasts
4570 </tt>
4571
4572 <P>
4573 Display the most recent WCY information that has been received by the system
4574
4575 <sect1>show/wwv (0)
4576
4577 <P>
4578 <tt>
4579 <bf>show/wwv</bf> Show the last 10 WWV broadcasts<newline>
4580 <bf>show/wwv &lt;n&gt;</bf> Show the last &lt;n&gt; WWV broadcasts
4581 </tt>
4582
4583 <P>
4584 Display the most recent WWV information that has been received by the system
4585
4586
4587 <sect1>shutdown (5)
4588
4589 <P>
4590 <tt>
4591 <bf>shutdown</bf> Shutdown the cluster
4592 </tt>
4593
4594 <P>
4595 Shutdown the cluster and disconnect all the users.  If you have Spider
4596 set to respawn in /etc/inittab it will of course restart.
4597
4598 <sect1>spoof (9)
4599
4600 <P>
4601 <tt>
4602 <bf>spoof &lt;callsign&gt; &lt;command&gt;</bf> Run commands as another user
4603 </tt>
4604
4605 <P>
4606 This is a very simple yet powerful command for the sysop.  It allows you to
4607 issue commands as if you were a different user.  This is very useful for the
4608 kind of things that users seem to always get wrong.. like home_node for
4609 example.
4610
4611 <sect1>stat/db (5)
4612
4613 <P>
4614 <tt>
4615 <bf>stat/db &lt;dbname&gt;</bf> Show the status of a database
4616 </tt>
4617
4618 <P>
4619 Show the internal status of a database descriptor.
4620
4621 Depending on your privilege level you will see more or less information. 
4622 This command is unlikely to be of much use to anyone other than a sysop.
4623
4624 <sect1>stat/channel (5)
4625
4626 <P>
4627 <tt>
4628 <bf>stat/channel &lt;callsign&gt;</bf> Show the status of a channel on the cluster
4629 </tt>
4630
4631 <P>
4632 Show the internal status of the channel object either for the channel that 
4633 you are on or else for the callsign that you asked for.
4634
4635 Only the fields that are defined (in perl term) will be displayed.
4636
4637 <sect1>stat/msg (5)
4638
4639 <P>
4640 <tt>
4641 <bf>stat/msg &lt;msgno&gt;</bf> Show the status of a message
4642 </tt>
4643
4644 <P>
4645 This command shows the internal status of a message and includes information
4646 such as to whom it has been forwarded, its size, origin etc etc.
4647
4648 <P>
4649 If no message number is given then the status of the message system is 
4650 displayed.
4651
4652 <sect1>stat/route_node (5)
4653
4654 <P>
4655 <tt>
4656 <bf>stat/route_node &lt;callsign&gt;</bf> Show the data in a Route::Node object
4657 </tt>
4658
4659 <sect1>stat/route_user (5)
4660
4661 <P>
4662 <tt>
4663 <bf>stat/route_user &lt;callsign&gt;</bf> Show the data in a Route::User object
4664 </tt>
4665
4666 <sect1>stat/user (5)
4667
4668 <P>
4669 <tt>
4670 <bf>stat/user &lt;callsign&gt;</bf> Show the full status of a user
4671 </tt>
4672
4673 <P>
4674 Shows the full contents of a user record including all the secret flags
4675 and stuff.
4676
4677 Only the fields that are defined (in perl term) will be displayed.
4678
4679 <sect1>sysop (0)
4680
4681 <P>
4682 <tt>
4683 <bf>sysop</bf> Regain your privileges if you login remotely
4684 </tt>
4685
4686 <P>
4687 The system automatically reduces your privilege level to that of a
4688 normal user if you login in remotely. This command allows you to
4689 regain your normal privilege level. It uses the normal system: five
4690 numbers are returned that are indexes into the character array that is
4691 your assigned password (see SET/PASSWORD). The indexes start from
4692 zero.
4693
4694 You are expected to return a string which contains the characters
4695 required in the correct order. You may intersperse those characters
4696 with others to obscure your reply for any watchers. For example (and
4697 these values are for explanation :-):
4698
4699 <tscreen><verb>
4700   password = 012345678901234567890123456789
4701   > sysop
4702   22 10 15 17 3
4703 </verb></tscreen>
4704
4705 you type:-
4706
4707 <tscreen><verb>
4708  aa2bbbb0ccc5ddd7xxx3n
4709  or 2 0 5 7 3
4710  or 20573
4711 </verb></tscreen>
4712
4713 They will all match. If there is no password you will still be offered
4714 numbers but nothing will happen when you input a string. Any match is
4715 case sensitive.
4716
4717 <sect1>talk (0)
4718
4719 <P>
4720 <tt>
4721 <bf>talk &lt;callsign&gt;</bf> Enter talk mode with &lt;callsign&gt;<newline>
4722 <bf>talk &lt;callsign&gt; &lt;text&gt;</bf> Send a text message to &lt;callsign&gt;<newline>
4723 <bf>talk &lt;callsign&gt; &gt; &lt;node_call&gt; &lsqb;&lt;text&gt;&rsqb;</bf>
4724 Send a text message to &lt;callsign&gt; via &lt;node_call&gt;
4725 </tt>
4726
4727 <P>
4728 Send a short message to any other station that is visible on the cluster
4729 system. You can send it to anyone you can see with a SHOW/CONFIGURATION 
4730 command, they don't have to be connected locally.
4731
4732 The second form of TALK is used when other cluster nodes are connected
4733 with restricted information. This usually means that they don't send 
4734 the user information usually associated with logging on and off the cluster.
4735
4736 If you know that G3JNB is likely to be present on GB7TLH, but you can only
4737 see GB7TLH in the SH/C list but with no users, then you would use the
4738 second form of the talk message.
4739
4740 If you want to have a ragchew with someone you can leave the text message
4741 out and the system will go into 'Talk' mode. What this means is that a
4742 short message is sent to the recipient telling them that you are in a 'Talking' 
4743 frame of mind and then you just type - everything you send will go to the 
4744 station that you asked for. 
4745
4746 All the usual announcements, spots and so on will still come out on your
4747 terminal.
4748
4749 If you want to do something (such as send a spot) you precede the normal 
4750 command with a '/' character, eg:-
4751
4752 <tscreen><verb>
4753    /DX 14001 G1TLH What's a B class licensee doing on 20m CW?
4754    /HELP talk
4755 </verb></tscreen>
4756
4757 To leave talk mode type:
4758    
4759 <tscreen><verb>
4760    /EX
4761 </verb></tscreen>
4762
4763 <sect1>type (0)
4764
4765 <P>
4766 <tt>
4767 <bf>type &lt;filearea&gt;/&lt;name&gt;</bf> Look at a file in one of the fileareas
4768 </tt>
4769
4770 <P>
4771 Type out the contents of a file in a filearea. So, for example, in 
4772 filearea 'bulletins' you want to look at file 'arld051' you would 
4773 enter:-
4774
4775 <tscreen><verb>
4776    TYPE bulletins/arld051
4777 </verb></tscreen>
4778
4779 See also SHOW/FILES to see what fileareas are available and a 
4780 list of content.
4781
4782 <sect1>who (0)
4783
4784 <P>
4785 <tt>
4786 <bf>who</bf> Show who is physically connected locally
4787 </tt>
4788
4789 <P>
4790 This is a quick listing that shows which callsigns are connected and
4791 what sort of connection they have
4792
4793 <sect1>wx (0)
4794
4795 <P>
4796 <tt>
4797 <bf>wx &lt;text&gt;</bf> Send a weather message to local users<newline>
4798 <bf>wx full &lt;text&gt; </bf> Send a weather message to all cluster users
4799 </tt>
4800
4801 <P>
4802 Weather messages can sometimes be useful if you are experiencing an extreme
4803 that may indicate enhanced conditions
4804
4805 <sect1>wx (enhanced for sysops) (5)
4806
4807 <P>
4808 <tt>
4809 <bf>wx sysop &lt;text&gt;</bf> Send a weather message to other clusters only
4810 </tt>
4811
4812 <P>
4813 Send a weather message only to other cluster nodes and not to general users.
4814
4815
4816
4817 </article>