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