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