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