fixed confusion over DXCluster->get_exact and DXUser->get
[spider.git] / cmd / Commands_en.hlp
index cc518e938451d7cf34b3258efcee526c6b4f4256..ce9d426f52feed582d390074ccdeace445dbbc23 100644 (file)
 # Comment lines are indented before printing
 #
 === 0^ANNOUNCE <text>^Send an announcement to LOCAL users only
+<text> is the text of the announcement you wish to broadcast 
 
 === 0^ANNOUNCE FULL <text>^Send an announcement cluster wide
 This will send your announcement cluster wide
 
 === 5^ANNOUNCE SYSOP <text>^Send an announcement to Sysops only
 
-=== 0^ANNOUNCE-
-<text> is the text of the announcement you wish to broadcast 
-
 === 0^APROPOS <string>^Search help database for <string>
 Search the help database for <string> (it isn't case sensitive), and print
 the names of all the commands that may be relevant.
@@ -34,6 +32,128 @@ DX cluster <callsign>. This process creates a new 'client' process which will
 use the script in /spider/connect/<callsign> to effect the 'chat' exchange
 necessary to traverse the network(s) to logon to the cluster <callsign>.
 
+=== 9^CATCH <node call> All|[<msgno> ...]^Mark a message as sent
+=== 9^UNCATCH <node call> All|[msgno> ...]^Unmark a message as sent
+When you send messages the fact that you have forwarded it to another node 
+is remembered so that it isn't sent again. When you have a new partner
+node and you add their callsign to your /spider/msg/forward.pl file, all
+outstanding non-private messages will be forwarded to them. This may well
+be ALL the non-private messages. You can prevent this by using these 
+commmands:-
+
+  catch GB7DJK all
+  catch GB7DJK 300 301 302 303
+       
+and to undo what you have just done:-
+  
+  uncatch GB7DJK all
+  uncatch GB7DJK 300 301 302 303
+
+which will arrange for them to be forward candidates again.
+
+=== 0^DBAVAIL^Show a list of all the Databases in the system
+Title says it all really, this command lists all the databases defined
+in the system. It is also aliased to SHOW/COMMAND.
+
+=== 9^DBCREATE <name>^Create a database entry
+=== 9^DBCREATE <name> chain <name> [<name>..]^Create a chained database entry
+=== 9^DBCREATE <name> remote <node>^Create a remote database entry
+DBCREATE allows you to define a database in the system. It doesn't actually
+create anything, just defines it.
+
+The databases that are created are simple DB_File hash databases, they are 
+therefore already 'indexed'.
+
+You can define a local database with the first form of the command eg:
+
+  DBCREATE oblast
+
+You can also chain databases with the addition of the 'chain' keyword. 
+This will search each database one after the other. A typical example 
+is:
+
+  DBCREATE sdx_qsl chain sql_ad
+
+No checking is done to see if the any of the chained databases exist, in
+fact it is usually better to do the above staement first then do each of
+the chained databases.
+
+Databases can exist offsite. To define a database that lives on another 
+node do:
+
+  DBCREATE buckmaster remote gb7dxc
+
+Remote databases cannot be chained; however, the last database in a 
+a chain can be a remote database eg:
+
+  DBCREATE qsl chain gb7dxc
+
+To see what databases have been defined do:
+
+  DBAVAIL (or it will have been aliased to SHOW/COMMAND)
+
+It would be normal for you to add an entry into your local Aliases file
+to allow people to use the 'SHOW/<dbname>' style syntax. So you would
+need to add a line like:-
+
+  's' => [
+    ..
+    ..
+    '^sh\w*/buc', 'dbshow buckmaster', 'dbshow',
+    ..
+    ..
+   ],
+
+to allow 
+  SH/BUCK g1tlh
+
+to work as they may be used to.
+
+See DBIMPORT for the importing of existing AK1A format data to databases.
+See DBSHOW for generic database enquiry
+=== 9^DBIMPORT <dbname> <filename>^Import AK1A data into a database
+If you want to import or update data in bulk to a database you can use
+this command. It will either create or update entries into an existing
+database. For example:-
+
+  DBIMPORT oblast /tmp/OBLAST.FUL
+
+will import the standard OBLAST database that comes with AK1A into the
+oblast database held locally.
+
+=== 9^DBREMOVE <dbname>^Delete a database
+DBREMOVE will completely remove a database entry and also delete any data
+file that is associated with it. 
+
+There is no warning, no comeback, no safety net. 
+
+For example:
+
+  DBREMOVE oblast 
+
+will remove the oblast database from the system and it will also remove
+the associated datafile.
+
+I repeat:
+
+There is no warning, no comeback, no safety net.
+You have been warned.
+
+=== 0^DBSHOW <dbname> <key>^Display an entry, if it exists, in a database
+This is the generic user interface to the database to the database system.
+It is expected that the sysop will add an entry to the local Aliases file
+so that users can use the more familiar AK1A style of enquiry such as:
+
+  SH/BUCK G1TLH
+
+but if he hasn't and the database really does exist (use DBAVAIL or
+SHOW/COMMAND to find out) you can do the same thing with:
+
+  DBSHOW buck G1TLH
+
 === 9^DEBUG^Set the cluster program into debug mode
 Executing this command will only have an effect if you are running the cluster
 in debug mode i.e.
@@ -44,14 +164,31 @@ It will interrupt the cluster just after the debug command has finished.
 === 0^DIRECTORY^List messages 
 === 0^DIRECTORY ALL^List all messages
 === 0^DIRECTORY OWN^List your own messages
-=== 0^DIRECTORY NEW^List your own new messages
-List the messages in the messages directory. 
+=== 0^DIRECTORY NEW^List all new messages
+=== 0^DIRECTORY TO <call>^List all messages to <call>
+=== 0^DIRECTORY FROM <call>^List all messages from <call>
+=== 0^DIRECTORY SUBJECT <string>^List all messages with <string> in subject
+=== 0^DIRECTORY <nn>^List last <nn> messages
+=== 0^DIRECTORY <from>-<to>^List messages <from> message <to> message 
+List the messages in the messages directory.
 
 If there is a 'p' one space after the message number then it is a 
-personal message.
+personal message. If there is a '-' between the message number and the
+'p' then this indicates that the message has been read.
+
+You can use shell escape characters such as '*' and '?' in the <call>
+fields.
+
+You can combine some of the various directory commands together eg:-
 
-If there is a - after the message number then this indicates that the
-message has been read.
+   DIR TO G1TLH 5
+or 
+   DIR SUBJECT IOTA 200-250
+
+You can abbreviate all the commands to one letter and use ak1a syntax:-
+
+   DIR/T G1* 10
+   DIR/S QSL 10-100 5
 
 === 5^DIRECTORY-^
 Sysops can see all users' messages.
@@ -59,10 +196,31 @@ Sysops can see all users' messages.
 === 8^DISCONNECT <call> [<call> ...]^Disconnect a user or cluster
 Disconnect any <call> connected locally
 
-=== 0^DX <freq> <callsign> <remarks>^Send a DX spot throughout the cluster
-<freq> is compared against the available bands set up in the cluster.
-see show/bands for more information.
+=== 0^DX [BY <call>] <freq> <call> <remarks>^Send a DX spot
+This is how you send a DX Spot to other users. You can, in fact, now
+enter the <freq> and the <call> either way round. 
+
+   DX FR0G 144.600
+   DX 144.600 FR0G
+   DX 144600 FR0G 
+
+will all give the same result. You can add some remarks to the end
+of the command and they will be added to the spot.
+
+   DX FR0G 144600 this is a test
 
+You can credit someone else by saying:-
+
+   DX by G1TLH FR0G 144.600 he isn't on the cluster
+
+The <freq> is compared against the available bands set up in the 
+cluster.  See SHOW/BANDS for more information.
+
+=== 1^FORWARD/OPERNAME <call>^Send out information on this <call> to all clusters
+This command sends out any information held in the user file which can 
+be broadcast in PC41 protocol packets. This information is Name, QTH, Location
+and Homenode. PC41s are only sent for the information that is available.
 === 0^HELP^The HELP Command
 HELP is available for a number of commands. The syntax is:-
 
@@ -76,43 +234,110 @@ to SH/DX, ANNOUNCE can be shortened to AN and so on.
 Look at the APROPOS <string> command which will search the help database
 for the <string> you specify and give you a list of likely commands
 to look at with HELP.
-=== 0^SHOW/DX^Interrogate the spot database
-If you just type SHOW/DX you will get the last so many spots
-(sysop configurable, but usually 10).
-   
-In addition you can add any number of these commands in very nearly
-any order to the basic SHOW/DX command, they are:-
-   
-on <band>       - eg 160m 20m 2m 23cm 6mm
-on <region>     - eg hf vhf uhf shf      (see SHOW/BANDS)
-   
-<number>        - the number of spots you want
-<from>-<to>     - <from> spot no <to> spot no in the selected list
-   
-<prefix>        - for a spotted callsign beginning with <prefix>
-*<suffix>       - for a spotted callsign ending in <suffix>
-*<string>*      - for a spotted callsign containing <string>
-   
-day <number>    - starting <number> days ago
-day <from>-<to> - <from> days <to> days ago
-   
-info <text>     - any spots containing <text> in the info or remarks
-   
-spotter <call>  - any spots spotted by <call>
-   
-e.g. 
+
+=== 0^KILL <msgno> [<msgno..]^Delete a message from the local system
+Delete a message from the local system. You will only be able to delete messages
+that you have originated or been sent (unless you are the sysop).
+
+=== 5^KILL FULL <msgno> [<msgno..]^Delete a message from the whole cluster
+Delete a message (usually a 'bulletin') from the whole cluster system. 
+
+This uses the subject field, so any messages that have exactly the same subject
+will be deleted. Beware!
+
+=== 9^LOAD/ALIASES^Reload the command alias table
+Reload the /spider/cmd/Aliases file after you have editted it. You will need to
+do this if you change this file whilst the cluster is running in order for the
+changes to take effect.
+
+=== 9^LOAD/BANDS^Reload the band limits table
+Reload the /spider/data/bands.pl file if you have changed it manually whilst
+the cluster is running. 
+
+=== 9^LOAD/CMD_CACHE^Reload the automatic command cache
+Normally, if you change a command file in the cmd or local_cmd tree it will
+automatially be picked up by the cluster program. Sometimes it can get confused
+if you are doing a lot of moving commands about or delete a command in the 
+local_cmd tree and want to use the normal one again. Execute this command to
+reset everything back to the state it was just after a cluster restart.
+
+=== 9^LOAD/MESSAGES^Reload the system messages file
+If you change the /spider/perl/Messages file (usually whilst fiddling/writing new
+commands) you can have them take effect during a cluster session by executing this
+command. You need to do this if get something like :-
+
+unknown message 'xxxx' in lang 'en'
+
+=== 9^LOAD/PREFIXES^Reload the prefix table
+Reload the /spider/data/prefix_data.pl file if you have changed it manually whilst
+the cluster is running. 
+
+=== 5^MERGE <node> [<no spots>/<no wwv>]^Ask for the latest spots and WWV 
+MERGE allows you to bring your spot and wwv database up to date. By default
+it will request the last 10 spots and 5 WWVs from the node you select. The 
+node must be connected locally.
+
+You can request any number of spots or wwv and although they will be appended
+to your databases they will not duplicate any that have recently been added 
+(the last 2 days for spots and last month for WWV data).
+
+=== 9^MSG <cmd> <msgno> [data ... ]^Alter various message parameters
+Alter message parameters like To, From, Subject, whether private or bulletin
+or return receipt (RR) is required or whether to keep this message from timing
+out.
+
+  MSG TO <msgno> <call>     - change TO callsign to <call>
+  MSG FRom <msgno> <call>   - change FROM callsign to <call>
+  MSG PRrivate <msgno>      - set private flag
+  MSG NOPRrivate <msgno>    - unset private flag
+  MSG RR <msgno>            - set RR flag
+  MSG NORR <msgno>          - unset RR flag
+  MSG KEep <msgno>          - set the keep flag (message won't be deleted ever)
+  MSG NOKEep <msgno>        - unset the keep flag
+  MSG SUbject <msgno> <new> - change the subject to <new>
+  MSG WAittime <msgno>      - remove any waitting time for this message
+  MSG QUeue                 - queue any outstanding bulletins
+  MSG QUeue 1               - queue any outstanding private messages
+
+You can look at the status of a message by using:-
+
+  STAT/MSG <msgno>      
+
+This will display more information on the message than DIR does.
    
-   SH/DX 9m0
-   SH/DX on 20m info iota
-   SH/DX 9a on vhf day 30
+=== 8^PC <call> <text>^Send text (eg PC Protocol) to <call>
+Send some arbitrary text to a locally connected callsign. No processing is done on
+the text. This command allows you to send PC Protocol to unstick things if problems
+arise (messages get stuck etc). eg:-
+   pc gb7djk PC33^GB7TLH^GB7DJK^400^
+or 
+   pc G1TLH Try doing that properly!!!
+
+=== 1^PING <node>^Send a ping command to another cluster
+This command is used to estimate the quality of the link to another cluster. 
+The time returned is the length of time taken for a PC51 to go to another 
+cluster and be returned.
 
 === 0^KILL <msgno> [<msgno> ...]^Remove or erase a message from the system
 You can get rid of any message to or originating from your callsign using 
 this command. You can remove more than one message at a time.
 
-=== 5^KILL-^
+=== 5^KILL <from>-<to>^Remove a range of messages from the system
+=== 5^KILL FROM <call>^Remove all messages from a callsign
+=== 5^KILL TO <call>^Remove all messages to a callsign
+=== 5^KILL FULL <msgno> [<msgno]^Remove a message from the entire cluster
+Remove this message from the entire cluster system as well as your node.
+
+=== 5^KILL^
 As a sysop you can kill any message on the system.
 
+=== 8^PC <call> <text>^Send arbitrary text to a connected callsign
+Send any text you like to the callsign requested. This is used mainly to send
+PC protocol to connected nodes either for testing or to unstick things. 
+
+You can also use in the same way as a talk command to a connected user but
+without any processing, added of "from <blah> to <blah" or whatever.
 === 1^PING <node call>^Find out the delays an a circuit to another node
 This command will enable sysops to determine the speed of an inter-cluster
 node. 
@@ -136,15 +361,16 @@ message either sent by or sent to your callsign.
 === 5^READ-^
 As a sysop you may read any message on the system
 
-=== 0^REPLY^Reply to the last message that you have read
-=== 0^REPLY <msgno>^Reply to the specified message
-=== 0^REPLY PRIVATE <msgno>^Reply privately to the specified message
+=== 0^REPLY^Reply (privately) to the last message that you have read
+=== 0^REPLY <msgno>^Reply (privately) to the specified message
+=== 0^REPLY B <msgno>^Reply as a Bulletin to the specified message
+=== 0^REPLY NOPrivate <msgno>^Reply as a Bulletin to the specified message
 === 0^REPLY RR <msgno>^Reply to the specified message with read receipt
 You can reply to a message and the subject will automatically have
 "Re:" inserted in front of it, if it isn't already present.
 
 You can also use all the extra qualifiers such as RR, PRIVATE, 
-NOPRIVATE that you can use with the SEND command (see SEND
+NOPRIVATE, B that you can use with the SEND command (see SEND
 for further details)
 
 === 0^SEND <call> [<call> ...]^Send a message to one or more callsigns
@@ -170,6 +396,189 @@ receive a read receipt when they have read the message.
 
 SB is an alias for SEND NOPRIVATE (or send a bulletin in BBS speak)
 SP is an alias for SEND PRIVATE
+
+=== 0^SET/ADDRESS <your address>^Record your postal address
+
+=== 0^SET/ANNOUNCE^Allow announce messages to come out on your terminal
+=== 0^UNSET/ANNOUNCE^Stop announce messages coming out on your terminal
+
+=== 0^SET/BEEP^Add a beep to DX and other messages on your terminal
+=== 0^UNSET/BEEP^Stop beeps for DX and other messages on your terminal
+
+=== 9^SET/DEBUG <name>^Add a debug level to the debug set
+=== 9^UNSET/DEBUG <name>^Remove a debug level from the debug set
+
+=== 0^SET/DX^Allow DX messages to come out on your terminal
+=== 0^UNSET/DX^Stop DX messages coming out on your terminal
+
+=== 0^SET/HERE^Tell the system you are present at your terminal
+=== 0^UNSET/HERE^Tell the system you are absent from your terminal
+
+=== 0^SET/HOMENODE <node> ^Set your normal cluster callsign
+Tell the cluster system where you normally connect to. Any Messages sent
+to you will normally find their way there should you not be connected.
+eg:-
+  SET/HOMENODE gb7djk
+
+=== 9^SET/ISOLATE^Isolate a node from the rest of the network
+Connect a node to your system in such a way that you are a full protocol
+member of its network and can see all spots on it, but nothing either leaks
+out from it nor goes back into from the rest of the nodes connected to you.
+
+You can potentially connect several nodes in this way.
+=== 9^UNSET/ISOLATE^Stop Isolation of a node from the rest of the network
+Remove isolation from a node - SET/ISOLATE
+
+=== 0^SET/LANGUAGE <lang>^Set the language you want to use
+You can select the language that you want the cluster to use. Currently
+the languages available are en (english) and nl (dutch).
+
+=== 0^SET/LOCATION <lat & long>^Set your latitude and longitude
+=== 9^SET/SYS_LOCATION <lat & long>^Set your cluster latitude and longitude
+In order to get accurate headings and such like you must tell the system
+what your latitude and longitude is. If you have not yet done a SET/QRA
+then this command will set your QRA locator for you. For example:-
+  SET/LOCATION 52 22 N 0 57 E
+
+=== 0^SET/LOGININFO^Inform when a station logs in locally
+=== 0^UNSET/LOGININFO^Inform when a station logs out locally
+
+=== 9^SET/LOCKOUT <call>^Stop a callsign connecting to the cluster
+=== 9^UNSET/LOCKOUT <call>^Allow a callsign to connect to the cluster
+
+=== 0^SET/NAME <your name>^Set your name
+Tell the system what your name is eg:-
+  SET/NAME Dirk
+
+=== 9^SET/NODE <call> [<call>..]^Make the callsign an AK1A cluster
+Tell the system that the call(s) are to be treated as AK1A cluster and
+fed PC Protocol rather normal user commands.
+
+=== 9^SET/OBSCOUNT <count> <nodecall>^Set the 'pump-up' obscelence counter 
+From 1.35 onwards neighbouring nodes are pinged at regular intervals (see
+SET/PINGINTERVAL), usually 300 seconds or 5 minutes. There is a 'pump-up'
+counter which is decremented on every outgoing ping and then reset to
+the 'obscount' value on every incoming ping. The default value of this
+parameter is 2. 
+
+What this means is that a neighbouring node will be pinged twice at 
+(default) 300 second intervals and if no reply has been heard just before
+what would be the third attempt, that node is disconnected.
+
+If a ping is heard then the obscount is reset to the full value. Using
+default values, if a node has not responded to a ping within 15 minutes,
+it is disconnected.
+
+=== 0^SET/PAGE <lines per page>^Set the lines per page
+Tell the system how many lines you wish on a page when the number of line
+of output from a command is more than this. The default is 20. Setting it
+explicitly to 0 will disable paging. 
+  SET/PAGE 30
+  SET/PAGE 0
+
+=== 9^SET/PINGINTERVAL <time> <nodecall>^Set ping time to neighbouring nodes 
+As from release 1.35 all neighbouring nodes are pinged at regular intervals
+in order to determine the rolling quality of the link and, in future, to
+affect routing decisions. The default interval is 300 secs or 5 minutes.
+
+You can use this command to set a different interval. Please don't. 
+
+But if you do the value you enter is treated as minutes up 60 and seconds
+for numbers greater than that.
+
+This is used also to help determine when a link is down at the far end
+(as certain cluster software doesn't always notice), see SET/OBSCOUNT
+for more information.
+
+=== 9^SET/PRIVILEGE <n> <call> [<call..]^Set privilege level on a call
+Set the privilege level on a callsign. The privilege levels that pertain
+to commands are as default:-
+  0 - normal user
+  1 - allow remote nodes normal user RCMDs
+  5 - various privileged commands (including shutdown, but not disc-
+      connect), the normal level for another node.
+  8 - more privileged commands (including disconnect)
+  9 - local sysop privilege. DO NOT SET ANY REMOTE USER OR NODE TO THIS
+      LEVEL.
+If you are a sysop and you come in as a normal user on a remote connection
+your privilege will automatically be set to 0.
+
+=== 9^SET/PASSWORD <callsign> <string>^Set a users password
+The password for a user can only be set by a full sysop. The string
+can contain any characters but any spaces are removed (you can type in
+spaces - but they won't appear in the password). You can see the
+result with STAT/USER.
+
+=== 9^SET/SPIDER <call> [<call>..]^Make the callsign an DXSpider node
+Tell the system that the call(s) are to be treated as DXSpider node and
+fed new style DX Protocol rather normal user commands.
+
+=== 9^SET/SYS_QRA <locator>^Set your cluster QRA locator
+=== 0^SET/QRA <locator>^Set your QRA locator
+Tell the system what your QRA (or Maidenhead) locator is. If you have not
+done a SET/LOCATION then your latitude and longitude will be set roughly
+correctly (assuming your locator is correct ;-). For example:-
+  SET/QRA JO02LQ
+
+=== 0^SET/QTH <your qth>^Set your QTH
+Tell the system where you are. For example:-
+  SET/QTH East Dereham, Norfolk
+
+=== 0^SET/TALK^Allow TALK messages to come out on your terminal
+=== 0^UNSET/TALK^Stop TALK messages coming out on your terminal
+
+=== 0^SET/WWV^Allow WWV messages to come out on your terminal
+=== 0^UNSET/WWV^Stop WWV messages coming out on your terminal
+
+=== 0^SET/WX^Allow WX messages to come out on your terminal
+=== 0^UNSET/WX^Stop WX messages coming out on your terminal
+
+=== 0^SHOW/DX^Interrogate the spot database
+If you just type SHOW/DX you will get the last so many spots
+(sysop configurable, but usually 10).
+   
+In addition you can add any number of these commands in very nearly
+any order to the basic SHOW/DX command, they are:-
+   
+on <band>       - eg 160m 20m 2m 23cm 6mm
+on <region>     - eg hf vhf uhf shf      (see SHOW/BANDS)
+   
+<number>        - the number of spots you want
+<from>-<to>     - <from> spot no <to> spot no in the selected list
+   
+<prefix>        - for a spotted callsign beginning with <prefix>
+*<suffix>       - for a spotted callsign ending in <suffix>
+*<string>*      - for a spotted callsign containing <string>
+   
+day <number>    - starting <number> days ago
+day <from>-<to> - <from> days <to> days ago
+   
+info <text>     - any spots containing <text> in the info or remarks
+   
+by <call>       - any spots spotted by <call> (spotter <call> is the 
+                  same).
+
+qsl             - this automatically looks for any qsl info on the call
+                  held in the spot database.
+
+iota [<iota>]   - If the iota island number is missing it will look for
+                  the string iota and anything which looks like an iota
+                  island number. If you specify then it will look for  
+                  that island.
+
+qra [<locator>] - this will look for the specific locator if you specify
+                  one or else anything that looks like a locator.
+   
+e.g. 
+   
+   SH/DX 9m0
+   SH/DX on 20m info iota
+   SH/DX 9a on vhf day 30
+   SH/DX rf1p qsl
+   SH/DX iota 
+   SH/DX iota eu-064
+   SH/DX qra jn86
   
 === 0^SHOW/DXCC <prefix>^Interrogate the spot database by country
 This command takes the <prefix> (which can be a full or partial 
@@ -182,6 +591,106 @@ e.g.
    SH/DXCC G
    SH/DXCC W on 20m info iota
 
+=== 0^SHOW/FILES [<filearea> [<string>]]^List the contents of a filearea
+SHOW/FILES on its own will show you a list of the various fileareas
+available on the system. To see the contents of a particular file
+area type:-
+   SH/FILES <filearea>
+where <filearea> is the name of the filearea you want to see the 
+contents of.
+
+You can also use shell globbing characters like '*' and '?' in a
+string to see a selection of files in a filearea eg:-
+   SH/FILES bulletins arld*
+
+See also TYPE - to see the contents of a file.
+
+=== 0^SHOW/MOON [<prefix>|<callsign>]^Show Moon rise and set times
+Show the Moon rise and set times for a (list of) prefixes or callsigns, 
+together with the azimuth and elevation of the sun currently at those
+locations.
+
+If you don't specify any prefixes or callsigns, it will show the times for
+your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
+together with the current azimuth and elevation.
+
+In addition, it will show the gain or loss dB relative to the nominal 
+distance of 385,000Km due to the ellipsoidal nature of the orbit.
+
+If all else fails it will show the Moonrise and set times for the node
+that you are connected to. 
+
+For example:-
+
+  SH/MOON
+  SH/MOON G1TLH W5UN
+
+=== 0^SHOW/MUF <prefix> [<hours>][long]^Show the likely propagation to a prefix
+This command allow you to estimate the likelihood of you contacting
+a station with the prefix you have specified. The output assumes a modest
+power of 20dBW and receiver sensitivity of -123dBm (about 0.15muV/10dB SINAD)
+
+The result predicts the most likely operating frequencies and signal
+levels for high frequency (shortwave) radio propagation paths on
+specified days of the year and hours of the day. It is most useful for
+paths between 250 km and 6000 km, but can be used with reduced accuracy
+for paths shorter or longer than this.
+
+The command uses a routine MINIMUF 3.5 developed by the U.S. Navy and
+used to predict the MUF given the predicted flux, day of the year,
+hour of the day and geographic coordinates of the transmitter and
+receiver. This routine is reasonably accurate for the purposes here,
+with a claimed RMS error of 3.8 MHz, but much smaller and less complex
+than the programs used by major shortwave broadcasting organizations,
+such as the Voice of America.
+
+The command will display some header information detailing its
+assumptions, together with the locations, latitude and longitudes and
+bearings. It will then show UTC (UT), local time at the other end
+(LT), calculate the MUFs, Sun zenith angle at the midpoint of the path
+(Zen) and the likely signal strengths. Then for each frequency for which
+the system thinks there is a likelihood of a circuit it prints a value.
+
+The value is currently a likely S meter reading based on the conventional
+6dB / S point scale. If the value has a '+' appended it means that it is
+1/2 an S point stronger. If the value is preceeded by an 'm' it means that
+there is likely to be much fading and by an 's' that the signal is likely
+to be noisy.  
+
+By default SHOW/MUF will show the next two hours worth of data. You
+can specify anything up to 24 hours worth of data by appending the no of
+hours required after the prefix. For example:-
+
+  SH/MUF W
+
+produces:
+
+  RxSens: -123 dBM SFI: 159   R: 193   Month: 10   Day: 21
+  Power :   20 dBW    Distance:  6283 km    Delay: 22.4 ms
+  Location                       Lat / Long           Azim
+  East Dereham, Norfolk          52 41 N 0 57 E         47
+  United-States-W                43 0 N 87 54 W        299
+  UT LT  MUF Zen  1.8  3.5  7.0 10.1 14.0 18.1 21.0 24.9 28.0 50.0
+  18 23 11.5 -35  mS0+ mS2   S3
+  19  0 11.2 -41  mS0+ mS2   S3
+
+indicating that you will have weak, fading circuits on top band and 
+80m but usable signals on 40m (about S3).
+
+inputing:-
+
+  SH/MUF W 24
+
+will get you the above display, but with the next 24 hours worth of
+propagation data.
+
+  SH/MUF W L 24
+  SH/MUF W 24 Long
+
+Gives you an estimate of the long path propagation characterics. It
+should be noted that the figures will probably not be very useful, nor
+terrible accurate, but it is included for completeness.
+
 === 0^SHOW/PREFIX <callsign>^Interrogate the prefix database 
 This command takes the <callsign> (which can be a full or partial 
 callsign or a prefix), looks up which internal country number 
@@ -190,9 +699,87 @@ together with the internal country no, the CQ and ITU regions.
 
 See also SHOW/DXCC
 
+=== 5^SHOW/PROGRAM^Show the locations of all the included program modules
+Show the name and location where every program module was load from. This
+is useful for checking where you think you have loaded a .pm file from. 
+
+=== 0^SHOW/SUN [<prefix>|<callsign>]^Show sun rise and set times
+Show the sun rise and set times for a (list of) prefixes or callsigns, 
+together with the azimuth and elevation of the sun currently at those
+locations.
+
+If you don't specify any prefixes or callsigns, it will show the times for
+your QTH (assuming you have set it with either SET/LOCATION or SET/QRA),
+together with the current azimuth and elevation.
+
+If all else fails it will show the sunrise and set times for the node
+that you are connected to. 
+
+For example:-
+
+  SH/SUN
+  SH/SUN G1TLH K9CW ZS
+
+=== 0^SHOW/TIME [<prefix>|<callsign>]^Show the local time 
+If no prefixes or callsigns are given then this command returns the local
+time and UTC as the computer has it right now. If you give some prefixes
+then it will show UTC and UTC + the local offset (not including DST) at
+the prefixes or callsigns that you specify.
+
+=== 0^SHOW/WWV^Show last 10 WWV broadcasts
+=== 0^SHOW/WWV <n>^Show last <n> WWV broadcasts
+Display the most recent WWV information that has been received by the system
+
 === 5^SHUTDOWN^Shutdown the cluster
 Shutdown the cluster and disconnect all the users 
 
+=== 5^STAT/DB <dbname>^Show the status of a database
+Show the internal status of a database descriptor.
+
+Depending on your privilege level you will see more or less information. 
+This command is unlikely to be of much use to anyone other than a sysop.
+
+=== 5^STAT/CHANNEL [<callsign>]^Show the status of a channel on the cluster
+Show the internal status of the channel object either for the channel that 
+you are on or else for the callsign that you asked for.
+
+Only the fields that are defined (in perl term) will be displayed.
+
+=== 5^STAT/MSG <msgno>^Show the status of a message
+This command shows the internal status of a message and includes information
+such as to whom it has been forwarded, its size, origin etc etc.
+
+=== 5^STAT/USER [<callsign>]^Show the full status of a user
+Shows the full contents of a user record including all the secret flags
+and stuff.
+
+Only the fields that are defined (in perl term) will be displayed.
+
+=== 0^SYSOP^Regain your privileges if you login remotely
+The system automatically reduces your privilege level to that of a
+normal user if you login in remotely. This command allows you to
+regain your normal privilege level. It uses the normal system: five
+numbers are returned that are indexes into the character array that is
+your assigned password (see SET/PASSWORD). The indexes start from
+zero.
+
+You are expected to return a string which contains the characters
+required in the correct order. You may intersperse those characters
+with others to obscure your reply for any watchers. For example (and
+these values are for explanation :-):
+
+  password = 012345678901234567890123456789
+  > sysop
+  22 10 15 17 3
+you type:-
+ aa2bbbb0ccc5ddd7xxx3n
+ or 2 0 5 7 3
+ or 20573
+
+They will all match. If there is no password you will still be offered
+numbers but nothing will happen when you input a string. Any match is
+case sensitive.
+
 === 0^TALK <call> <text>^Send a text message to another station
 === 0^TALK <call> > <node> <text>^Send a text message to another station via a node
 Send a short message to any other station that is visible on the cluster
@@ -201,14 +788,28 @@ command, they don't have to be connected locally.
 
 The second form of TALK is used when other cluster nodes are connected
 with restricted information. This usually means that they don't send 
-the user information usually associated with loging on and off the cluster.
+the user information usually associated with logging on and off the cluster.
 
-If you know that G3JNB is likly to be present on GB7TLH, but you can only
+If you know that G3JNB is likely to be present on GB7TLH, but you can only
 see GB7TLH in the SH/C list but with no users, then you would use the
 second form of the talk message.
 
+=== 0^TYPE <filearea>/<name>^Look at the contents of a file in one of the fileareas
+Type out the contents of a file in a filearea. So, for example, in 
+filearea 'bulletins' you want to look at file 'arld051' you would 
+enter:-
+   TYPE bulletins/arld051
+
+See also SHOW/FILES to see what fileareas are available and a 
+list of content.
+
+=== 0^WHO^Show who is physically connected
+This is a quick listing that shows which callsigns are connected and
+what sort of connection they have
+
 === 0^WX <text>^Send a weather message to local users
 === 0^WX FULL <text>^Send a weather message to all cluster users
 === 5^WX SYSOP <text>^Send a weather message to other clusters only
 Weather messages can sometimes be useful if you are experiencing an extreme
 that may indicate enhanced conditions
+