====== Node Display/Control Utility ======

The Synchronet NODE utility can be used to display or control the status of [[server:terminal|Terminal Server]] (Telnet, RLogin, or SSH) nodes from
the system shell prompt or via batch/script file.

===== Running =====

Note: Before the NODE utility can be used to monitor or control any Synchronet BBS nodes, the ''[[config:env#SBBSCTRL]]'' environment variable must be set to point to your Synchronet ''[[dir:ctrl]]'' directory (so the ''node.dab'' file can be located, opened, and read or modified). 

==== Usage ====

  usage: node [-debug] [-loop] [-pause] <action [on|off]> [node numbers] [...]

=== Actions ===

^Action      ^Description                                                            ^
| list       | list status                                                           |
| anon       | anonymous user                                                        |
| lock       | locked                                                                |
| intr       | interrupt                                                             |
| down       | shut-down                                                             |
| rerun      | rerun                                                                 |
| event      | run event                                                             |
| nopage     | page disable                                                          | 
| noalerts   | activity alerts disable                                               |
| status=#   | set status value (definition of status values later)                  |
| useron=#   | set useron number                                                     |
| action=#   | set action value (definition of action values later)                  |
| errors=#   | set error counter                                                     |
| conn=#     | set connection value                                                  |
| misc=#     | set misc value                                                        |
| aux=#      | set aux value                                                         |
| extaux=#   | set extended aux value                                                |

==== Tutorial ====

To run the NODE utility, you must type the word "node", an action (ex: "LOCK"),
then a list of nodes to take the action on (ex: "1 2 4 5"). If no node numbers
are specified, it is assumed you wanted to perform the action on **ALL** nodes.

Some actions can have an option "ON" or "OFF" state specified. Typing "NODE
LOCK 1" would toggle the "locked" state of node 1. If it were previously off,
it would be set to on. To be sure you are setting the state to either on or
off rather than toggling, you may specify on or off (e.g. "node lock on 1"
would set the locked state of node 1 to on).

Some actions are setting a value for the node status. These actions are listed
with "=#" after the action word. This indicates that you must specify a numeric
value for that status option (e.g. "node useron=1 5" would set the current
user number on node 5 to 1).

The optional "-debug" switch can be used to view the current numeric values
associated with the node status.

Example Usage

Example #1: To list the status of all your nodes, type:

  node list

Example #2: To lock node 1, type:

  node lock on 1

Example #3: To unlock nodes 1 and 2, type:

  node lock off 1 2

Example #4: To set the status of node 3 to "Offline", type:

  node status=5 3

Example #5: To interrupt and lock node 4, type:

  node intr on 4 lock on 4

Example #6: To clear the error counter of all nodes, type:

  node errors=0

Example #7: To toggle the "rerun" status of all nodes, type:

  node rerun

Example #8: To down node 2, type:

  node down on 2

==== Possible Node Status Values ====

^Value  ^Description                                                              ^
|0	|Waiting for connection                                                   |
|1	|At logon prompt                                                          |
|2	|New user applying for access                                             |
|3	|User online                                                              |
|4	|User online in quiet mode                                                |
|5	|Offline                                                                  |
|6	|Networking                                                               |
|7	|Waiting for all nodes to become inactive before running timed event      |
|8	|Running timed event                                                      |
|9	|Waiting for timed event node to finish running event                     |

==== Possible Node Action Values ====

^Value  ^Description                                                              ^
|0	|Main Prompt                                                              |
|1	|Reading Messages                                                         |
|2	|Reading Mail                                                             |
|3	|Sending Mail                                                             |
|4	|Reading G-Files                                                          | 
|5	|Reading Sent Mail                                                        |
|6	|Posting Message                                                          |
|7	|Auto-message                                                             |
|8	|Running External Program (aux=program number)                            |
|9	|Main Defaults Section                                                    |
|10	|Transfer Prompt                                                          |
|11	|Downloading File (aux=estimated time of transfer completion)             |
|12	|Uploading File                                                           | 
|13	|Bi-directional Transfer (aux=estimated time of transfer completion)      |
|14	|Listing Files                                                            |
|15	|Logging on                                                               |
|16	|In Local Chat with Sysop                                                 |
|17	|In Multi-Chat with Other Nodes                                           |
|18	|In Local Chat with Guru                                                  |
|19	|In Chat Section                                                          |
|20	|Sysop Activity                                                           |
|21	|Transferring QWK packet                                                  |
|22	|In Private Chat (aux=node chatting with)                                 |
|23	|Paging another node for Private Chat (aux=node being paged)              |
|24	|Retrieving file from a sequential device (aux=device num)                |

==== Bits Used in Node Misc ====

^Value  ^Description                                                              ^
|0      |Anonymous User                                                           |
|1      |Locked for sysops only                                                   |    
|2      |Interrupted - hang up                                                    |
|3      |Message is waiting for user                                              | 
|4      |Paging disabled                                                          |
|5      |Activity Alert disabled                                                  |
|6      |User data has been updated by another node                               |
|7      |Re-run this node when logoff                                             | 
|8      |Must run node event after logoff                                         |
|9      |Down this node after logoff                                              |
|10     |Reset private chat                                                       |
|11	|Message is waiting for node                                              |

===== Unix Monitoring Example =====

  # watch /sbbs/exec/node list

<code>  
Every 2.0s: /sbbs/exec/node list


Synchronet Node Display/Control Utility v1.22

Node  1: At logon prompt
Node  2: Waiting for connection
Node  3: Waiting for connection
Node  4: Waiting for connection
Node  5: Waiting for connection
Node  6: Waiting for connection
Node  7: Waiting for connection
Node  8: Waiting for connection
Node  9: Waiting for connection
Node 10: Waiting for connection
</code>

===== Limitations =====

Since the node utility doesn't read any configuration or data files (other than the ''node.dab'' file), it doesn't know user names (it just display user numbers) or external program names. 

===== See Also =====
  * [[:monitor:|Monitoring]]
  * [[.:index|Utilities]]
  * [[:ref:Node Status]] Reference

{{tag> node nodelist}}
