Allow synonyms for localhost
[spider.git] / sgml / adminmanual_en.sgml
1 <!doctype linuxdoc system>\r
2 \r
3 <article>\r
4 \r
5 <!-- Title information -->\r
6 \r
7 <title>The DXSpider Administration Manual v1.51</title> \r
8 <author>Ian Maude, G0VGS, (g0vgs@gb7mbc.net), and\r
9 Charlie Carroll, K1XX, (k1xx@ptcnh.net)</author>\r
10 <date>June 2004 revision 1</date>\r
11 \r
12 <abstract>\r
13 A reference for SysOps of the DXSpider DXCluster program.\r
14 </abstract>\r
15 \r
16 <!-- Table of contents -->\r
17 <toc>\r
18 \r
19 <!-- Begin the document -->\r
20 \r
21 <sect>Routing and Filtering\r
22 \r
23 <sect1>Introduction\r
24 \r
25 <P>\r
26 From DXSpider version 1.48, major changes were introduced to the way \r
27 node connections are treated.  This is part of an ongoing process to\r
28 remove problems with loops and to enable talk and other functions to\r
29 propagate across the whole of the worldwide cluster network.  In fact,\r
30 in a Spider network, it would be useful, perhaps even necessary to\r
31 have loops.  This would give real resilience to the network, meaning\r
32 that if a link dropped, the information flow would simply come in and\r
33 go out via a different route.  Of course, we do not have a complete\r
34 network of Spider nodes, there are other programs out there.  Some of\r
35 these do not have any protection from loops.  Certainly AK1A does not \r
36 handle loops well at all.  It is therefore necessary to have some form \r
37 of protection for these nodes.\r
38 \r
39 <P>\r
40 In fact DXSpider has had a simple system for some time which is called\r
41 <it>isolation</it>. This is similar to what in other systems such as \r
42 <bf>clx</bf>, is called <it>passive mode</it>. A more detailed explanation\r
43 of <it>isolation</it> is given further below. This system is still available\r
44 and, for simple networks, is probably all that you need.\r
45 \r
46 <P>\r
47 The new functionality introduced in version 1.48 allows filtering the node\r
48 and user protocol frames on a "per interface" basis. We call this\r
49 <it>route filtering</it>. This is used <bf>instead of</bf>\r
50 <it>isolation</it>. \r
51 \r
52 <p>\r
53 What this really means is that you can control more or less completely\r
54 which user and node management PC protocol frames pass to each of your \r
55 partner nodes. You can also limit what comes into your node from your \r
56 partners. It is even possible to control the settings that your partner \r
57 node has for the routing information that it sends to you \r
58 (using the <it>rcmd</it> command).\r
59 \r
60 <sect1>Route Filters\r
61 \r
62 <p>\r
63 Initially when route filters were being tested we generated a\r
64 "default" filter.  Unfortunately it quickly became apparent that this\r
65 might suit the UK cluster network but didn't really fit anybody else.\r
66 However using a default filter is an appropriate thing to do. How, is\r
67 explained further on.\r
68 \r
69 <p>\r
70 The first thing that you must do is determine whether you need to use \r
71 route filtering <bf>at all</bf>. If you are a "normal" node with two or \r
72 three partners and you arranged in an "official" non-looping tree type \r
73 network, then <bf>you do not need to do route filtering</bf> and you will \r
74 feel a lot better for not getting involved. If you are successfully using \r
75 <it>isolation</it> then you also probably don't need to use route filtering.\r
76 \r
77 <p>\r
78 To put it simply, you should not mix Isolation and Route Filtering.  It \r
79 will work, of sorts, but you will not get the expected results.  If you \r
80 are using Isolation sucessfully at the moment, do not get involved in \r
81 Route Filtering unless you have a good supply of aspirin!  Once you have \r
82 started down the road of Route Filtering, do not use Isolation either.\r
83 Use one or the other, not both.\r
84 \r
85 <p>\r
86 You will only require this functionality if you are "well-connected". What \r
87 that means is that you are connected to several different parts of (say) \r
88 the EU cluster and, at the same time, also connected to two or three places \r
89 in the US which, in turn are connected back to the EU. This is called a \r
90 "loop" and if you are seriously looped then you need filtering.\r
91 \r
92 <P>\r
93 I should at this stage give a little bit of background on filters.  All\r
94 the filters in Spider work in basically the same way.  You can either\r
95 accept or reject various options in order to create the filter rules\r
96 you wish to achieve.  Some filters are user settable, others can only\r
97 be altered by the sysop.  Route filtering can only be done by the sysop.\r
98 \r
99 <P> \r
100 Anyway, without further discouragement, let me start the process\r
101 of explanation.\r
102 \r
103 <sect1>The node_default filter\r
104 \r
105 <P>\r
106 All normal systems should have a default routing filter and it should\r
107 usually be set to send only the normal, unlooped, view of your\r
108 "national" network.  Here in the UK that means nodes from the UK and\r
109 Eire, in EU it is more complex as the networks there grew up in a more\r
110 intertwined way.\r
111 \r
112 <p> \r
113 The generic commands are:-\r
114 \r
115 <tscreen><verb>\r
116 reject/route node_default &lt;filter_option&gt;\r
117 \r
118 or\r
119 \r
120 accept/route node_default &lt;filter_option&gt;\r
121 </verb></tscreen>\r
122 \r
123 where filter_option is one of the following ...\r
124 \r
125 <tscreen><verb>\r
126 call &lt;prefixes&gt;\r
127 call_dxcc &lt;numbers&gt;\r
128 call_itu &lt;numbers&gt;\r
129 call_zone &lt;numbers&gt;\r
130 channel &lt;prefixes&gt;\r
131 channel_dxcc &lt;numbers&gt;\r
132 channel_itu &lt;numbers&gt;\r
133 channel_zone &lt;numbers&gt;\r
134 </verb></tscreen>\r
135 \r
136 Please be careful if you alter this setting, it will affect \r
137 <bf><it>ALL</it></bf> your links!  Remember, this is a <it>default</it>\r
138 filter for node connections, not a <it>per link</it> default.\r
139 \r
140 <p>\r
141 For the default routing filter then you have two real choices: either\r
142 a "national" view or the "safe" option of only your own\r
143 callsign. Examples of each (for my node: GB7DJK) are:-\r
144 \r
145 <tscreen><verb>\r
146 acc/route node_default call_dxcc 61,38\r
147 acc/route node_default call gb7djk\r
148 </verb></tscreen>\r
149 \r
150 GB7DJK uses the first of these. The DXCC countries can be obtained from the \r
151 <it>show/prefix</it> command.\r
152 \r
153 <p>\r
154 The example filters shown control <it>output</it> <bf>TO</bf> all your\r
155 partner nodes unless they have a specific filter applied to them (see\r
156 next section).\r
157 \r
158 <p>\r
159 It is also possible to control the <it>incoming</it> routing\r
160 information that you are prepared to accept <bf>FROM</bf> your partner\r
161 nodes. The reason this is necessary is to make sure that stuff like\r
162 mail, pings and similar commands a) go down the correct links and b)\r
163 don't loop around excessively. Again using GB7DJK as an example a typical\r
164 default input filter would be something like:\r
165 \r
166 <tscreen><verb>\r
167 rej/route node_default input call_dxcc 61,38 and not channel_dxcc 61,38\r
168 </verb></tscreen>\r
169 \r
170 What this does is accept node and user information for our national\r
171 network from nodes that are in our national network, but rejects such\r
172 information from anyone else. Although it doesn't explicitly say so,\r
173 by implication, any other node information (not from the UK and Eire)\r
174 is accepted.\r
175 \r
176 <p>\r
177 As I imagine it will take a little while to get one's head around all of \r
178 this you can study the effect of any rules that you try by watching the \r
179 debug output after having done:-\r
180 \r
181 <tscreen><verb>\r
182 set/debug filter\r
183 </verb></tscreen>\r
184 \r
185 After you have got tired of that, to put it back the way it was:-\r
186 \r
187 <tscreen><verb>\r
188 unset/debug filter\r
189 </verb></tscreen>\r
190 \r
191 <sect1>General route filtering\r
192 \r
193 <P>\r
194 Exactly the same rules apply for general route filtering.  You would\r
195 use either an accept filter or a reject filter like this ...\r
196 \r
197 <tscreen><verb>\r
198 reject/route &lt;node_call&gt; &lt;filter_option&gt;\r
199 \r
200 or\r
201 \r
202 accept/route &lt;node_call&gt; &lt;filter_option&gt; \r
203 </verb></tscreen>\r
204 \r
205 <P>\r
206 Here are some examples of route filters ...\r
207 \r
208 <tscreen><verb>\r
209 rej/route gb7djk call_dxcc 61,38 (send everything except UK+EIRE nodes)\r
210 rej/route all                    (equiv to [very] restricted mode)\r
211 acc/route gb7djk call_dxcc 61,38 (send only UK+EIRE nodes)\r
212 acc/route gb7djk call gb7djk     (equiv to SET/ISOLATE)\r
213 </verb></tscreen>\r
214 \r
215 In practice you will either be opening the default filter out for a\r
216 partner by defining a specific filter for that callsign:-\r
217  \r
218 <tscreen><verb>\r
219 acc/route gb7baa all\r
220 acc/route gb7baa input all\r
221 </verb></tscreen>\r
222 \r
223 or restricting it quite a lot, in fact making it very nearly like an \r
224 <it>isolated</it> node, like this:-\r
225 \r
226 <tscreen><verb>\r
227 acc/route pi4ehv-8 call gb7djk\r
228 rej/route pi4ehv-8 input call_dxcc 61,38 \r
229 </verb></tscreen>\r
230 \r
231 This last example takes everything except UK and Eire from PI4EHV-8\r
232 but only sends him my local configuration (just a PC19 for GB7DJK and\r
233 PC16s for my local users).\r
234 \r
235 <p>\r
236 It is possible to write <bf>much</bf> more complex rules, there are up \r
237 to 10 accept/reject pairs per callsign per filter. For more information \r
238 see the next section. \r
239 \r
240 \r
241 <sect1>General filter rules\r
242 \r
243 <P>\r
244 Upto v1.44 it was not possible for the user to set their own filters.  From \r
245 v1.45 though that has all changed.  It is now possible to set filters for just \r
246 about anything you wish.  If you have just updated from an older version of \r
247 DXSpider you will need to update your new filters.  You do not need to do \r
248 anything with your old filters, they will be renamed as you update.\r
249 \r
250 <P>\r
251 There are 3 basic commands involved in setting and manipulating filters.  These \r
252 are <em>accept</em>, <em>reject</em> and <em>clear</em>.  First we will look\r
253 generally at filtering. There are a number of things you can filter in the \r
254 DXSpider system. They all use the same general mechanism.\r
255 \r
256 <P>\r
257 In general terms you can create a "reject" or an "accept" filter which can have \r
258 up to 10 lines in it. You do this using, for example ... \r
259 \r
260 <tscreen><verb> \r
261 accept/spots .....\r
262 reject/spots .....\r
263 </verb></tscreen>\r
264 \r
265 where ..... are the specific commands for that type of filter. There are filters \r
266 for spots, wwv, announce, wcy and (for sysops) connects. See each different \r
267 accept or reject command reference for more details.\r
268 \r
269 There is also a command to clear out one or more lines in a filter. They are ...\r
270 \r
271 <tscreen><verb>\r
272 clear/spots 1\r
273 clear/spots all\r
274 </verb></tscreen>\r
275 \r
276 There is clear/xxxx command for each type of filter.\r
277 \r
278 <P>\r
279 and you can check that your filters have worked by the command ... \r
280 \r
281 <tscreen><verb>  \r
282 show/filter\r
283 </verb></tscreen>\r
284 \r
285 <P>\r
286 For now we are going to use spots for the examples, but you can apply the same\r
287 principles to all types of filter.\r
288 \r
289 <sect1>Types of filter\r
290 \r
291 <P>\r
292 There are two main types of filter, <em>accept</em> or <em>reject</em>.  You \r
293 can use either to achieve the result you want dependent on your own preference \r
294 and which is more simple to do.  It is pointless writing 8 lines of reject \r
295 filters when 1 accept filter would do the same thing!  Each filter has 10 \r
296 lines (of any length) which are tried in order.  If a line matches then the \r
297 action you have specified is taken (ie reject means ignore it and accept \r
298 means take it)\r
299 \r
300 <P>\r
301 If you specify reject filters, then any lines that arrive that match the filter \r
302 will be dumped but all else will be accepted.  If you use an accept filter, \r
303 then ONLY the lines in the filter will be accepted and all else will be dumped.\r
304 For example if you have a single line <em>accept</em> filter ...\r
305 \r
306 <tscreen><verb>\r
307 accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)\r
308 </verb></tscreen>\r
309 \r
310 then you will <em>ONLY</em> get VHF spots <em>from</em> or <em>to</em> CQ zones \r
311 14, 15 and 16.\r
312 \r
313 <P>\r
314 If you set a reject filter like this ...\r
315 \r
316 <tscreen><verb>\r
317 reject/spots on hf/cw\r
318 </verb></tscreen>\r
319 \r
320 Then you will get everything <em>EXCEPT</em> HF CW spots.  You could make this \r
321 single filter even more flexible.  For example, if you are interested in IOTA \r
322 and will work it even on CW even though normally you are not interested in \r
323 CW, then you could say ...\r
324 \r
325 <tscreen><verb>\r
326 reject/spots on hf/cw and not info iota\r
327 </verb></tscreen>\r
328 \r
329 But in that case you might only be interested in iota and say:-\r
330 \r
331 <tscreen><verb>\r
332 accept/spots not on hf/cw or info iota\r
333 </verb></tscreen>\r
334 \r
335 which achieves exactly the same thing. You should choose one or the other \r
336 until you are comfortable with the way it works. You can mix them if you \r
337 wish (actually you can have an accept AND a reject on the same line) but \r
338 don't attempt this until you are sure you know what you are doing!\r
339 \r
340 <P>\r
341 You can arrange your filter lines into logical units, either for your own\r
342 understanding or simply convenience. Here is an example ...\r
343 \r
344 <tscreen><verb>\r
345 reject/spots 1 on hf/cw\r
346 reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)  \r
347 </verb></tscreen>\r
348 \r
349 What this does is to ignore all HF CW spots and also rejects any spots on VHF \r
350 which don't either originate or spot someone in Europe. \r
351 \r
352 <P>\r
353 This is an example where you would use a line number (1 and 2 in this case), if \r
354 you leave the digit out, the system assumes '1'. Digits '0'-'9' are available.  \r
355 This make it easier to see just what filters you have set.  It also makes it \r
356 more simple to remove individual filters, during a contest for example.\r
357 \r
358 <P>\r
359 You will notice in the above example that the second line has brackets.  Look \r
360 at the line logically.  You can see there are 2 separate sections to it.  We \r
361 are saying reject spots that are VHF or above <em>APART</em> from those in \r
362 zones 14, 15 and 16 (either spotted there or originated there).  If you did \r
363 not have the brackets to separate the 2 sections, then Spider would read it \r
364 logically from the front and see a different expression entirely ...\r
365 \r
366 <tscreen><verb>\r
367 (on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16 \r
368 </verb></tscreen>\r
369 \r
370 The simple way to remember this is, if you use OR - use brackets. Whilst we are \r
371 here CASE is not important. 'And BY_Zone' is just the same as 'and by_zone'.\r
372 \r
373 As mentioned earlier, setting several filters can be more flexible than \r
374 simply setting one complex one.  Doing it in this way means that if you want \r
375 to alter your filter you can just redefine or remove one or more lines of it or \r
376 one line. For example ...\r
377 \r
378 <tscreen><verb>\r
379 reject/spots 1 on hf/ssb\r
380 </verb></tscreen>\r
381 \r
382 would redefine our earlier example, or \r
383 \r
384 <tscreen><verb>\r
385 clear/spots 1\r
386 </verb></tscreen>\r
387 \r
388 To remove all the filter lines in the spot filter ...\r
389 \r
390 <tscreen><verb>\r
391 clear/spots all\r
392 </verb></tscreen>\r
393 \r
394 <sect1>Filter options\r
395 \r
396 <P>\r
397 You can filter in several different ways.  The options are listed in the\r
398 various helpfiles for accept, reject and filter.\r
399 \r
400 <sect1>Default filters\r
401 \r
402 <P>\r
403 Sometimes all that is needed is a general rule for node connects.  This can\r
404 be done with a node_default filter.  This rule will always be followed, even\r
405 if the link is isolated, unless another filter is set specifically.  Default\r
406 rules can be set for nodes and users.  They can be set for spots, announces,\r
407 WWV and WCY.  They can also be used for hops.  An example might look like \r
408 this ...\r
409 \r
410 <tscreen><verb>\r
411 accept/spot node_default by_zone 14,15,16,20,33\r
412 set/hops node_default spot 50\r
413 </verb></tscreen>\r
414 \r
415 This filter is for spots only, you could set others for announce, WWV and WCY.\r
416 This filter would work for ALL nodes unless a specific filter is written to \r
417 override it for a particular node.  You can also set a user_default should\r
418 you require.  It is important to note that default filters should be\r
419 considered to be "connected".  By this I mean that should you override the\r
420 default filter for spots, you need to add a rule for the hops for spots also.\r
421 \r
422 <sect1>Advanced filtering\r
423 \r
424 <P>\r
425 Once you are happy with the results you get, you may like to experiment. \r
426 \r
427 <P>\r
428 The previous example that filters hf/cw spots and accepts vhf/uhf spots from EU \r
429 can be written with a mixed filter, for example ... \r
430 \r
431 <tscreen><verb>\r
432 rej/spot on hf/cw\r
433 acc/spot on 0/30000\r
434 acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)\r
435 </verb></tscreen>\r
436 \r
437 Note that the first filter has not been specified with a number.  This will \r
438 automatically be assumed to be number 1.  In this case, we have said <em>reject all\r
439 HF spots in the CW section of the bands but accept all others at HF.  Also\r
440 accept anything in VHF and above spotted in or by operators in the zones\r
441 14, 15 and 16</em>.  Each filter slot actually has a 'reject' slot and \r
442 an 'accept' slot. The reject slot is executed BEFORE the accept slot.\r
443 \r
444 <P>\r
445 It was mentioned earlier that after a reject test that doesn't match, the default \r
446 for following tests is 'accept', the reverse is true for 'accept'. In the example \r
447 what happens is that the reject is executed first, any non hf/cw spot is passed \r
448 to the accept line, which lets through everything else on HF.  The next filter line \r
449 lets through just VHF/UHF spots from EU.\r
450 \r
451 <sect1>Basic hop control\r
452 \r
453 <P>\r
454 In /spider/data you will find a file called hop_table.pl.  This is the file \r
455 that controls your hop count settings.  It has a set of default hops on the \r
456 various PC frames and also a set for each node you want to alter the hops for.  \r
457 You may be happy with the default settings of course, but this powerful tool \r
458 can help to protect and improve the network.  The file will look something \r
459 like this ...\r
460 \r
461 <tscreen><verb>\r
462\r
463 # hop table construction\r
464\r
465 \r
466 package DXProt;\r
467 \r
468 # default hopcount to use\r
469 $def_hopcount = 5;\r
470 \r
471 # some variable hop counts based on message type\r
472 %hopcount = \r
473 (\r
474  11 => 10,\r
475  16 => 10,\r
476  17 => 10,\r
477  19 => 10,\r
478  21 => 10,\r
479 );\r
480 \r
481 \r
482 # the per node hop control thingy\r
483 \r
484 \r
485 %nodehops = \r
486 (\r
487  GB7ADX => {            11 => 8,\r
488                         12 => 8,\r
489                         16 => 8,\r
490                         17 => 8,\r
491                         19 => 8,\r
492                         21 => 8,\r
493                    },\r
494 \r
495  GB7UDX => {            11 => 8,\r
496                         12 => 8,\r
497                         16 => 8,\r
498                         17 => 8,\r
499                         19 => 8,\r
500                         21 => 8,\r
501                    },\r
502  GB7BAA => {\r
503                         11 => 5,\r
504                         12 => 8,\r
505                         16 => 8,\r
506                         17 => 8,\r
507                         19 => 8,\r
508                         21 => 8,\r
509                    },\r
510 );\r
511 </verb></tscreen>\r
512 \r
513 <P>\r
514 Each set of hops is contained within a pair of curly braces and contains a \r
515 series of PC frame types.  PC11 for example is a DX spot. The figures here \r
516 are not exhaustive but should give you a good idea of how the file works.\r
517 \r
518 <P>\r
519 SHould any of the nodecalls include an ssid, it is important to wrap the\r
520 whole call in single quotes, like this ...\r
521 \r
522 <tscreen><verb>\r
523  'DB0FHF-15' => {\r
524                         11 => 5,\r
525                         12 => 8,\r
526                         16 => 8,\r
527                         17 => 8,\r
528                         19 => 8,\r
529                         21 => 8,\r
530                    },\r
531 </verb></tscreen>\r
532 \r
533 If you do not do this, you will get errors and the file will not work as\r
534 expected.\r
535 \r
536 <P>\r
537 You can alter this file at any time, including whilst the cluster is running.  \r
538 If you alter the file during runtime, the command <em>load/hops</em> will \r
539 bring your changes into effect.\r
540 \r
541 <sect1>Hop Control on Specific Nodes\r
542 \r
543 <p>You can set a callsign specific hop count for any of the standard filter\r
544 options so:-\r
545 \r
546 <tscreen><verb>\r
547 set/hops gb7djk spot 4\r
548 set/hops node_default route 10\r
549 set/hops gb7baa wcy 5\r
550 </verb></tscreen>\r
551  \r
552 all work on their specific area of the protocol.\r
553 \r
554 <p>\r
555 The <em>set/hops</em> command overrides any hops that you have set otherwise.\r
556 \r
557 <p>\r
558 You can show what hops have been set using the <em>show/hops</em> command.\r
559 \r
560 <sect1>Isolating networks\r
561 \r
562 <P>\r
563 It is possible to isolate networks from each other on a "gateway" node using the\r
564  <em>set/isolate &lt;node_call&gt;</em> command.\r
565         \r
566 <P>\r
567 The effect of this is to partition an isolated network completely from another \r
568 node connected to your node. Your node will appear on and otherwise behave \r
569 normally on every network to which you are connected, but data from an isolated \r
570 network will not cross onto any other network or vice versa. However all the \r
571 spot, announce and WWV traffic and personal messages will still be handled \r
572 locally (because you are a real node on all connected networks), that is locally\r
573 connected users will appear on all networks and will be able to access and \r
574 receive information from all networks transparently.  All routed messages will \r
575 be sent as normal, so if a user on one network knows that you are a gateway for \r
576 another network, he can still still send a talk/announce etc message via your \r
577 node and it will be routed across.\r
578 \r
579 <P>\r
580 If you use isolate on a node connection you will continue to receive\r
581 all information from the isolated partner, however you will not pass\r
582 any information back to the isolated node.  There are times when you\r
583 would like to forward only spots across a link (maybe during a contest\r
584 for example).  To do this, isolate the node in the normal way and use\r
585 an <em>acc/spot &gt;call&lt; all</em> filter to override the isolate. \r
586 \r
587 <sect1>A DXSpider Filtering Tutorial\r
588 \r
589 <P>\r
590 There is now an excellent primer/tutorial on filtering written by Jim\r
591 Samuels, W3BG with an introduction by Dave Hawes N3RD that I strongly\r
592 suggest you read.  You can read it here \r
593 <htmlurl url="filtering_en.html" name="The DXSpider User Filtering Primer">\r
594 \r
595 <sect>Other filters\r
596 \r
597 <sect1>Filtering Mail\r
598 \r
599 <P>\r
600 In the /spider/msg directory you will find a file called badmsg.pl.issue.  Rename\r
601 this to badmsg.pl and edit the file.  The original looks something like this ....\r
602 \r
603 <tscreen><verb>\r
604 \r
605 # the list of regexes for messages that we won't store having\r
606 # received them (bear in mind that we must receive them fully before\r
607 # we can bin them)\r
608 \r
609 \r
610 # The format of each line is as follows\r
611 \r
612 #     type      source             pattern \r
613 #     P/B/F     T/F/O/S            regex  \r
614 \r
615 # type: P - private, B - bulletin (msg), F - file (ak1a bull)\r
616 # source: T - to field, F - from field,  O - origin, S - subject \r
617 # pattern: a perl regex on the field requested\r
618 \r
619 # Currently only type B and P msgs are affected by this code.\r
620\r
621 # The list is read from the top down, the first pattern that matches\r
622 # causes the action to be taken.\r
623 \r
624 # The pattern can be undef or 0 in which case it will always be selected\r
625 # for the action specified\r
626 \r
627 \r
628 \r
629 package DXMsg;\r
630 \r
631 @badmsg = (\r
632 'B',    'T',    'SALE', \r
633 'B',    'T',    'WANTED',\r
634 'B',    'S',    'WANTED',\r
635 'B',    'S',    'SALE', \r
636 'B',    'S',    'WTB',\r
637 'B',    'S',    'WTS',\r
638 'B',    'T',    'FS',\r
639 );\r
640 </verb></tscreen>\r
641 \r
642 <P>\r
643 I think this is fairly self explanatory.  It is simply a list of subject \r
644 headers that we do not want to pass on to either the users of the cluster or \r
645 the other cluster nodes that we are linked to.  This is usually because of \r
646 rules and regulations pertaining to items for sale etc in a particular country.\r
647 \r
648 \r
649 <sect1>Filtering words from text fields in Announce, Talk and DX spots\r
650 \r
651 <p>\r
652 From version 1.48 onwards the interface to this has changed. You can now\r
653 use the commands <em>set/badword</em> to add words that you are not prepared\r
654 to see on the cluster, <em>unset/badword</em> to allow that word again and \r
655 <em>show/badword</em> to list the words that you have set.\r
656 \r
657 <p>\r
658 If you have a previous <em>/spider/data/badwords</em>, the first time you start\r
659 the node, it will read and convert this file to the new commands. The old style\r
660 file will then be removed.\r
661 \r
662 <sect1>Stopping (possibly bad) DX Spots from Nodes or Spotters\r
663 \r
664 <p> \r
665 There are a number of commands that control whether a spot progresses\r
666 any further by regarding it as "bad" in some way.\r
667 \r
668 <p>\r
669 A DX Spot has a number of fields which can be checked to see whether they\r
670 contain "bad" values, they are: the DX callsign itself, the Spotter and\r
671 the Originating Node.\r
672 \r
673 <p>\r
674 There are a set of commands which allow the sysop to control whether a\r
675 spot continues:-\r
676 \r
677 <tscreen><verb>\r
678 set/baddx\r
679 set/badspotter\r
680 set/badnode\r
681 </verb></tscreen>\r
682 \r
683 These work in the same as the <em>set/badword</em> command, you can add\r
684 any words or callsigns or whatever to the appropriate database. For\r
685 example, to stop a spot from a particular node you do:\r
686 \r
687 <tscreen><verb>\r
688 set/badnode gb7djk gb7dxc\r
689 </verb></tscreen>\r
690 \r
691 a bad spotter:\r
692 \r
693 <tscreen><verb>\r
694 set/badspotter b0mb p1rat nocall\r
695 </verb></tscreen>\r
696 \r
697 and some bad dx:\r
698 \r
699 <tscreen><verb>\r
700 set/baddx video wsjt\r
701 </verb></tscreen>\r
702 \r
703 You can remove a word using the appropriate unset command\r
704 (<em>unset/baddx, unset/badspotter, unset/badnode</em>) or list them\r
705 using one of <em>show/baddx, show/badspotter</em> and\r
706 <em>show/badnode</em>.\r
707 \r
708 <sect>Mail\r
709 \r
710 <P>\r
711 DXSpider deals seamlessly with standard AK1A type mail.  It supports both\r
712 personal and bulletin mail and the sysop has additional commands to ensure\r
713 that mail gets to where it is meant.  DXSpider will send mail almost\r
714 immediately, assuming that the target is on line.  However, only one\r
715 mail message is dealt with at any one time.  If a mail message is already\r
716 being sent or recieved, then the new message will be queued until it has\r
717 finished.\r
718 \r
719 The cluster mail is automatically deleted after 30 days unless the sysop\r
720 sets the "keep" flag using the <em>msg</em> command.\r
721 \r
722 <sect1>Personal mail\r
723 \r
724 <P>\r
725 Personal mail is sent using the <em>sp</em> command.  This is actually the\r
726 default method of sending mail and so a simple <em>s</em> for send will do.\r
727 A full list of the send commands and options is in the <em>command set</em>\r
728 section, so I will not duplicate them here.\r
729 \r
730 <sect1>Bulletin mail\r
731 \r
732 <P>\r
733 Bulletin mail is sent by using the <em>sb</em> command.  This is one of the\r
734 most common mistakes users make when sending mail.  They send a bulletin\r
735 mail with <em>s</em> or <em>sp</em> instead of <em>sb</em> and of course\r
736 the message never leaves the cluster.  This can be rectified by the sysop\r
737 by using the <em>msg</em> command.\r
738 \r
739 <P>Bulletin addresses can be set using the Forward.pl file.\r
740 \r
741 <sect1>Forward.pl\r
742 \r
743 <P>\r
744 DXSpider receives all and any mail sent to it without any alterations needed\r
745 in files.  Because personal and bulletin mail are treated differently, there\r
746 is no need for a list of accepted bulletin addresses.  It is necessary, however,\r
747 to tell the program which links accept which bulletins.  For example, it is\r
748 pointless sending bulletins addresses to "UK" to any links other than UK\r
749 ones.  The file that does this is called forward.pl and lives in /spider/msg.\r
750 At default, like other spider files it is named forward.pl.issue.  Rename it\r
751 to forward.pl and edit the file to match your requirements.\r
752 The format is below ...\r
753 \r
754 <tscreen><verb>\r
755 #\r
756 # this is an example message forwarding file for the system\r
757 #\r
758 # The format of each line is as follows\r
759 #\r
760 #     type    to/from/at pattern action  destinations\r
761 #     P/B/F     T/F/A     regex   I/F    [ call [, call ...] ]\r
762 #\r
763 # type: P - private, B - bulletin (msg), F - file (ak1a bull)\r
764 # to/from/at: T - to field, F - from field, A - home bbs, O - origin \r
765 # pattern: a perl regex on the field requested\r
766 # action: I - ignore, F - forward\r
767 # destinations: a reference to an array containing node callsigns\r
768 #\r
769 # if it is non-private and isn't in here then it won't get forwarded \r
770 #\r
771 # Currently only type B msgs are affected by this code.\r
772\r
773 # The list is read from the top down, the first pattern that matches\r
774 # causes the action to be taken.\r
775 #\r
776 # The pattern can be undef or 0 in which case it will always be selected\r
777 # for the action specified\r
778 #\r
779 # If the BBS list is undef or 0 and the action is 'F' (and it matches the\r
780 # pattern) then it will always be forwarded to every node that doesn't have \r
781 # it (I strongly recommend you don't use this unless you REALLY mean it, if\r
782 # you allow a new link with this on EVERY bull will be forwarded immediately\r
783 # on first connection)\r
784 #\r
785 \r
786 package DXMsg;\r
787 \r
788 @forward = (\r
789 'B',    'T',    'LOCAL',        'F',    [ qw(GB7MBC) ],\r
790 'B',    'T',    'ALL',          'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
791 'B',    'T',    'UK',           'F',    [ qw(GB7BAA GB7ADX) ],\r
792 'B',    'T',    'QSL',          'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
793 'B',    'T',    'QSLINF',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
794 'B',    'T',    'DX',           'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
795 'B',    'T',    'DXINFO',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
796 'B',    'T',    'DXNEWS',       'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
797 'B',    'T',    'DXQSL',        'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
798 'B',    'T',    'SYSOP',        'F',    [ qw(GB7BAA GB7ADX) ],\r
799 'B',    'T',    '50MHZ',        'F',    [ qw(GB7BAA GB7ADX PA4AB-14) ],\r
800 );\r
801 </verb></tscreen>\r
802 \r
803 Simply insert a bulletin address and state in the brackets where you wish\r
804 that mail to go.  For example, you can see here that mail sent to "UK" will\r
805 only be sent to the UK links and not to PA4AB-14.\r
806 \r
807 <P>\r
808 To force the cluster to reread the file use load/forward\r
809 \r
810 <P>\r
811 NB: If a user tries to send mail to a bulletin address that does not exist\r
812 in this file, they will get an error.\r
813 \r
814 <sect1>The msg command\r
815 \r
816 <P>\r
817 The <em>msg</em> command is a very powerful and flexible tool for the\r
818 sysop.  It allows the sysop to alter to and from fields and make other\r
819 changes to manage the cluster mail.\r
820 \r
821 Here is a full list of the various options ...\r
822 \r
823 <tscreen><verb>\r
824   MSG TO <msgno> <call>     - change TO callsign to <call>\r
825   MSG FRom <msgno> <call>   - change FROM callsign to <call>\r
826   MSG PRrivate <msgno>      - set private flag\r
827   MSG NOPRrivate <msgno>    - unset private flag\r
828   MSG RR <msgno>            - set RR flag\r
829   MSG NORR <msgno>          - unset RR flag\r
830   MSG KEep <msgno>          - set the keep flag (message won't be deleted ever)\r
831   MSG NOKEep <msgno>        - unset the keep flag\r
832   MSG SUbject <msgno> <new> - change the subject to <new>\r
833   MSG WAittime <msgno>      - remove any waiting time for this message\r
834   MSG NOREad <msgno>        - mark message as unread\r
835   MSG REad <msgno>          - mark message as read\r
836   MSG QUeue                 - queue any outstanding bulletins\r
837   MSG QUeue 1               - queue any outstanding private messages\r
838 </verb></tscreen>\r
839 \r
840 These commands are simply typed from within the cluster as the sysop user.\r
841 \r
842 <sect1>Message status\r
843 \r
844 <P>\r
845 You can check on a message from within the cluster by using the command\r
846 <em>stat/msg</em>.  This will give you additional information on the\r
847 message number including which nodes have received it, which node it\r
848 was received from and when etc.  Here is an example of the output of\r
849 the command ...\r
850 \r
851 <tscreen><verb>\r
852 G0VGS de GB7MBC 28-Jan-2001 1308Z >\r
853 stat/msg 6869\r
854         From: GB7DJK\r
855     Msg Time: 26-Jan-2001 1302Z\r
856        Msgno: 6869\r
857       Origin: GB7DJK\r
858         Size: 8012\r
859      Subject: AMSAT 2line KEPS 01025.AMSAT\r
860           To: UK\r
861 Got it Nodes: GB7BAA, GB7ADX\r
862      Private: 0\r
863 Read Confirm: 0\r
864   Times read: 0\r
865 G0VGS de GB7MBC 28-Jan-2001 1308Z >\r
866 </verb></tscreen>\r
867 \r
868 <sect1>Filtering mail\r
869 \r
870 <P>\r
871 This is described in the section on <em>Other filters</em> so I will not\r
872 duplicate it here.\r
873 \r
874 <sect1>Distribution lists\r
875 \r
876 <P>\r
877 Distribution lists are simply a list of users to send certain types of\r
878 mail to.  An example of this is mail you only wish to send to other\r
879 sysops.  In /spider/msg there is a directory called <em>distro</em>.  You\r
880 put any distibution lists in here.  For example, here is a file called\r
881 SYSOP.pl that caters for the UK sysops.\r
882 \r
883 <tscreen><verb>\r
884 qw(GB7TLH GB7DJK GB7DXM GB7CDX GB7BPQ GB7DXN GB7MBC GB7MBC-6 GB7MDX\r
885    GB7NDX GB7SDX GB7TDX GB7UDX GB7YDX GB7ADX GB7BAA GB7DXA GB7DXH \r
886    GB7DXK GB7DXI GB7DXS)\r
887 </verb></tscreen>\r
888 \r
889 Any mail sent to "sysop" would only be sent to the callsigns in this list.\r
890 \r
891 <sect1>BBS interface\r
892 \r
893 <P>\r
894 Spider provides a simple BBS interface.  No input is required from the sysop\r
895 of the cluster at all.  The BBS simply sets the cluster as a BBS and pushes\r
896 any required mail to the cluster.  No mail can flow from Spider to the BBS,\r
897 the interface is one-way.\r
898 \r
899 <P>\r
900 Please be careful not to flood the cluster network with unnecessary mail.\r
901 Make sure you only send mail to the clusters that want it by using the\r
902 Forward.pl file very carefully.\r
903 \r
904 <sect>Scripts\r
905 \r
906 <p>\r
907 From 1.48 onwards it will become increasingly possible to control DXSpider's\r
908 operation with scripts of various kinds.\r
909 \r
910 <P>\r
911 The directory /spider/scripts is where it all happens and is used for several \r
912 things.  Firstly it contains a file called startup that can be used to call \r
913 in any changes to the cluster from the default settings on startup.  This\r
914 script is executed immediately after all initialisation of the node is done\r
915 but before any connections are possible.  Examples of this include how many \r
916 spots it is possible to get with the sh/dx command, whether you want \r
917 registration/passwords to be permanently on etc.  An example file is shown \r
918 below and is included in the distribution as startup.issue.\r
919 \r
920 <tscreen><verb>\r
921 #\r
922 # startup script example\r
923 #\r
924 # set maximum no of spots allowed to 100\r
925 # set/var $Spot::maxspots = 100\r
926 #\r
927 # Set registration on\r
928 # set/var $main::reqreg = 1\r
929 #\r
930 # Set passwords on\r
931 # set/var $main::passwdreq = 1\r
932 #\r
933 </verb></tscreen>\r
934 \r
935 <P>\r
936 As usual, any text behind a # is treated as a comment and not read.  To use\r
937 this file, simply rename it from startup.issue to startup.  In our example\r
938 above there are three options.  The first option is the amount of spots that\r
939 a user can request with the <em>sh/dx</em> command.  Normally the default is\r
940 to give 10 spots unless the user specifies more.  Without this line enabled,\r
941 the maximum a user can request is 100 spots.  Depending on your link quality\r
942 you may wish to enable more or less by specifying the number.\r
943 \r
944 <P>\r
945 The other 2 options are dealt with more fully in the security section.\r
946 \r
947 <P>\r
948 Secondly, it is used to store the login scripts for users and nodes.  Currently\r
949 this can only be done by the sysop but it is envisaged that eventually users will \r
950 be able to set their own.  An example is included in the distibution but here is \r
951 a further example.\r
952 \r
953 <tscreen><verb>\r
954 #\r
955 # G0FYD\r
956 #\r
957 blank +\r
958 sh/wwv 3\r
959 blank +\r
960 sh/dx \r
961 blank +\r
962 t g0jhc You abt?\r
963 blank +\r
964 </verb></tscreen>\r
965 \r
966 The lines in between commands can simply insert a blank line or a character\r
967 such as a + sign to make the output easier to read.  Simply create this script\r
968 with your favourite editor and save it with the callsign of the user as the\r
969 filename.  Filenames should always be in lower case.\r
970 \r
971 <P>\r
972 Commands can be inserted in the same way for nodes.  A node may wish a series\r
973 of commands to be issued on login, such as a merge command for example.\r
974 \r
975 <P>\r
976 Thirdly, there are 2 default scripts for users and nodes who do not have a\r
977 specifically defined script.  These are <em>user_default</em> and\r
978 <em>node_default</em>\r
979 \r
980 <sect>Databases\r
981 \r
982 <P>\r
983 Spider allows the creation of local or remote databases.  It supports\r
984 chained databases, allowing several different databases to be scanned\r
985 with one simple command.  Importing of databases is limited at present\r
986 to the standard AK1A databases such as OBLAST and the DB0SDX QSL \r
987 database but will expand with time.\r
988 \r
989 <sect1>Creating databases\r
990 \r
991 <P>\r
992 Creating a database could not be more simple.  All the commands are\r
993 sent from the cluster prompt as the <em>sysop</em> user.\r
994 \r
995 To create a database you use the command <em>dbcreate</em>.  It can\r
996 be used in 3 different ways like so ..\r
997 \r
998 <tscreen><verb>\r
999 dbcreate <name>\r
1000 </verb></tscreen>\r
1001 \r
1002 To simply create a database locally, you just tell the command the\r
1003 name of the database.  This does not create the actual database, it\r
1004 simply defines it to say that it exists.\r
1005 \r
1006 <tscreen><verb>\r
1007 dbcreate <name> chain <name> [<name>...]\r
1008 </verb></tscreen>\r
1009 \r
1010 This creates a chained database entry.  The first database will be\r
1011 scanned, then the second, the third etc...\r
1012 \r
1013 <tscreen><verb>\r
1014 dbcreate <name> remote <name>\r
1015 </verb></tscreen>\r
1016 \r
1017 This creates a remote entry.  the first name field is the database\r
1018 name at the remote node, then the remote switch, then the actual\r
1019 node_call of the remote node, for example...\r
1020 \r
1021 <tscreen><verb>\r
1022 dbcreate buckmaster remote gb7dxc\r
1023 </verb></tscreen>\r
1024 \r
1025 Remote databases cannot be chained, however, the last database in a\r
1026 chain can be a remote database.\r
1027 \r
1028 <sect1>Importing databases\r
1029 \r
1030 <P>\r
1031 The only databases that Spider can currently import are the standard\r
1032 AK1A databases such as OBLAST or the DB0SDX qsl and address database.\r
1033 This will be added to with time.\r
1034 \r
1035 To import such a database, first put the file somewhere useful like /tmp\r
1036 and then issue the following command ...\r
1037 \r
1038 <tscreen><verb>\r
1039 dbimport oblast /tmp/OBLAST.FUL\r
1040 </verb></tscreen>\r
1041 \r
1042 This will update the existing local oblast database or create it if\r
1043 it does not exist.\r
1044 \r
1045 <sect1>Checking available databases\r
1046 \r
1047 <P>\r
1048 Once a database is created, you will want to check that it has been\r
1049 added.  To do this use the <em>dbavail</em> command.  This will\r
1050 output the available databases.  For example ...\r
1051 \r
1052 <tscreen><verb>\r
1053 dbavail\r
1054 DB Name          Location   Chain\r
1055 qsl              Local\r
1056 buck             GB7ADX\r
1057 hftest           GB7DXM\r
1058 G0VGS de GB7MBC  3-Feb-2001 1925Z >\r
1059 </verb></tscreen>\r
1060 \r
1061 <sect1>Looking up databases\r
1062 \r
1063 <P>\r
1064 To look for information in a defined database, simply use the <em>dbshow</em>\r
1065 command, for example ...\r
1066 \r
1067 <tscreen><verb>\r
1068 dbshow buckmaster G0YLM\r
1069 </verb></tscreen>\r
1070 \r
1071 will show the information for the callsign G0YLM from the buckmaster\r
1072 database if it exists.  To make things more standard for the users\r
1073 you can add an entry in the Aliases file so that it looks like a standard \r
1074 <em>show</em> command like this ...\r
1075 \r
1076 <tscreen><verb>\r
1077 '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',\r
1078 </verb></tscreen>\r
1079 \r
1080 Now you can simply use show/buckmaster or an abreviation.\r
1081 \r
1082 <sect1>Removing databases\r
1083 \r
1084 <P>\r
1085 To delete an existing database you use the <em>dbremove</em> command.\r
1086 For example ...\r
1087 \r
1088 <tscreen><verb>\r
1089 dbremove oblast\r
1090 </verb></tscreen>\r
1091 \r
1092 would remove the oblast database and its associated datafile from the\r
1093 system.  There are no warnings or recovery possible from this command.\r
1094 If you remove a database it ceases to exist and would have to be created\r
1095 from scratch if you still required it.\r
1096 \r
1097 <sect>Information, files and useful programs\r
1098 \r
1099 <sect1>MOTD\r
1100 \r
1101 <P>\r
1102 One of the more important things a cluster sysop needs to do is to get \r
1103 information to his users.  The simplest way to do this is to have a banner \r
1104 that is sent to the user on login.  This is know as a "message of the day" \r
1105 or "motd".  To set this up, simply create a file in /spider/data called motd \r
1106 and edit it to say whatever you want.  It is purely a text file and will be \r
1107 sent automatically to anyone logging in to the cluster.\r
1108 \r
1109 <sect1>MOTD_NOR\r
1110 \r
1111 <P>\r
1112 This message of the day file lives in the same directory as the standard\r
1113 motd file but is only sent to non-registered users.  Once registered they\r
1114 will receive the same message as any other user.\r
1115 \r
1116 <sect1>Downtime message\r
1117 \r
1118 <P>\r
1119 If for any reason the cluster is down, maybe for upgrade or maintenance but \r
1120 the machine is still running, a message can be sent to the user advising them \r
1121 of the fact.  This message lives in the /spider/data directory and is called\r
1122 "offline".  Simply create the file and edit it to say whatever you wish.  \r
1123 This file will be sent to a user attempting to log into the cluster when\r
1124 DXSpider is not actually running.\r
1125 \r
1126 <sect1>Other text messages\r
1127 \r
1128 <P>\r
1129 You can set other text messages to be read by the user if they input the file \r
1130 name.  This could be for news items or maybe information for new users.  \r
1131 To set this up, make a directory under /spider called <em>packclus</em>.  \r
1132 Under this directory you can create files called <em>news</em> or <em>newuser</em>\r
1133 for example.  In fact you can create files with any names you like.  These can \r
1134 be listed by the user with the command ....\r
1135 \r
1136 <tscreen><verb>\r
1137 show/files\r
1138 </verb></tscreen>\r
1139 \r
1140 They can be read by the user by typing the command ....\r
1141 \r
1142 <tscreen><verb>\r
1143 type news\r
1144 </verb></tscreen>\r
1145 \r
1146 If the file they want to read is called <em>news</em>.  You could also set \r
1147 an alias for this in the Alias file to allow them just to type <em>news</em>\r
1148 \r
1149 <P>\r
1150 You can also store other information in this directory, either directly or \r
1151 nested under directories.  One use for this would be to store DX bulletins \r
1152 such as the OPDX bulletins.  These can be listed and read by the user.  \r
1153 To keep things tidy, make a directory under /spider/packclus called\r
1154 <em>bulletin</em>.  Now copy any OPDX or similar bulletins into it.  These \r
1155 can be listed by the user in the same way as above using the <em>show/files</em>\r
1156 command with an extension for the bulletin directory you have just created, \r
1157 like this ....\r
1158 \r
1159 <tscreen><verb>\r
1160 show/files bulletin\r
1161 </verb></tscreen>\r
1162 \r
1163 <P>\r
1164 An example would look like this ....\r
1165 \r
1166 <tscreen><verb>\r
1167 sh/files\r
1168 bulletin      DIR 20-Dec-1999 1715Z news          1602 14-Dec-1999 1330Z\r
1169 </verb></tscreen>\r
1170 \r
1171 You can see that in the files area (basically the packclus directory) there is a \r
1172 file called <em>news</em> and a directory called <em>bulletin</em>.  You can \r
1173 also see that dates they were created.  In the case of the file <em>news</em>, \r
1174 you can also see the time it was last modified, a good clue as to whether the \r
1175 file has been updated since you last read it.  To read the file called \r
1176 <em>news</em> you would simply issue the command ....\r
1177 \r
1178 <tscreen><verb>\r
1179 type news\r
1180 </verb></tscreen>\r
1181 \r
1182 To look what is in the bulletin directory you issue the command ....\r
1183 \r
1184 <tscreen><verb>\r
1185 show/files bulletin\r
1186 opdx390      21381 29-Nov-1999 1621Z opdx390.1     1670 29-Nov-1999 1621Z\r
1187 opdx390.2     2193 29-Nov-1999 1621Z opdx391      25045 29-Nov-1999 1621Z  \r
1188 opdx392      35969 29-Nov-1999 1621Z opdx393      15023 29-Nov-1999 1621Z  \r
1189 opdx394      33429 29-Nov-1999 1621Z opdx394.1     3116 29-Nov-1999 1621Z  \r
1190 opdx395      24319 29-Nov-1999 1621Z opdx396      32647 29-Nov-1999 1621Z\r
1191 opdx396.1     5537 29-Nov-1999 1621Z opdx396.2     6242 29-Nov-1999 1621Z\r
1192 opdx397      18433 29-Nov-1999 1621Z opdx398      19961 29-Nov-1999 1621Z  \r
1193 opdx399      17719 29-Nov-1999 1621Z opdx400      19600 29-Nov-1999 1621Z\r
1194 opdx401      27738 29-Nov-1999 1621Z opdx402      18698 29-Nov-1999 1621Z\r
1195 opdx403      24994 29-Nov-1999 1621Z opdx404      15685 29-Nov-1999 1621Z\r
1196 opdx405      13984 29-Nov-1999 1621Z opdx405.1     4166 29-Nov-1999 1621Z\r
1197 opdx406      28934 29-Nov-1999 1621Z opdx407      24153 29-Nov-1999 1621Z\r
1198 opdx408      15081 29-Nov-1999 1621Z opdx409      23234 29-Nov-1999 1621Z\r
1199 Press Enter to continue, A to abort (16 lines) >\r
1200 </verb></tscreen>\r
1201 \r
1202 You can now read any file in this directory using the type command, like this ....\r
1203 \r
1204 <tscreen><verb>\r
1205 type bulletin/opdx391\r
1206 Ohio/Penn DX Bulletin No. 391\r
1207 The Ohio/Penn Dx PacketCluster\r
1208 DX Bulletin No. 391\r
1209 BID: $OPDX.391\r
1210 January 11, 1999\r
1211 Editor Tedd Mirgliotta, KB8NW\r
1212 Provided by BARF-80 BBS Cleveland, Ohio\r
1213 Online at 440-237-8208 28.8k-1200 Baud 8/N/1 (New Area Code!)\r
1214 Thanks to the Northern Ohio Amateur Radio Society, Northern Ohio DX\r
1215 Association, Ohio/Penn PacketCluster Network, K1XN & Golist, WB2RAJ/WB2YQH\r
1216 & The 59(9) DXReport, W3UR & The Daily DX, K3TEJ, KN4UG, W4DC, NC6J, N6HR,\r
1217 Press Enter to continue, A to abort (508 lines) >\r
1218 </verb></tscreen>\r
1219 \r
1220 The page length will of course depend on what you have it set to!\r
1221 \r
1222 <sect1>The Aliases file\r
1223 \r
1224 <P>\r
1225 You will find a file in /spider/cmd/ called Aliases.  This is the file that\r
1226 controls what a user gets when issuing a command.  It is also possible to\r
1227 create your own aliases for databases and files you create locally.\r
1228 \r
1229 <P>\r
1230 You should not alter the original file in /spider/cmd/ but create a new file\r
1231 with the same name in /spider/local_cmd.  This means that any new Aliases files\r
1232 that is downloaded will not overwrite your self created Aliases and also that\r
1233 you do not override any new Aliases with your copy in /spider/local_cmd/.  You\r
1234 must remember that any files you store in /spider/local/ or /spider/local_cmd\r
1235 override the originals if the same lines are used in both files.\r
1236 \r
1237 <P>\r
1238 The best way of dealing with all this then is to only put your own locally\r
1239 created Aliases in the copy in /spider/local_cmd.  The example below is\r
1240 currently in use at GB7MBC.\r
1241 \r
1242 <tscreen><verb>\r
1243 \r
1244 #\r
1245 # Local Aliases File\r
1246 #\r
1247 \r
1248 package CmdAlias;\r
1249 \r
1250 %alias = (\r
1251     'n' => [\r
1252       '^news$', 'type news', 'type',\r
1253     ],\r
1254     's' => [\r
1255       '^sh\w*/buck$', 'show/qrz', 'show',\r
1256       '^sh\w*/hftest$', 'dbshow hftest', 'dbshow',\r
1257       '^sh\w*/qsl$', 'dbshow qsl', 'dbshow',\r
1258       '^sh\w*/vhf$', 'dbshow vhf', 'dbshow',\r
1259       '^sh\w*/vhftest$', 'dbshow vhftest', 'dbshow',\r
1260         ],\r
1261 )\r
1262 \r
1263 </verb></tscreen>\r
1264 \r
1265 <P>\r
1266 Each alphabetical section should be preceded by the initial letter and the section\r
1267 should be wrapped in square brackets as you can see.  The syntax is straightforward.\r
1268 The first section on each line is the new command that will be allowed once the\r
1269 alias is included.  The second section is the command it is replacing and the last\r
1270 section is the actual command that is being used.\r
1271 \r
1272 <P>\r
1273 The eagle-eyed amongst you will have noticed that in the first section, the new\r
1274 alias command has a '^' at the start and a '$' at the end.  Basically these force\r
1275 a perfect match on the alias.  The '^' says match the beginning exactly and the\r
1276 '$' says match the end exactly.  This prevents unwanted and unintentional matches\r
1277 with similar commands.\r
1278 \r
1279 <P>\r
1280 I have 3 different types of alias in this file.  At the top is an alias for 'news'.  \r
1281 This is a file I have created in the /spider/packclus/ directory where I can inform \r
1282 users of new developments or points of interest.  In it's initial form a user would \r
1283 have to use the command <em>type news</em>.  The alias allows them to simply type \r
1284 <em>news</em> to get the info.  Second is an alias for the <em>show/qrz</em>\r
1285 command so that those users used to the original <em>show/buck</em> command in\r
1286 AK1A will not get an error, and the rest of the lines are for locally created\r
1287 databases so that a user can type <em>show/hftest</em> instead of having to use\r
1288 the command <em>dbshow hftest</em> which is not as intuitive.\r
1289 \r
1290 <P>\r
1291 This file is just an example and you should edit it to your own requirements.\r
1292 Once created, simply issue the command <em>load/alias</em> at the cluster\r
1293 prompt as the sysop user and the aliases should be available.\r
1294 \r
1295 \r
1296 <sect1>Console.pl\r
1297 \r
1298 <P>\r
1299 In later versions of Spider a simple console program is provided for the sysop.  \r
1300 This has a type ahead buffer with line editing facilities and colour for spots,\r
1301 announces etc.  To use this program, simply use console.pl instead of client.\r
1302 \r
1303 <P>\r
1304 To edit the colours, copy /spider/perl/Console.pl to /spider/local and edit the \r
1305 file with your favourite editor.\r
1306 \r
1307 <sect1>Updating kepler data\r
1308 \r
1309 <P>\r
1310 Spider has a powerful and flexible show/satellite command.  In order for\r
1311 this to be accurate, the kepler data has to be updated regularly.  In\r
1312 general, this data is available as an email or via cluster mail.\r
1313 Updating it is simple.  First you need to export the mail message as a\r
1314 file.  You do this with the <em>export</em> command from the cluster prompt\r
1315 as the sysop.  For example ...\r
1316 \r
1317 <tscreen><verb>\r
1318 export 5467 /spider/perl/keps.in\r
1319 </verb></tscreen>\r
1320 \r
1321 <P>\r
1322 would export message number 5467 as a file called keps.in in the\r
1323 /spider/perl directory.\r
1324 \r
1325 <P>\r
1326 Now login to a VT as sysop and cd /spider/perl.  There is a command in\r
1327 the perl directory called <em>convkeps.pl</em>.  All we need to do now is\r
1328 convert the file like so ...\r
1329 \r
1330 <tscreen><verb>\r
1331 ./convkeps.pl keps.in\r
1332 </verb></tscreen>\r
1333 \r
1334 <P>\r
1335 Now go back to the cluster and issue the command ...\r
1336 \r
1337 <tscreen><verb>\r
1338 load/keps\r
1339 </verb></tscreen>\r
1340 \r
1341 <P>\r
1342 That is it!  the kepler data has been updated.\r
1343 \r
1344 <sect1>The QRZ callbook\r
1345 \r
1346 <P>\r
1347 The command <em>sh/qrz</em> will only work once you have followed a few\r
1348 simple steps.  First you need to get a user ID and password from qrz.com.\r
1349 Simply go to the site and create one.  Secondly you need to copy the file\r
1350 /spider/perl/Internet.pm to /spider/local and alter it to match your user\r
1351 ID and password.  You also at this point need to set $allow=1 to complete\r
1352 the setup.  Many thanks to Fred Lloyd, the proprieter of\r
1353 <htmlurl url="http://www.qrz.com" name="qrz.com"> for allowing this access.\r
1354 \r
1355 <sect1>Connecting logging programs\r
1356 \r
1357 <P>\r
1358 There appear to be very few logging programs out there that support telnet\r
1359 especially the popular ones like LogEQF, Turbolog etc.  This can make it\r
1360 difficult to connect to your own cluster!\r
1361 The way to do it is to make the logging program think it has a TNC attached\r
1362 to a com port on the logging PC and 'push' a linux login out to it.\r
1363 This is achieved very simply by the use of <em>agetty</em>.\r
1364 \r
1365 <P>\r
1366 All that is required is to add a line in /etc/inittab to have the client\r
1367 ready for a connection on the com port of your choice.  Remember that in\r
1368 Linux, the com ports start at ttyS0 for com1, ttyS1 for com2 etc.\r
1369 \r
1370 <tscreen><verb>\r
1371 c4:2345:respawn:/sbin/agetty -L 9600 ttyS1\r
1372 </verb></tscreen>\r
1373 \r
1374 <P>\r
1375 Add this after the standard runlevel lines in /etc/inittab.  The above\r
1376 line works on ttyS1 (com2).  Now as root, issue the command <em>telinit q</em>\r
1377 and it should be ready for connection.  All that is required is a 3 wire\r
1378 serial lead (tx, rx and signal ground).  Tell you logging program to use\r
1379 8n1 at 9600 baud and you should see a Linux login prompt.  Login as normal\r
1380 and then telnet from there to the cluster.\r
1381 \r
1382 <sect>Java Web applet\r
1383 \r
1384 <P>\r
1385 In the spider tree will be a directory <em>spider-web</em>.  This is a\r
1386 neat little java web applet that can be run from a website.  The applet\r
1387 must run on the same machine as the cluster.  The included README file is\r
1388 shown below.\r
1389 \r
1390 <P>\r
1391 I should comment here that the applet is precompiled, that is, ready to go.\r
1392 It was compiled using JDK1.3.1.  If your version is earlier than this then it\r
1393 may not work.  Should that be the case you need to recompile or update your\r
1394 JDK.  To recompile do the following ...\r
1395 \r
1396 <tscreen><verb>\r
1397 cd /spider/spider-web\r
1398 rm *.class\r
1399 /usr/bin/javac spiderclient.java\r
1400 </verb></tscreen>\r
1401 \r
1402 <P>\r
1403 I have used /usr/bin/javac as an example, your path to javac may be different.\r
1404 \r
1405 <verb>\r
1406 Spider-WEB v0.6b\r
1407 \r
1408 Completely based on a clx web client written in Java by dl6dbh\r
1409 (ftp://clx.muc.de/pub/clx/clx-java_10130001.tgz)\r
1410 \r
1411 The webserver has to run on the same machine as your DxSpider software!\r
1412 \r
1413 It is assumed that you have Java installed.  You need JDK1.3.1 at least.\r
1414 \r
1415 Installation instructions (Performed as root):\r
1416 \r
1417 Put all the files in the spider-web directory into a newly created directory\r
1418 under the DocumentRoot of your websever for instance 'client'. In my case\r
1419 this is:  /home/httpd/html/client/ although ymmv.  For Suse the correct\r
1420 path should be /usr/local/httpd/htdocs/client/ for example.\r
1421 \r
1422 Move spider.cgi to the cgi-bin directory of your webserver, in my case that is\r
1423 /home/httpd/cgi-bin/ although ymmv.  For Suse the correct path should be\r
1424 /usr/local/httpd/cgi-bin/ for example.\r
1425 \r
1426 Change the permissions of the files to ensure they are correct, obviously you\r
1427 will need to use the correct path the the files according to your system:\r
1428 \r
1429 chmod 755 /home/httpd/html/cgi-bin/spider.cgi\r
1430 chmod -R 755 /home/httpd/html/client/\r
1431 \r
1432 By default the spider.cgi script should pick up your hostname (As long as this\r
1433 is set correctly).  If it does not or your hostname differs from the name that\r
1434 you attach to the public address that you are using, then edit spider.cgi :\r
1435 \r
1436 # Uncomment and set the hostname manually here if the above fails.\r
1437 # $HOSTNAME = "gb7mbc.spoo.org" ;\r
1438 $PORT = "8000" ;\r
1439 \r
1440 'HOSTNAME' is the hostname of your cluster.\r
1441 \r
1442 'PORT' is the portnumber that you use to connect to your DxSpider via\r
1443 telnet (see Listeners.pm)\r
1444 \r
1445 NOTE: If you can start the console but cannot connect to the cluster from it,\r
1446 then it is possible that the machine you are on cannot resolve the hostname of \r
1447 your cluster machine.  If this is the case, you need to set your hostname \r
1448 manually as above.\r
1449 \r
1450 You also need to set the $NODECALL variable.  This prints the name of your\r
1451 choosing (probably your cluster callsign) on the html page.\r
1452 \r
1453 You now can connect to Spider-Web via http://yourserver/cgi-bin/spider.cgi\r
1454 </verb>\r
1455 \r
1456 <sect>Web based statistics\r
1457 \r
1458 <P>\r
1459 From version 1.50, you can use the freeware software MRTG to produce\r
1460 really nice graphical statistics on your web site.  For an example\r
1461 try <htmlurl url="http://www.gb7mbc.net/mrtg/stats.html" name="http://www.gb7mbc.net/mrtg/stats.html">.\r
1462 \r
1463 <P>\r
1464 The following should help you get it all working.\r
1465 \r
1466 <P>\r
1467 First you need to download the latest version of MRTG from <htmlurl url="http://people.ee.ethz.ch/~oetiker/webtools/mrtg/" name="http://people.ee.ethz.ch/~oetiker/webtools/mrtg/">.\r
1468 You will also need the following files..\r
1469 \r
1470 <tscreen><verb>\r
1471 libpng-1.0.14.tar.gz\r
1472 zlib-1.1.4.tar.gz\r
1473 gd-1.8.3.tar.gz\r
1474 </verb></tscreen>\r
1475 \r
1476 Login to your machine as the root user, put all the downloaded files \r
1477 in /usr/local/src/ (or wherever you prefer) and untar and compile them.  \r
1478 All the information to compile and install these sources come with them.\r
1479 After compilation and installation,  you will find MRTG in /usr/local/mrtg-2.\r
1480 \r
1481 <P>\r
1482 Now copy all the files in /usr/local/src/mrtg-2.9.22/images/ to \r
1483 /spider/html/mrtg/\r
1484 \r
1485 <P>\r
1486 You now need to make 2 symbolic links like below...\r
1487 \r
1488 <tscreen><verb>\r
1489 ln -s /usr/local/mrtg-2/bin/mrtg /usr/bin/mrtg\r
1490 ln -s /usr/local/mrtg-2/lib/mrtg2 /usr/lib/mrtg2\r
1491 </verb></tscreen>\r
1492 \r
1493 <P>\r
1494 Now login to the cluster with your sysop callsign and run the command \r
1495 "mrtg all".\r
1496 \r
1497 <P>Now you are nearly there!  Login as the sysop user and change to the\r
1498 /spider/html/mrtg/ directory.  Now run the command <em>indexmaker</em> as\r
1499 shown below...\r
1500 \r
1501 <tscreen><verb>\r
1502 indexmaker --output stats.html --columns=1 --title "MRTG statistics for GB7DJK" ../../mrtg/mrtg.cfg\r
1503 </verb></tscreen>\r
1504 \r
1505 Changing the callsign for your own cluster callsign of course!\r
1506 \r
1507 <P>\r
1508 And finally you need to login as the root user and create one last\r
1509 symbolic link.  Where this points will depend on where your html\r
1510 documents are kept.  For RedHat systems you use...\r
1511 \r
1512 <tscreen><verb>\r
1513 ln -s /home/sysop/spider/html/mrtg /home/httpd/html/mrtg\r
1514 </verb></tscreen>\r
1515 \r
1516 and for SuSE systems...\r
1517 \r
1518 <tscreen><verb>\r
1519 ln -s /home/sysop/spider/html/mrtg /usr/local/httpd/htdocs/mrtg\r
1520 </verb></tscreen>\r
1521 \r
1522 If you now point your browser to your website as below it should all\r
1523 be happening!\r
1524 \r
1525 <tscreen><verb>\r
1526 http://www.xxx.xxx/mrtg/stats.html\r
1527 </verb></tscreen>\r
1528 \r
1529 Of course, to get the stats to update, you need to add some information\r
1530 in the spider crontab file as below...\r
1531 \r
1532 <tscreen><verb>\r
1533 # Update stats for mrtg on website\r
1534 00,05,10,15,20,25,30,35,40,45,50,55 * * * * run_cmd('mrtg all')\r
1535 </verb></tscreen>\r
1536 \r
1537 This will update the site every 5 minutes.\r
1538 \r
1539 <sect>Security\r
1540 \r
1541 <P>\r
1542 From version 1.49 DXSpider has some additional security features.  These\r
1543 are not by any means meant to be exhaustive, however they do afford some\r
1544 security against piracy.  These two new features can be used independently \r
1545 of each other or in concert to tighten the security.\r
1546 \r
1547 <sect1>Registration\r
1548 \r
1549 <P>\r
1550 The basic principle of registration is simple.  If a user is not registered\r
1551 by the sysop, then they have read-only access to the cluster.  The only\r
1552 thing they can actually send is a talk or a message to the sysop.  In\r
1553 order for them to be able to spot, send announces or talks etc the sysop\r
1554 must register them with the <em>set/register</em> command, like this ...\r
1555 \r
1556 <tscreen><verb>\r
1557 set/register g0vgs\r
1558 </verb></tscreen>\r
1559 \r
1560 The user g0vgs can now fully use the cluster.  In order to enable \r
1561 registration, you can issue the command ...\r
1562 \r
1563 <tscreen><verb>\r
1564 set/var $main::reqreg = 1\r
1565 </verb></tscreen>\r
1566 \r
1567 Any users that are not registered will now see the motd_nor file rather\r
1568 than the motd file as discussed in the Information, files and useful \r
1569 programs section.\r
1570 \r
1571 <P>\r
1572 Entering this line at the prompt will only last for the time the cluster\r
1573 is running of course and would not be present on a restart.  To make the\r
1574 change permanent, add the above line to /spider/scripts/startup.  To\r
1575 read more on the startup file, see the section on Information, files \r
1576 and useful programs.\r
1577 \r
1578 <P>\r
1579 To unregister a user use <em>unset/register</em> and to show the list\r
1580 of registered users, use the command <em>show/register</em>.\r
1581 \r
1582 <sect1>Passwords\r
1583 \r
1584 <P>\r
1585 At the moment, passwords only affect users who login to a DXSpider\r
1586 cluster node via telnet.  If a user requires a password, they can\r
1587 either set it themselves or have the sysop enter it for them by using\r
1588 the <em>set/password</em> command.  Any users who already have passwords, \r
1589 such as remote sysops, will be asked for their passwords automatically \r
1590 by the cluster.  Using passwords in this way means that the user has a\r
1591 choice on whether to have a password or not.  To force the use of\r
1592 passwords at login, issue the command ...\r
1593 \r
1594 <tscreen><verb>\r
1595 set/var $main::passwdreq = 1\r
1596 </verb></tscreen>\r
1597 \r
1598 at the cluster prompt.  This can also be added to the /spider/scripts/startup\r
1599 file as above to make the change permanent.\r
1600 \r
1601 <P>\r
1602 Of course, if you do this you will have to assign a password for each of \r
1603 your users.  If you were asking them to register, it is anticipated that\r
1604 you would ask them to send you a message both to ask to be registered and\r
1605 to give you the password they wish to use.\r
1606 \r
1607 <P>\r
1608 Should a user forget their password, it can be reset by the sysop by\r
1609 first removing the existing password and then setting a new one like so ...\r
1610 \r
1611 <tscreen><verb>\r
1612 unset/password g0vgs\r
1613 set/password g0vgs new_password\r
1614 </verb></tscreen>\r
1615 \r
1616 <sect>CVS\r
1617 \r
1618 <sect1>CVS from a Linux platform\r
1619 \r
1620 <P>\r
1621 CVS stands for "Concurrent Versions System" and the CVS for DXSpider is held\r
1622 at <htmlurl url="http://www.sourceforge.net" name="Sourceforge">.  This means\r
1623 that it is possible to update your DXSpider installation to the latest\r
1624 sources by using a few simple commands.  A graphical interface to CVS for\r
1625 Windows is explained in the next section.\r
1626 \r
1627 <P>\r
1628 Please be aware that if you update your system using CVS, it is possible that\r
1629 you could be running code that is very beta and not fully tested.  There is\r
1630 a possibility that it could be unstable.\r
1631 \r
1632 <P>\r
1633 I am of course assuming that you have a machine with both DXSpider and\r
1634 Internet access running.\r
1635 \r
1636 <P>\r
1637 BEFORE YOU EVEN CONSIDER STARTING WITH THIS MAKE A BACKUP OF YOUR\r
1638 ENTIRE SPIDER TREE!!\r
1639 \r
1640 <P>\r
1641 Assuming you are connected to the Internet, you need to login to the\r
1642 CVS repository and then update your Spider source.  There are several\r
1643 steps which are listed below ...\r
1644 \r
1645 <P>\r
1646 First login as the user <em>sysop</em>.  Next you need to connect to the CVS\r
1647 repository.  You do this with the command below ...\r
1648 \r
1649 <verb>\r
1650 cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/dxspider login\r
1651 </verb>\r
1652 \r
1653 You will get a password prompt.  Simply hit return here and your machine should\r
1654 return to a normal linux prompt.\r
1655 \r
1656 <P>\r
1657 What happens next depends on whether you have an existing installation that\r
1658 you want to update with the latest and greatest or whether you just want\r
1659 to see what is there and/or run it on a new machine for testing.\r
1660 \r
1661 If you are installing Spider from CVS then change directory to /home/sysop\r
1662 \r
1663 If you are wanting to update Spider then cd to /tmp\r
1664 \r
1665 <P>\r
1666 The next step will create a brand new 'spider' directory in your current\r
1667 directory.\r
1668 \r
1669 <verb>\r
1670 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/dxspider co spider\r
1671 </verb>\r
1672 \r
1673 This command is all on one line.\r
1674 \r
1675 <P>\r
1676 Hopefully your screen should show you downloading files.  The -z3 simply compresses\r
1677 the download to improve speed.\r
1678 When this has finished, you will have exactly the same as if you had untarred a full\r
1679 tarball PLUS some extra directories and files that CVS needs to do the magic that\r
1680 it does.\r
1681 \r
1682 <P>\r
1683 Now if you are doing a new installation, that's it.  Carry on as if you have\r
1684 just downloaded and untarred the lastest tarball.\r
1685 \r
1686 <P>\r
1687 If you want to upgrade your current installation then do this ...\r
1688 \r
1689 <tscreen><verb>\r
1690 tar cvfz /tmp/s.tgz spider\r
1691 cd /\r
1692 tar xvfzp /tmp/s.tgz\r
1693 </verb></tscreen>\r
1694 \r
1695 This is assuming you downloaded to the /tmp directory of course.\r
1696 \r
1697 <P>\r
1698 NOTE:  the 'p' on the end of the 'xvfz' is IMPORTANT!   It keeps the permissions\r
1699 correct.  YOU WERE LOGGED IN AS THE USER SYSOP WEREN'T YOU?????\r
1700 \r
1701 Remember to recompile the C client (cd /spider/src; make)\r
1702 \r
1703 <P>\r
1704 At this point the files have been upgraded.  You can (usually) restart the cluster\r
1705 in your own time.  However, if you attempt to use any new commands or features\r
1706 expect it to be fatal!  At least your cluster will have been restarted then so it\r
1707 will be too late to worry about it!\r
1708 \r
1709 <P>\r
1710 Now the magic part!  From now on when you want to update, simply connect to the\r
1711 Internet and then, as the user <em>sysop</em> ...\r
1712 \r
1713 <tscreen><verb>\r
1714 cd /spider\r
1715 cvs -z3 update -d\r
1716 </verb></tscreen>\r
1717 \r
1718 and your files will be updated.  As above, remember to recompile the "C" client\r
1719 if it has been updated (CVS will tell you) and restart if any of the perl scripts\r
1720 have been altered or added, again, CVS will tell you.\r
1721 \r
1722 <P>\r
1723 You will find any changes documented in the /spider/Changes file.\r
1724 \r
1725 <sect1>CVS from a Windows platform\r
1726 \r
1727 <P>\r
1728 After the initial setup, an update to your DXSpider software is no more than a couple\r
1729 of clicks away.  This section is intended to explain and illustrate the use of the\r
1730 WinCVS application to update your DXSpider software.  The current stable version of\r
1731 WinCVS is Ver. 1.2.  You can get this software at:\r
1732 \r
1733 <htmlurl url="http://prdownloads.sourceforge.net/cvsgui/WinCvs120.zip" name="http://prdownloads.sourceforge.net/cvsgui/WinCvs120.zip">\r
1734 \r
1735 Pick your download mirror and then install WinCVS after the download is complete.\r
1736 \r
1737 In this next section I have included a series of links to .jpg files to take advantage of the\r
1738 picture and 1000 words equivalency.  The .jpg files are in the C:\spider\html directory.  If\r
1739 someone using a Linux system is reading this section from boredom, the files are in\r
1740 /home/sysop/spider/html.  One aside, a Linux user can also get a copy of gcvs and do your updates\r
1741 graphically as opposed to from the command line.  The following descriptions are almost identical\r
1742 between WinCvs and gcvs.  The following screen shots have duplicate links, depending upon whether\r
1743 you are viewing this information under the Windows or Linux operating system.\r
1744 \r
1745 When WinCVS is installed, running, and you are connected to the internet, the initial screen looks like:\r
1746 \r
1747 <htmlurl url="initial.jpg" name="initial.jpg">\r
1748 \r
1749 If you want, you can also look at these .jpg files with another viewer that might provide some\r
1750 better clarity to the image.  On the left is the directory tree for your hard disk.  Notice that\r
1751 the spider directory has a gray highlight.\r
1752 \r
1753 To start configuring WinCVS, click on Admin at the top of the screen and then Preferences.  This \r
1754 should get you:\r
1755 \r
1756 <htmlurl url="pref-gen.jpg" name="pref-gen.jpg">\r
1757 \r
1758 In the top line for CVSROOT, enter:\r
1759 <tscreen><verb>\r
1760 anonymous@cvs.sourceforge.net:/cvsroot/dxspider login\r
1761 </verb></tscreen>\r
1762 \r
1763 and select\r
1764 <tscreen><verb>\r
1765 "passwd" file on the cvs server\r
1766 </verb></tscreen>\r
1767 \r
1768 for Authentication on the General tab.\r
1769 \r
1770 Next, move to the right to the Ports tab.\r
1771 \r
1772 <htmlurl url="pref-ports.jpg" name="pref-ports.jpg">\r
1773 \r
1774 In here, check the box on the second line down for the "pserver" port.  Enter a port number of 2401.\r
1775 \r
1776 Finally, go to the WinCvs tab all the way to the right.\r
1777 \r
1778 <htmlurl url="pref-wincvs.jpg" name="pref-wincvs.jpg">\r
1779 \r
1780 Enter Notepad as the viewer to open files.  For the HOME folder, put "C:\spider" and click OK\r
1781 because the configuration is now complete.\r
1782 \r
1783 You are now ready to upgrade your copy of DXSpider.  Click on the greyed Spider folder\r
1784 shown in the directory tree on the left of the WinCVS display.  Two things should happen.  The Spider\r
1785 folder will be selected and the greyed-out arrow located just below the word Query in the top line will\r
1786 turn to solid green.\r
1787 \r
1788 For anyone using gcvs under Linux, the green arrow is located on the extreme left of the display,\r
1789 under the word File.  A gcvs screen looks like:\r
1790 \r
1791 <htmlurl url="gcvs.jpg" name="gcvs.jpg">\r
1792 \r
1793 Click on the now green arrow to start the download process.  An Update Settings box will be displayed\r
1794 to which you can simply say OK.\r
1795 \r
1796 <htmlurl url="update-OK.jpg" name="update-OK.jpg">\r
1797 \r
1798 For future reference, the Update Settings box is the place where you can enter information to revert\r
1799 to a prior version of DXSpider.  Information on reverting to a Before Date is contained in the WinCVS\r
1800 manual.\r
1801 \r
1802 After a short period of time, a series of file names will scroll by in the lower pane of the WinCVS\r
1803 window.  Eventually you should see\r
1804 <tscreen><verb>\r
1805 *****CVS exited normally with code 0*****\r
1806 \r
1807 </verb></tscreen>\r
1808 appear in the lower pane.  You're done.  The updated files are in place ready for you to stop and then\r
1809 restart your DXSpider.  After the restart, you're running with the latest version of DXSpider.\r
1810 \r
1811 <htmlurl url="completed.jpg" name="completed.jpg">\r
1812 \r
1813 To paraphrase from the CVS section... Now the magic part!  From now on when you want to update, simply\r
1814 connect to the Internet and start WinCVS.\r
1815 <tscreen><verb>\r
1816 Click on the greyed-out Spider directory in the left screen\r
1817 Click on the green down arrow\r
1818 Click OK on the Update Settings dialog box\r
1819 Restart your Spider software\r
1820 </verb></tscreen>\r
1821 \r
1822 <sect>The DXSpider Command Reference\r
1823 \r
1824 <sect1>accept (0)
1825
1826 <P>
1827 <tt>
1828 <bf>accept</bf> Set a filter to accept something
1829 </tt>
1830
1831 <P>
1832 Create a filter to accept something
1833
1834 There are 2 types of filter, accept and reject.  See HELP FILTERING for more
1835 info.
1836 <sect1>accept/announce &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
1837
1838 <P>
1839 <tt>
1840 <bf>accept/announce &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Announce filter sysop version
1841 </tt>
1842
1843 <P>
1844 This version allows a sysop to set a filter for a callsign as well as the
1845 default for nodes and users eg:-
1846
1847 <tscreen><verb>
1848   accept/ann by G,M,2
1849   accept/ann input node_default by G,M,2
1850   accept/ann user_default by G,M,2
1851 </verb></tscreen>
1852
1853 <sect1>accept/announce &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
1854
1855 <P>
1856 <tt>
1857 <bf>accept/announce &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an 'accept' filter line for announce
1858 </tt>
1859
1860 <P>
1861 Create an 'accept this announce' line for a filter. 
1862
1863 An accept filter line means that if the announce matches this filter it is
1864 passed onto the user. See HELP FILTERING for more info. Please read this
1865 to understand how filters work - it will save a lot of grief later on.
1866
1867 You can use any of the following things in this line:-
1868
1869 <tscreen><verb>
1870   info &lt;string&gt;            eg: iota or qsl
1871   by &lt;prefixes&gt;            eg: G,M,2         
1872   origin &lt;prefixes&gt;
1873   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
1874   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
1875   origin_zone &lt;prefixes or numbers&gt;
1876   origin_state &lt;states&gt;                eg: VA,NH,RI,NH
1877   by_dxcc &lt;prefixes or numbers&gt;
1878   by_itu &lt;prefixes or numbers&gt;
1879   by_zone &lt;prefixes or numbers&gt;
1880   by_state &lt;states&gt;
1881   channel &lt;prefixes&gt;
1882   wx 1                     filter WX announces
1883   dest &lt;prefixes&gt;          eg: 6MUK,WDX      (distros)
1884 </verb></tscreen>
1885
1886 some examples:-
1887
1888 <tscreen><verb>
1889   acc/ann dest 6MUK
1890   acc/ann 2 by_zone 14,15,16
1891   (this could be all on one line: acc/ann dest 6MUK or by_zone 14,15,16)
1892 </verb></tscreen>
1893 or
1894 <tscreen><verb>
1895   acc/ann by G,M,2 
1896 </verb></tscreen>
1897
1898 for american states
1899
1900 <tscreen><verb>
1901   acc/ann by_state va,nh,ri,nh
1902 </verb></tscreen>
1903
1904 You can use the tag 'all' to accept everything eg:
1905
1906 <tscreen><verb>
1907   acc/ann all
1908 </verb></tscreen>
1909
1910 but this probably for advanced users...
1911 <sect1>accept/route &lt;call&gt; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
1912
1913 <P>
1914 <tt>
1915 <bf>accept/route &lt;call&gt; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an 'accept' filter line for routing
1916 </tt>
1917
1918 <P>
1919 Create an 'accept this routing PC Protocol' line for a filter. 
1920
1921 An accept filter line means that if a PC16/17/19/21/24/41/50 matches this filter 
1922 it is passed thru that interface. See HELP FILTERING for more info. Please read this
1923 to understand how filters work - it will save a lot of grief later on.
1924
1925 You can use any of the following things in this line:-
1926
1927 <tscreen><verb>
1928   call &lt;prefixes&gt;        the callsign of the thingy
1929   call_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
1930   call_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
1931   call_zone &lt;prefixes or numbers&gt;
1932   call_state &lt;states&gt;                eg: VA,NH,RI,NH
1933   origin &lt;prefixes&gt;      really the interface it came in on
1934   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
1935   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
1936   origin_zone &lt;prefixes or numbers&gt;
1937   origin_state &lt;states&gt;                eg: VA,NH,RI,NH
1938 </verb></tscreen>
1939
1940 some examples:-
1941
1942 <tscreen><verb>
1943   acc/route gb7djk call_dxcc 61,38 (send only UK+EIRE nodes)
1944   acc/route gb7djk call gb7djk     (equiv to SET/ISOLATE)
1945 </verb></tscreen>
1946
1947 you can now use 'by' as a synonym for 'call' so:
1948
1949 <tscreen><verb>
1950   by = call
1951   by_dxcc = call_dxcc 
1952 </verb></tscreen>
1953
1954 and so on
1955
1956 You can use the tag 'all' to accept everything eg:
1957
1958 <tscreen><verb>
1959   acc/route all
1960 </verb></tscreen>
1961
1962 <sect1>accept/spots &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
1963
1964 <P>
1965 <tt>
1966 <bf>accept/spots &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Spot filter sysop version
1967 </tt>
1968
1969 <P>
1970 This version allows a sysop to set a filter for a callsign as well as the
1971 default for nodes and users eg:-
1972
1973 <tscreen><verb>
1974   accept/spot db0sue-7 1 by_zone 14,15,16
1975   accept/spot node_default all
1976   set/hops node_default 10
1977 </verb></tscreen>
1978
1979 <tscreen><verb>
1980   accept/spot user_default by G,M,2
1981 </verb></tscreen>
1982
1983 <sect1>accept/spots &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
1984
1985 <P>
1986 <tt>
1987 <bf>accept/spots &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an 'accept' filter line for spots
1988 </tt>
1989
1990 <P>
1991 Create an 'accept this spot' line for a filter. 
1992
1993 An accept filter line means that if the spot matches this filter it is
1994 passed onto the user. See HELP FILTERING for more info. Please read this
1995 to understand how filters work - it will save a lot of grief later on.
1996
1997 You can use any of the following things in this line:-
1998
1999 <tscreen><verb>
2000   freq &lt;range&gt;           eg: 0/30000 or hf or hf/cw or 6m,4m,2m
2001   on &lt;range&gt;             same as 'freq'
2002   call &lt;prefixes&gt;        eg: G,PA,HB9
2003   info &lt;string&gt;          eg: iota or qsl
2004   by &lt;prefixes&gt;            
2005   call_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
2006   call_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
2007   call_zone &lt;prefixes or numbers&gt;
2008   call_state &lt;states&gt;                eg: VA,NH,RI,ME
2009   by_dxcc &lt;prefixes or numbers&gt;
2010   by_itu &lt;prefixes or numbers&gt;
2011   by_zone &lt;prefixes or numbers&gt;
2012   by_state &lt;states&gt;                eg: VA,NH,RI,ME
2013   origin &lt;prefixes&gt;
2014   channel &lt;prefixes&gt;
2015 </verb></tscreen>
2016
2017 'call' means the callsign that has spotted 'by' whoever.
2018
2019 For frequencies, you can use any of the band names defined in
2020 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
2021 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
2022 this is more efficient than saying simply: freq HF (but don't get
2023 too hung up about that)
2024
2025 some examples:-
2026
2027 <tscreen><verb>
2028   acc/spot 1 on hf/cw
2029   acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2030 </verb></tscreen>
2031
2032 You can use the tag 'all' to accept everything, eg:
2033
2034 <tscreen><verb>
2035   acc/spot 3 all
2036 </verb></tscreen>
2037
2038 for US states 
2039
2040 <tscreen><verb>
2041   acc/spots by_state VA,NH,RI,MA,ME
2042 </verb></tscreen>
2043
2044 but this probably for advanced users...
2045 <sect1>accept/wcy &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
2046
2047 <P>
2048 <tt>
2049 <bf>accept/wcy &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> WCY filter sysop version
2050 </tt>
2051
2052 <P>
2053 This version allows a sysop to set a filter for a callsign as well as the
2054 default for nodes and users eg:-
2055
2056 <tscreen><verb>
2057   accept/wcy node_default all
2058   set/hops node_default 10
2059 </verb></tscreen>
2060
2061 <sect1>accept/wcy &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
2062
2063 <P>
2064 <tt>
2065 <bf>accept/wcy &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> set an 'accept' WCY filter
2066 </tt>
2067
2068 <P>
2069 It is unlikely that you will want to do this, but if you do then you can
2070 filter on the following fields:-
2071
2072 <tscreen><verb>
2073   by &lt;prefixes&gt;            eg: G,M,2         
2074   origin &lt;prefixes&gt;
2075   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
2076   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
2077   origin_zone &lt;prefixes or numbers&gt;
2078   by_dxcc &lt;prefixes or numbers&gt;
2079   by_itu &lt;prefixes or numbers&gt;
2080   by_zone &lt;prefixes or numbers&gt;
2081   channel &lt;prefixes&gt;
2082 </verb></tscreen>
2083
2084 There are no examples because WCY Broadcasts only come from one place and
2085 you either want them or not (see UNSET/WCY if you don't want them).
2086
2087 This command is really provided for future use.
2088
2089 See HELP FILTER for information.
2090 <sect1>accept/wwv &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
2091
2092 <P>
2093 <tt>
2094 <bf>accept/wwv &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> WWV filter sysop version
2095 </tt>
2096
2097 <P>
2098 This version allows a sysop to set a filter for a callsign as well as the
2099 default for nodes and users eg:-
2100
2101 <tscreen><verb>
2102   accept/wwv db0sue-7 1 by_zone 4
2103   accept/wwv node_default all
2104   set/hops node_default 10
2105 </verb></tscreen>
2106
2107 <tscreen><verb>
2108   accept/wwv user_default by W,K
2109 </verb></tscreen>
2110
2111 <sect1>accept/wwv &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
2112
2113 <P>
2114 <tt>
2115 <bf>accept/wwv &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> set an 'accept' WWV filter
2116 </tt>
2117
2118 <P>
2119 It is unlikely that you will want to do this, but if you do then you can
2120 filter on the following fields:-
2121
2122 <tscreen><verb>
2123   by &lt;prefixes&gt;            eg: G,M,2         
2124   origin &lt;prefixes&gt;
2125   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
2126   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
2127   origin_zone &lt;prefixes or numbers&gt;
2128   by_dxcc &lt;prefixes or numbers&gt;
2129   by_itu &lt;prefixes or numbers&gt;
2130   by_zone &lt;prefixes or numbers&gt;
2131   channel &lt;prefixes&gt;
2132 </verb></tscreen>
2133
2134 for example 
2135
2136 <tscreen><verb>
2137   accept/wwv by_zone 4
2138 </verb></tscreen>
2139
2140 is probably the only useful thing to do (which will only show WWV broadcasts
2141 by stations in the US).
2142
2143 See HELP FILTER for information.
2144 <sect1>announce &lt;text&gt; (0)
2145
2146 <P>
2147 <tt>
2148 <bf>announce &lt;text&gt;</bf> Send an announcement to LOCAL users only
2149 </tt>
2150
2151 <P>
2152 &lt;text&gt; is the text of the announcement you wish to broadcast 
2153 <sect1>announce full &lt;text&gt; (0)
2154
2155 <P>
2156 <tt>
2157 <bf>announce full &lt;text&gt;</bf> Send an announcement cluster wide
2158 </tt>
2159
2160 <P>
2161 This will send your announcement cluster wide
2162 <sect1>announce sysop &lt;text&gt; (5)
2163
2164 <P>
2165 <tt>
2166 <bf>announce sysop &lt;text&gt;</bf> Send an announcement to Sysops only
2167 </tt>
2168
2169 <P>
2170 <sect1>apropos &lt;string&gt; (0)
2171
2172 <P>
2173 <tt>
2174 <bf>apropos &lt;string&gt;</bf> Search help database for &lt;string&gt;
2175 </tt>
2176
2177 <P>
2178 Search the help database for &lt;string&gt; (it isn't case sensitive), and print
2179 the names of all the commands that may be relevant.
2180 <sect1>blank &lsqb;&lt;string&gt;&rsqb; &lsqb;&lt;nn&gt;&rsqb; (0)
2181
2182 <P>
2183 <tt>
2184 <bf>blank &lsqb;&lt;string&gt;&rsqb; &lsqb;&lt;nn&gt;&rsqb;</bf> Print nn (default 1) blank lines (or strings)
2185 </tt>
2186
2187 <P>
2188 In its basic form this command prints one or more blank lines. However if
2189 you pass it a string it will replicate the string for the width of the 
2190 screen (default 80) and then print that one or more times, so:
2191
2192 <tscreen><verb>
2193   blank 2
2194 </verb></tscreen>
2195
2196 prints two blank lines
2197
2198 <tscreen><verb>
2199   blank - 
2200 </verb></tscreen>
2201
2202 prints a row of - characters once.
2203
2204 <tscreen><verb>
2205   blank abc
2206 </verb></tscreen>
2207
2208 prints 'abcabcabcabcabcabc....'
2209
2210 This is really only of any use in a script file and you can print a maximum
2211 of 9 lines.
2212 <sect1>bye (0)
2213
2214 <P>
2215 <tt>
2216 <bf>bye</bf> Exit from the cluster
2217 </tt>
2218
2219 <P>
2220 This will disconnect you from the cluster
2221 <sect1>catchup &lt;node call&gt; all|&lsqb;&lt;msgno&gt; ...&rsqb; (5)
2222
2223 <P>
2224 <tt>
2225 <bf>catchup &lt;node call&gt; all|&lsqb;&lt;msgno&gt; ...&rsqb;</bf> Mark a message as sent
2226 </tt>
2227
2228 <P>
2229 <sect1>chat &lt;group&gt; &lt;text&gt; (0)
2230
2231 <P>
2232 <tt>
2233 <bf>chat &lt;group&gt; &lt;text&gt;</bf> Chat or Conference to a group
2234 </tt>
2235
2236 <P>
2237 It is now possible to JOIN a group and have network wide conferencing to that
2238 group. DXSpider does not (and probably will not) implement the AK1A 
2239 conference mode as this seems very limiting, is hardly used and doesn't seem
2240 to work too well anyway.
2241
2242 This system uses the existing ANN system and is compatible with both other
2243 DXSpider nodes and AK1A clusters (they use ANN/&lt;group&gt;). 
2244
2245 You can be a member of as many "groups" as you want. To join a group type:-
2246
2247 <tscreen><verb>
2248   JOIN FOC    (where FOC is the group name)
2249 </verb></tscreen>
2250
2251 To leave a group type:-
2252
2253 <tscreen><verb>
2254   LEAVE FOC
2255 </verb></tscreen>
2256
2257 You can see which groups you are in by typing:-
2258
2259 <tscreen><verb>
2260   STAT/USER
2261 </verb></tscreen>
2262
2263 and you can see whether your mate is in the group, if he connects to the
2264 same node as you, by typing:-
2265
2266 <tscreen><verb>
2267   STAT/USER g1tlh
2268 </verb></tscreen>
2269
2270 To send a message to a group type:-
2271
2272 <tscreen><verb>
2273   CHAT FOC hello everyone
2274 </verb></tscreen>
2275
2276 or
2277
2278 <tscreen><verb>
2279   CH #9000 hello I am back
2280 </verb></tscreen>
2281
2282 See also JOIN, LEAVE, SHOW/CHAT
2283 <sect1>clear/announce &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb; (8)
2284
2285 <P>
2286 <tt>
2287 <bf>clear/announce &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb;</bf> Clear a announce filter line
2288 </tt>
2289
2290 <P>
2291 A sysop can clear an input or normal output filter for a user or the
2292 node_default or user_default. 
2293 <sect1>clear/announce &lsqb;1|all&rsqb; (0)
2294
2295 <P>
2296 <tt>
2297 <bf>clear/announce &lsqb;1|all&rsqb;</bf> Clear a announce filter line
2298 </tt>
2299
2300 <P>
2301 This command allows you to clear (remove) a line in a annouce filter or to 
2302 remove the whole filter.
2303
2304 see CLEAR/SPOTS for a more detailed explanation.
2305 <sect1>clear/route &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb; (8)
2306
2307 <P>
2308 <tt>
2309 <bf>clear/route &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb;</bf> Clear a route filter line
2310 </tt>
2311
2312 <P>
2313 A sysop can clear an input or normal output filter for a user or the
2314 node_default or user_default. 
2315 <sect1>clear/route &lsqb;1|all&rsqb; (0)
2316
2317 <P>
2318 <tt>
2319 <bf>clear/route &lsqb;1|all&rsqb;</bf> Clear a route filter line
2320 </tt>
2321
2322 <P>
2323 This command allows you to clear (remove) a line in a route filter or to 
2324 remove the whole filter.
2325
2326 see CLEAR/SPOTS for a more detailed explanation.
2327 <sect1>clear/spots &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb; (8)
2328
2329 <P>
2330 <tt>
2331 <bf>clear/spots &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb;</bf> Clear a spot filter line
2332 </tt>
2333
2334 <P>
2335 A sysop can clear an input or normal output filter for a user or the
2336 node_default or user_default. 
2337 <sect1>clear/spots &lsqb;0-9|all&rsqb; (0)
2338
2339 <P>
2340 <tt>
2341 <bf>clear/spots &lsqb;0-9|all&rsqb;</bf> Clear a spot filter line
2342 </tt>
2343
2344 <P>
2345 This command allows you to clear (remove) a line in a spot filter or to 
2346 remove the whole filter.
2347
2348 If you have a filter:-
2349
2350 <tscreen><verb>
2351   acc/spot 1 on hf/cw
2352   acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2353 </verb></tscreen>
2354
2355 and you say:-
2356
2357 <tscreen><verb>
2358   clear/spot 1
2359 </verb></tscreen>
2360
2361 you will be left with:-
2362
2363 <tscreen><verb>
2364   acc/spot 2 on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2365 </verb></tscreen>
2366
2367 If you do:
2368
2369 <tscreen><verb>
2370   clear/spot all
2371 </verb></tscreen>
2372
2373 the filter will be completely removed.
2374 <sect1>clear/wcy &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb; (8)
2375
2376 <P>
2377 <tt>
2378 <bf>clear/wcy &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb;</bf> Clear a WCY filter line
2379 </tt>
2380
2381 <P>
2382 A sysop can clear an input or normal output filter for a user or the
2383 node_default or user_default. 
2384 <sect1>clear/wcy &lsqb;1|all&rsqb; (0)
2385
2386 <P>
2387 <tt>
2388 <bf>clear/wcy &lsqb;1|all&rsqb;</bf> Clear a WCY filter line
2389 </tt>
2390
2391 <P>
2392 This command allows you to clear (remove) a line in a WCY filter or to 
2393 remove the whole filter.
2394
2395 see CLEAR/SPOTS for a more detailed explanation.
2396 <sect1>clear/wwv &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb; (8)
2397
2398 <P>
2399 <tt>
2400 <bf>clear/wwv &lt;callsign&gt; &lsqb;input&rsqb; &lsqb;0-9|all&rsqb;</bf> Clear a WWV filter line
2401 </tt>
2402
2403 <P>
2404 A sysop can clear an input or normal output filter for a user or the
2405 node_default or user_default. 
2406 <sect1>clear/wwv &lsqb;1|all&rsqb; (0)
2407
2408 <P>
2409 <tt>
2410 <bf>clear/wwv &lsqb;1|all&rsqb;</bf> Clear a WWV filter line
2411 </tt>
2412
2413 <P>
2414 This command allows you to clear (remove) a line in a WWV filter or to 
2415 remove the whole filter.
2416
2417 see CLEAR/SPOTS for a more detailed explanation.
2418 <sect1>connect &lt;callsign&gt; (5)
2419
2420 <P>
2421 <tt>
2422 <bf>connect &lt;callsign&gt;</bf> Start a connection to another DX Cluster
2423 </tt>
2424
2425 <P>
2426 Start a connection process that will culminate in a new connection to the
2427 DX cluster &lt;callsign&gt;. This process creates a new 'client' process which will
2428 use the script in /spider/connect/&lt;callsign&gt; to effect the 'chat' exchange
2429 necessary to traverse the network(s) to logon to the cluster &lt;callsign&gt;.
2430 <sect1>dbavail (0)
2431
2432 <P>
2433 <tt>
2434 <bf>dbavail</bf> Show a list of all the Databases in the system
2435 </tt>
2436
2437 <P>
2438 Title says it all really, this command lists all the databases defined
2439 in the system. It is also aliased to SHOW/COMMAND.
2440 <sect1>dbcreate &lt;name&gt; (9)
2441
2442 <P>
2443 <tt>
2444 <bf>dbcreate &lt;name&gt;</bf> Create a database entry
2445 </tt>
2446
2447 <P>
2448 <sect1>dbcreate &lt;name&gt; chain &lt;name&gt; &lsqb;&lt;name&gt;..&rsqb; (9)
2449
2450 <P>
2451 <tt>
2452 <bf>dbcreate &lt;name&gt; chain &lt;name&gt; &lsqb;&lt;name&gt;..&rsqb;</bf> Create a chained database entry
2453 </tt>
2454
2455 <P>
2456 <sect1>dbcreate &lt;name&gt; cmd &lt;dxspider command&gt; (9)
2457
2458 <P>
2459 <tt>
2460 <bf>dbcreate &lt;name&gt; cmd &lt;dxspider command&gt;</bf> make a local command available as a DB
2461 </tt>
2462
2463 <P>
2464 DBCREATE allows you to define a database in the system. It doesn't actually
2465 create anything, just defines it.
2466
2467 The databases that are created are simple DB_File hash databases, they are 
2468 therefore already 'indexed'.
2469
2470 You can define a local database with the first form of the command eg:
2471
2472 <tscreen><verb>
2473   DBCREATE oblast
2474 </verb></tscreen>
2475
2476 You can also chain databases with the addition of the 'chain' keyword. 
2477 This will search each database one after the other. A typical example 
2478 is:
2479
2480 <tscreen><verb>
2481   DBCREATE sdx_qsl chain sql_ad
2482 </verb></tscreen>
2483
2484 No checking is done to see if the any of the chained databases exist, in
2485 fact it is usually better to do the above staement first then do each of
2486 the chained databases.
2487
2488 Databases can exist offsite. To define a database that lives on another 
2489 node do:
2490
2491 <tscreen><verb>
2492   DBCREATE buckmaster remote gb7dxc
2493 </verb></tscreen>
2494
2495 Remote databases cannot be chained; however, the last database in a 
2496 a chain can be a remote database eg:
2497
2498 <tscreen><verb>
2499   DBCREATE qsl chain gb7dxc
2500 </verb></tscreen>
2501
2502 To see what databases have been defined do:
2503
2504 <tscreen><verb>
2505   DBAVAIL (or it will have been aliased to SHOW/COMMAND)
2506 </verb></tscreen>
2507
2508 It would be normal for you to add an entry into your local Aliases file
2509 to allow people to use the 'SHOW/&lt;dbname&gt;' style syntax. So you would
2510 need to add a line like:-
2511
2512 <tscreen><verb>
2513   's' =&gt; [
2514     ..
2515     ..
2516     '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
2517     ..
2518     ..
2519    ],
2520 </verb></tscreen>
2521
2522 to allow 
2523  
2524 <tscreen><verb>
2525   SH/BUCK g1tlh
2526 </verb></tscreen>
2527
2528 to work as they may be used to.
2529
2530 You can also make local commands available as 'pseudo' databases. You
2531 can therefore make spider special commands available as a database. I
2532 imagine that this will be primarily useful for remote access from 
2533 legacy nodes. For example:-
2534
2535 <tscreen><verb>
2536   DBCREATE dxqsl cmd show/dxqsl
2537 </verb></tscreen>
2538
2539 You also use one of these databases in a chain. This may be useful 
2540 locally. 
2541
2542 See DBIMPORT for the importing of existing AK1A format data to databases.
2543 See DBSHOW for generic database enquiry
2544  
2545 <sect1>dbcreate &lt;name&gt; remote &lt;node&gt; (9)
2546
2547 <P>
2548 <tt>
2549 <bf>dbcreate &lt;name&gt; remote &lt;node&gt;</bf> Create a remote database entry
2550 </tt>
2551
2552 <P>
2553 <sect1>dbimport &lt;dbname&gt; &lt;filename&gt; (9)
2554
2555 <P>
2556 <tt>
2557 <bf>dbimport &lt;dbname&gt; &lt;filename&gt;</bf> Import AK1A data into a database
2558 </tt>
2559
2560 <P>
2561 If you want to import or update data in bulk to a database you can use
2562 this command. It will either create or update entries into an existing
2563 database. For example:-
2564
2565 <tscreen><verb>
2566   DBIMPORT oblast /tmp/OBLAST.FUL
2567 </verb></tscreen>
2568
2569 will import the standard OBLAST database that comes with AK1A into the
2570 oblast database held locally.
2571 <sect1>dbremove &lt;dbname&gt; (9)
2572
2573 <P>
2574 <tt>
2575 <bf>dbremove &lt;dbname&gt;</bf> Delete a database
2576 </tt>
2577
2578 <P>
2579 DBREMOVE will completely remove a database entry and also delete any data
2580 file that is associated with it. 
2581
2582 There is no warning, no comeback, no safety net. 
2583
2584 For example:
2585
2586 <tscreen><verb>
2587   DBREMOVE oblast 
2588 </verb></tscreen>
2589
2590 will remove the oblast database from the system and it will also remove
2591 the associated datafile.
2592
2593 I repeat:
2594
2595 There is no warning, no comeback, no safety net.
2596  
2597 You have been warned.
2598 <sect1>dbshow &lt;dbname&gt; &lt;key&gt; (0)
2599
2600 <P>
2601 <tt>
2602 <bf>dbshow &lt;dbname&gt; &lt;key&gt;</bf> Display an entry, if it exists, in a database
2603 </tt>
2604
2605 <P>
2606 This is the generic user interface to the database to the database system.
2607 It is expected that the sysop will add an entry to the local Aliases file
2608 so that users can use the more familiar AK1A style of enquiry such as:
2609
2610 <tscreen><verb>
2611   SH/BUCK G1TLH
2612 </verb></tscreen>
2613
2614 but if he hasn't and the database really does exist (use DBAVAIL or
2615 SHOW/COMMAND to find out) you can do the same thing with:
2616
2617 <tscreen><verb>
2618   DBSHOW buck G1TLH
2619 </verb></tscreen>
2620
2621 <sect1>debug (9)
2622
2623 <P>
2624 <tt>
2625 <bf>debug</bf> Set the cluster program into debug mode
2626 </tt>
2627
2628 <P>
2629 Executing this command will only have an effect if you are running the cluster
2630 in debug mode i.e.
2631
2632 <tscreen><verb>
2633         perl -d cluster.pl
2634 </verb></tscreen>
2635
2636 It will interrupt the cluster just after the debug command has finished.
2637 <sect1>delete/usdb &lt;callsign&gt; ... (9)
2638
2639 <P>
2640 <tt>
2641 <bf>delete/usdb &lt;callsign&gt; ...</bf> Delete this user from the US State Database
2642 </tt>
2643
2644 <P>
2645 This command will completely remove a one or more callsigns
2646 from the US States database.
2647
2648 There is NO SECOND CHANCE.
2649
2650 It goes without saying that you should use this command CAREFULLY!
2651
2652 Note that these callsign may be re-instated by any weekly updates from 
2653 the FCC.
2654 <sect1>delete/user &lt;callsign&gt; ... (9)
2655
2656 <P>
2657 <tt>
2658 <bf>delete/user &lt;callsign&gt; ...</bf> Delete this user from the User Database
2659 </tt>
2660
2661 <P>
2662 This command will completely remove a one or more users from the database.
2663
2664 There is NO SECOND CHANCE.
2665
2666 It goes without saying that you should use this command CAREFULLY!
2667 <sect1>demonstrate &lt;call&gt; &lt;command&gt; (9)
2668
2669 <P>
2670 <tt>
2671 <bf>demonstrate &lt;call&gt; &lt;command&gt;</bf> Demonstrate a command to another user
2672 </tt>
2673
2674 <P>
2675 This command is provided so that sysops can demonstrate commands to 
2676 other users. It runs a command as though that user had typed it in and
2677 then sends the output to that user, together with the command that 
2678 caused it.
2679
2680 <tscreen><verb>
2681   DEMO g7brn sh/dx iota oc209
2682   DEMO g1tlh set/here
2683 </verb></tscreen>
2684
2685 Note that this command is similar to SPOOF and will have the same side
2686 effects. Commands are run at the privilege of the user which is being
2687 demonstrated to. 
2688 <sect1>directory (0)
2689
2690 <P>
2691 <tt>
2692 <bf>directory</bf> List messages 
2693 </tt>
2694
2695 <P>
2696 <sect1>directory &lt;from&gt;-&lt;to&gt; (0)
2697
2698 <P>
2699 <tt>
2700 <bf>directory &lt;from&gt;-&lt;to&gt;</bf> List messages &lt;from&gt; message &lt;to&gt; message 
2701 </tt>
2702
2703 <P>
2704 List the messages in the messages directory.
2705
2706 If there is a 'p' one space after the message number then it is a 
2707 personal message. If there is a '-' between the message number and the
2708 'p' then this indicates that the message has been read.
2709
2710 You can use shell escape characters such as '*' and '?' in the &lt;call&gt;
2711 fields.
2712
2713 You can combine some of the various directory commands together eg:-
2714
2715 <tscreen><verb>
2716    DIR TO G1TLH 5
2717 </verb></tscreen>
2718 or 
2719 <tscreen><verb>
2720    DIR SUBJECT IOTA 200-250
2721 </verb></tscreen>
2722
2723 You can abbreviate all the commands to one letter and use ak1a syntax:-
2724
2725 <tscreen><verb>
2726    DIR/T G1* 10
2727    DIR/S QSL 10-100 5
2728 </verb></tscreen>
2729
2730 <sect1>directory &lt;nn&gt; (0)
2731
2732 <P>
2733 <tt>
2734 <bf>directory &lt;nn&gt;</bf> List last &lt;nn&gt; messages
2735 </tt>
2736
2737 <P>
2738 <sect1>directory all (0)
2739
2740 <P>
2741 <tt>
2742 <bf>directory all</bf> List all messages
2743 </tt>
2744
2745 <P>
2746 <sect1>directory from &lt;call&gt; (0)
2747
2748 <P>
2749 <tt>
2750 <bf>directory from &lt;call&gt;</bf> List all messages from &lt;call&gt;
2751 </tt>
2752
2753 <P>
2754 <sect1>directory new (0)
2755
2756 <P>
2757 <tt>
2758 <bf>directory new</bf> List all new messages
2759 </tt>
2760
2761 <P>
2762 <sect1>directory own (0)
2763
2764 <P>
2765 <tt>
2766 <bf>directory own</bf> List your own messages
2767 </tt>
2768
2769 <P>
2770 <sect1>directory subject &lt;string&gt; (0)
2771
2772 <P>
2773 <tt>
2774 <bf>directory subject &lt;string&gt;</bf> List all messages with &lt;string&gt; in subject
2775 </tt>
2776
2777 <P>
2778 <sect1>directory to &lt;call&gt; (0)
2779
2780 <P>
2781 <tt>
2782 <bf>directory to &lt;call&gt;</bf> List all messages to &lt;call&gt;
2783 </tt>
2784
2785 <P>
2786 <sect1>directory- (5)
2787
2788 <P>
2789 <tt>
2790 <bf>directory-</bf> 
2791 </tt>
2792
2793 <P>
2794 Sysops can see all users' messages.
2795 <sect1>disconnect &lt;call&gt; &lsqb;&lt;call&gt; ...&rsqb; (8)
2796
2797 <P>
2798 <tt>
2799 <bf>disconnect &lt;call&gt; &lsqb;&lt;call&gt; ...&rsqb;</bf> Disconnect a user or cluster
2800 </tt>
2801
2802 <P>
2803 Disconnect any &lt;call&gt; connected locally
2804 <sect1>dx &lsqb;by &lt;call&gt;&rsqb; &lt;freq&gt; &lt;call&gt; &lt;remarks&gt; (0)
2805
2806 <P>
2807 <tt>
2808 <bf>dx &lsqb;by &lt;call&gt;&rsqb; &lt;freq&gt; &lt;call&gt; &lt;remarks&gt;</bf> Send a DX spot
2809 </tt>
2810
2811 <P>
2812 This is how you send a DX Spot to other users. You can, in fact, now
2813 enter the &lt;freq&gt; and the &lt;call&gt; either way round. 
2814
2815 <tscreen><verb>
2816    DX FR0G 144.600
2817    DX 144.600 FR0G
2818    DX 144600 FR0G 
2819 </verb></tscreen>
2820
2821 will all give the same result. You can add some remarks to the end
2822 of the command and they will be added to the spot.
2823
2824 <tscreen><verb>
2825    DX FR0G 144600 this is a test
2826 </verb></tscreen>
2827
2828 You can credit someone else by saying:-
2829
2830 <tscreen><verb>
2831    DX by G1TLH FR0G 144.600 he isn't on the cluster
2832 </verb></tscreen>
2833
2834 The &lt;freq&gt; is compared against the available bands set up in the 
2835 cluster.  See SHOW/BANDS for more information.
2836 <sect1>echo &lt;line&gt; (0)
2837
2838 <P>
2839 <tt>
2840 <bf>echo &lt;line&gt;</bf> Echo the line to the output
2841 </tt>
2842
2843 <P>
2844 This command is useful in scripts and so forth for printing the
2845 line that you give to the command to the output. You can use this
2846 in user_default scripts and the SAVE command for titling and so forth
2847
2848 The script will interpret certain standard "escape" sequences as follows:-
2849
2850 <tscreen><verb>
2851   \t - becomes a TAB character (0x09 in ascii)
2852   \a - becomes a BEEP character (0x07 in ascii)
2853   \n - prints a new line
2854 </verb></tscreen>
2855
2856 So the following example:-
2857
2858 <tscreen><verb>
2859   echo GB7DJK is a dxcluster
2860 </verb></tscreen>
2861
2862 produces:-
2863
2864 <tscreen><verb>
2865   GB7DJK is a dxcluster
2866 </verb></tscreen>
2867
2868 on the output. You don't need a \n on the end of the line you want to send.
2869
2870 A more complex example:-
2871
2872 <tscreen><verb>
2873   echo GB7DJK\n\tg1tlh\tDirk\n\tg3xvf\tRichard
2874 </verb></tscreen>
2875
2876 produces:-
2877
2878 <tscreen><verb>
2879   GB7DJK
2880           g1tlh   Dirk
2881           g3xvf   Richard
2882 </verb></tscreen>
2883
2884 on the output.
2885                                       
2886 <sect1>export &lt;msgno&gt; &lt;filename&gt; (9)
2887
2888 <P>
2889 <tt>
2890 <bf>export &lt;msgno&gt; &lt;filename&gt;</bf> Export a message to a file
2891 </tt>
2892
2893 <P>
2894 Export a message to a file. This command can only be executed on a local
2895 console with a fully privileged user. The file produced will be in a form
2896 ready to be imported back into the cluster by placing it in the import 
2897 directory (/spider/msg/import).
2898
2899 This command cannot overwrite an existing file. This is to provide some 
2900 measure of security. Any files written will owned by the same user as the 
2901 main cluster, otherwise you can put the new files anywhere the cluster can
2902 access. For example:-
2903
2904 <tscreen><verb>
2905   EXPORT 2345 /tmp/a
2906 </verb></tscreen>
2907
2908 <sect1>export_users &lsqb;&lt;filename&gt;&rsqb; (9)
2909
2910 <P>
2911 <tt>
2912 <bf>export_users &lsqb;&lt;filename&gt;&rsqb;</bf> Export the users database to ascii
2913 </tt>
2914
2915 <P>
2916 Export the users database to a file in ascii format. If no filename
2917 is given then it will export the file to /spider/data/user_asc.
2918
2919 If the file already exists it will be renamed to &lt;filename&gt;.o. In fact
2920 up to 5 generations of the file can be kept each one with an extra 'o' on the
2921 suffix. 
2922
2923 BE WARNED: this will write to any file you have write access to. No check is
2924 made on the filename (if any) that you specify.
2925 <sect1>filtering... (0)
2926
2927 <P>
2928 <tt>
2929 <bf>filtering...</bf> Filtering things in DXSpider
2930 </tt>
2931
2932 <P>
2933 There are a number of things you can filter in the DXSpider system. They
2934 all use the same general mechanism.
2935
2936 In general terms you can create a 'reject' or an 'accept' filter which
2937 can have up to 10 lines in it. You do this using, for example:-
2938  
2939 <tscreen><verb>
2940   accept/spots .....
2941   reject/spots .....
2942 </verb></tscreen>
2943
2944 where ..... are the specific commands for that type of filter. There
2945 are filters for spots, wwv, announce, wcy and (for sysops)
2946 connects. See each different accept or reject command reference for
2947 more details.
2948
2949 There is also a command to clear out one or more lines in a filter and
2950 one to show you what you have set. They are:-
2951
2952 <tscreen><verb>
2953   clear/spots 1
2954   clear/spots all
2955 </verb></tscreen>
2956
2957 and 
2958   
2959 <tscreen><verb>
2960   show/filter
2961 </verb></tscreen>
2962
2963 There is clear/xxxx command for each type of filter.
2964
2965 For now we are going to use spots for the examples, but you can apply
2966 the principles to all types of filter.
2967
2968 There are two main types of filter 'accept' or 'reject'; which you use
2969 depends entirely on how you look at the world and what is least
2970 writing to achieve what you want. Each filter has 10 lines (of any
2971 length) which are tried in order. If a line matches then the action
2972 you have specified is taken (ie reject means ignore it and accept
2973 means gimme it).
2974
2975 The important thing to remember is that if you specify a 'reject'
2976 filter (all the lines in it say 'reject/spots' (for instance)) then if
2977 a spot comes in that doesn't match any of the lines then you will get
2978 it BUT if you specify an 'accept' filter then any spots that don't
2979 match are dumped. For example if I have a one line accept filter:-
2980
2981 <tscreen><verb>
2982   accept/spots on vhf and (by_zone 14,15,16 or call_zone 14,15,16)
2983 </verb></tscreen>
2984
2985 then automatically you will ONLY get VHF spots from or to CQ zones 14
2986 15 and 16.  If you set a reject filter like:
2987
2988 <tscreen><verb>
2989   reject/spots on hf/cw
2990 </verb></tscreen>
2991
2992 Then you will get everything EXCEPT HF CW spots, If you am interested in IOTA
2993 and will work it even on CW then you could say:-
2994
2995 <tscreen><verb>
2996   reject/spots on hf/cw and not info iota
2997 </verb></tscreen>
2998
2999 But in that case you might only be interested in iota and say:-
3000
3001 <tscreen><verb>
3002   accept/spots not on hf/cw or info iota
3003 </verb></tscreen>
3004
3005 which is exactly the same. You should choose one or the other until
3006 you are confortable with the way it works. Yes, you can mix them
3007 (actually you can have an accept AND a reject on the same line) but
3008 don't try this at home until you can analyse the results that you get
3009 without ringing up the sysop for help.
3010
3011 Another useful addition now is filtering by US state
3012
3013 <tscreen><verb>
3014   accept/spots by_state VA,NH,RI,ME
3015 </verb></tscreen>
3016
3017 You can arrange your filter lines into logical units, either for your
3018 own understanding or simply convenience. I have one set frequently:-
3019
3020 <tscreen><verb>
3021   reject/spots 1 on hf/cw
3022   reject/spots 2 on 50000/1400000 not (by_zone 14,15,16 or call_zone 14,15,16)  
3023 </verb></tscreen>
3024
3025 What this does is to ignore all HF CW spots (being a class B I can't
3026 read any CW and couldn't possibly be interested in HF :-) and also
3027 rejects any spots on VHF which don't either originate or spot someone
3028 in Europe.
3029
3030 This is an exmaple where you would use the line number (1 and 2 in
3031 this case), if you leave the digit out, the system assumes '1'. Digits
3032 '0'-'9' are available.
3033
3034 You can leave the word 'and' out if you want, it is implied. You can
3035 use any number of brackets to make the 'expression' as you want
3036 it. There are things called precedence rules working here which mean
3037 that you will NEED brackets in a situation like line 2 because,
3038 without it, will assume:-
3039
3040 <tscreen><verb>
3041   (on 50000/1400000 and by_zone 14,15,16) or call_zone 14,15,16 
3042 </verb></tscreen>
3043
3044 annoying, but that is the way it is. If you use OR - use
3045 brackets. Whilst we are here CASE is not important. 'And BY_Zone' is
3046 just 'and by_zone'.
3047
3048 If you want to alter your filter you can just redefine one or more
3049 lines of it or clear out one line. For example:-
3050
3051 <tscreen><verb>
3052   reject/spots 1 on hf/ssb
3053 </verb></tscreen>
3054
3055 or 
3056
3057 <tscreen><verb>
3058   clear/spots 1
3059 </verb></tscreen>
3060
3061 To remove the filter in its entirty:-
3062
3063 <tscreen><verb>
3064   clear/spots all
3065 </verb></tscreen>
3066
3067 There are similar CLEAR commands for the other filters:-
3068
3069 <tscreen><verb>
3070   clear/announce
3071   clear/wcy
3072   clear/wwv
3073 </verb></tscreen>
3074
3075 ADVANCED USERS:-
3076
3077 Once you are happy with the results you get, you may like to experiment. 
3078
3079 my example that filters hf/cw spots and accepts vhf/uhf spots from EU
3080 can be written with a mixed filter, eg:
3081
3082 <tscreen><verb>
3083   rej/spot on hf/cw
3084   acc/spot on 0/30000
3085   acc/spot 2 on 50000/1400000 and (by_zone 14,15,16 or call_zone 14,15,16)
3086 </verb></tscreen>
3087
3088 each filter slot actually has a 'reject' slot and an 'accept'
3089 slot. The reject slot is executed BEFORE the accept slot.
3090
3091 It was mentioned earlier that after a reject test that doesn't match,
3092 the default for following tests is 'accept', the reverse is true for
3093 'accept'. In the example what happens is that the reject is executed
3094 first, any non hf/cw spot is passed to the accept line, which lets
3095 thru everything else on HF.
3096
3097 The next filter line lets through just VHF/UHF spots from EU.
3098 <sect1>forward/latlong &lt;node_call&gt; (8)
3099
3100 <P>
3101 <tt>
3102 <bf>forward/latlong &lt;node_call&gt;</bf> Send latitude and longitude information to another cluster
3103 </tt>
3104
3105 <P>
3106 This command sends all the latitude and longitude information that your
3107 cluster is holding against callsigns.  One advantage of recieving this
3108 information is that more locator information is held by you.  This
3109 means that more locators are given on the DX line assuming you have
3110 SET/DXGRID enabled.  This could be a LOT of information though, so
3111 it is not recommended on slow links.
3112 <sect1>forward/opernam &lt;call&gt; (1)
3113
3114 <P>
3115 <tt>
3116 <bf>forward/opernam &lt;call&gt;</bf> Send out information on this &lt;call&gt; to all clusters
3117 </tt>
3118
3119 <P>
3120 This command sends out any information held in the user file which can 
3121 be broadcast in PC41 protocol packets. This information is Name, QTH, Location
3122 and Homenode. PC41s are only sent for the information that is available.
3123  
3124 <sect1>help (0)
3125
3126 <P>
3127 <tt>
3128 <bf>help</bf> The HELP Command
3129 </tt>
3130
3131 <P>
3132 HELP is available for a number of commands. The syntax is:-
3133
3134 <tscreen><verb>
3135   HELP &lt;cmd&gt;
3136 </verb></tscreen>
3137   
3138 Where &lt;cmd&gt; is the name of the command you want help on.
3139
3140 All commands can be abbreviated, so SHOW/DX can be abbreviated
3141 to SH/DX, ANNOUNCE can be shortened to AN and so on.
3142
3143 Look at the APROPOS &lt;string&gt; command which will search the help database
3144 for the &lt;string&gt; you specify and give you a list of likely commands
3145 to look at with HELP.
3146 <sect1>init &lt;node&gt; (5)
3147
3148 <P>
3149 <tt>
3150 <bf>init &lt;node&gt;</bf> Re-initialise a link to an AK1A compatible node
3151 </tt>
3152
3153 <P>
3154 This command attempts to re-initialise a link to a (usually) AK1A node
3155 that has got confused, usually by a protocol loop of some kind. It may
3156 work - but you usually will be better off simply disconnecting it (or
3157 better, if it is a real AK1A node, doing an RCMD &lt;node&gt; DISC/F &lt;your
3158 node&gt;).
3159
3160 Best of luck - you will need it.
3161   
3162 <sect1>join &lt;group&gt; (0)
3163
3164 <P>
3165 <tt>
3166 <bf>join &lt;group&gt;</bf> Join a chat or conference group
3167 </tt>
3168
3169 <P>
3170 JOIN allows you to join a network wide conference group. To join a
3171 group (called FOC in this case) type:-
3172
3173 <tscreen><verb>
3174   JOIN FOC
3175 </verb></tscreen>
3176
3177 See also CHAT, LEAVE, SHOW/CHAT
3178 <sect1>kill (5)
3179
3180 <P>
3181 <tt>
3182 <bf>kill</bf> 
3183 </tt>
3184
3185 <P>
3186 As a sysop you can kill any message on the system.
3187 <sect1>kill &lt;from msgno&gt;-&lt;to msgno&gt; (0)
3188
3189 <P>
3190 <tt>
3191 <bf>kill &lt;from msgno&gt;-&lt;to msgno&gt;</bf> Delete a range of messages
3192 </tt>
3193
3194 <P>
3195 <sect1>kill &lt;from&gt;-&lt;to&gt; (5)
3196
3197 <P>
3198 <tt>
3199 <bf>kill &lt;from&gt;-&lt;to&gt;</bf> Remove a range of messages from the system
3200 </tt>
3201
3202 <P>
3203 <sect1>kill &lt;msgno&gt; &lsqb;&lt;msgno..&rsqb; (0)
3204
3205 <P>
3206 <tt>
3207 <bf>kill &lt;msgno&gt; &lsqb;&lt;msgno..&rsqb;</bf> Delete a message from the local system
3208 </tt>
3209
3210 <P>
3211 <sect1>kill &lt;msgno&gt; &lsqb;&lt;msgno&gt; ...&rsqb; (0)
3212
3213 <P>
3214 <tt>
3215 <bf>kill &lt;msgno&gt; &lsqb;&lt;msgno&gt; ...&rsqb;</bf> Remove or erase a message from the system
3216 </tt>
3217
3218 <P>
3219 You can get rid of any message to or originating from your callsign using 
3220 this command. You can remove more than one message at a time.
3221 <sect1>kill expunge &lt;msgno&gt; &lsqb;&lt;msgno..&rsqb; (6)
3222
3223 <P>
3224 <tt>
3225 <bf>kill expunge &lt;msgno&gt; &lsqb;&lt;msgno..&rsqb;</bf> Expunge a message
3226 </tt>
3227
3228 <P>
3229 Deleting a message using the normal KILL commands only marks that message
3230 for deletion. The actual deletion only happens later (usually two days later).
3231
3232 The KILL EXPUNGE command causes the message to be truly deleted more or less
3233 immediately.
3234
3235 It otherwise is used in the same way as the KILL command.
3236 <sect1>kill from &lt;call&gt; (5)
3237
3238 <P>
3239 <tt>
3240 <bf>kill from &lt;call&gt;</bf> Remove all messages from a callsign
3241 </tt>
3242
3243 <P>
3244 <sect1>kill full &lt;msgno&gt; &lsqb;&lt;msgno..&rsqb; (5)
3245
3246 <P>
3247 <tt>
3248 <bf>kill full &lt;msgno&gt; &lsqb;&lt;msgno..&rsqb;</bf> Delete a message from the whole cluster
3249 </tt>
3250
3251 <P>
3252 Delete a message from the local system. You will only be able to
3253 delete messages that you have originated or been sent (unless you are
3254 the sysop). 
3255
3256 <tscreen><verb>
3257   KILL 1234-1255
3258 </verb></tscreen>
3259
3260 Will delete all the messages that you own between msgnos 1234 and 1255.
3261
3262 <tscreen><verb>
3263   KILL from g1tlh
3264 </verb></tscreen>
3265
3266 will delete all the messages from g1tlh (if you are g1tlh). Similarly:
3267
3268 <tscreen><verb>
3269   KILL to g1tlh
3270 </verb></tscreen>
3271
3272 will delete all messages to g1tlh.
3273
3274 <tscreen><verb>
3275   KILL FULL 1234
3276 </verb></tscreen>
3277  
3278 will delete a message (usually a 'bulletin') from the whole cluster system. 
3279
3280 This uses the subject field, so any messages that have exactly the
3281 same subject will be deleted. Beware!
3282 <sect1>kill full &lt;msgno&gt; &lsqb;&lt;msgno&rsqb; (5)
3283
3284 <P>
3285 <tt>
3286 <bf>kill full &lt;msgno&gt; &lsqb;&lt;msgno&rsqb;</bf> Remove a message from the entire cluster
3287 </tt>
3288
3289 <P>
3290 Remove this message from the entire cluster system as well as your node.
3291 <sect1>kill to &lt;call&gt; (5)
3292
3293 <P>
3294 <tt>
3295 <bf>kill to &lt;call&gt;</bf> Remove all messages to a callsign
3296 </tt>
3297
3298 <P>
3299 <sect1>kill from &lt;regex&gt; (0)
3300
3301 <P>
3302 <tt>
3303 <bf>kill from &lt;regex&gt;</bf> Delete messages FROM a callsign or pattern
3304 </tt>
3305
3306 <P>
3307 <sect1>kill to &lt;regex&gt; (0)
3308
3309 <P>
3310 <tt>
3311 <bf>kill to &lt;regex&gt;</bf> Delete messages TO a callsign or pattern
3312 </tt>
3313
3314 <P>
3315 <sect1>leave &lt;group&gt; (0)
3316
3317 <P>
3318 <tt>
3319 <bf>leave &lt;group&gt;</bf> Leave a chat or conference group
3320 </tt>
3321
3322 <P>
3323 LEAVE allows you to leave a network wide conference group. To leave a
3324 group (called FOC in this case) type:-
3325
3326 <tscreen><verb>
3327   LEAVE FOC
3328 </verb></tscreen>
3329
3330 See also CHAT, JOIN, SHOW/CHAT
3331 <sect1>links (0)
3332
3333 <P>
3334 <tt>
3335 <bf>links</bf> Show which nodes is physically connected
3336 </tt>
3337
3338 <P>
3339 This is a quick listing that shows which links are connected and
3340 some information about them. See WHO for a list of all connections.
3341 <sect1>load/aliases (9)
3342
3343 <P>
3344 <tt>
3345 <bf>load/aliases</bf> Reload the command alias table
3346 </tt>
3347
3348 <P>
3349 Reload the /spider/cmd/Aliases file after you have editted it. You
3350 will need to do this if you change this file whilst the cluster is
3351 running in order for the changes to take effect.
3352 <sect1>load/badmsg (9)
3353
3354 <P>
3355 <tt>
3356 <bf>load/badmsg</bf> Reload the bad msg table
3357 </tt>
3358
3359 <P>
3360 Reload the /spider/msg/badmsg.pl file if you have changed it manually whilst
3361 the cluster is running. This table contains a number of perl regular 
3362 expressions which are searched for in the fields targetted of each message. 
3363 If any of them match then that message is immediately deleted on receipt. 
3364 <sect1>load/badwords (9)
3365
3366 <P>
3367 <tt>
3368 <bf>load/badwords</bf> Reload the bad words table
3369 </tt>
3370
3371 <P>
3372 Reload the /spider/data/badwords file if you have changed it manually whilst
3373 the cluster is running. This file contains a list of words which, if found
3374 on certain text portions of PC protocol, will cause those protocol frames
3375 to be rejected. It will all put out a message if any of these words are
3376 used on the announce, dx and talk commands. The words can be one or 
3377 more on a line, lines starting with '#' are ignored.
3378 <sect1>load/bands (9)
3379
3380 <P>
3381 <tt>
3382 <bf>load/bands</bf> Reload the band limits table
3383 </tt>
3384
3385 <P>
3386 Reload the /spider/data/bands.pl file if you have changed it manually whilst
3387 the cluster is running. 
3388 <sect1>load/cmd_cache (9)
3389
3390 <P>
3391 <tt>
3392 <bf>load/cmd_cache</bf> Reload the automatic command cache
3393 </tt>
3394
3395 <P>
3396 Normally, if you change a command file in the cmd or local_cmd tree it
3397 will automatially be picked up by the cluster program. Sometimes it
3398 can get confused if you are doing a lot of moving commands about or
3399 delete a command in the local_cmd tree and want to use the normal one
3400 again. Execute this command to reset everything back to the state it
3401 was just after a cluster restart.
3402 <sect1>load/forward (9)
3403
3404 <P>
3405 <tt>
3406 <bf>load/forward</bf> Reload the msg forwarding routing table
3407 </tt>
3408
3409 <P>
3410 Reload the /spider/msg/forward.pl file if you have changed it
3411 manually whilst the cluster is running.
3412 <sect1>load/keps (5)
3413
3414 <P>
3415 <tt>
3416 <bf>load/keps</bf> Load new keps data
3417 </tt>
3418
3419 <P>
3420 <sect1>load/keps &lsqb;nn&rsqb; (5)
3421
3422 <P>
3423 <tt>
3424 <bf>load/keps &lsqb;nn&rsqb;</bf> Load new keps data from message
3425 </tt>
3426
3427 <P>
3428 If there is no message number then reload the current Keps data from
3429 the Keps.pm data file. You create this file by running 
3430
3431 <tscreen><verb>
3432  /spider/perl/convkeps.pl &lt;filename&gt;
3433 </verb></tscreen>
3434
3435 on a file containing NASA 2 line keps as a message issued by AMSAT. 
3436
3437 If there is a message number, then it will take the message, run
3438 convkeps.pl on it and then load the data, all in one step.
3439
3440 These messages are sent to ALL by GB7DJK (and others) from time to time. 
3441 <sect1>load/messages (9)
3442
3443 <P>
3444 <tt>
3445 <bf>load/messages</bf> Reload the system messages file
3446 </tt>
3447
3448 <P>
3449 If you change the /spider/perl/Messages file (usually whilst
3450 fiddling/writing new commands) you can have them take effect during a
3451 cluster session by executing this command. You need to do this if get
3452 something like :-
3453
3454 unknown message 'xxxx' in lang 'en'
3455 <sect1>load/prefixes (9)
3456
3457 <P>
3458 <tt>
3459 <bf>load/prefixes</bf> Reload the prefix table
3460 </tt>
3461
3462 <P>
3463 Reload the /spider/data/prefix_data.pl file if you have changed it
3464 manually whilst the cluster is running.
3465 <sect1>merge &lt;node&gt; &lsqb;&lt;no spots&gt;/&lt;no wwv&gt;&rsqb; (5)
3466
3467 <P>
3468 <tt>
3469 <bf>merge &lt;node&gt; &lsqb;&lt;no spots&gt;/&lt;no wwv&gt;&rsqb;</bf> Ask for the latest spots and WWV 
3470 </tt>
3471
3472 <P>
3473 MERGE allows you to bring your spot and wwv database up to date. By default
3474 it will request the last 10 spots and 5 WWVs from the node you select. The 
3475 node must be connected locally.
3476
3477 You can request any number of spots or wwv and although they will be appended
3478 to your databases they will not duplicate any that have recently been added 
3479 (the last 2 days for spots and last month for WWV data).
3480 <sect1>msg &lt;cmd&gt; &lt;msgno&gt; &lsqb;data ... &rsqb; (9)
3481
3482 <P>
3483 <tt>
3484 <bf>msg &lt;cmd&gt; &lt;msgno&gt; &lsqb;data ... &rsqb;</bf> Alter various message parameters
3485 </tt>
3486
3487 <P>
3488 Alter message parameters like To, From, Subject, whether private or bulletin
3489 or return receipt (RR) is required or whether to keep this message from timing
3490 out.
3491
3492 <tscreen><verb>
3493   MSG TO &lt;msgno&gt; &lt;call&gt;     - change TO callsign to &lt;call&gt;
3494   MSG FRom &lt;msgno&gt; &lt;call&gt;   - change FROM callsign to &lt;call&gt;
3495   MSG PRrivate &lt;msgno&gt;      - set private flag
3496   MSG NOPRrivate &lt;msgno&gt;    - unset private flag
3497   MSG RR &lt;msgno&gt;            - set RR flag
3498   MSG NORR &lt;msgno&gt;          - unset RR flag
3499   MSG KEep &lt;msgno&gt;          - set the keep flag (message won't be deleted ever)
3500   MSG NOKEep &lt;msgno&gt;        - unset the keep flag
3501   MSG SUbject &lt;msgno&gt; &lt;new&gt; - change the subject to &lt;new&gt;
3502   MSG WAittime &lt;msgno&gt;      - remove any waitting time for this message
3503   MSG NOREad &lt;msgno&gt;        - mark message as unread
3504   MSG REad &lt;msgno&gt;          - mark message as read
3505   MSG QUeue                 - queue any outstanding bulletins
3506   MSG QUeue 1               - queue any outstanding private messages
3507 </verb></tscreen>
3508
3509 You can look at the status of a message by using:-
3510
3511 <tscreen><verb>
3512   STAT/MSG &lt;msgno&gt;      
3513 </verb></tscreen>
3514
3515 This will display more information on the message than DIR does.
3516    
3517 <sect1>pc &lt;call&gt; &lt;text&gt; (8)
3518
3519 <P>
3520 <tt>
3521 <bf>pc &lt;call&gt; &lt;text&gt;</bf> Send arbitrary text to a connected callsign
3522 </tt>
3523
3524 <P>
3525 Send some arbitrary text to a locally connected callsign. No
3526 processing is done on the text. This command allows you to send PC
3527 Protocol to unstick things if problems arise (messages get stuck
3528 etc). eg:-
3529
3530 <tscreen><verb>
3531    pc gb7djk PC33^GB7TLH^GB7DJK^400^
3532 </verb></tscreen>
3533 or 
3534 <tscreen><verb>
3535    pc G1TLH Try doing that properly!!!
3536 </verb></tscreen>
3537
3538 Send any text you like to the callsign requested. This is used mainly to send
3539 PC protocol to connected nodes either for testing or to unstick things. 
3540
3541 You can also use in the same way as a talk command to a connected user but
3542 without any processing, added of "from &lt;blah&gt; to &lt;blah" or whatever.
3543  
3544 <sect1>ping &lt;node call&gt; (1)
3545
3546 <P>
3547 <tt>
3548 <bf>ping &lt;node call&gt;</bf> Check the link quality between nodes
3549 </tt>
3550
3551 <P>
3552 This command allows you to send a frame to another cluster node on
3553 the network and get a return frame.  The time it takes to do this
3554 is a good indication of the quality of the link.  The actual time
3555 it takes is output to the console in seconds.
3556 Any visible cluster node can be PINGed.
3557 <sect1>rcmd &lt;node call&gt; &lt;cmd&gt; (1)
3558
3559 <P>
3560 <tt>
3561 <bf>rcmd &lt;node call&gt; &lt;cmd&gt;</bf> Send a command to another DX Cluster
3562 </tt>
3563
3564 <P>
3565 This command allows you to send nearly any command to another DX Cluster
3566 node that is connected to the system. 
3567
3568 Whether you get any output is dependant on a) whether the other system knows
3569 that the node callsign of this cluster is in fact a node b) whether the
3570 other system is allowing RCMDs from this node and c) whether you have
3571 permission to send this command at all.
3572 <sect1>read (0)
3573
3574 <P>
3575 <tt>
3576 <bf>read</bf> Read the next unread personal message addressed to you
3577 </tt>
3578
3579 <P>
3580 <sect1>read &lt;msgno&gt; (0)
3581
3582 <P>
3583 <tt>
3584 <bf>read &lt;msgno&gt;</bf> Read the specified message
3585 </tt>
3586
3587 <P>
3588 You can read any messages that are sent as 'non-personal' and also any
3589 message either sent by or sent to your callsign.
3590 <sect1>read- (5)
3591
3592 <P>
3593 <tt>
3594 <bf>read-</bf> 
3595 </tt>
3596
3597 <P>
3598 As a sysop you may read any message on the system
3599 <sect1>reject (0)
3600
3601 <P>
3602 <tt>
3603 <bf>reject</bf> Set a filter to reject something
3604 </tt>
3605
3606 <P>
3607 Create a filter to reject something
3608
3609 There are 2 types of filter, accept and reject.  See HELP FILTERING for more
3610 info.
3611 <sect1>reject/announce &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
3612
3613 <P>
3614 <tt>
3615 <bf>reject/announce &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Announce filter sysop version
3616 </tt>
3617
3618 <P>
3619 This version allows a sysop to set a filter for a callsign as well as the
3620 default for nodes and users eg:-
3621
3622 <tscreen><verb>
3623   reject/ann by G,M,2
3624   reject/ann input node_default by G,M,2
3625   reject/ann user_default by G,M,2
3626 </verb></tscreen>
3627
3628 <sect1>reject/announce &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
3629
3630 <P>
3631 <tt>
3632 <bf>reject/announce &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set a 'reject' filter line for announce
3633 </tt>
3634
3635 <P>
3636 Create an 'reject this announce' line for a filter. 
3637
3638 A reject filter line means that if the announce matches this filter it is
3639 passed onto the user. See HELP FILTERING for more info. Please read this
3640 to understand how filters work - it will save a lot of grief later on.
3641
3642 You can use any of the following things in this line:-
3643
3644 <tscreen><verb>
3645   info &lt;string&gt;            eg: iota or qsl
3646   by &lt;prefixes&gt;            eg: G,M,2         
3647   origin &lt;prefixes&gt;
3648   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
3649   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
3650   origin_zone &lt;prefixes or numbers&gt;
3651   origin_state &lt;states&gt;                eg: VA,NH,RI,ME
3652   by_dxcc &lt;prefixes or numbers&gt;
3653   by_itu &lt;prefixes or numbers&gt;
3654   by_zone &lt;prefixes or numbers&gt;
3655   by_state &lt;states&gt;                eg: VA,NH,RI,ME
3656   channel &lt;prefixes&gt;
3657   wx 1                     filter WX announces
3658   dest &lt;prefixes&gt;          eg: 6MUK,WDX      (distros)
3659 </verb></tscreen>
3660
3661 some examples:-
3662
3663 <tscreen><verb>
3664   rej/ann by_zone 14,15,16 and not by G,M,2
3665 </verb></tscreen>
3666  
3667 You can use the tag 'all' to reject everything eg:
3668
3669 <tscreen><verb>
3670   rej/ann all
3671 </verb></tscreen>
3672
3673 but this probably for advanced users...
3674 <sect1>reject/route &lt;call&gt; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
3675
3676 <P>
3677 <tt>
3678 <bf>reject/route &lt;call&gt; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set an 'reject' filter line for routing
3679 </tt>
3680
3681 <P>
3682 Create an 'reject this routing PC Protocol' line for a filter. 
3683
3684 An reject filter line means that if a PC16/17/19/21/24/41/50 matches this filter 
3685 it is NOT passed thru that interface. See HELP FILTERING for more info. Please 
3686 read this to understand how filters work - it will save a lot of grief later on.
3687
3688 You can use any of the following things in this line:-
3689
3690 <tscreen><verb>
3691   call &lt;prefixes&gt;        the callsign of the thingy
3692   call_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
3693   call_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
3694   call_zone &lt;prefixes or numbers&gt;
3695   call_state &lt;states&gt;                eg: VA,NH,RI,ME
3696   origin &lt;prefixes&gt;      really the interface it came in on
3697   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
3698   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
3699   origin_zone &lt;prefixes or numbers&gt;
3700   origin_state &lt;states&gt;                eg: VA,NH,RI,ME
3701 </verb></tscreen>
3702
3703 some examples:-
3704
3705 <tscreen><verb>
3706   rej/route gb7djk call_dxcc 61,38 (everything except  UK+EIRE nodes)
3707 </verb></tscreen>
3708
3709 You can use the tag 'all' to reject everything eg:
3710
3711 <tscreen><verb>
3712   rej/route all     (equiv to [very] restricted mode)
3713 </verb></tscreen>
3714
3715 as with ACCEPT/ROUTE 'by' is now a synonym for 'call'.
3716 <sect1>reject/spots &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
3717
3718 <P>
3719 <tt>
3720 <bf>reject/spots &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Spot filter sysop version
3721 </tt>
3722
3723 <P>
3724 This version allows a sysop to set a filter for a callsign as well as the
3725 default for nodes and users eg:-
3726
3727 <tscreen><verb>
3728   reject/spot db0sue-7 1 by_zone 14,15,16
3729   reject/spot node_default all
3730   set/hops node_default 10
3731 </verb></tscreen>
3732
3733 <tscreen><verb>
3734   reject/spot user_default by G,M,2
3735 </verb></tscreen>
3736
3737 <sect1>reject/spots &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
3738
3739 <P>
3740 <tt>
3741 <bf>reject/spots &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> Set a 'reject' filter line for spots
3742 </tt>
3743
3744 <P>
3745 Create a 'reject this spot' line for a filter. 
3746
3747 A reject filter line means that if the spot matches this filter it is
3748 dumped (not passed on). See HELP FILTERING for more info. Please read this
3749 to understand how filters work - it will save a lot of grief later on.
3750
3751 You can use any of the following things in this line:-
3752
3753 <tscreen><verb>
3754   freq &lt;range&gt;           eg: 0/30000 or hf or hf/cw or 6m,4m,2m
3755   on &lt;range&gt;             same as 'freq'
3756   call &lt;prefixes&gt;        eg: G,PA,HB9
3757   info &lt;string&gt;          eg: iota or qsl
3758   by &lt;prefixes&gt;            
3759   call_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
3760   call_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
3761   call_zone &lt;prefixes or numbers&gt;
3762   call_state &lt;states&gt;                eg: VA,NH,RI,ME
3763   by_dxcc &lt;prefixes or numbers&gt;
3764   by_itu &lt;prefixes or numbers&gt;
3765   by_zone &lt;prefixes or numbers&gt;
3766   by_state &lt;states&gt;                eg: VA,NH,RI,ME
3767   origin &lt;prefixes&gt;
3768   channel &lt;prefixes&gt;
3769 </verb></tscreen>
3770
3771 'call' means the callsign that has spotted 'by' whoever.
3772  
3773 For frequencies, you can use any of the band names defined in
3774 SHOW/BANDS and you can use a subband name like: cw, rtty, data, ssb -
3775 thus: hf/ssb. You can also just have a simple range like: 0/30000 -
3776 this is more efficient than saying simply: on HF (but don't get
3777 too hung up about that)
3778
3779 some examples:-
3780
3781 <tscreen><verb>
3782   rej/spot 1 on hf
3783   rej/spot 2 on vhf and not (by_zone 14,15,16 or call_zone 14,15,16)
3784 </verb></tscreen>
3785
3786 You can use the tag 'all' to reject everything eg:
3787
3788 <tscreen><verb>
3789   rej/spot 3 all
3790 </verb></tscreen>
3791
3792 but this probably for advanced users...
3793 <sect1>reject/wcy &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
3794
3795 <P>
3796 <tt>
3797 <bf>reject/wcy &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> WCY filter sysop version
3798 </tt>
3799
3800 <P>
3801 This version allows a sysop to set a filter for a callsign as well as the
3802 default for nodes and users eg:-
3803
3804 <tscreen><verb>
3805   reject/wcy gb7djk all
3806 </verb></tscreen>
3807
3808 <sect1>reject/wcy &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
3809
3810 <P>
3811 <tt>
3812 <bf>reject/wcy &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> set a 'reject' WCY filter
3813 </tt>
3814
3815 <P>
3816 It is unlikely that you will want to do this, but if you do then you can
3817 filter on the following fields:-
3818
3819 <tscreen><verb>
3820   by &lt;prefixes&gt;            eg: G,M,2         
3821   origin &lt;prefixes&gt;
3822   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
3823   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
3824   origin_zone &lt;prefixes or numbers&gt;
3825   by_dxcc &lt;prefixes or numbers&gt;
3826   by_itu &lt;prefixes or numbers&gt;
3827   by_zone &lt;prefixes or numbers&gt;
3828   channel &lt;prefixes&gt;
3829 </verb></tscreen>
3830
3831 There are no examples because WCY Broadcasts only come from one place and
3832 you either want them or not (see UNSET/WCY if you don't want them).
3833
3834 This command is really provided for future use.
3835
3836 See HELP FILTER for information.
3837 <sect1>reject/wwv &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt; (8)
3838
3839 <P>
3840 <tt>
3841 <bf>reject/wwv &lt;call&gt; &lsqb;input&rsqb; &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> WWV filter sysop version
3842 </tt>
3843
3844 <P>
3845 This version allows a sysop to set a filter for a callsign as well as the
3846 default for nodes and users eg:-
3847
3848 <tscreen><verb>
3849   reject/wwv db0sue-7 1 by_zone 4
3850   reject/wwv node_default all
3851 </verb></tscreen>
3852
3853 <tscreen><verb>
3854   reject/wwv user_default by W
3855 </verb></tscreen>
3856
3857 <sect1>reject/wwv &lsqb;0-9&rsqb; &lt;pattern&gt; (0)
3858
3859 <P>
3860 <tt>
3861 <bf>reject/wwv &lsqb;0-9&rsqb; &lt;pattern&gt;</bf> set a 'reject' WWV filter
3862 </tt>
3863
3864 <P>
3865 It is unlikely that you will want to do this, but if you do then you can
3866 filter on the following fields:-
3867
3868 <tscreen><verb>
3869   by &lt;prefixes&gt;            eg: G,M,2         
3870   origin &lt;prefixes&gt;
3871   origin_dxcc &lt;prefixes or numbers&gt;    eg: 61,62 (from eg: sh/pre G)
3872   origin_itu &lt;prefixes or numbers&gt;     or: G,GM,GW
3873   origin_zone &lt;prefixes or numbers&gt;
3874   by_dxcc &lt;prefixes or numbers&gt;
3875   by_itu &lt;prefixes or numbers&gt;
3876   by_zone &lt;prefixes or numbers&gt;
3877   channel &lt;prefixes&gt;
3878 </verb></tscreen>
3879
3880 for example 
3881
3882 <tscreen><verb>
3883   reject/wwv by_zone 14,15,16
3884 </verb></tscreen>
3885
3886 is probably the only useful thing to do (which will only show WWV broadcasts
3887 by stations in the US).
3888
3889 See HELP FILTER for information.
3890 <sect1>reply (0)
3891
3892 <P>
3893 <tt>
3894 <bf>reply</bf> Reply (privately) to the last message that you have read
3895 </tt>
3896
3897 <P>
3898 <sect1>reply &lt;msgno&gt; (0)
3899
3900 <P>
3901 <tt>
3902 <bf>reply &lt;msgno&gt;</bf> Reply (privately) to the specified message
3903 </tt>
3904
3905 <P>
3906 <sect1>reply b &lt;msgno&gt; (0)
3907
3908 <P>
3909 <tt>
3910 <bf>reply b &lt;msgno&gt;</bf> Reply as a Bulletin to the specified message
3911 </tt>
3912
3913 <P>
3914 <sect1>reply noprivate &lt;msgno&gt; (0)
3915
3916 <P>
3917 <tt>
3918 <bf>reply noprivate &lt;msgno&gt;</bf> Reply as a Bulletin to the specified message
3919 </tt>
3920
3921 <P>
3922 <sect1>reply rr &lt;msgno&gt; (0)
3923
3924 <P>
3925 <tt>
3926 <bf>reply rr &lt;msgno&gt;</bf> Reply to the specified message with read receipt
3927 </tt>
3928
3929 <P>
3930 You can reply to a message and the subject will automatically have
3931 "Re:" inserted in front of it, if it isn't already present.
3932
3933 You can also use all the extra qualifiers such as RR, PRIVATE, 
3934 NOPRIVATE, B that you can use with the SEND command (see SEND
3935 for further details)
3936 <sect1>save &lsqb;-d -t -a&rsqb; &lt;filename&gt; "&lt;cmd&gt;" &lsqb;...&rsqb; (9)
3937
3938 <P>
3939 <tt>
3940 <bf>save &lsqb;-d -t -a&rsqb; &lt;filename&gt; "&lt;cmd&gt;" &lsqb;...&rsqb;</bf> Save command output to a file
3941 </tt>
3942
3943 <P>
3944 This sysop only cammand allows you to save the output of one or more
3945 commands to a file. For example:-
3946
3947 <tscreen><verb>
3948   save /spider/packclus/dxstats show/dxstat
3949 </verb></tscreen>
3950
3951 will save the output of the normal command "show/dxstat" to the file
3952 "dxstats" in the files area.
3953
3954 You can have some extra flags to the save which will either 
3955 date stamp or time stamp or both the filename so:-
3956
3957 <tscreen><verb>
3958   save -d /tmp/a &lt;cmd&gt; creates /tmp/a_6-Jan-2002
3959   save -t /tmp/a &lt;cmd&gt; creates /tmp/a_2301Z
3960   save -d -t /tmp/a &lt;cmd&gt; creates /tmp/a_6-Jan-2002_2301Z
3961 </verb></tscreen>
3962
3963 The -a flag means append to the file instead of overwriting it.
3964
3965 You can have more than one command on the line, to do this you MUST
3966 enclose each command in double quotes (") eg:-
3967
3968 <tscreen><verb>
3969   save /tmp/a "sh/hfstats" "blank +" "sh/vhfstats"
3970 </verb></tscreen>
3971
3972 or
3973
3974 <tscreen><verb>
3975   save /tmp/a "sh/hfstats","blank +","sh/vhfstats"
3976 </verb></tscreen>
3977
3978 You can only write into places that the cluster has permission for (which
3979 is that of the "sysop" user [which had BETTER NOT BE "root"]), you will 
3980 need to create any directories you want to put stuff in beforehand as well.
3981  
3982 It is likely that you will want to run these commands in a crontab type 
3983 situation. You would do that something like:-
3984
3985 <tscreen><verb>
3986   0 0 * * * run_cmd('save /tmp/dxstats "echo DXStat Table", "sh/dxstats"')
3987 </verb></tscreen>
3988
3989 Note that you still enclose each command with (") characters but you must
3990 enclose the entire save command in (') characters. 
3991
3992 Now in fact, this can be varied if you know what you are doing. See the
3993 admin manual for more details.
3994  
3995 <sect1>send &lt;call&gt; &lsqb;&lt;call&gt; ...&rsqb; (0)
3996
3997 <P>
3998 <tt>
3999 <bf>send &lt;call&gt; &lsqb;&lt;call&gt; ...&rsqb;</bf> Send a message to one or more callsigns
4000 </tt>
4001
4002 <P>
4003 <sect1>send copy &lt;msgno&gt; &lt;call&gt; (0)
4004
4005 <P>
4006 <tt>
4007 <bf>send copy &lt;msgno&gt; &lt;call&gt;</bf> Send a copy of a  message to someone
4008 </tt>
4009
4010 <P>
4011 <sect1>send noprivate &lt;call&gt; (0)
4012
4013 <P>
4014 <tt>
4015 <bf>send noprivate &lt;call&gt;</bf> Send a message to all stations
4016 </tt>
4017
4018 <P>
4019 All the SEND commands will create a message which will be sent either to
4020 an individual callsign or to one of the 'bulletin' addresses. 
4021
4022 SEND &lt;call&gt; on its own acts as though you had typed SEND PRIVATE, that is
4023 it will mark the message as personal and send it to the cluster node that
4024 that callsign is connected to. If the &lt;call&gt; you have specified is in fact
4025 a known bulletin category on your node (eg: ALL) then the message should
4026 automatically become a bulletin.
4027
4028 You can have more than one callsign in all of the SEND commands.
4029
4030 You can have multiple qualifiers so that you can have for example:-
4031
4032 <tscreen><verb>
4033   SEND RR COPY 123 PRIVATE G1TLH G0RDI
4034 </verb></tscreen>
4035
4036 which should send a copy of message 123 to G1TLH and G0RDI and you will
4037 receive a read receipt when they have read the message.
4038
4039 SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
4040 SP is an alias for SEND PRIVATE
4041
4042 The system will ask you for a subject. Conventionally this should be 
4043 no longer than 29 characters for compatibility. Most modern cluster
4044 software should accept more.
4045
4046 You will now be prompted to start entering your text. 
4047
4048 You finish the message by entering '/EX' on a new line. For instance:
4049
4050 <tscreen><verb>
4051   ...
4052   bye then Jim
4053   73 Dirk
4054   /ex
4055 </verb></tscreen>
4056
4057 If you have started a message and you don't want to keep it then you
4058 can abandon the message with '/ABORT' on a new line, like:-
4059
4060 <tscreen><verb>
4061   line 1
4062   line 2
4063   oh I just can't be bothered with this
4064   /abort
4065 </verb></tscreen>
4066
4067 If you abort the message it will NOT be sent.
4068
4069 When you are entering the text of your message, most normal output (such
4070 as DX announcements and so on are suppressed and stored for latter display
4071 (upto 20 such lines are stored, as new ones come along, so the oldest
4072 lines are dropped).
4073
4074 Also, you can enter normal commands commands (and get the output 
4075 immediately) whilst in the middle of a message. You do this by typing
4076 the command preceeded by a '/' character on a new line, so:-
4077
4078 <tscreen><verb>
4079   /dx g1tlh 144010 strong signal
4080 </verb></tscreen>
4081
4082 Will issue a dx annoucement to the rest of the cluster. 
4083
4084 Also, you can add the output of a command to your message by preceeding 
4085 the command with '//', thus :-
4086
4087 <tscreen><verb>
4088   //sh/vhftable
4089 </verb></tscreen>
4090
4091 This will show YOU the output from SH/VHFTABLE and also store it in the
4092 message. 
4093
4094 You can carry on with the message until you are ready to send it. 
4095 <sect1>send private &lt;call&gt; (0)
4096
4097 <P>
4098 <tt>
4099 <bf>send private &lt;call&gt;</bf> Send a personal message
4100 </tt>
4101
4102 <P>
4103 <sect1>send rr &lt;call&gt; (0)
4104
4105 <P>
4106 <tt>
4107 <bf>send rr &lt;call&gt;</bf> Send a message and ask for a read receipt
4108 </tt>
4109
4110 <P>
4111 <sect1>set/address &lt;your address&gt; (0)
4112
4113 <P>
4114 <tt>
4115 <bf>set/address &lt;your address&gt;</bf> Record your postal address
4116 </tt>
4117
4118 <P>
4119 <sect1>set/announce (0)
4120
4121 <P>
4122 <tt>
4123 <bf>set/announce</bf> Allow announce messages to come out on your terminal
4124 </tt>
4125
4126 <P>
4127 <sect1>set/anntalk (0)
4128
4129 <P>
4130 <tt>
4131 <bf>set/anntalk</bf> Allow talk like announce messages on your terminal
4132 </tt>
4133
4134 <P>
4135 <sect1>set/arcluster &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb; (5)
4136
4137 <P>
4138 <tt>
4139 <bf>set/arcluster &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb;</bf> Make the callsign an AR-Cluster node
4140 </tt>
4141
4142 <P>
4143 <sect1>set/baddx &lt;call&gt;.. (8)
4144
4145 <P>
4146 <tt>
4147 <bf>set/baddx &lt;call&gt;..</bf> Stop callsigns in a dx spot being propagated
4148 </tt>
4149
4150 <P>
4151 <sect1>set/badnode &lt;call&gt;.. (8)
4152
4153 <P>
4154 <tt>
4155 <bf>set/badnode &lt;call&gt;..</bf> Stop spots from this node being propagated
4156 </tt>
4157
4158 <P>
4159 <sect1>set/badspotter &lt;call&gt;.. (8)
4160
4161 <P>
4162 <tt>
4163 <bf>set/badspotter &lt;call&gt;..</bf> Stop spots from this callsign being propagated
4164 </tt>
4165
4166 <P>
4167 <sect1>set/badword &lt;word&gt;.. (8)
4168
4169 <P>
4170 <tt>
4171 <bf>set/badword &lt;word&gt;..</bf> Stop things with this word being propagated
4172 </tt>
4173
4174 <P>
4175 <sect1>set/bbs &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb; (5)
4176
4177 <P>
4178 <tt>
4179 <bf>set/bbs &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb;</bf> Make the callsign a BBS
4180 </tt>
4181
4182 <P>
4183 <sect1>set/beep (0)
4184
4185 <P>
4186 <tt>
4187 <bf>set/beep</bf> Add a beep to DX and other messages on your terminal
4188 </tt>
4189
4190 <P>
4191 <sect1>set/clx &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb; (5)
4192
4193 <P>
4194 <tt>
4195 <bf>set/clx &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb;</bf> Make the callsign an CLX node
4196 </tt>
4197
4198 <P>
4199 <sect1>set/debug &lt;name&gt; (9)
4200
4201 <P>
4202 <tt>
4203 <bf>set/debug &lt;name&gt;</bf> Add a debug level to the debug set
4204 </tt>
4205
4206 <P>
4207 <sect1>set/dx (0)
4208
4209 <P>
4210 <tt>
4211 <bf>set/dx</bf> Allow DX messages to come out on your terminal
4212 </tt>
4213
4214 <P>
4215 <sect1>set/dxcq (0)
4216
4217 <P>
4218 <tt>
4219 <bf>set/dxcq</bf> Show CQ Zones on the end of DX announcements
4220 </tt>
4221
4222 <P>
4223 <sect1>set/dxgrid (0)
4224
4225 <P>
4226 <tt>
4227 <bf>set/dxgrid</bf> Allow QRA Grid Squares on the end of DX announcements
4228 </tt>
4229
4230 <P>
4231 <sect1>set/dxitu (0)
4232
4233 <P>
4234 <tt>
4235 <bf>set/dxitu</bf> Show ITU Zones on the end of DX announcements
4236 </tt>
4237
4238 <P>
4239 <sect1>set/dxnet &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb; (5)
4240
4241 <P>
4242 <tt>
4243 <bf>set/dxnet &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb;</bf> Make the callsign an DXNet node
4244 </tt>
4245
4246 <P>
4247 <sect1>set/echo (0)
4248
4249 <P>
4250 <tt>
4251 <bf>set/echo</bf> Make the cluster echo your input
4252 </tt>
4253
4254 <P>
4255 <sect1>set/email &lt;email&gt; ... (0)
4256
4257 <P>
4258 <tt>
4259 <bf>set/email &lt;email&gt; ...</bf> Set email address(es) and forward your personals
4260 </tt>
4261
4262 <P>
4263 <sect1>set/here (0)
4264
4265 <P>
4266 <tt>
4267 <bf>set/here</bf> Tell the system you are present at your terminal
4268 </tt>
4269
4270 <P>
4271 <sect1>set/homenode &lt;node&gt;  (0)
4272
4273 <P>
4274 <tt>
4275 <bf>set/homenode &lt;node&gt; </bf> Set your normal cluster callsign
4276 </tt>
4277
4278 <P>
4279 Tell the cluster system where you normally connect to. Any Messages sent
4280 to you will normally find their way there should you not be connected.
4281 eg:-
4282 <tscreen><verb>
4283   SET/HOMENODE gb7djk
4284 </verb></tscreen>
4285
4286 <sect1>set/hops &lt;call&gt; ann|spots|route|wwv|wcy &lt;n&gt; (8)
4287
4288 <P>
4289 <tt>
4290 <bf>set/hops &lt;call&gt; ann|spots|route|wwv|wcy &lt;n&gt;</bf> Set hop count  
4291 </tt>
4292
4293 <P>
4294 <sect1>set/isolate (9)
4295
4296 <P>
4297 <tt>
4298 <bf>set/isolate</bf> Isolate a node from the rest of the network
4299 </tt>
4300
4301 <P>
4302 Connect a node to your system in such a way that you are a full protocol
4303 member of its network and can see all spots on it, but nothing either leaks
4304 out from it nor goes back into from the rest of the nodes connected to you.
4305
4306 You can potentially connect several nodes in this way.
4307  
4308 <sect1>set/language &lt;lang&gt; (0)
4309
4310 <P>
4311 <tt>
4312 <bf>set/language &lt;lang&gt;</bf> Set the language you want to use
4313 </tt>
4314
4315 <P>
4316 You can select the language that you want the cluster to use. Currently
4317 the languages available are en (English), de (German), es (Spanish),
4318 Czech (cz), French (fr), Portuguese (pt), Italian (it) and nl (Dutch).
4319 <sect1>set/location &lt;lat & long&gt; (0)
4320
4321 <P>
4322 <tt>
4323 <bf>set/location &lt;lat & long&gt;</bf> Set your latitude and longitude
4324 </tt>
4325
4326 <P>
4327 <sect1>set/lockout &lt;call&gt; (9)
4328
4329 <P>
4330 <tt>
4331 <bf>set/lockout &lt;call&gt;</bf> Stop a callsign connecting to the cluster
4332 </tt>
4333
4334 <P>
4335 <sect1>set/logininfo (0)
4336
4337 <P>
4338 <tt>
4339 <bf>set/logininfo</bf> Inform when a station logs in/out locally
4340 </tt>
4341
4342 <P>
4343 <sect1>set/name &lt;your name&gt; (0)
4344
4345 <P>
4346 <tt>
4347 <bf>set/name &lt;your name&gt;</bf> Set your name
4348 </tt>
4349
4350 <P>
4351 Tell the system what your name is eg:-
4352 <tscreen><verb>
4353   SET/NAME Dirk
4354 </verb></tscreen>
4355
4356 <sect1>set/node &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb; (5)
4357
4358 <P>
4359 <tt>
4360 <bf>set/node &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb;</bf> Make the callsign an AK1A cluster
4361 </tt>
4362
4363 <P>
4364 Tell the system that the call(s) are to be treated as AK1A cluster and
4365 fed PC Protocol rather normal user commands.
4366 <sect1>set/obscount &lt;count&gt; &lt;call&gt; (8)
4367
4368 <P>
4369 <tt>
4370 <bf>set/obscount &lt;count&gt; &lt;call&gt;</bf> Set the 'pump-up' obscelence PING counter 
4371 </tt>
4372
4373 <P>
4374 From 1.35 onwards neighbouring nodes are pinged at regular intervals (see
4375 SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
4376 counter which is decremented on every outgoing ping and then reset to
4377 the 'obscount' value on every incoming ping. The default value of this
4378 parameter is 2. 
4379
4380 What this means is that a neighbouring node will be pinged twice at 
4381 (default) 300 second intervals and if no reply has been heard just before
4382 what would be the third attempt, that node is disconnected.
4383
4384 If a ping is heard then the obscount is reset to the full value. Using
4385 default values, if a node has not responded to a ping within 15 minutes,
4386 it is disconnected.
4387
4388 You can set this parameter between 1 and 9.
4389
4390 It is STRONGLY recommended that you don't change the default.
4391 <sect1>set/page &lt;lines per page&gt; (0)
4392
4393 <P>
4394 <tt>
4395 <bf>set/page &lt;lines per page&gt;</bf> Set the lines per page
4396 </tt>
4397
4398 <P>
4399 Tell the system how many lines you wish on a page when the number of line
4400 of output from a command is more than this. The default is 20. Setting it
4401 explicitly to 0 will disable paging. 
4402 <tscreen><verb>
4403   SET/PAGE 30
4404   SET/PAGE 0
4405 </verb></tscreen>
4406
4407 The setting is stored in your user profile.
4408 <sect1>set/password (0)
4409
4410 <P>
4411 <tt>
4412 <bf>set/password</bf> Set your own password
4413 </tt>
4414
4415 <P>
4416 This command only works for a 'telnet' user (currently). It will
4417 only work if you have a password already set. This initial password
4418 can only be set by the sysop.
4419
4420 When you execute this command it will ask you for your old password,
4421 then ask you to type in your new password twice (to make sure you
4422 get it right). You may or may not see the data echoed on the screen
4423 as you type, depending on the type of telnet client you have.
4424 <sect1>set/password &lt;callsign&gt; &lt;string&gt; (9)
4425
4426 <P>
4427 <tt>
4428 <bf>set/password &lt;callsign&gt; &lt;string&gt;</bf> Set a users password
4429 </tt>
4430
4431 <P>
4432 The password for a user can only be set by a full sysop. The string
4433 can contain any characters. 
4434
4435 The way this field is used depends on context. If it is being used in
4436 the SYSOP command context then you are offered 5 random numbers and you
4437 have to supply the corresponding letters. This is now mainly for ax25
4438 connections.
4439
4440 If it is being used on incoming telnet connections then, if a password
4441 is set or the:
4442
4443 <tscreen><verb>
4444   set/var $main::passwdreq = 1
4445 </verb></tscreen>
4446
4447 command is executed in the startup script, then a password prompt is
4448 given after the normal 'login: ' prompt.  
4449 <sect1>set/pinginterval &lt;time&gt; &lt;nodecall&gt; (9)
4450
4451 <P>
4452 <tt>
4453 <bf>set/pinginterval &lt;time&gt; &lt;nodecall&gt;</bf> Set ping time to neighbouring nodes 
4454 </tt>
4455
4456 <P>
4457 As from release 1.35 all neighbouring nodes are pinged at regular intervals
4458 in order to determine the rolling quality of the link and, in future, to
4459 affect routing decisions. The default interval is 300 secs or 5 minutes.
4460
4461 You can use this command to set a different interval. Please don't. 
4462
4463 But if you do the value you enter is treated as minutes up 30 and seconds
4464 for numbers greater than that.
4465
4466 This is used also to help determine when a link is down at the far end
4467 (as certain cluster software doesn't always notice), see SET/OBSCOUNT
4468 for more information.
4469
4470 If you must change it (and it may be useful for internet connected nodes
4471 on dynamic IP addresses that go away after a set time of usage) the time
4472 can be specified as:-
4473
4474 <tscreen><verb>
4475   5      which if less than 30 is converted to minutes otherwise is 
4476          taken as the no of seconds between pings. 
4477   120s   120 seconds
4478   5m     5 minutes
4479   1h     1 hour
4480 </verb></tscreen>
4481
4482 Please be aware that this causes traffic to occur on the link, setting 
4483 this value too low may annoy your neighbours beyond the point of 
4484 endurance!
4485
4486 You can switch this off by setting it to 0.
4487 <sect1>set/privilege &lt;n&gt; &lt;call&gt; &lsqb;&lt;call..&rsqb; (9)
4488
4489 <P>
4490 <tt>
4491 <bf>set/privilege &lt;n&gt; &lt;call&gt; &lsqb;&lt;call..&rsqb;</bf> Set privilege level on a call
4492 </tt>
4493
4494 <P>
4495 Set the privilege level on a callsign. The privilege levels that pertain
4496 to commands are as default:-
4497 <tscreen><verb>
4498   0 - normal user
4499   1 - allow remote nodes normal user RCMDs
4500   5 - various privileged commands (including shutdown, but not disc-
4501       connect), the normal level for another node.
4502   8 - more privileged commands (including disconnect)
4503   9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
4504       LEVEL.
4505 </verb></tscreen>
4506 If you are a sysop and you come in as a normal user on a remote connection
4507 your privilege will automatically be set to 0.
4508 <sect1>set/prompt &lt;string&gt; (0)
4509
4510 <P>
4511 <tt>
4512 <bf>set/prompt &lt;string&gt;</bf> Set your prompt to &lt;string&gt;
4513 </tt>
4514
4515 <P>
4516 <sect1>set/qra &lt;locator&gt; (0)
4517
4518 <P>
4519 <tt>
4520 <bf>set/qra &lt;locator&gt;</bf> Set your QRA Grid locator
4521 </tt>
4522
4523 <P>
4524 Tell the system what your QRA (or Maidenhead) locator is. If you have not
4525 done a SET/LOCATION then your latitude and longitude will be set roughly
4526 correctly (assuming your locator is correct ;-). For example:-
4527 <tscreen><verb>
4528   SET/QRA JO02LQ
4529 </verb></tscreen>
4530
4531 <sect1>set/qth &lt;your qth&gt; (0)
4532
4533 <P>
4534 <tt>
4535 <bf>set/qth &lt;your qth&gt;</bf> Set your QTH
4536 </tt>
4537
4538 <P>
4539 Tell the system where you are. For example:-
4540 <tscreen><verb>
4541   SET/QTH East Dereham, Norfolk
4542 </verb></tscreen>
4543
4544 <sect1>set/register &lt;call&gt; ... (9)
4545
4546 <P>
4547 <tt>
4548 <bf>set/register &lt;call&gt; ...</bf> Mark a user as registered
4549 </tt>
4550
4551 <P>
4552 <sect1>set/spider &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb; (5)
4553
4554 <P>
4555 <tt>
4556 <bf>set/spider &lt;call&gt; &lsqb;&lt;call&gt;..&rsqb;</bf> Make the callsign an DXSpider node
4557 </tt>
4558
4559 <P>
4560 Tell the system that the call(s) are to be treated as DXSpider node and
4561 fed new style DX Protocol rather normal user commands.
4562 <sect1>set/startup (0)
4563
4564 <P>
4565 <tt>
4566 <bf>set/startup</bf> Create your own startup script
4567 </tt>
4568
4569 <P>
4570 Create a startup script of DXSpider commands which will be executed
4571 everytime that you login into this node. You can only input the whole
4572 script afresh, it is not possible to 'edit' it. Inputting a new script is
4573 just like typing in a message using SEND. To finish inputting type: /EX
4574 on a newline, to abandon the script type: /ABORT.
4575
4576 You may find the (curiously named) command BLANK useful to break 
4577 up the output. If you simply want a blank line, it is easier to 
4578 input one or more spaces and press the &lt;return&gt; key.
4579
4580 See UNSET/STARTUP to remove a script.
4581 <sect1>set/startup &lt;call&gt; (6)
4582
4583 <P>
4584 <tt>
4585 <bf>set/startup &lt;call&gt;</bf> Create a user startup script
4586 </tt>
4587
4588 <P>
4589 <sect1>set/sys_location &lt;lat & long&gt; (9)
4590
4591 <P>
4592 <tt>
4593 <bf>set/sys_location &lt;lat & long&gt;</bf> Set your cluster latitude and longitude
4594 </tt>
4595
4596 <P>
4597 In order to get accurate headings and such like you must tell the system
4598 what your latitude and longitude is. If you have not yet done a SET/QRA
4599 then this command will set your QRA locator for you. For example:-
4600 <tscreen><verb>
4601   SET/LOCATION 52 22 N 0 57 E
4602 </verb></tscreen>
4603
4604 <sect1>set/sys_qra &lt;locator&gt; (9)
4605
4606 <P>
4607 <tt>
4608 <bf>set/sys_qra &lt;locator&gt;</bf> Set your cluster QRA Grid locator
4609 </tt>
4610
4611 <P>
4612 <sect1>set/talk (0)
4613
4614 <P>
4615 <tt>
4616 <bf>set/talk</bf> Allow TALK messages to come out on your terminal
4617 </tt>
4618
4619 <P>
4620 <sect1>set/usdb &lt;call&gt; &lt;state&gt; &lt;city&gt; (9)
4621
4622 <P>
4623 <tt>
4624 <bf>set/usdb &lt;call&gt; &lt;state&gt; &lt;city&gt;</bf> add/update a US DB callsign
4625 </tt>
4626
4627 <P>
4628 This command allows you to add or alter a callsign in the US state
4629 database. Use with extreme caution. Anything you do here will be
4630 overwritten by any weekly updates that affect this callsign
4631
4632 <tscreen><verb>
4633   set/usdb g1tlh nh downtown rindge
4634 </verb></tscreen>
4635
4636 see also DELETE/USDB
4637 <sect1>set/usstate (0)
4638
4639 <P>
4640 <tt>
4641 <bf>set/usstate</bf> Allow US State info on the end of DX announcements
4642 </tt>
4643
4644 <P>
4645 <sect1>set/wcy (0)
4646
4647 <P>
4648 <tt>
4649 <bf>set/wcy</bf> Allow WCY messages to come out on your terminal
4650 </tt>
4651
4652 <P>
4653 <sect1>set/wwv (0)
4654
4655 <P>
4656 <tt>
4657 <bf>set/wwv</bf> Allow WWV messages to come out on your terminal
4658 </tt>
4659
4660 <P>
4661 <sect1>set/wx (0)
4662
4663 <P>
4664 <tt>
4665 <bf>set/wx</bf> Allow WX messages to come out on your terminal
4666 </tt>
4667
4668 <P>
4669 <sect1>show/baddx (1)
4670
4671 <P>
4672 <tt>
4673 <bf>show/baddx</bf> Show all the bad dx calls in the system
4674 </tt>
4675
4676 <P>
4677 Display all the bad dx callsigns in the system, see SET/BADDX
4678 for more information.
4679 <sect1>show/badnode (1)
4680
4681 <P>
4682 <tt>
4683 <bf>show/badnode</bf> Show all the bad nodes in the system
4684 </tt>
4685
4686 <P>
4687 Display all the bad node callsigns in the system, see SET/BADNODE
4688 for more information.
4689 <sect1>show/badspotter (1)
4690
4691 <P>
4692 <tt>
4693 <bf>show/badspotter</bf> Show all the bad spotters in the system
4694 </tt>
4695
4696 <P>
4697 Display all the bad spotter's callsigns in the system, see SET/BADSPOTTER
4698 for more information.
4699 <sect1>show/badword (1)
4700
4701 <P>
4702 <tt>
4703 <bf>show/badword</bf> Show all the bad words in the system
4704 </tt>
4705
4706 <P>
4707 Display all the bad words in the system, see SET/BADWORD
4708 for more information.
4709 <sect1>show/chat &lsqb;&lt;group&gt;&rsqb; &lsqb;&lt;lines&gt;&rsqb; (0)
4710
4711 <P>
4712 <tt>
4713 <bf>show/chat &lsqb;&lt;group&gt;&rsqb; &lsqb;&lt;lines&gt;&rsqb;</bf> Show any chat or conferencing 
4714 </tt>
4715
4716 <P>
4717 This command allows you to see any chat or conferencing that has  
4718 occurred whilst you were away. SHOW/CHAT on its own will show data for
4719 all groups. If you use a group name then it will show only chat for
4720 that group.
4721 <sect1>show/configuration &lsqb;&lt;node&gt;&rsqb; (0)
4722
4723 <P>
4724 <tt>
4725 <bf>show/configuration &lsqb;&lt;node&gt;&rsqb;</bf> Show all the nodes and users visible
4726 </tt>
4727
4728 <P>
4729 This command allows you to see all the users that can be seen
4730 and the nodes to which they are connected.
4731
4732 This command is normally abbreviated to: sh/c
4733
4734 Normally, the list returned will be just for the nodes from your 
4735 country (because the list otherwise will be very long).
4736
4737 <tscreen><verb>
4738   SH/C ALL 
4739 </verb></tscreen>
4740
4741 will produce a complete list of all nodes. 
4742
4743 BE WARNED: the list that is returned can be VERY long
4744
4745 It is possible to supply a node or part of a prefix and you will get 
4746 a list of the users for that node or list of nodes starting with
4747 that prefix.
4748
4749 <tscreen><verb>
4750   SH/C GB7DJK
4751 </verb></tscreen>
4752
4753 <tscreen><verb>
4754   SH/C SK
4755 </verb></tscreen>
4756
4757 <sect1>show/configuration/node (0)
4758
4759 <P>
4760 <tt>
4761 <bf>show/configuration/node</bf> Show all the nodes connected locally
4762 </tt>
4763
4764 <P>
4765 Show all the nodes connected to this node.
4766 <sect1>show/connect (1)
4767
4768 <P>
4769 <tt>
4770 <bf>show/connect</bf> Show all the active connections
4771 </tt>
4772
4773 <P>
4774 This command shows information on all the active connections known to
4775 the node. This command gives slightly more information than WHO.
4776 <sect1>show/contest &lt;year and month&gt; (0)
4777
4778 <P>
4779 <tt>
4780 <bf>show/contest &lt;year and month&gt;</bf> Show all the contests for a month
4781 </tt>
4782
4783 <P>
4784 Show all known contests which are maintained at http://www.sk3bg.se/contest/
4785 for a particular month or year. The format is reasonably flexible.
4786 For example:-
4787   
4788 <tscreen><verb>
4789   SH/CONTEST sep2003
4790   SH/CONTEST 03 march
4791 </verb></tscreen>
4792
4793 <sect1>show/date &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb; (0)
4794
4795 <P>
4796 <tt>
4797 <bf>show/date &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb;</bf> Show the local time 
4798 </tt>
4799
4800 <P>
4801 This is very nearly the same as SHOW/TIME, the only difference the format
4802 of the date string if no arguments are given.
4803
4804 If no prefixes or callsigns are given then this command returns the local
4805 time and UTC as the computer has it right now. If you give some prefixes
4806 then it will show UTC and UTC + the local offset (not including DST) at
4807 the prefixes or callsigns that you specify.
4808 <sect1>show/db0sdx &lt;callsign&gt; (0)
4809
4810 <P>
4811 <tt>
4812 <bf>show/db0sdx &lt;callsign&gt;</bf> Show QSL infomation from DB0SDX database
4813 </tt>
4814
4815 <P>
4816 This command queries the DB0SDX QSL server on the internet
4817 and returns any information available for that callsign. This service
4818 is provided for users of this software by http://www.qslinfo.de.
4819
4820 See also SHOW/QRZ, SHOW/WM7D.
4821 <sect1>show/debug (9)
4822
4823 <P>
4824 <tt>
4825 <bf>show/debug</bf> Show what levels of debug information you are logging
4826 </tt>
4827
4828 <P>
4829 <sect1>show/dx (0)
4830
4831 <P>
4832 <tt>
4833 <bf>show/dx</bf> Interrogate the spot database
4834 </tt>
4835
4836 <P>
4837 If you just type SHOW/DX you will get the last so many spots
4838 (sysop configurable, but usually 10).
4839    
4840 In addition you can add any number of these commands in very nearly
4841 any order to the basic SHOW/DX command, they are:-
4842    
4843 <tscreen><verb>
4844  on &lt;band&gt;       - eg 160m 20m 2m 23cm 6mm
4845  on &lt;region&gt;     - eg hf vhf uhf shf      (see SHOW/BANDS)
4846  on &lt;from&gt;/&lt;to&gt;  - eg 1000/4000 14000-30000  (in Khz)
4847     &lt;from&gt;-&lt;to&gt;
4848 </verb></tscreen>
4849    
4850 <tscreen><verb>
4851  &lt;number&gt;        - the number of spots you want
4852  &lt;from&gt;-&lt;to&gt;     - &lt;from&gt; spot no &lt;to&gt; spot no in the selected list
4853  &lt;from&gt;/&lt;to&gt;
4854 </verb></tscreen>
4855    
4856 <tscreen><verb>
4857  &lt;prefix&gt;        - for a spotted callsign beginning with &lt;prefix&gt;
4858  *&lt;suffix&gt;       - for a spotted callsign ending in &lt;suffix&gt;
4859  *&lt;string&gt;*      - for a spotted callsign containing &lt;string&gt;
4860 </verb></tscreen>
4861    
4862 <tscreen><verb>
4863  day &lt;number&gt;    - starting &lt;number&gt; days ago
4864  day &lt;from&gt;-&lt;to&gt; - &lt;from&gt; days &lt;to&gt; days ago
4865      &lt;from&gt;/&lt;to&gt;   
4866 </verb></tscreen>
4867
4868 <tscreen><verb>
4869  info &lt;text&gt;     - any spots containing &lt;text&gt; in the info or remarks
4870 </verb></tscreen>
4871     
4872 <tscreen><verb>
4873  by &lt;call&gt;       - any spots spotted by &lt;call&gt; (spotter &lt;call&gt; is the 
4874                    same).
4875 </verb></tscreen>
4876
4877 <tscreen><verb>
4878  qsl             - this automatically looks for any qsl info on the call
4879                    held in the spot database.
4880 </verb></tscreen>
4881
4882 <tscreen><verb>
4883  iota [&lt;iota&gt;]   - If the iota island number is missing it will look for
4884                   the string iota and anything which looks like an iota
4885                   island number. If you specify then it will look for  
4886                   that island.
4887 </verb></tscreen>
4888
4889 <tscreen><verb>
4890  qra [&lt;locator&gt;] - this will look for the specific locator if you specify
4891                    one or else anything that looks like a locator.
4892 </verb></tscreen>
4893
4894 <tscreen><verb>
4895  dxcc            - treat the prefix as a 'country' and look for spots
4896                    from that country regardless of actual prefix.
4897                    eg dxcc oq2 
4898 </verb></tscreen>
4899                   
4900 <tscreen><verb>
4901                    You can also use this with the 'by' keyword so 
4902                    eg by W dxcc  
4903 </verb></tscreen>
4904  
4905 <tscreen><verb>
4906  real or rt      - Format the output the same as for real time spots. The
4907                    formats are deliberately different (so you can tell
4908                    one sort from the other). This is useful for some 
4909                    logging programs that can't cope with normal sh/dx 
4910                    output. An alias of SHOW/FDX is available.
4911 </verb></tscreen>
4912        
4913 <tscreen><verb>
4914  filter          - Filter the spots, before output, with the user's 
4915                    spot filter. An alias of SHOW/MYDX is available.
4916 </verb></tscreen>
4917
4918 <tscreen><verb>
4919  zone &lt;zones&gt;    - look for spots in the cq zone (or zones) specified.
4920                    zones are numbers separated by commas.
4921 </verb></tscreen>
4922
4923 <tscreen><verb>
4924  by_zone &lt;zones&gt; - look for spots spotted by people in the cq zone
4925                    specified.
4926 </verb></tscreen>
4927
4928 <tscreen><verb>
4929  itu &lt;itus&gt;      - look for spots in the itu zone (or zones) specified
4930                    itu zones are numbers separated by commas.
4931 </verb></tscreen>
4932
4933 <tscreen><verb>
4934  by_itu &lt;itus&gt;   - look for spots spotted by people in the itu zone
4935                    specified.
4936 </verb></tscreen>
4937   
4938 <tscreen><verb>
4939  state &lt;list&gt;    - look for spots in the US state (or states) specified
4940                    The list is two letter state codes separated by commas.
4941 </verb></tscreen>
4942
4943 <tscreen><verb>
4944  by_state &lt;list&gt; - look for spots spotted by people in the US state
4945                    specified.
4946 </verb></tscreen>
4947  
4948 <tscreen><verb>
4949  e.g. 
4950 </verb></tscreen>
4951    
4952 <tscreen><verb>
4953    SH/DX 9m0
4954    SH/DX on 20m info iota
4955    SH/DX 9a on vhf day 30
4956    SH/DX rf1p qsl
4957    SH/DX iota 
4958    SH/DX iota eu-064
4959    SH/DX qra jn86
4960    SH/DX dxcc oq2
4961    SH/DX dxcc oq2 by w dxcc
4962    SH/DX zone 4,5,6
4963    SH/DX by_zone 4,5,6
4964    SH/DX state in,oh
4965    SH/DX by_state in,oh
4966 </verb></tscreen>
4967   
4968 <sect1>show/dxcc &lt;prefix&gt; (0)
4969
4970 <P>
4971 <tt>
4972 <bf>show/dxcc &lt;prefix&gt;</bf> Interrogate the spot database by country
4973 </tt>
4974
4975 <P>
4976 This command takes the &lt;prefix&gt; (which can be a full or partial 
4977 callsign if desired), looks up which internal country number it is
4978 and then displays all the spots as per SH/DX for that country.
4979
4980 This is now an alias for 'SHOW/DX DXCC' 
4981    
4982 The options for SHOW/DX also apply to this command.   
4983 e.g. 
4984    
4985 <tscreen><verb>
4986    SH/DXCC G
4987    SH/DXCC W on 20m iota
4988 </verb></tscreen>
4989
4990 This can be done with the SHOW/DX command like this:-
4991
4992 <tscreen><verb>
4993    SH/DX dxcc g
4994    SH/DX dxcc w on 20m iota
4995 </verb></tscreen>
4996
4997 This is an alias for: SH/DX dxcc
4998 <sect1>show/dxqsl &lt;callsign&gt; (0)
4999
5000 <P>
5001 <tt>
5002 <bf>show/dxqsl &lt;callsign&gt;</bf> Show any QSL info gathered from spots
5003 </tt>
5004
5005 <P>
5006 The node collects information from the comment fields in spots (things
5007 like 'VIA EA7WA' or 'QSL-G1TLH') and stores these in a database.
5008
5009 This command allows you to interrogate that database and if the callsign
5010 is found will display the manager(s) that people have spotted. This 
5011 information is NOT reliable, but it is normally reasonably accurate if
5012 it is spotted enough times.
5013
5014 For example:-
5015
5016 <tscreen><verb>
5017   sh/dxqsl 4k9w
5018 </verb></tscreen>
5019
5020 You can check the raw input spots yourself with:-
5021
5022 <tscreen><verb>
5023   sh/dx 4k9w qsl
5024 </verb></tscreen>
5025
5026 This gives you more background information.
5027 <sect1>show/dxstats &lsqb;days&rsqb; &lsqb;date&rsqb; (0)
5028
5029 <P>
5030 <tt>
5031 <bf>show/dxstats &lsqb;days&rsqb; &lsqb;date&rsqb;</bf> Show the DX Statistics
5032 </tt>
5033
5034 <P>
5035 Show the total DX spots for the last &lt;days&gt; no of days (default is 31), 
5036 starting from a &lt;date&gt; (default: today).
5037 <sect1>show/fdx (0)
5038
5039 <P>
5040 <tt>
5041 <bf>show/fdx</bf> Show the DX data in realtime format.
5042 </tt>
5043
5044 <P>
5045 Normally SHOW/DX outputs spot data in a different format to the
5046 realtime data. This is a deliberate policy (so you can tell the 
5047 difference between the two). Some logging programs cannot handle
5048 this so SHOW/FDX outputs historical data in real time format.
5049
5050 This is an alias for: SHOW/DX real
5051 <sect1>show/files &lsqb;&lt;filearea&gt; &lsqb;&lt;string&gt;&rsqb;&rsqb; (0)
5052
5053 <P>
5054 <tt>
5055 <bf>show/files &lsqb;&lt;filearea&gt; &lsqb;&lt;string&gt;&rsqb;&rsqb;</bf> List the contents of a filearea
5056 </tt>
5057
5058 <P>
5059 SHOW/FILES on its own will show you a list of the various fileareas
5060 available on the system. To see the contents of a particular file
5061 area type:-
5062 <tscreen><verb>
5063    SH/FILES &lt;filearea&gt;
5064 </verb></tscreen>
5065 where &lt;filearea&gt; is the name of the filearea you want to see the 
5066 contents of.
5067
5068 You can also use shell globbing characters like '*' and '?' in a
5069 string to see a selection of files in a filearea eg:-
5070 <tscreen><verb>
5071    SH/FILES bulletins arld*
5072 </verb></tscreen>
5073
5074 See also TYPE - to see the contents of a file.
5075 <sect1>show/filter (0)
5076
5077 <P>
5078 <tt>
5079 <bf>show/filter</bf> Show the contents of all the filters you have set
5080 </tt>
5081
5082 <P>
5083 Show the contents of all the filters that are set. This command displays
5084 all the filters set - for all the various categories.
5085 <sect1>show/hfstats &lsqb;days&rsqb; &lsqb;date&rsqb; (0)
5086
5087 <P>
5088 <tt>
5089 <bf>show/hfstats &lsqb;days&rsqb; &lsqb;date&rsqb;</bf> Show the HF DX Statistics 
5090 </tt>
5091
5092 <P>
5093 Show the HF DX spots breakdown by band for the last &lt;days&gt; no of days 
5094 (default is 31), starting from a &lt;date&gt; (default: today).
5095 <sect1>show/hftable &lsqb;days&rsqb; &lsqb;date&rsqb; &lsqb;prefix ...&rsqb; (0)
5096
5097 <P>
5098 <tt>
5099 <bf>show/hftable &lsqb;days&rsqb; &lsqb;date&rsqb; &lsqb;prefix ...&rsqb;</bf> Show the HF DX Spotter Table
5100 </tt>
5101
5102 <P>
5103 Show the HF DX Spotter table for the list of prefixes for the last 
5104 &lt;days&gt; no of days (default is 31), starting from a &lt;date&gt; (default: today).
5105
5106 If there are no prefixes then it will show the table for your country.
5107
5108 Remember that some countries have more than one "DXCC country" in them
5109 (eg G :-), to show them (assuming you are not in G already which is
5110 specially treated in the code) you must list all the relevant prefixes
5111
5112 <tscreen><verb>
5113   sh/hftable g gm gd gi gj gw gu 
5114 </verb></tscreen>
5115
5116 Note that the prefixes are converted into country codes so you don't have
5117 to list all possible prefixes for each country.
5118
5119 If you want more or less days than the default simply include the
5120 number you require:-
5121
5122 <tscreen><verb>
5123   sh/hftable 20 pa
5124 </verb></tscreen>
5125
5126 If you want to start at a different day, simply add the date in some 
5127 recognizable form:-
5128
5129 <tscreen><verb>
5130   sh/hftable 2 25nov02
5131   sh/hftable 2 25-nov-02 
5132   sh/hftable 2 021125 
5133   sh/hftable 2 25/11/02
5134 </verb></tscreen>
5135
5136 This will show the stats for your DXCC for that CQWW contest weekend. 
5137
5138 You can specify either prefixes or full callsigns (so you can see how you
5139 did against all your mates). You can also say 'all' which will then print
5140 the worldwide statistics.
5141
5142 <tscreen><verb>
5143   sh/hftable all 
5144 </verb></tscreen>
5145
5146 <sect1>show/hops &lt;call&gt; &lsqb;ann|spots|route|wcy|wwv&rsqb; (8)
5147
5148 <P>
5149 <tt>
5150 <bf>show/hops &lt;call&gt; &lsqb;ann|spots|route|wcy|wwv&rsqb;</bf> Show the hop counts for a node
5151 </tt>
5152
5153 <P>
5154 This command shows the hop counts set up for a node. You can specify
5155 which category you want to see. If you leave the category out then 
5156 all the categories will be listed.
5157  
5158 <sect1>show/isolate (1)
5159
5160 <P>
5161 <tt>
5162 <bf>show/isolate</bf> Show list of ISOLATED nodes
5163 </tt>
5164
5165 <P>
5166 <sect1>show/lockout &lt;prefix&gt;|all (9)
5167
5168 <P>
5169 <tt>
5170 <bf>show/lockout &lt;prefix&gt;|all</bf> Show the list of locked out or excluded callsigns
5171 </tt>
5172
5173 <P>
5174 <sect1>show/log &lsqb;&lt;callsign&gt;&rsqb; (8)
5175
5176 <P>
5177 <tt>
5178 <bf>show/log &lsqb;&lt;callsign&gt;&rsqb;</bf> Show excerpts from the system log
5179 </tt>
5180
5181 <P>
5182 This command outputs a short section of the system log.  On its own
5183 it will output a general logfile.  With the optional callsign it will
5184 show output from the log associated with that callsign.
5185 <sect1>show/moon &lsqb;ndays&rsqb; &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb; (0)
5186
5187 <P>
5188 <tt>
5189 <bf>show/moon &lsqb;ndays&rsqb; &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb;</bf> Show Moon rise and set times
5190 </tt>
5191
5192 <P>
5193 Show the Moon rise and set times for a (list of) prefixes or callsigns, 
5194 together with the azimuth and elevation of the sun currently at those
5195 locations.
5196
5197 If you don't specify any prefixes or callsigns, it will show the times for
5198 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
5199 together with the current azimuth and elevation.
5200
5201 In addition, it will show the illuminated fraction of the moons disk.
5202
5203 If all else fails it will show the Moonrise and set times for the node
5204 that you are connected to. 
5205
5206 For example:-
5207
5208 <tscreen><verb>
5209   SH/MOON
5210   SH/MOON G1TLH W5UN
5211 </verb></tscreen>
5212
5213 You can also use this command to see into the past or the future, so
5214 if you want to see yesterday's times then do:-
5215
5216 <tscreen><verb>
5217   SH/MOON -1 
5218 </verb></tscreen>
5219
5220 or in three days time:-
5221
5222 <tscreen><verb>
5223   SH/MOON +3 W9
5224 </verb></tscreen>
5225
5226 Upto 366 days can be checked both in the past and in the future.
5227
5228 Please note that the rise and set times are given as the UT times of rise and 
5229 set on the requested UT day.
5230 <sect1>show/muf &lt;prefix&gt; &lsqb;&lt;hours&gt;&rsqb;&lsqb;long&rsqb; (0)
5231
5232 <P>
5233 <tt>
5234 <bf>show/muf &lt;prefix&gt; &lsqb;&lt;hours&gt;&rsqb;&lsqb;long&rsqb;</bf> Show the likely propagation to a prefix
5235 </tt>
5236
5237 <P>
5238 This command allow you to estimate the likelihood of you contacting
5239 a station with the prefix you have specified. The output assumes a modest
5240 power of 20dBW and receiver sensitivity of -123dBm (about 0.15muV/10dB SINAD)
5241
5242 The result predicts the most likely operating frequencies and signal
5243 levels for high frequency (shortwave) radio propagation paths on
5244 specified days of the year and hours of the day. It is most useful for
5245 paths between 250 km and 6000 km, but can be used with reduced accuracy
5246 for paths shorter or longer than this.
5247
5248 The command uses a routine MINIMUF 3.5 developed by the U.S. Navy and
5249 used to predict the MUF given the predicted flux, day of the year,
5250 hour of the day and geographic coordinates of the transmitter and
5251 receiver. This routine is reasonably accurate for the purposes here,
5252 with a claimed RMS error of 3.8 MHz, but much smaller and less complex
5253 than the programs used by major shortwave broadcasting organizations,
5254 such as the Voice of America.
5255
5256 The command will display some header information detailing its
5257 assumptions, together with the locations, latitude and longitudes and
5258 bearings. It will then show UTC (UT), local time at the other end
5259 (LT), calculate the MUFs, Sun zenith angle at the midpoint of the path
5260 (Zen) and the likely signal strengths. Then for each frequency for which
5261 the system thinks there is a likelihood of a circuit it prints a value.
5262
5263 The value is currently a likely S meter reading based on the conventional
5264 6dB / S point scale. If the value has a '+' appended it means that it is
5265 1/2 an S point stronger. If the value is preceeded by an 'm' it means that
5266 there is likely to be much fading and by an 's' that the signal is likely
5267 to be noisy.  
5268
5269 By default SHOW/MUF will show the next two hours worth of data. You
5270 can specify anything up to 24 hours worth of data by appending the no of
5271 hours required after the prefix. For example:-
5272
5273 <tscreen><verb>
5274   SH/MUF W
5275 </verb></tscreen>
5276
5277 produces:
5278
5279 <tscreen><verb>
5280   RxSens: -123 dBM SFI: 159   R: 193   Month: 10   Day: 21
5281   Power :   20 dBW    Distance:  6283 km    Delay: 22.4 ms
5282   Location                       Lat / Long           Azim
5283   East Dereham, Norfolk          52 41 N 0 57 E         47
5284   United-States-W                43 0 N 87 54 W        299
5285   UT LT  MUF Zen  1.8  3.5  7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0
5286   18 23 11.5 -35  mS0+ mS2   S3
5287   19  0 11.2 -41  mS0+ mS2   S3
5288 </verb></tscreen>
5289
5290 indicating that you will have weak, fading circuits on top band and 
5291 80m but usable signals on 40m (about S3).
5292
5293 inputing:-
5294
5295 <tscreen><verb>
5296   SH/MUF W 24
5297 </verb></tscreen>
5298
5299 will get you the above display, but with the next 24 hours worth of
5300 propagation data.
5301
5302 <tscreen><verb>
5303   SH/MUF W L 24
5304   SH/MUF W 24 Long
5305 </verb></tscreen>
5306
5307 Gives you an estimate of the long path propagation characterics. It
5308 should be noted that the figures will probably not be very useful, nor
5309 terrible accurate, but it is included for completeness.
5310 <sect1>show/mydx (0)
5311
5312 <P>
5313 <tt>
5314 <bf>show/mydx</bf> Show the DX data filtered with your spot filter.
5315 </tt>
5316
5317 <P>
5318 SHOW/DX potentially shows all the spots available in the system. Using
5319 SHOW/MYDX will, instead, filter the availble spots using any spot filter 
5320 that you have set, first. 
5321
5322 This command, together with ACCEPT/SPOT or REJECT/SPOT, will allow
5323 you to customise the spots that you receive.
5324
5325 So if you have said: ACC/SPOT on hf
5326
5327 Doing a SHOW/MYDX will now only, ever, show HF spots. All the other 
5328 options on SH/DX can still be used.
5329 <sect1>show/newconfiguration &lsqb;&lt;node&gt;&rsqb; (0)
5330
5331 <P>
5332 <tt>
5333 <bf>show/newconfiguration &lsqb;&lt;node&gt;&rsqb;</bf> Show all the nodes and users visible
5334 </tt>
5335
5336 <P>
5337 This command allows you to see all the users that can be seen
5338 and the nodes to which they are connected. 
5339
5340 This command produces essentially the same information as 
5341 SHOW/CONFIGURATION except that it shows all the duplication of
5342 any routes that might be present It also uses a different format
5343 which may not take up quite as much space if you don't have any
5344 loops.
5345
5346 BE WARNED: the list that is returned can be VERY long
5347 <sect1>show/newconfiguration/node (0)
5348
5349 <P>
5350 <tt>
5351 <bf>show/newconfiguration/node</bf> Show all the nodes connected locally
5352 </tt>
5353
5354 <P>
5355 Show all the nodes connected to this node in the new format.
5356 <sect1>show/node &lsqb;&lt;callsign&gt; ...&rsqb; (1)
5357
5358 <P>
5359 <tt>
5360 <bf>show/node &lsqb;&lt;callsign&gt; ...&rsqb;</bf> Show the type and version number of nodes
5361 </tt>
5362
5363 <P>
5364 Show the type and version (if connected) of the nodes specified on the
5365 command line. If no callsigns are specified then a sorted list of all
5366 the non-user callsigns known to the system will be displayed.
5367 <sect1>show/prefix &lt;callsign&gt; (0)
5368
5369 <P>
5370 <tt>
5371 <bf>show/prefix &lt;callsign&gt;</bf> Interrogate the prefix database 
5372 </tt>
5373
5374 <P>
5375 This command takes the &lt;callsign&gt; (which can be a full or partial 
5376 callsign or a prefix), looks up which internal country number 
5377 it is and then displays all the relevant prefixes for that country
5378 together with the internal country no, the CQ and ITU regions. 
5379
5380 See also SHOW/DXCC
5381 <sect1>show/program (5)
5382
5383 <P>
5384 <tt>
5385 <bf>show/program</bf> Show the locations of all the included program modules
5386 </tt>
5387
5388 <P>
5389 Show the name and location where every program module was load from. This
5390 is useful for checking where you think you have loaded a .pm file from. 
5391 <sect1>show/qra &lt;lat&gt; &lt;long&gt; (0)
5392
5393 <P>
5394 <tt>
5395 <bf>show/qra &lt;lat&gt; &lt;long&gt;</bf> Convert lat/long to a QRA Grid locator
5396 </tt>
5397
5398 <P>
5399 This is a multipurpose command that allows you either to calculate the
5400 distance and bearing between two locators or (if only one locator is
5401 given on the command line) the distance and beraing from your station
5402 to the locator. For example:-
5403
5404 <tscreen><verb>
5405  SH/QRA IO92QL 
5406  SH/QRA JN06 IN73
5407 </verb></tscreen>
5408
5409 The first example will show the distance and bearing to the locator from
5410 yourself, the second example will calculate the distance and bearing from
5411 the first locator to the second. You can use 4 or 6 character locators.
5412
5413 It is also possible to convert a latitude and longitude to a locator by 
5414 using this command with a latitude and longitude as an argument, for
5415 example:-
5416
5417 <tscreen><verb>
5418  SH/QRA 52 41 N 0 58 E
5419 </verb></tscreen>
5420
5421 <sect1>show/qra &lt;locator&gt; &lsqb;&lt;locator&gt;&rsqb; (0)
5422
5423 <P>
5424 <tt>
5425 <bf>show/qra &lt;locator&gt; &lsqb;&lt;locator&gt;&rsqb;</bf> Show distance between QRA Grid locators
5426 </tt>
5427
5428 <P>
5429 <sect1>show/qrz &lt;callsign&gt; (0)
5430
5431 <P>
5432 <tt>
5433 <bf>show/qrz &lt;callsign&gt;</bf> Show any callbook details on a callsign
5434 </tt>
5435
5436 <P>
5437 This command queries the QRZ callbook server on the internet
5438 and returns any information available for that callsign. This service
5439 is provided for users of this software by http://www.qrz.com 
5440
5441 See also SHOW/WM7D for an alternative.
5442 <sect1>show/registered &lsqb;&lt;prefix&gt;&rsqb; (9)
5443
5444 <P>
5445 <tt>
5446 <bf>show/registered &lsqb;&lt;prefix&gt;&rsqb;</bf> Show the registered users
5447 </tt>
5448
5449 <P>
5450 <sect1>show/route &lt;callsign&gt; ... (0)
5451
5452 <P>
5453 <tt>
5454 <bf>show/route &lt;callsign&gt; ...</bf> Show the route to the callsign
5455 </tt>
5456
5457 <P>
5458 This command allows you to see to which node the callsigns specified are
5459 connected. It is a sort of inverse sh/config.
5460
5461 <tscreen><verb>
5462  sh/route n2tly
5463 </verb></tscreen>
5464
5465 <sect1>show/satellite &lt;name&gt; &lsqb;&lt;hours&gt; &lt;interval&gt;&rsqb; (0)
5466
5467 <P>
5468 <tt>
5469 <bf>show/satellite &lt;name&gt; &lsqb;&lt;hours&gt; &lt;interval&gt;&rsqb;</bf> Show tracking data
5470 </tt>
5471
5472 <P>
5473 Show the tracking data from your location to the satellite of your choice
5474 from now on for the next few hours.
5475
5476 If you use this command without a satellite name it will display a list
5477 of all the satellites known currently to the system. 
5478
5479 If you give a name then you can obtain tracking data of all the passes
5480 that start and finish 5 degrees below the horizon. As default it will
5481 give information for the next three hours for every five minute period.
5482
5483 You can alter the number of hours and the step size, within certain 
5484 limits. 
5485
5486 Each pass in a period is separated with a row of '-----' characters
5487
5488 So for example:-
5489
5490 <tscreen><verb>
5491  SH/SAT AO-10 
5492  SH/SAT FENGYUN1 12 2
5493 </verb></tscreen>
5494
5495 <sect1>show/startup (0)
5496
5497 <P>
5498 <tt>
5499 <bf>show/startup</bf> View your own startup script
5500 </tt>
5501
5502 <P>
5503 View the contents of a startup script created with SET/STARTUP.
5504 <sect1>show/startup &lt;call&gt; (6)
5505
5506 <P>
5507 <tt>
5508 <bf>show/startup &lt;call&gt;</bf> View a user startup script
5509 </tt>
5510
5511 <P>
5512 <sect1>show/station all &lsqb;&lt;regex&gt;&rsqb; (6)
5513
5514 <P>
5515 <tt>
5516 <bf>show/station all &lsqb;&lt;regex&gt;&rsqb;</bf> Show list of users in the system
5517 </tt>
5518
5519 <P>
5520 <sect1>show/station &lsqb;&lt;callsign&gt; ..&rsqb; (0)
5521
5522 <P>
5523 <tt>
5524 <bf>show/station &lsqb;&lt;callsign&gt; ..&rsqb;</bf> Show information about a callsign
5525 </tt>
5526
5527 <P>
5528 Show the information known about a callsign and whether (and where)
5529 that callsign is connected to the cluster.
5530
5531 <tscreen><verb>
5532   SH/ST G1TLH
5533 </verb></tscreen>
5534
5535 If no callsign is given then show the information for yourself.
5536 <sect1>show/sun &lsqb;ndays&rsqb; &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb; (0)
5537
5538 <P>
5539 <tt>
5540 <bf>show/sun &lsqb;ndays&rsqb; &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb;</bf> Show sun rise and set times
5541 </tt>
5542
5543 <P>
5544 Show the sun rise and set times for a (list of) prefixes or callsigns, 
5545 together with the azimuth and elevation of the sun currently at those
5546 locations.
5547
5548 If you don't specify any prefixes or callsigns, it will show the times for
5549 your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
5550 together with the current azimuth and elevation.
5551
5552 If all else fails it will show the sunrise and set times for the node
5553 that you are connected to. 
5554
5555 For example:-
5556
5557 <tscreen><verb>
5558   SH/SUN
5559   SH/SUN G1TLH K9CW ZS
5560 </verb></tscreen>
5561
5562 You can also use this command to see into the past or the future, so
5563 if you want to see yesterday's times then do:-
5564
5565 <tscreen><verb>
5566   SH/SUN -1 
5567 </verb></tscreen>
5568
5569 or in three days time:-
5570
5571 <tscreen><verb>
5572   SH/SUN +3 W9
5573 </verb></tscreen>
5574
5575 Upto 366 days can be checked both in the past and in the future.
5576
5577 Please note that the rise and set times are given as the UT times of rise 
5578 and set on the requested UT day.
5579 <sect1>show/time &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb; (0)
5580
5581 <P>
5582 <tt>
5583 <bf>show/time &lsqb;&lt;prefix&gt;|&lt;callsign&gt;&rsqb;</bf> Show the local time 
5584 </tt>
5585
5586 <P>
5587 If no prefixes or callsigns are given then this command returns the local
5588 time and UTC as the computer has it right now. If you give some prefixes
5589 then it will show UTC and UTC + the local offset (not including DST) at
5590 the prefixes or callsigns that you specify.
5591 <sect1>show/usdb &lsqb;call ..&rsqb; (0)
5592
5593 <P>
5594 <tt>
5595 <bf>show/usdb &lsqb;call ..&rsqb;</bf> Show information held on the FCC Call database
5596 </tt>
5597
5598 <P>
5599 Show the City and State of a Callsign held on the FCC database if
5600 his is being run on this system, eg:-
5601
5602 <tscreen><verb>
5603   sh/usdb k1xx
5604 </verb></tscreen>
5605
5606 <sect1>show/vhfstats &lsqb;days&rsqb; &lsqb;date&rsqb; (0)
5607
5608 <P>
5609 <tt>
5610 <bf>show/vhfstats &lsqb;days&rsqb; &lsqb;date&rsqb;</bf> Show the VHF DX Statistics
5611 </tt>
5612
5613 <P>
5614 Show the VHF DX spots breakdown by band for the last 
5615 &lt;days&gt; no of days (default is 31), starting from a date (default: today).
5616 <sect1>show/vhftable &lsqb;days&rsqb; &lsqb;date&rsqb; &lsqb;prefix ...&rsqb; (0)
5617
5618 <P>
5619 <tt>
5620 <bf>show/vhftable &lsqb;days&rsqb; &lsqb;date&rsqb; &lsqb;prefix ...&rsqb;</bf> Show the VHF DX Spotter Table
5621 </tt>
5622
5623 <P>
5624 Show the VHF DX Spotter table for the list of prefixes for the last 
5625 &lt;days&gt; no of days (default is 31), starting from a date (default: today).
5626
5627 If there are no prefixes then it will show the table for your country.
5628
5629 Remember that some countries have more than one "DXCC country" in them
5630 (eg G :-), to show them (assuming you are not in G already which is
5631 specially treated in the code) you must list all the relevant prefixes
5632
5633 <tscreen><verb>
5634   sh/vhftable g gm gd gi gj gw gu 
5635 </verb></tscreen>
5636
5637 Note that the prefixes are converted into country codes so you don't have
5638 to list all possible prefixes for each country.
5639
5640 If you want more or less days than the default simply include the
5641 number you require:-
5642
5643 <tscreen><verb>
5644   sh/vhftable 20 pa
5645 </verb></tscreen>
5646
5647 If you want to start at a different day, simply add the date in some 
5648 recognizable form:-
5649
5650 <tscreen><verb>
5651   sh/vhftable 2 25nov02
5652   sh/vhftable 2 25-nov-02 
5653   sh/vhftable 2 021125 
5654   sh/vhftable 2 25/11/02
5655 </verb></tscreen>
5656
5657 This will show the stats for your DXCC for that CQWW contest weekend. 
5658
5659 You can specify either prefixes or full callsigns (so you can see how you
5660 did against all your mates). You can also say 'all' which will then print
5661 the worldwide statistics.
5662
5663 <tscreen><verb>
5664   sh/vhftable all 
5665 </verb></tscreen>
5666
5667 <sect1>show/wcy (0)
5668
5669 <P>
5670 <tt>
5671 <bf>show/wcy</bf> Show last 10 WCY broadcasts
5672 </tt>
5673
5674 <P>
5675 <sect1>show/wcy &lt;n&gt; (0)
5676
5677 <P>
5678 <tt>
5679 <bf>show/wcy &lt;n&gt;</bf> Show last &lt;n&gt; WCY broadcasts
5680 </tt>
5681
5682 <P>
5683 Display the most recent WCY information that has been received by the system
5684  
5685 <sect1>show/wm7d &lt;callsign&gt; (0)
5686
5687 <P>
5688 <tt>
5689 <bf>show/wm7d &lt;callsign&gt;</bf> Show callbook details on a US callsigns
5690 </tt>
5691
5692 <P>
5693 This command queries the WM7D callbook server on the internet
5694 and returns any information available for that US callsign. This service
5695 is provided for users of this software by http://www.wm7d.net.
5696
5697 See also SHOW/QRZ. 
5698 <sect1>show/wwv (0)
5699
5700 <P>
5701 <tt>
5702 <bf>show/wwv</bf> Show last 10 WWV broadcasts
5703 </tt>
5704
5705 <P>
5706 <sect1>show/wwv &lt;n&gt; (0)
5707
5708 <P>
5709 <tt>
5710 <bf>show/wwv &lt;n&gt;</bf> Show last &lt;n&gt; WWV broadcasts
5711 </tt>
5712
5713 <P>
5714 Display the most recent WWV information that has been received by the system
5715 <sect1>shutdown (5)
5716
5717 <P>
5718 <tt>
5719 <bf>shutdown</bf> Shutdown the cluster
5720 </tt>
5721
5722 <P>
5723 Shutdown the cluster and disconnect all the users 
5724 <sect1>spoof &lt;call&gt; &lt;command&gt; (9)
5725
5726 <P>
5727 <tt>
5728 <bf>spoof &lt;call&gt; &lt;command&gt;</bf> Do a command as though you are another user
5729 </tt>
5730
5731 <P>
5732 This command is provided so that sysops can set a user's parameters without
5733 me having to write a special 'sysop' version for every user command. It
5734 allows you to pretend that you are doing the command as the user you specify.
5735
5736 eg:-
5737
5738 <tscreen><verb>
5739    SPOOF G1TLH set/name Dirk
5740    SPOOF G1TLH set/qra JO02LQ
5741 </verb></tscreen>
5742
5743 <sect1>stat/channel &lsqb;&lt;callsign&gt;&rsqb; (5)
5744
5745 <P>
5746 <tt>
5747 <bf>stat/channel &lsqb;&lt;callsign&gt;&rsqb;</bf> Show the status of a channel on the cluster
5748 </tt>
5749
5750 <P>
5751 Show the internal status of the channel object either for the channel that 
5752 you are on or else for the callsign that you asked for.
5753
5754 Only the fields that are defined (in perl term) will be displayed.
5755 <sect1>stat/db &lt;dbname&gt; (5)
5756
5757 <P>
5758 <tt>
5759 <bf>stat/db &lt;dbname&gt;</bf> Show the status of a database
5760 </tt>
5761
5762 <P>
5763 Show the internal status of a database descriptor.
5764
5765 Depending on your privilege level you will see more or less information. 
5766 This command is unlikely to be of much use to anyone other than a sysop.
5767 <sect1>stat/msg (1)
5768
5769 <P>
5770 <tt>
5771 <bf>stat/msg</bf> Show the status of the message system
5772 </tt>
5773
5774 <P>
5775 <sect1>stat/msg &lt;msgno&gt; (1)
5776
5777 <P>
5778 <tt>
5779 <bf>stat/msg &lt;msgno&gt;</bf> Show the status of a message
5780 </tt>
5781
5782 <P>
5783 This command shows the internal status of a message and includes information
5784 such as to whom it has been forwarded, its size, origin etc etc.
5785
5786 If no message number is given then the status of the message system is 
5787 displayed.
5788 <sect1>stat/route_node &lt;callsign&gt; (5)
5789
5790 <P>
5791 <tt>
5792 <bf>stat/route_node &lt;callsign&gt;</bf> Show the data in a Route::Node object
5793 </tt>
5794
5795 <P>
5796 <sect1>stat/route_node all (5)
5797
5798 <P>
5799 <tt>
5800 <bf>stat/route_node all</bf> Show list of all Route::Node objects
5801 </tt>
5802
5803 <P>
5804 <sect1>stat/route_user &lt;callsign&gt; (5)
5805
5806 <P>
5807 <tt>
5808 <bf>stat/route_user &lt;callsign&gt;</bf> Show the data in a Route::User object
5809 </tt>
5810
5811 <P>
5812 <sect1>stat/route_user all (5)
5813
5814 <P>
5815 <tt>
5816 <bf>stat/route_user all</bf> Show list of all Route::User objects
5817 </tt>
5818
5819 <P>
5820 <sect1>stat/user &lsqb;&lt;callsign&gt;&rsqb; (5)
5821
5822 <P>
5823 <tt>
5824 <bf>stat/user &lsqb;&lt;callsign&gt;&rsqb;</bf> Show the full status of a user
5825 </tt>
5826
5827 <P>
5828 Shows the full contents of a user record including all the secret flags
5829 and stuff.
5830
5831 Only the fields that are defined (in perl term) will be displayed.
5832 <sect1>sysop (0)
5833
5834 <P>
5835 <tt>
5836 <bf>sysop</bf> Regain your privileges if you login remotely
5837 </tt>
5838
5839 <P>
5840 The system automatically reduces your privilege level to that of a
5841 normal user if you login in remotely. This command allows you to
5842 regain your normal privilege level. It uses the normal system: five
5843 numbers are returned that are indexes into the character array that is
5844 your assigned password (see SET/PASSWORD). The indexes start from
5845 zero.
5846
5847 You are expected to return a string which contains the characters
5848 required in the correct order. You may intersperse those characters
5849 with others to obscure your reply for any watchers. For example (and
5850 these values are for explanation :-):
5851
5852 <tscreen><verb>
5853   password = 012345678901234567890123456789
5854   &gt; sysop
5855   22 10 15 17 3
5856 </verb></tscreen>
5857 you type:-
5858 <tscreen><verb>
5859  aa2bbbb0ccc5ddd7xxx3n
5860  or 2 0 5 7 3
5861  or 20573
5862 </verb></tscreen>
5863
5864 They will all match. If there is no password you will still be offered
5865 numbers but nothing will happen when you input a string. Any match is
5866 case sensitive.
5867 <sect1>talk &lt;call&gt; &gt; &lt;node&gt; &lsqb;&lt;text&gt;&rsqb; (0)
5868
5869 <P>
5870 <tt>
5871 <bf>talk &lt;call&gt; &gt; &lt;node&gt; &lsqb;&lt;text&gt;&rsqb;</bf> Send a text message to another station via a node
5872 </tt>
5873
5874 <P>
5875 Send a short message to any other station that is visible on the cluster
5876 system. You can send it to anyone you can see with a SHOW/CONFIGURATION 
5877 command, they don't have to be connected locally.
5878
5879 The second form of TALK is used when other cluster nodes are connected
5880 with restricted information. This usually means that they don't send 
5881 the user information usually associated with logging on and off the cluster.
5882
5883 If you know that G3JNB is likely to be present on GB7TLH, but you can only
5884 see GB7TLH in the SH/C list but with no users, then you would use the
5885 second form of the talk message.
5886
5887 If you want to have a ragchew with someone you can leave the text message
5888 out and the system will go into 'Talk' mode. What this means is that a
5889 short message is sent to the recipient telling them that you are in a
5890 'Talking' frame of mind and then you just type - everything you send will
5891 go to the station that you asked for. 
5892
5893 All the usual announcements, spots and so on will still come out on your
5894 terminal.
5895
5896 If you want to do something (such as send a spot) you preceed the normal 
5897 command with a '/' character, eg:-
5898
5899 <tscreen><verb>
5900    /DX 14001 G1TLH What's a B class licensee doing on 20m CW?
5901    /HELP talk
5902 </verb></tscreen>
5903
5904 To leave talk mode type:
5905    
5906 <tscreen><verb>
5907    /EX
5908 </verb></tscreen>
5909
5910 If you are in 'Talk' mode, there is an extention to the '/' command which
5911 allows you to send the output to all the people you are talking to. You do 
5912 with the '//' command. For example:-
5913
5914 <tscreen><verb>
5915   //sh/hftable
5916 </verb></tscreen>
5917
5918 will send the hftable as you have it to all the people you are currently 
5919 talking to.
5920 <sect1>talk &lt;call&gt; &lsqb;&lt;text&gt;&rsqb; (0)
5921
5922 <P>
5923 <tt>
5924 <bf>talk &lt;call&gt; &lsqb;&lt;text&gt;&rsqb;</bf> Send a text message to another station
5925 </tt>
5926
5927 <P>
5928 <sect1>type &lt;filearea&gt;/&lt;name&gt; (0)
5929
5930 <P>
5931 <tt>
5932 <bf>type &lt;filearea&gt;/&lt;name&gt;</bf> Look at the contents of a file in one of the fileareas
5933 </tt>
5934
5935 <P>
5936 Type out the contents of a file in a filearea. So, for example, in 
5937 filearea 'bulletins' you want to look at file 'arld051' you would 
5938 enter:-
5939 <tscreen><verb>
5940    TYPE bulletins/arld051
5941 </verb></tscreen>
5942
5943 See also SHOW/FILES to see what fileareas are available and a 
5944 list of content.
5945 <sect1>uncatchup &lt;node call&gt; all|&lsqb;msgno&gt; ...&rsqb; (5)
5946
5947 <P>
5948 <tt>
5949 <bf>uncatchup &lt;node call&gt; all|&lsqb;msgno&gt; ...&rsqb;</bf> Unmark a message as sent
5950 </tt>
5951
5952 <P>
5953 When you send messages the fact that you have forwarded it to another node 
5954 is remembered so that it isn't sent again. When you have a new partner
5955 node and you add their callsign to your /spider/msg/forward.pl file, all
5956 outstanding non-private messages will be forwarded to them. This may well
5957 be ALL the non-private messages. You can prevent this by using these 
5958 commmands:-
5959
5960 <tscreen><verb>
5961   catchup GB7DJK all
5962   catchup GB7DJK 300 301 302 303 500-510
5963 </verb></tscreen>
5964         
5965 and to undo what you have just done:-
5966   
5967 <tscreen><verb>
5968   uncatchup GB7DJK all
5969   uncatchup GB7DJK 300 301 302 303 500-510
5970 </verb></tscreen>
5971
5972 which will arrange for them to be forward candidates again.
5973
5974 Order is not important.
5975 <sect1>unset/announce (0)
5976
5977 <P>
5978 <tt>
5979 <bf>unset/announce</bf> Stop announce messages coming out on your terminal
5980 </tt>
5981
5982 <P>
5983 <sect1>unset/anntalk (0)
5984
5985 <P>
5986 <tt>
5987 <bf>unset/anntalk</bf> Stop talk like announce messages on your terminal
5988 </tt>
5989
5990 <P>
5991 The announce system on legacy cluster nodes is used as a talk 
5992 substitute because the network is so poorly connected. If you:
5993
5994 <tscreen><verb>
5995   unset/anntalk
5996 </verb></tscreen>
5997
5998 you will suppress several of these announces, you may miss the odd 
5999 useful one as well, but you would probably miss them anyway in the
6000 welter of useless ones.
6001
6002 <tscreen><verb>
6003   set/anntalk 
6004 </verb></tscreen>
6005
6006 allows you to see them again. This is the default.
6007 <sect1>unset/baddx &lt;call&gt;.. (8)
6008
6009 <P>
6010 <tt>
6011 <bf>unset/baddx &lt;call&gt;..</bf> Propagate a dx spot with this callsign again
6012 </tt>
6013
6014 <P>
6015 Setting a word as 'baddx' will prevent spots with that word in the
6016 'spotted' field (as in: DX 14001.1 FR0G)of a DX spot from going any
6017 further. They will not be displayed and they will not be sent onto
6018 other nodes.
6019
6020 The word must be written in full, no wild cards are allowed eg:-
6021
6022 <tscreen><verb>
6023   set/baddx FORSALE VIDEO FR0G
6024 </verb></tscreen>
6025
6026 To allow a word again, use the following command ...
6027
6028 <tscreen><verb>
6029   unset/baddx VIDEO
6030 </verb></tscreen>
6031
6032 <sect1>unset/badnode &lt;call&gt;.. (8)
6033
6034 <P>
6035 <tt>
6036 <bf>unset/badnode &lt;call&gt;..</bf> Allow spots from this node again
6037 </tt>
6038
6039 <P>
6040 Setting a callsign as a 'badnode' will prevent spots from that node 
6041 going any further. They will not be displayed and they will not be 
6042 sent onto other nodes.
6043
6044 The call must be a full eg:-
6045
6046 <tscreen><verb>
6047   set/badnode K1TTT 
6048 </verb></tscreen>
6049
6050 will stop anything from K1TTT. If you want SSIDs as well then you must
6051 enter them specifically.
6052
6053 <tscreen><verb>
6054   unset/badnode K1TTT
6055 </verb></tscreen>
6056
6057 will allow spots from him again.
6058
6059 Use with extreme care. This command may well be superceeded by FILTERing.
6060 <sect1>unset/badspotter &lt;call&gt;.. (8)
6061
6062 <P>
6063 <tt>
6064 <bf>unset/badspotter &lt;call&gt;..</bf> Allow spots from this callsign again
6065 </tt>
6066
6067 <P>
6068 Setting a callsign as a 'badspotter' will prevent spots from this callsign 
6069 going any further. They will not be displayed and they will not be 
6070 sent onto other nodes.
6071
6072 The call must be written in full, no wild cards are allowed eg:-
6073
6074 <tscreen><verb>
6075   set/badspotter VE2STN 
6076 </verb></tscreen>
6077
6078 will stop anything from VE2STN. This command will automatically
6079 stop spots from this user, regardless of whether or which SSID 
6080 he uses. DO NOT USE SSIDs in the callsign, just use the callsign
6081 as above or below.
6082
6083 <tscreen><verb>
6084   unset/badspotter VE2STN
6085 </verb></tscreen>
6086
6087 will allow spots from him again.
6088
6089 Use with extreme care. This command may well be superceded by FILTERing.
6090 <sect1>unset/badword &lt;word&gt;.. (8)
6091
6092 <P>
6093 <tt>
6094 <bf>unset/badword &lt;word&gt;..</bf> Propagate things with this word again
6095 </tt>
6096
6097 <P>
6098 Setting a word as a 'badword' will prevent things like spots,
6099 announces or talks with this word in the the text part from going any
6100 further. They will not be displayed and they will not be sent onto
6101 other nodes.
6102
6103 The word must be written in full, no wild cards are allowed eg:-
6104
6105 <tscreen><verb>
6106   set/badword annihilate annihilated annihilation 
6107 </verb></tscreen>
6108
6109 will stop anything with these words in the text.
6110
6111 <tscreen><verb>
6112   unset/badword annihilated
6113 </verb></tscreen>
6114
6115 will allow text with this word again.
6116 <sect1>unset/beep (0)
6117
6118 <P>
6119 <tt>
6120 <bf>unset/beep</bf> Stop beeps for DX and other messages on your terminal
6121 </tt>
6122
6123 <P>
6124 <sect1>unset/debug &lt;name&gt; (9)
6125
6126 <P>
6127 <tt>
6128 <bf>unset/debug &lt;name&gt;</bf> Remove a debug level from the debug set
6129 </tt>
6130
6131 <P>
6132 You can choose to log several different levels.  The levels are
6133
6134 <tscreen><verb>
6135  chan
6136  state
6137  msg
6138  cron
6139  connect
6140 </verb></tscreen>
6141
6142 You can show what levels you are logging with SHOW/DEBUG
6143 <sect1>unset/dx (0)
6144
6145 <P>
6146 <tt>
6147 <bf>unset/dx</bf> Stop DX messages coming out on your terminal
6148 </tt>
6149
6150 <P>
6151 <sect1>unset/dxcq (0)
6152
6153 <P>
6154 <tt>
6155 <bf>unset/dxcq</bf> Stop CQ Zones on the end of DX announcements
6156 </tt>
6157
6158 <P>
6159 Display both the Spotter's and the Spotted's CQ Zone on the end
6160 of a DX announcement (there is just enough room). Some user programs
6161 cannot cope with this. The Spotter's CQ is on the RHS of the 
6162 time, the Spotted's CQ is on the LHS.
6163
6164 Conflicts with: SET/DXGRID, SET/DXITU, SHOW/USSTATE
6165
6166 Do a STAT/USER to see which flags you have set if you are confused.  
6167 <sect1>unset/dxgrid (0)
6168
6169 <P>
6170 <tt>
6171 <bf>unset/dxgrid</bf> Stop QRA Grid Squares on the end of DX announcements
6172 </tt>
6173
6174 <P>
6175 A standard feature which is enabled in version 1.43 and above is 
6176 that if the spotter's grid square is known it is output on the end
6177 of a DX announcement (there is just enough room). Some user programs
6178 cannot cope with this. You can use this command to reset (or set)
6179 this feature.
6180
6181 Conflicts with: SET/DXCQ, SET/DXITU
6182
6183 Do a STAT/USER to see which flags you have set if you are confused.  
6184 <sect1>unset/dxitu (0)
6185
6186 <P>
6187 <tt>
6188 <bf>unset/dxitu</bf> Stop ITU Zones on the end of DX announcements
6189 </tt>
6190
6191 <P>
6192 Display both the Spotter's and the Spotted's ITU Zone on the end
6193 of a DX announcement (there is just enough room). Some user programs
6194 cannot cope with this. The Spotter's ITU is on the RHS of the 
6195 time, the Spotted's ITU is on the LHS.
6196
6197 Conflicts with: SET/DXGRID, SET/DXCQ, SHOW/USSTATE
6198
6199 Do a STAT/USER to see which flags you have set if you are confused.  
6200 <sect1>unset/echo (0)
6201
6202 <P>
6203 <tt>
6204 <bf>unset/echo</bf> Stop the cluster echoing your input
6205 </tt>
6206
6207 <P>
6208 If you are connected via a telnet session, different implimentations
6209 of telnet handle echo differently depending on whether you are 
6210 connected via port 23 or some other port. You can use this command
6211 to change the setting appropriately. 
6212
6213 The setting is stored in your user profile.
6214
6215 YOU DO NOT NEED TO USE THIS COMMAND IF YOU ARE CONNECTED VIA AX25.
6216 <sect1>unset/email (0)
6217
6218 <P>
6219 <tt>
6220 <bf>unset/email</bf> Stop personal msgs being forwarded by email
6221 </tt>
6222
6223 <P>
6224 If any personal messages come in for your callsign then you can use
6225 these commands to control whether they are forwarded onto your email
6226 address. To enable the forwarding do something like:-
6227
6228 <tscreen><verb>
6229   SET/EMAIL mike.tubby@somewhere.com
6230 </verb></tscreen>
6231
6232 You can have more than one email address (each one separated by a space).
6233 Emails are forwarded to all the email addresses you specify.
6234
6235 You can disable forwarding by:-
6236
6237 <tscreen><verb>
6238   UNSET/EMAIL
6239 </verb></tscreen>
6240
6241 <sect1>unset/here (0)
6242
6243 <P>
6244 <tt>
6245 <bf>unset/here</bf> Tell the system you are absent from your terminal
6246 </tt>
6247
6248 <P>
6249 <sect1>unset/hops &lt;call&gt; ann|spots|route|wwv|wcy (8)
6250
6251 <P>
6252 <tt>
6253 <bf>unset/hops &lt;call&gt; ann|spots|route|wwv|wcy</bf> Unset hop count  
6254 </tt>
6255
6256 <P>
6257 Set the hop count for a particular type of broadcast for a node.
6258
6259 This command allows you to set up special hop counts for a node 
6260 for currently: announce, spots, wwv and wcy broadcasts.
6261
6262 eg:
6263 <tscreen><verb>
6264   set/hops gb7djk ann 10
6265   set/hops gb7mbc spots 20
6266 </verb></tscreen>
6267
6268 Set SHOW/HOPS for information on what is already set. This command
6269 creates a filter and works in conjunction with the filter system. 
6270
6271 You can unset the hops with command UNSET/HOPS. For example:-
6272
6273 <tscreen><verb>
6274   unset/hops gb7djk ann
6275   unset/hops gb7mbc spots
6276 </verb></tscreen>
6277
6278 <sect1>unset/isolate (9)
6279
6280 <P>
6281 <tt>
6282 <bf>unset/isolate</bf> Stop Isolation of a node from the rest of the network
6283 </tt>
6284
6285 <P>
6286 Remove isolation from a node - SET/ISOLATE
6287 <sect1>unset/lockout &lt;call&gt; (9)
6288
6289 <P>
6290 <tt>
6291 <bf>unset/lockout &lt;call&gt;</bf> Allow a callsign to connect to the cluster
6292 </tt>
6293
6294 <P>
6295 <sect1>unset/logininfo (0)
6296
6297 <P>
6298 <tt>
6299 <bf>unset/logininfo</bf> No longer inform when a station logs in/out locally
6300 </tt>
6301
6302 <P>
6303 <sect1>unset/password &lt;call&gt; ... (9)
6304
6305 <P>
6306 <tt>
6307 <bf>unset/password &lt;call&gt; ...</bf> Delete (remove) a user's password
6308 </tt>
6309
6310 <P>
6311 This command allows the sysop to completely delete and remove a 
6312 password for a user. 
6313 <sect1>unset/privilege (0)
6314
6315 <P>
6316 <tt>
6317 <bf>unset/privilege</bf> Remove any privilege for this session
6318 </tt>
6319
6320 <P>
6321 You can use this command to 'protect' this session from unauthorised
6322 use. If you want to get your normal privilege back you will need to
6323 either logout and login again (if you are on a console) or use the
6324 SYSOP command.
6325 <sect1>unset/prompt (0)
6326
6327 <P>
6328 <tt>
6329 <bf>unset/prompt</bf> Set your prompt back to default
6330 </tt>
6331
6332 <P>
6333 This command will set your user prompt to the string that you 
6334 say. The point of this command to enable a user to interface to programs
6335 that are looking for a specific prompt (or else you just want a different
6336 prompt).
6337
6338 <tscreen><verb>
6339   SET/PROMPT clx &gt;
6340 </verb></tscreen>
6341
6342 There are some substitutions that can be added to the prompt:
6343
6344 <tscreen><verb>
6345   %C - callsign [which will have ( and ) around it if not here]
6346   %D - date
6347   %T - time
6348   %M - cluster 'mycall'
6349 </verb></tscreen>
6350
6351 The standard prompt is defined as:
6352
6353 <tscreen><verb>
6354   SET/PROMPT %C de %M %D %T dxspider &gt;
6355 </verb></tscreen>
6356
6357 UNSET/PROMPT will undo the SET/PROMPT command and set your prompt back to
6358 normal.
6359 <sect1>unset/register &lt;call&gt; ... (9)
6360
6361 <P>
6362 <tt>
6363 <bf>unset/register &lt;call&gt; ...</bf> Mark a user as not registered
6364 </tt>
6365
6366 <P>
6367 Registration is a concept that you can switch on by executing the
6368
6369 <tscreen><verb>
6370   set/var $main::regreq = 1 
6371 </verb></tscreen>
6372
6373 command (usually in your startup file)
6374
6375 If a user is NOT registered then, firstly, instead of the normal
6376 motd file (/spider/data/motd) being sent to the user at startup, the
6377 user is sent the motd_nor file instead. Secondly, the non registered
6378 user only has READ-ONLY access to the node. The non-registered user
6379 cannot use DX, ANN etc. 
6380
6381 The only exception to this is that a non-registered user can TALK or
6382 SEND messages to the sysop.
6383 <sect1>unset/startup (0)
6384
6385 <P>
6386 <tt>
6387 <bf>unset/startup</bf> Remove your own startup script
6388 </tt>
6389
6390 <P>
6391 You can remove your startup script with UNSET/STARTUP.  
6392 <sect1>unset/startup &lt;call&gt; (6)
6393
6394 <P>
6395 <tt>
6396 <bf>unset/startup &lt;call&gt;</bf> Remove a user startup script
6397 </tt>
6398
6399 <P>
6400 <sect1>unset/talk (0)
6401
6402 <P>
6403 <tt>
6404 <bf>unset/talk</bf> Stop TALK messages coming out on your terminal
6405 </tt>
6406
6407 <P>
6408 <sect1>unset/usstate (0)
6409
6410 <P>
6411 <tt>
6412 <bf>unset/usstate</bf> Stop US State info on the end of DX announcements
6413 </tt>
6414
6415 <P>
6416 If the spotter's or spotted's US State is known it is output on the 
6417 end of a DX announcement (there is just enough room). 
6418
6419 A spotter's state will appear on the RHS of the time (like 
6420 SET/DXGRID) and the spotted's State will appear on the LHS of the
6421 time field. Any information found will override any locator 
6422 information from SET/DXGRID.
6423
6424 Some user programs cannot cope with this. You can use this command 
6425 to reset (or set) this feature.
6426
6427 Conflicts with: SET/DXCQ, SET/DXITU
6428
6429 Do a STAT/USER to see which flags you have set if you are confused.  
6430 <sect1>unset/wcy (0)
6431
6432 <P>
6433 <tt>
6434 <bf>unset/wcy</bf> Stop WCY messages coming out on your terminal
6435 </tt>
6436
6437 <P>
6438 <sect1>unset/wwv (0)
6439
6440 <P>
6441 <tt>
6442 <bf>unset/wwv</bf> Stop WWV messages coming out on your terminal
6443 </tt>
6444
6445 <P>
6446 <sect1>unset/wx (0)
6447
6448 <P>
6449 <tt>
6450 <bf>unset/wx</bf> Stop WX messages coming out on your terminal
6451 </tt>
6452
6453 <P>
6454 <sect1>who (0)
6455
6456 <P>
6457 <tt>
6458 <bf>who</bf> Show who is physically connected
6459 </tt>
6460
6461 <P>
6462 This is a quick listing that shows which callsigns are connected and
6463 what sort of connection they have
6464 <sect1>wx &lt;text&gt; (0)
6465
6466 <P>
6467 <tt>
6468 <bf>wx &lt;text&gt;</bf> Send a weather message to local users
6469 </tt>
6470
6471 <P>
6472 <sect1>wx full &lt;text&gt; (0)
6473
6474 <P>
6475 <tt>
6476 <bf>wx full &lt;text&gt;</bf> Send a weather message to all cluster users
6477 </tt>
6478
6479 <P>
6480 <sect1>wx sysop &lt;text&gt; (5)
6481
6482 <P>
6483 <tt>
6484 <bf>wx sysop &lt;text&gt;</bf> Send a weather message to other clusters only
6485 </tt>
6486
6487 <P>
6488 Weather messages can sometimes be useful if you are experiencing an extreme
6489 that may indicate enhanced conditions
6490 </article>