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