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