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