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