home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / rs150doc / rose100.ovw < prev    next >
Text File  |  1991-03-04  |  166KB  |  3,539 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                      Documentation for ROSERVER / PRMBS                     Documentation for ROSERVER / PRMBS                     Documentation for ROSERVER / PRMBS
  7.  
  8.                          Packet Radio MailBox System                         Packet Radio MailBox System                         Packet Radio MailBox System
  9.  
  10.  
  11.                        Overview, Setup, and Operations                       Overview, Setup, and Operations                       Overview, Setup, and Operations
  12.  
  13.  
  14.                            Brian B. Riley, KA2BQE                           Brian B. Riley, KA2BQE                           Brian B. Riley, KA2BQE
  15.  
  16.  
  17.                         ROSERVER / PRMBS Version 1.00                        ROSERVER / PRMBS Version 1.00                        ROSERVER / PRMBS Version 1.00
  18.  
  19.  
  20.         The materials distributed can be updated from the  following
  21.          sources by contacting me in the following places:
  22.  
  23.                  Brian B. Riley , KA2BQE                 Brian B. Riley , KA2BQE                 Brian B. Riley , KA2BQE
  24.               c/o MorningStar Keep, Ltd.
  25.               Post Office Box 188
  26.               Underhill Center, Vermont  05490-0188  (USA)
  27.  
  28.               EASTNET:  ka2bqe@k2bqe.#nwvt.vt.usa.na                        ka2bqe@k2bqe.#nwvt.vt.usa.na                        ka2bqe@k2bqe.#nwvt.vt.usa.na
  29.  
  30.               CIS:      71420,3543                        71420,3543                        71420,3543
  31.  
  32.               USENET:   rutgers!hotps!n2dsy-4!ka2bqe                        rutgers!hotps!n2dsy-4!ka2bqe                        rutgers!hotps!n2dsy-4!ka2bqe
  33.  
  34.  
  35.          Phone Line Access:
  36.  
  37.          (802) 899-9922- voice / voice mailbox         (802) 899-9922         (802) 899-9922
  38.  
  39.  
  40.          (816)  635-5776  -  MIDWEST JAMBALLAYAH (W5GTX)  -  24  hours,         (816)  635-5776         (816)  635-5776
  41.          3/12/2400 X,Y,ZModem, login, follow instructions
  42.  
  43.  
  44.          (201) 387-8898 - RATS UNIX system 1200/1E7 - 24 hours,  System         (201) 387-8898         (201) 387-8898
  45.          V/ 3B1. Login: 'rats' (no password) follow instructions.
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.        DRAFT  of  Docs for ROSERVER/PRMBS  (KA2BQE)  -  ver  1.50 03/01/91
  62.  
  63.  
  64.  
  65.       *************************************************************************
  66.  
  67.                      ROSERVER / PRMBS Blatant Plea for Funds
  68.  
  69.            This is a PUBLIC SHAREWARE RELEASE of code. The original  founda-
  70.       tion of the code came from a pre-release of CBBS by W0RLI.  From  that
  71.       point Dave Truli (NN2Z) and myself reworked and modified and innovated
  72.       until what we have here is 95% original work, 3% of the original  code
  73.       and 2% from various other sources.
  74.  
  75.            Unlike  the code for the other PBBS systems, not only is the  run
  76.       time  package  is  available FREE of charge, BUT the  source  code  is
  77.       available  FREE  of charge and the docs (and their are  actually  real
  78.       docs)  are  available FREE of charge. The only  monetary  remuneration
  79.       that  is REQUIRED is diskettes, mailers, and postage or  reimbursement
  80.       for same.
  81.  
  82.            I must, however, add that programming is my business. Any time  I
  83.       spend  on this code answering questions, fixing bugs, adding new  fea-
  84.       tures,  etc. is time taken from revenue producing efforts. So  if  you
  85.       try  this program, and like what you see, a donation in the amount  of
  86.       $20  or more would go a long way to seeing that I stay working at  it.
  87.       If you like what you got and want to contribute but cannot afford  $20
  88.       send  what  you can spare and still have money for the  next  electric
  89.       bill.  If you do not contribute that's OK too. The fact that you run a
  90.       PBBS means you are already contributing to this ham community effort.
  91.  
  92.            If  you do not contribute, please understand that the  supporting
  93.       stations will get first crack at what time I have to spend on  support
  94.       and guidance. If I have time to answer question reply to messages  etc
  95.       for non-supporters, I will. I usually do find time somewhere,  though,
  96.       but as I said, putting food on the table has to come first.
  97.  
  98.                                        Brian Riley, ka2bqe
  99.                                        Underhill Center, VT  28 April 90
  100.  
  101.       *************************************************************************
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 1
  123.  
  124.  
  125.  
  126.                                SYSTEM OVERVIEW                               SYSTEM OVERVIEW                               SYSTEM OVERVIEW                               ______ ________                               ______ ________                               ______ ________
  127.  
  128.            This  is  a general overview of how the  ROSERVER  suite  of
  129.       programs  works  and  does its thing. the first part  is  how  to
  130.       startup  the system and I suggest it to be read by  newcomers  as
  131.       well as old hands at PRMBS. The latter part discusses the way the
  132.       system  works with particular attention as to how  various  files
  133.       work together with the program to exercise control and direction.
  134.       To  many  it may seem i do not spend enough time on  all  of  the
  135.       nuances of many commands. this material is covered in a  separate
  136.       reference  doc  where each command is documented and all  of  its
  137.       command  possibilities are covered. This document is intended  as
  138.       an  overview as an aid to understanding, setting up  and  running
  139.       the system.
  140.  
  141.  
  142.                                    STARTUP                                   STARTUP                                   STARTUP                                   _______                                   _______                                   _______
  143.  
  144.            If you are bringing up PRMBS for the very first time  please
  145.       skip  over the remainder of this paragraph to the  paragraph  la-
  146.       beled "Startup v1.3x". If you are converting from version 1.24 or
  147.       later,  just check the config files, make appropriate  edits  and
  148.       replace the executables. The next 6 paragraphs or so are old home
  149.       week  for you. If you are converting from a version 0.99  through
  150.       version  1.21 please jump over the reminder of this paragraph  to
  151.       the  paragraph  labeled "Startup v1.00". If you  have  a  version
  152.       prior to v0.99 please start below.
  153.  
  154.            You  must convert your mail and user files to the  new  for-
  155.       mats.  You will run a program called MBCONVRT. First make  backup
  156.       copies of the files (Murphy is EVERYWHERE!) You will invoke it by
  157.       typing:
  158.  
  159.            MBCONVRT oldmail newmail olduser newuser
  160.  
  161.       these arguments referring to the old file name and new file names
  162.       of the mail and user files. If a file has already been  converted
  163.       it  will simply bypass it after informing you of the  fact.  Then
  164.       `rename the old files to something else and rename the new  files
  165.       to  MAIL.DAT  and USER.DAT. Next proceed to  the  next  paragraph
  166.       labeled "Startup 1.00")
  167.  
  168.       (Startup 1.00)      (Startup 1.00)      (Startup 1.00)
  169.  
  170.            The trick here to doing this in the most painless fashion is
  171.       to create a new PBBS or BBS directory and then startup 1.31  from
  172.       scratch (see below). Then copy the .MAI files from the old system
  173.       into  the new, copy the mail.dat and user.dat on top of  the  new
  174.       ones. Then copy the contents of the FWD directory as follows:
  175.  
  176.            *.DST, *.FLD, *.FWD  to the SYS directory
  177.            *.SGN, *.XLT, *.FNG  to the USR directory
  178.  
  179.       from you default BBS directory you will need to copy
  180.  
  181.  
  182.  
  183.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 2
  184.  
  185.  
  186.  
  187.             TRANSLAT.RS, CALLDIR.RS, EVENT.RS to the SYS directory
  188.             MSG_BID.RS  to the new default directory
  189.             erase MENU.RS and any MON.xx files
  190.             REMOTREQ.RS, RMAIL.RS to the SYS directory
  191.  
  192.            Your HELP.RS and MESSAGES.RS need to be compared to the  new
  193.       ones  and  customized parts of the old one edited  into  the  new
  194.       ones. the MENU.RS file is no longer used.
  195.  
  196.       (Startup v1.3x)      (Startup v1.3x)      (Startup v1.3x)
  197.  
  198.            In getting setup, there is a file called FIRSTRUN.BAT .  You
  199.       must examine it in an editor and verify that the file it tries to
  200.       PKUNZIP in the early part of the execution is of the correct name
  201.       - a number of users complained it didn't work right and it  turns
  202.       out  they had 'mixed' copies of the FIRSTRUN from older  versions
  203.       together.  If you have RS132RUN.ZIP it should read   "PKUNZIP  -d
  204.       RS132RUN". Assuming that is corrector you have corrected it   you
  205.       issue  a  CD (change directory) command to the  proper  directory
  206.       (PBBS or BBS) and type:
  207.  
  208.                 FIRSTRUN {yourcall} {###} {firstname} {lastname}
  209.  
  210.       for example:
  211.  
  212.                 FIRSTRUN KA2BQE 1000 Brian Riley
  213.  
  214.            This will unpack the RS1xxRUN.ZIP files, creating  subdirec-
  215.       tories  named FILES, MAIL, USR, SYS, and place proper files  into
  216.       each and the PBBS directory you are in.
  217.  
  218.  
  219.            In  your  default BBS directory you will  have  several  BAT
  220.       files,  CONFIG files for the MailBox and the EXEcutables.
  221.  
  222.             In  the  SYS  directory you will have  the  CALLDIR,  HELP,
  223.       EVENT,  TRANSLAT, HROUTES, H_LIST, MESSAGES, and  remote  request
  224.       permission files. There will be sample of, and you will be creat-
  225.       ing  flood  message  pointer files  (.FLD),  distributions  files
  226.       (.DST) and forward pointer files (.FWD) in the SYS directory.
  227.  
  228.            In the USR directory you will have user files for KA2BQE for
  229.       personal  translate  (KA2BQE.XLT),  signature  (KA2BQE.SGN)   and
  230.       finger  file  (KA2BQE.FNG).  Other users will  upload  their  own
  231.       copies of such files and they will be named  {call}.{ext} .
  232.  
  233.  
  234.            The  CONFIG.CON file is a BBS configuration file  with  port
  235.       description for a console only. Make a backup copy of it and then
  236.       may go in and edit it for your purposes. I recommend the  follow-
  237.       ing  until you are comfortable with playing with  the  configura-
  238.       tion.
  239.  
  240.         -  search for the string KA2BQE.#NWVT.VT.USA.NA and replace  it
  241.         with your BBS call and appropriate state.
  242.  
  243.  
  244.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 3
  245.  
  246.  
  247.  
  248.  
  249.         -  the next line below it will contain the name of the  network
  250.         node nearest you change that.
  251.  
  252.         - below that you will find a section labeled 'edit strings' for
  253.         hierarchical routing. Change the state, country, continent here
  254.         to match your location, leave the order unchanged.
  255.  
  256.         -  search for the string "Kbytes" and see the value  there  for
  257.         minimum  disk space on the system. The value in the  sample  is
  258.         500 - this means anytime the available disk space on that drive
  259.         falls below 500K message sends and uploads are shutdown. If you
  260.         are testing r playing on a system where space is tight you  may
  261.         want to reduce this value. I recommend 500K for HD systems  and
  262.         100K  for  1.44M,1.2M,  720K floppy systems and  50K  for  360K
  263.         floppy (though i do not recommend 360K systems at all!)
  264.  
  265.         - save your file.
  266.  
  267.            Now type CONSOLE and a batch file will set up some  environ-
  268.       mental  variables and call ROSEBOOT. ROSEBOOT will come up,  dis-
  269.       play  some  blatant advertising of its one wonders and  the  pre-
  270.       screen  the  configuration  file. It will then  chain  itself  to
  271.       ROSERVER.PGM  the actual mailbox program, passing it some  impor-
  272.       tant parameters it has computed.
  273.  
  274.            The BBS will come up, execute some initial commands from the
  275.       AUTO-EVENT  section of its configuration file. It will  then  sit
  276.       there monitoring the keyboard. Hit the ESCape key and it will ask
  277.       for  a "login: ", simply hit ENTER (this signifies that  you  are
  278.       logging in as the super-user, i.e. he has the power to commit all
  279.       sorts  of atrocities to the poor program in the name of  enlight-
  280.       ened  inquiry!)  It will then prompt you for "password:  ".  Then
  281.       type  "PRMBS"  and hit ENTER. You are now 'into' the  BBS.  there
  282.       will be one message and when you read it will have no ext file  -
  283.       just  a header record and title. The message is from  the  system
  284.       'daemon' telling you the time and date of the message file  crea-
  285.       tion.
  286.  
  287.            At this point some information needs to be entered into your
  288.       user record in the USER.DAT database. Type the following:
  289.  
  290.             QTH "YourCity, ST"         (24)
  291.             ZIP xxxxxx                 (6)
  292.  
  293.       and optionally
  294.  
  295.             NAME "Your Full Name"      (20)
  296.  
  297.       if you wish to enter more than simple  firstname/lastname.
  298.  
  299.             PASSWORD newpassword       (12)
  300.  
  301.       if you do not wish to keep PRMBS as your password. The number  in
  302.       "()"  are the maximum characters that will be entered.  The  code
  303.  
  304.  
  305.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 4
  306.  
  307.  
  308.  
  309.       takes  the  info  into a large buffer and copies  up  the  number
  310.       indicated to the database field.
  311.  
  312.            Now type 'X' and exit the BBS. Then, again, type CONSOLE and
  313.       reenter  the BBS as before, using PRMBS or your new  password  to
  314.       get  in.  The  ZIP and QTH information you just  entered  is  now
  315.       available to the system for forwarding headers.
  316.  
  317.            AT  this point it would be advisable to 'play' with the  BBS
  318.       code and get familiar with the commands and help[s available. You
  319.       have the following at your disposal;
  320.  
  321.                 CMDS - tabular list of commands
  322.                 ?    - linear lists of command(s) with syntax
  323.                 HELP - detailed helps on many subjects
  324.  
  325.       All  of  the above commands take wildcards (? and  *)  to  permit
  326.       selective  viewing of the various helps. See the sample  terminal
  327.       captures below;
  328.  
  329.  
  330.       [PRMBS-7578-131-H$]
  331.       0154, 123 msgs>cmds c*
  332.  
  333.       Available commands: c*
  334.  
  335.         chat       cmds       compress
  336.  
  337.       0154, 123 msgs>? c*
  338.  
  339.       Available commands: c*
  340.  
  341.         chat [on | off]
  342.         cmds [-u] [-s] [command spec]
  343.         compress
  344.  
  345.       0154, 123 msgs>help c*
  346.  
  347.         <CHAT> - try to chat with the Sysop; if he is there he will break in.
  348.           Any command or Return before the request times out will return you
  349.           to the normal mailbox prompt.
  350.  
  351.         <CMDS> - Lists all mailbox commands currently available.
  352.  
  353.         <CMDS xxxx> - lists mailbox commands matching the strng specified.
  354.           Wildcards '*' and '?' permitted.  "CMDS DI*" would list "DIR" and
  355.           "DISTRIB"
  356.  
  357.       0154, 123 msgs>x
  358.  
  359.            For some commands there are no on-line helps. These commands
  360.       are generally super-user or remote sysop commands.
  361.  
  362.            At this point you, theoretically comfortable with the gener-
  363.       al  function  and operation of the BBS will want to  examine  the
  364.  
  365.  
  366.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 5
  367.  
  368.  
  369.  
  370.       HROUTES.RS  file  which will govern your forwarding.  Setting  up
  371.       this  file  is discussed further down in the  documentation.  You
  372.       must  attend to this immediately since any message you create  to
  373.       be fowardfed off the system to elswhere must recieve a ROUTE name
  374.       or it wuill not be forwarded. Hand editing each message to assign
  375.       it a route will wear thin very quickly.
  376.  
  377.                                 MESSAGE ENTRY                                MESSAGE ENTRY                                MESSAGE ENTRY                                _______ _____                                _______ _____                                _______ _____
  378.  
  379.            The  creation of a message by the sysop or any user  on  the
  380.       system is a straight forward affair. There are two ways in  which
  381.       messages  are created, first by a BBS 'forwarding' messages  into
  382.       the system. In this case its not so much 'being created' as being
  383.       transferred.  However  the (S)end command is whats  used  and  it
  384.       follows  a protocol developed by W0RLI a long time ago and  since
  385.       refined by W0RLI and WA7MBL and a number of us others.
  386.  
  387.          BBS>      BBS Prompt>
  388.          Sender>   Sx TOCALL [@ ADDRESS] < SENDERCALL  [$BID]
  389.          BBS>      OK - send title
  390.          Sender>   {title of message}
  391.          BBS>      Sends message .....
  392.          Sender>   {Body of message
  393.                    ....
  394.                    ....
  395.                    ....
  396.                    ....
  397.                    ctrl-Z or a /EX
  398.          BBS>      BBS prompt>
  399.  
  400.  
  401.         the [@ ADDRESS] is not necessarily sent unless its needed,  the
  402.       [$BID] likewise. The response from the system to a send line must
  403.       be an OK to continue sending the message. The sending of the  BBS
  404.       prompt is tacit acknowledgement of the message being received OK.
  405.  
  406.        ***  NOTE *** starting in version 1.50 of ROSERVER the TO  field
  407.       of  a locally orginated message will be checked for  the  letters
  408.       "ALL" as the first three  characters (that is to say ALL, ALLBBS,
  409.       ALLUSA, ALLCAN, etc will all satisfy the test) and if so  it will
  410.       display a message similar to what I have shown below  and  prompt
  411.       the  user to re-enter the TO field. If he simply hits  ENTER  the
  412.       old  TO  field  will be retained. This is to  try  to   encourage
  413.       sensible  use  of the TO field to make the  Readnews  (rN)command
  414.       more   useful.  The  message  text  is  message  number  157   in
  415.       MESSAGES.RS file and is user defineable;
  416.  
  417.       *** The TO field of a bulletin should be more specific than ($S).
  418.       The following is a list of suggested topic areas that can be used
  419.       ALL    4SALE   WANTED  HELP    MODS   CLASS  EXAMS  CLUB  HAMFST
  420.       NETWRK LIST    SOFT    BEACON  LLBBS  DX     SAT    PROP  QST
  421.       AMSAT  COMPTR  C64     IBM     C128   MJF    AMIGA  AEA   PC
  422.       CPM    PACCOM  UNIX    COMMDR  VIC20  ICOM   OSBORN YAESU  KENWOD
  423.       Please re-enter the TO field now (simply hitting ENTER or CR
  424.       will retain your orginal TO field):$H
  425.  
  426.  
  427.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 6
  428.  
  429.  
  430.  
  431.  
  432.         This applies more or less to any kind of message from a locally
  433.       originated message to a forwarded message on any W0RLI compatible
  434.       system. PRMBS systems are no different.
  435.  
  436.         The '<' character signals that the message is being  originated
  437.       from  off  system and the LOCAL flag in the PRMBS  code  is  made
  438.       FALSE. A local user would not use this symbol or the  SENDERCALL.
  439.       His own call would be inserted by the BBS code and the LOCAL flag
  440.       made TRUE. When the LOCAL flag is made true in PRMBS a number  of
  441.       options  are opened up to the message writer. There are a  number
  442.       of "escape commands" available while entering the message.  These
  443.       commands are invoked by typing a tilde "~" and one of the follow-
  444.       ing letters:
  445.  
  446.         Message Edit - Tilde Escape Menu
  447.         ~Crecipient - send copy to additional recipient (call@bbs) to
  448.              in MAIL or RMAIL. may be used for total of 12 recipients
  449.         ~Mnnnnn - append the contents to message number nnnnn
  450.         ~Q - cancel, quit or abort message entry
  451.         ~P - display current contents of message entry buffer
  452.         ~Rfffff - append contents of file named ffffff
  453.         ~S - append contents of user's signature file if it exists
  454.         ~~xxxxxxxx - insert this line as is, with one tilde in the
  455.           front of line
  456.         ~? - gives this help menu list
  457.  
  458.          These commands from local machine console only
  459.         ~E or ~V - invoke full screen editor
  460.         ?! - drops to DOS
  461.         ?!xxxxxxx - execute some DOS command
  462.  
  463.            In addition to this the user may end the message by  sending
  464.       a  single period on a line by itself. If you think about it,  the
  465.       period is a lower key stroke and the ENTER key is nearby so  that
  466.       it can be done one handed without hardly looking!
  467.  
  468.            Users  may  also enter mail by using the MAIL  command.  his
  469.       command  allows you to send more than one copy of the message  to
  470.       different recipients only entering the text once. The user  might
  471.       type:
  472.  
  473.  
  474.        mail ka2bqe@ka2bqe.vt.usa ka1nza@wb2mic.vt.usa k2adj@wb2mnf.nj
  475.  
  476.          and  the enter title and text and end the message. Three  mes-
  477.       sage  will be created. In addition if you suddenly remember  that
  478.       you  want another recipient in mid-message entry you may use  the
  479.       "~C" command from above:
  480.  
  481.          for example:    ~Ck2uk@wb2mnf.nj.usa
  482.  
  483.          would  add  K2Uk to the recipients and four message  would  be
  484.       generated instead of three.
  485.  
  486.  
  487.  
  488.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 7
  489.  
  490.  
  491.  
  492.  
  493.            A special case of the MAIL command is the RMAIL command.  It
  494.       allows you to create a message to a number of users at a far away
  495.       BBS  and  send  but one copy which upon  arriving  (assuming  the
  496.       'target  bbs' is a PRMBS system) will expand into  multiple  mes-
  497.       sages.
  498.  
  499.          rmail @kd6th.nj.usa kd6th w2vy n2dsy kb1bd@kb1bd.nj
  500.  
  501.        note  that the recipients may be local or beyond that  BBS,  the
  502.       power  of this message is that only one copy travels for most  of
  503.       the  route. The message is sent addressed to  RMAIL@KD6TH.NJ.USA,
  504.       and when received the special address RMAIL triggers a search  of
  505.       the internal headers to find the proper recipients.
  506.  
  507.            When  replying to a message with the command  REPLY  or  the
  508.       '(S)end  reply'  in the sweeper, you may also  direct  additional
  509.       copies of the reply to others with the "~C" sequence.
  510.  
  511.  
  512.                                MESSAGE IMPORT                               MESSAGE IMPORT                               MESSAGE IMPORT                               _______ ______                               _______ ______                               _______ ______
  513.  
  514.            Messages  may  be  entered into the system  via  a  function
  515.       called  IMPORT. It takes in a message in the same form you  would
  516.       enter  it  from the keyboard with the single exception  that  the
  517.       message terminator will be a "/EX", since CTRL-Z has the connota-
  518.       tion of end-of-file. Many messages can be imported from a  single
  519.       file.  If import is invoked with a "-i" option, BID  checking  in
  520.       the incoming messages is suppressed. Otherwise DUPE BID  messages
  521.       in the import file are skipped.
  522.  
  523.            IMPORT BQEMAIL.TXT       import the file locally
  524.            IMPORT A:BQEMAIL.TXT     import file from floppy drive
  525.            IMPORT -i BQEMAIL.TXT    import file ignoring BIDs
  526.  
  527.            PRMBS  is  quite generous in its import standards;  i.e.  we
  528.       allow  all  sorts of extraneous material in the import  file  and
  529.       still  manage to get at the met of the messages. The  process  is
  530.       simple,  we  open the text file and then keep reading  lines  and
  531.       dropping  them on the floor till we get a line starting with  the
  532.       letter "S". We parse that line as a SEND line and then if its  OK
  533.       we  take  the next line as the title and the following  lines  as
  534.       message text. We keep reading lines till we get an EOF or a "/EX"
  535.       and then we close  and make the message. If the "send line didn't
  536.       pan out we skip forward to a "/EX" and the start again trying  to
  537.       find an S-line. below is a sample message that was FILED from the
  538.       system  message-to-file capbility with the filing  header,  which
  539.       PRMBS  will nicely ignore. This message may be imported  back  to
  540.       the system. (Note here, a quick way to 'clone' a message and send
  541.       copies  to other AFTER its too late to use the ~C is to  FILE  it
  542.       and import it then edit the TO AT in the MAIL.DAT entries)
  543.  
  544.  
  545.       #--- Message #2475 filed by KA2BQE, @ 2016z on 900427 ---
  546.       SP N1GMU < KA2BQE @ N1GMU.VT.USA
  547.  
  548.  
  549.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 8
  550.  
  551.  
  552.  
  553.       Travel Plans
  554.       R:900427/1912z 2475@KA2BQE.VT.USA Underhill Ctr, VT Z:05490 N:UCV
  555.       Date: 27 Apr 90 12:12:40 GMT (Fri)
  556.       From: ka2bqe@ka2bqe.vt.usa (Brian Riley)
  557.       Message-ID: <2475@KA2BQE.VT.USA>
  558.       To: n2dsy@kd6th.nj.usa, n3et@n3et.pa.usa, n1gmu@n1gmu.vt.usa
  559.       Subject: Travel Plans
  560.  
  561.        I will be returning to VT on Saturday instead of Thursday as I
  562.       had planned
  563.  
  564.       /EX
  565.  
  566.  
  567.                               MESSAGE CREATION                              MESSAGE CREATION                              MESSAGE CREATION                              _______ ________                              _______ ________                              _______ ________
  568.  
  569.            Once the message is entered, by any of the means above,  the
  570.       system  takes over. Actually there is one major system step  done
  571.       during the entry process, that is BID and/or TO-field validation.
  572.       If  the message is BIDed the BID is checked against the BID  file
  573.       MSG_BID.RS, if a match is found the "NO - DUPE" message is  sent,
  574.       if  the TO-field matches anything in the REJ_SUBJ.RS file  it  is
  575.       also rejected as if its a dupe. Assuming all this takes place and
  576.       the  message is entered and we are now ready to create it on  the
  577.       system.
  578.  
  579.            First for LOCALly originated messages the TO and @BBS fields
  580.       are   checked  against  the  user's  personal   translate   files
  581.       (USR\call.XLT).  After that all messages are checked against  the
  582.       Zipcode  translate  (SYS\ZIP_LOC.RS)  and  the  system  translate
  583.       (SYS\TRANSLAT.RS).  In each of these steps the result is  checked
  584.       for lack of H-route information (criterion is presence of '.'  in
  585.       the  address string) If it isn't its passed through a  file  con-
  586.       taining most US and Canadian BBSes (SYS\H_LIST.RS) trying to find
  587.       a  match and adding more routing info to the address. AS you  see
  588.       if there is any routing info we do not go for the H_LIST,  assum-
  589.       ing  that  the user knows best (which he often doesn't,  but  the
  590.       converse logic is annoying to those users who do, and we all know
  591.       how often SOME sysops ever update their files!)
  592.  
  593.            When  this done we take the address and make a working  copy
  594.       of  it  and pass it through the 'edit strings'  from  the  CONFIG
  595.       file.  Stripping off any that match perfectly. This way we  bring
  596.       the  address  down  to whatever is different about  it  from  our
  597.       address. For example; we are  KA2BQE.VT.USA
  598.  
  599.         lets say we get the following addresses, the strings will  then
  600.       produce the following 'temp working addresses'
  601.  
  602.           K2ADJ.NJ.USA.NA             K2ADJ.NJ
  603.           4X1RU.ISR.AS                4X1RU.ISR.AS
  604.           WB2MIC.VT.USA               WB2MIC
  605.  
  606.       The  'temp  working address' is run through  the  H-routing  file
  607.       (SYS\HROUTES.RS) and they are matched right to left. The  systems
  608.  
  609.  
  610.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 9
  611.  
  612.  
  613.  
  614.       that  are within your domain are listed as explicit calls at  the
  615.       top  of the file and route names assigned to them. The  rest  get
  616.       entered  by  state  in  the US then  other  countries  and  their
  617.       states/provinces, and continents if applicable.
  618.  
  619.            The route edit strings can have more than just your state in
  620.       them.  What follows is an example of why you might do  otherwise.
  621.       In northern Vermont (Burlington) we are adjacent to northern  New
  622.       York. All of the mail we send out of state and all of the mail we
  623.       send  to  new  york goes down to WA2UMX in  Saratoga  Springs  or
  624.       WA2PVV in Valatie, EXCEPT for three BBSes in NNY and due east  of
  625.       us. they use the designation #NNY.NY.USA. Now, of course my  edit
  626.       strings are VT.USA and its relatives. You may however add to  the
  627.       #NNY.NY.USA et al. to strip the local BBSes in an adjacent  state
  628.       and  then  add their explicit calls to the top  of  your  HROUTES
  629.       file. That way all NY stuff goes SOUTH for me, but NNY stuff gets
  630.       stripped for HROUTE parsing and goes direct or EAST. NJ BBSes may
  631.       have a similar situation with many EPA  BBSes and vice-versa.
  632.  
  633.  
  634.            The message is saved;  Then, a configuration file  parameter
  635.       is checked to see if we are to process "flood" bulletins automat-
  636.       ically. If so, the @BBS address is 'made' into a file by concate-
  637.       nating  ".FLD" onto it (for example)  ALLBBS.FLD or WB2MNF.FLD  -
  638.       if  it  finds a file in the SYS directory matching this  name  it
  639.       then  process the message as a possible flood name. Now one  last
  640.       check of yet another configuration file parameter. The message is
  641.       checked  for a BID. If the config parameter is FALSE  flood  mes-
  642.       sages  will only occur if the message has a BID, if TRUE  and  no
  643.       BID is presented a local BID will be assigned. If so, the file is
  644.       opened and MAIL.DAT records are built cloning the master  record,
  645.       with  new message numbers and a mail text file is built with  the
  646.       single line entry "~GET MSGxxxxx.MAI" (means go get the  original
  647.       master  message  text)  Please see also a  section  farther  down
  648.       titled FLOOD messages and DISTRIBUTION.
  649.  
  650.            When  the  message is created we first place in  the  target
  651.       file a line called a 'forwarding header', often referred to as an
  652.       'R:" header. It is a useful tool for tracking BBS performance and
  653.       routing.  I  did a survey of sysops and BBS coders  on  crunching
  654.       "R:" headers indicates that it is an idea for the future but  for
  655.       now  it  will not be. In an effort to cut down the  volume  I  am
  656.       removing the 'vanity' opportunity offered by the trailer and have
  657.       come down on a hard coded header
  658.  
  659.       R:9004251256z 12345@KA2BQE.VT.USA.NA [Underhill Ctr] Z:05490 N:UCV
  660.  
  661.            This satisfies the requirements of programs written by other
  662.       coders which   extract information from these headers as well  as
  663.       the  general  sysop and   who gains insight into the  network  by
  664.       examining  headers. It tells when the   message went  through/was
  665.       created  on the system. It gives full H-route    information  for
  666.       the  system, it gives detailes local information (city,    state,
  667.       zip) and network location nearest network node.
  668.  
  669.  
  670.  
  671.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 10
  672.  
  673.  
  674.  
  675.            My  recent experiences exploring the network shows that  for
  676.       the most part   if you can get into a node in the state (or  sub-
  677.       region if state has that   much packet activity) shown in the  H-
  678.       route address you will find the node   shown in the header on its
  679.       tables.
  680.  
  681.            The city show in the header will be the QTH from the sysop's
  682.       user  log  entry truncated at first encountered  comma  from  the
  683.       front. The H-route address will show the state and country.
  684.  
  685.                        FLOOD Messages and DISTRIBution                       FLOOD Messages and DISTRIBution                       FLOOD Messages and DISTRIBution                       _____ ________ ___ ____________                       _____ ________ ___ ____________                       _____ ________ ___ ____________
  686.  
  687.            FLOOD  messages  are handled by pointer files  (.FLD)  Quite
  688.       simply  the  incoming message or the message object  of  a  FLOOD
  689.       command from console or event process has its @BBS filed  checked
  690.       against  the  directory containing the pointers; if  a  match  is
  691.       found  the  file is opened and each call listed  gets  a  pointer
  692.       entry  in MAIL.DAT for each BBS in the file. The "R:" headers  of
  693.       the  inbound messages are checked against these calls so that  no
  694.       pointers  are  setup  for any system that has  already  seen  the
  695.       message.  The 'pointer' consists of a new message  number  entry,
  696.       with  the identical TO@BBS and the route name is the BBS that  is
  697.       to  receive the bulletin. The message text file contains a  "~GET
  698.       mail\msg#####.mai" pointing at the text of the original  message.
  699.       There is an F-status field which gets marked with a '$' to signi-
  700.       fy the 'flood' status of the message pointer. When you connect to
  701.       a  system the F-status being '$' prevents any pointer being  sent
  702.       unless  the  route explicitly matches the  system  connected  to.
  703.       There  is  no point in setting pointers to stations  three  BBSes
  704.       away, let the others along the way do the flooding!!
  705.  
  706.            The  FLOOD command takes arguments like READ and KILL,  i.e.
  707.       it  accepts  single  numbers a specific messages  to  flood,  and
  708.       ranges  of  numbers.  The FLOOD command can be used  to  do  your
  709.       flooding  as  part  of the EVENT file. You would  set  the  FLOOD
  710.       option  in  CONFIG  to NO for no automatic  generation  of  flood
  711.       pointers  then set a sequence in the EVENT file that  might  look
  712.       like;
  713.  
  714.                     M 0100 DISTRIB ROUTE1 ROUTE2
  715.                     M 0100 EXPORT TFILE ROUTE3 ROUTE4
  716.                     D 0100 SOMEPROG  TFILE OFILE
  717.                     M 0100 IMPORT OFILE
  718.                     M 0100 DEL TFILE OFILE
  719.                     M 0100 FLOOD -N ALL
  720.  
  721.       The "ALL' is a special case that substitutes the entire range  of
  722.       numbers  ad  the "-N" says only operate on  unprocessed  messages
  723.       (status  =  N), The FLOOD process changes the status  to  "F"  so
  724.       there's  no worries about 'perpetual motion' in  message  genera-
  725.       tion. The idea is to run DISTRIB and / or some program you  wrote
  726.       (first  exporting selected messages to a file then importing  the
  727.       results) against various routes and when is all done, then  proc-
  728.       essing the results and remains for flooding.
  729.  
  730.  
  731.  
  732.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 11
  733.  
  734.  
  735.  
  736.  
  737.            Speaking  of DISTRIB, there may be some confusion  over  the
  738.       difference between DISTRIB and the FLOOD process. DISTRIB is used
  739.       when  a  message is needed to be sent to  several  recipients  or
  740.       groups  of  recipients. It is a process whereby  one  message  is
  741.       entered  and a control file (.DST) specifies the messages  to  be
  742.       created. The details are covered in the reference manual, but the
  743.       concepts I will discuss below.
  744.  
  745.            The  Distribution  files  are 6 character  file  names  with
  746.       extension  .DST, so the file below which is for PHOTOG  would  be
  747.       named   PHOTOG.DST  (these  files  will  be  found  in  the   SYS
  748.       directory).
  749.  
  750.                 w2xxx
  751.                 w3yyy
  752.                 w4rrr
  753.                 w1aar@wb2mic
  754.                 rmail@kb1bd
  755.                 aa4re
  756.                 n2evw
  757.                 alldx@wb2qja
  758.                 *** EOF
  759.                 rmail@wb2mnf
  760.                 alldx@ka2bqe
  761.                 k2adj
  762.                 *** EOF
  763.                 alldx@w1aw
  764.  
  765.  
  766.            Basically a message or series of messages are exported from
  767.       ROSERVER via the export command. They will come out with TO,
  768.       FROM, AT, and MSGID.
  769.  
  770.            The messages will be 'imported' into ROSEDIST where the SEND
  771.       line will be parsed. The @BBS field will be used to make a file
  772.       name by appending ".DST" to it. If ROSEDIST cannot find that
  773.       file, the message is simply 'passed through' untouched, from the
  774.       input file to the output file.
  775.  
  776.            Assuming now that we find the file, we will then take the
  777.       message and read down to the "To:" line in the internal headers,
  778.       or the end of headers if there is none. We will store all that
  779.       material in a the first of two temporary files. WE then will read
  780.       from that point to the line with "/EX" and store that in a second
  781.       temporary file. The "To:" line, if it was present, is lost at
  782.       this point.
  783.  
  784.            We read the DST file and take it in line by line.  The DST
  785.       file can have the following kinds of record entries:
  786.  
  787.               - BBSCALL  this simply created as a message with TO
  788.                 filled in from the TO of the source message.
  789.  
  790.               - CALL@BBSCALL created with the CALL and BBS specified.
  791.  
  792.  
  793.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 12
  794.  
  795.  
  796.  
  797.  
  798.               - CALL@ - will place message in with this as the TO
  799.                 and no @BBS
  800.  
  801.               - RMAIL@BBSCALL makes an RMAIL message with next sequential
  802.                 ID from local system. Reads subsequent lines to a "*** EOF"
  803.                 to pick up target addressees;
  804.  
  805.                 - BBSCALL - takes the TO of source message
  806.                 - CALL@BBSCALL - takes this explicitly
  807.                 - CALL@  - this call with no @BBS
  808.  
  809.                 ** '$' used inside 'rmail' specs will be ignored) **
  810.  
  811.               - $RMAIL@BBSCALL - identical to the the above, except the
  812.                 BID from the source message is added to the "To:" line
  813.                 (i.e.;
  814.  
  815.                        To: rmail@bbscall$XXX_000, call@bbscall, .....
  816.  
  817.  
  818.            After everything is ready, the message type character, if it
  819.       is not a 'T' will be defaulted to 'B' and then the TO field will
  820.       be tested against "SYSOP", RMAIL", "REQxxx", "WP", and for valid
  821.       ham / mars / cap / C.G. Aux call format and the message type will
  822.       be made into a 'P' if it passes.
  823.  
  824.            A typical execution of DISTRIB might go like:
  825.  
  826.             distrib  ALLUSA MDCBBS MBLBBS RATS HARC
  827.  
  828.            The  'distrib' command does, in effect, an EXPORT,  dirstrib
  829.       processing, an import and an erase of the temporary work files.
  830.  
  831.       The  DISTRIB command from the mailbox does a lot in  one  command
  832.       line,  and  you do not have to remember options  and  erase  file
  833.       names, etc.
  834.  
  835.  
  836.        ** NOTE ** there is currently (as of 7/1/90) a conflict with the
  837.       AA4RE REBBS code and DISTRIB. I will explain.
  838.  
  839.            The  power  of a DISTRIB comes mostly from the idea  that  a
  840.       cnetral  mail  server running PRMBS can receive  single  messages
  841.       from  an outlying mailbox and then the distrib  process  geneates
  842.       the  multiple  messages as appropriate.  Strictly  speaking  what
  843.       happens  is accountability correct. A message is created by  K2UK
  844.       in  Haddonfield, NJ addressed MARCO@WA2VXT. The message  receives
  845.       an  "R:" header containing a message ID that matches its  orginal
  846.       MID.  The  message  is forwarded to WB2MNF in  Medford  where  it
  847.       recieves am "R:" header with its local ID on MNF. Then to  WA2VXT
  848.       where  it gest its local ID. All the while it is passing  through
  849.       IDentified  by  its  original MID since its  addressing  has  not
  850.       changed.  Now after it arrives at WA2VXT it gets selected by  for
  851.       DISTRIBution  processing and the MARCO.DS file is  consulted  and
  852.  
  853.  
  854.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 13
  855.  
  856.  
  857.  
  858.       several  individual  messages, plus several  RMAIL  messages  are
  859.       generated.  The adressing has chnaged and now there  are  several
  860.       actual messages. Each messages has an "R:" headr with a different
  861.       ID  which is proper. Viewing the "R:" headers of any of the  mes-
  862.       sages  at anypoint from now will show exactly where/when/how  the
  863.       message has been handled. The accountability is preserved.
  864.  
  865.            Now  the trouble begins. Regardless if the messages as  they
  866.       progress down the way pass through MID capable system and the MID
  867.       assigned and sent on the SEND lines is preserved, if two or  more
  868.       of  these messages go through a REBBS system eveything after  the
  869.       first  will be flagged as a dupe based on the first  "R:"  header
  870.       ID.  This happens regardless of the re-assigned MIDs on the  send
  871.       lines.  The message doesn't die, but it will be held  for  manual
  872.       intervention by sysop.
  873.  
  874.            For  now then you will need to be cognizant of what kind  of
  875.       BBses  will have this mail passed through until Roy  (AA4RE)  can
  876.       resolve  the  matter. His concept, which I feel is flawed,  is  a
  877.       genuine attempt to cut down on duped messages with  inadvertently
  878.       altered BIDs/MIDs, which is to be commended.
  879.  
  880.  
  881.  
  882.                                Message Listing                               Message Listing                               Message Listing                               _______ _______                               _______ _______                               _______ _______
  883.  
  884.            Messages  may  be displayed by a number of means  using  the
  885.       LIST  and  READ commands. The system lists  messages  unless  the
  886.       "LAST" modifier is used or a reverse range from older message  to
  887.       newer messages. So in all example detailed assume that the direc-
  888.       tion  of the list is 'forward', that is oldest message to  newest
  889.       message. If you say  "L 1000-1200", you will get  forward list of
  890.       any unfilled message that still exists in that range. Now, if you
  891.       say  "L 1200-1000" you get the same but in reverse order. IF  you
  892.       type "ALL 20" it will list the last 20 unkilled messages. If  you
  893.       are  SYSOP  all of the above means any message on the  system  is
  894.       visible. If you are a common user only messages you are  entitled
  895.       to  see  are shown. So if the sysop does an "LL 20"  he  may  see
  896.       messages  from, say,  2300 back to 2254, but the common user  may
  897.       get  20 messages that go back to 2100, because many of  those  he
  898.       isn't permitted to see.
  899.  
  900.            The following are the ways you may list messages:
  901.  
  902.            command    displays messages
  903.            ----------------------------------------
  904.            L> CALL  - TO   the CALL
  905.            L< CALL  - FROM the CALL
  906.            L@ ADDR  - AT that ADDRESS
  907.            LR ROUTE - with that ROUTE name
  908.            LT       - TRAFFIC
  909.            LB       - bulletins
  910.            LP       - private
  911.            LM       - list message to you
  912.              *** the above will list from your highest message read  or
  913.  
  914.  
  915.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 14
  916.  
  917.  
  918.  
  919.                  from some starting number specified after the rest
  920.                  of the command (ex:  L< K1XXX 1235) or some range
  921.                  of numbers (ex:  L< K1XXX 1235-1300)
  922.  
  923.            LL ##### - LAST #### messages
  924.  
  925.            In  addition to the above modifiers a number of options  are
  926.       available;
  927.  
  928.  
  929.            options        action
  930.            -------------------------------------------
  931.              -l           long list option
  932.              -m           mail list option
  933.              -h           held message only
  934.              -d           non flood messages rejected as dupes only
  935.              -r           non flood messages rejected for some other
  936.                           reason
  937.              -k           killed messages only
  938.              -b           bulletin messages only
  939.              -t           traffic messages only
  940.                           (the above two may seem redundant in view of
  941.                           the LT LB commands - but these allow signifi-
  942.                           cant refinement of other commands)
  943.              -s xxxxx     search title for string xxxxx.(string may be
  944.                           in quotes so white space can be included
  945.                           "RATS Meeting") search is conducted case
  946.                           insensitive.
  947.              -f xxxxx     allows  specifying a file name for  the
  948.                           ARCHIVE/FILE command (defaults to PRMBS.EXP
  949.                           if '-f' not used - this option will be ac-
  950.                           cepted by the other commands but will be
  951.                           ignored as it has no meaning to them.)
  952.              -x ##        expired option, looks formessges that are ##
  953.                           days  old  or older
  954.  
  955.            Here are examples of the three LIST formats offered by PRMBS
  956.       the first is the 'normal' or default format. IT displays up to 28
  957.       character  of  the message title. The second is the  LONG  format
  958.       ("-l"  option).  It shows full title,  MsgID,  full  hierarchical
  959.       address and route (in parents), and last is the MAIL format.  Its
  960.       assumed  that you know who the message is TO (you!) message  type
  961.       is  immaterial and the '*' indicated it is unread. You get  about
  962.       45 characters of the title in this display.
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 15
  977.  
  978.  
  979.  
  980.       [PRMBS-5272-133-H$]
  981.  
  982.       1737, 72 msgs>ll 4
  983.  
  984.        Msg# TSF  Size #Rd  Date  Time From   To            Title
  985.        2743 PN    377   0 06-May 2251 KA2BQE KA2RAF@NN2Z   Re: WANTED: ROHN 25G
  986.        2735 BF   1355   1 04-May 2337 WB2DXB ALL@ALLBBS    WHY WORRY ???
  987.        2733 BF    763   0 04-May 2239 N3GEX  ALL@ALLBBS    FOR SALE IC-2SAT
  988.        2732 BN    842   1 04-May 1313 WA2ZYX ALL@NJNET     NEW ROUNDTABLE NET
  989.  
  990.       1737, 72 msgs>ll -l 4
  991.  
  992.        Msg# TSF  Size #Rd  Date  Time From   MsgID        To
  993.        2743 PN    377   0 06-May 2251 KA2BQE              KA2RAF@NN2Z.AMPR.ORG (N
  994.        Sb: Re: WANTED: ROHN 25G Sections 10'
  995.        2735 BF   1355   1 04-May 2337 WB2DXB 39654_WA2VXT ALL@ALLBBS ()
  996.        Sb: WHY WORRY ???
  997.        2733 BF    763   0 04-May 2239 N3GEX  31863_KB1BD  ALL@ALLBBS ()
  998.        Sb: FOR SALE IC-2SAT
  999.        2732 BN    842   1 04-May 1313 WA2ZYX 12703_K2DLJ  ALL@NJNET (NONE)
  1000.        Sb: NEW ROUNDTABLE NET
  1001.  
  1002.       1737, 72 msgs>ll -m 4
  1003.  
  1004.        Msg#   Size #Rd  Date  Time From   Title
  1005.        2743*   377   0 06-May 2251 KA2BQE Re: WANTED: ROHN 25G Sections 10'
  1006.        2735   1355   1 04-May 2337 WB2DXB WHY WORRY ???
  1007.        2733    763   0 04-May 2239 N3GEX  FOR SALE IC-2SAT
  1008.        2732*   842   1 04-May 1313 WA2ZYX NEW ROUNDTABLE NET
  1009.  
  1010.       1737, 72 msgs>x
  1011.  
  1012.                             MESSAGE MANIPULATION                            MESSAGE MANIPULATION                            MESSAGE MANIPULATION                            _______ ____________                            _______ ____________                            _______ ____________
  1013.  
  1014.            One  of  PRMBS' strongest points for the  sysops  and  users
  1015.       alike  is the 'message sweeper'. This is the heart of the  sysops
  1016.       ability to maintain the system in addition to providing even  the
  1017.       common users a far more powerful tool to manage his own messages.
  1018.       It  is quite similar to many 'file sweep' type programs that  are
  1019.       out in the public domain. It provides all users with the  ability
  1020.       to  operate  on messages with single keystrokes rather  than  the
  1021.       cumbersome  old  approach of other systems  involving  LIST,READ,
  1022.       KILL  (or FILE or EDIT), LIST ..... . The remote users have  less
  1023.       options  available  to him than the remote sysops and  the  local
  1024.       console.  The local console operates in 'single keystroke'  (i.e.
  1025.       no CR required ) mode while the remote user and remote sysop must
  1026.       send the CR.
  1027.  
  1028.            The  'message  to file' options will prompt for a  file  the
  1029.       first  time they are invoked and that filename will  be  retained
  1030.       such that subsequent invocations of the 'F' and 'A' will  display
  1031.       the  current filename which can be accepted by simply  hitting  a
  1032.       CR,  or  conversely can be change by simply entering a  new  file
  1033.       name.
  1034.  
  1035.  
  1036.  
  1037.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 16
  1038.  
  1039.  
  1040.  
  1041.       ** NOTE **     To print a message you can 'file' the message to a
  1042.       file called "prn" . This is an MSDOS reserved name for the system
  1043.       printer  port. And its operation is the same as simple 'file'  to
  1044.       an  actual disk file. The filename remains in effect until it  is
  1045.       changed.
  1046.  
  1047.            If you specify a bad path in the message to file, it no does
  1048.       not kill the message!! If you do an A or F by error, simply  type
  1049.       '/'  when requested for a filename and you are out, the  filename
  1050.       is  saved  from a prior A or F even if you '/' out! If  you  K  a
  1051.       message in error, you may exit the sweeper and reedit that  range
  1052.       with a '-k' (this will permit 'K'ed messages to appear, see later
  1053.       explanation  about '-' options and Killing statuses)  and  change
  1054.       its status back to N or Y or H or whatever.
  1055.  
  1056.       Options for sysop and rem_sys are now:
  1057.  
  1058.              A - archive - message to file and kill message
  1059.              C - change direction toggle (toggles reverse or forward)
  1060.              D - Distribute flood message / force expansion of an RMAIL
  1061.                  message (regardless of its @address)
  1062.              E - header edit
  1063.              F - message to file
  1064.              G - Goto Msg#
  1065.              H - [H]old message
  1066.              K - [K]ill message
  1067.              Q - quit loop
  1068.              R - short read (does not show forward headers)
  1069.              S - send reply to message correctly parse return BBS
  1070.              T - edit the message text via EDITOR
  1071.              V - verbose read (does show forward headers)
  1072.              X - retranslate the call@bbs designator
  1073.              ? - help
  1074.              [cr] will advance to next message
  1075.              N/Y - set/unset the 'read' status of message
  1076.  
  1077.            Options for ordinary users are now  K,G,Q,R,S,U,V,?, [cr]
  1078.  
  1079.            These  are the same as above for sysop and rsys, except  the
  1080.       'U'  command  is the 'U'n-read command, in effect it is  the  'N'
  1081.       status change to make a message uNread!
  1082.  
  1083.            Even  this powerful system can be a dog in the face  of  800
  1084.       messages  to  sort through. The secret is in how you  invoke  the
  1085.       editor.  The "E' command can be 'modified' by any and all of  the
  1086.       modifiers  available to the LIST command. Just look above at  the
  1087.       table  of modifiers and substitute "E" for "L".
  1088.  
  1089.            Messages  may  be "K"illed using the  same  modifiers.  Just
  1090.       substitute  "K" for "L" in the command modifiers shown. with  "K'
  1091.       there  is  an additional option "-x" - which I like to  call  the
  1092.       "RAMBO"  option. If you specify a range of messages to be  killed
  1093.       it  will  prompt you at each message to  "Kill  msg  (y/n/q)",  Y
  1094.       kills  it,  N doesn't kill it, Q quits/aborts the Kill  loop  and
  1095.       spits you back to the mailbox prompt.
  1096.  
  1097.  
  1098.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 17
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.            The "R", "READ", "K", "ARCHIVE" and "FILE" commands  specif-
  1105.       icly take a slightly different format. When you say "R 12345"  it
  1106.       means  read that message only and likewise if it had  been  kill.
  1107.       This  in  opposition to the single number specified in  E  and  L
  1108.       commands which mean starting point. Kill and read also support;
  1109.  
  1110.            R 1234 3456 1370 1239-1243
  1111.            K 4312 3456 5678 12 12345 1100-1200
  1112.  
  1113.        The individual number are that the other are ranges. The  ranges
  1114.       on  kill will be prompted message by message for kill unless  the
  1115.       "-x" option is specified
  1116.  
  1117.            K -x 4312 3456 5678 12 12345 1100-1200
  1118.  
  1119.            The  archive and file commands will each take the  specified
  1120.       messages  and  append them to a file. If  no  filename  specified
  1121.       using  the  '-f' option, then the default filename  PRMBS.EXP  is
  1122.       used. The archive command will then proceed to kill that message.
  1123.       If  the "-X' option is not used you will be queried  (Y/N)  about
  1124.       killing  each  message.  If that option is used  the  filing  and
  1125.       killing of each message will go through til its done.
  1126.  
  1127.            The  procedure  which drives the  message  sweeper  actually
  1128.       drives  all message manipulation commands (READ, KILL, E,  FLOOD,
  1129.       TRANS,  LIST,  etc) It contains a call at the top  of  each  loop
  1130.       (looking  for the next message to process) that checks the  local
  1131.       console  for an ESC, ctrl-S, or SPACE to kill or pause the  proc-
  1132.       ess.  You  CANNOT  TYPE AHEAD while any of  these  processes  are
  1133.       occurring  - if you type a SPACE (which is easy to do)  you  will
  1134.       seemingly  lock up the program - it is waiting for another  SPACE
  1135.       to release it. This is the price you pay for the conveneience  of
  1136.       being able to abort or pause any process, whether you started  it
  1137.       locally or a remote user started it.
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 18
  1160.  
  1161.  
  1162.  
  1163.  
  1164.                                     User MAIL Command                                    User MAIL Command                                    User MAIL Command                                    ____ ____ _______                                    ____ ____ _______                                    ____ ____ _______
  1165.  
  1166.            Above  you were introduced to the mail command  for  sending
  1167.       messages and then in the List format discussion you see the  mail
  1168.       command  used without any recipients. This message sweeper  func-
  1169.       tion  is  the core of the MAIL command for user to  manage  there
  1170.       incoming mail.
  1171.  
  1172.            When  invoked the MAIL command effectively does a "LM -m  1"
  1173.       or a LIST MINE mail format display starting at lowest message  in
  1174.       system.  It will display all messages addressed TO that user  (if
  1175.       its  the  sysop of the system it will display in  there  messages
  1176.       addressed  to SYSOP as well). After it LISTs all the messages  it
  1177.       goes  back  and does an "EM -m 1" saying EDIT MINE -  display  in
  1178.       MAIL format, starting at lowest message.
  1179.  
  1180.            There  is  a bit subtle psychology in the action  here.  The
  1181.       user will get displayed to him all of his mail, read AND  unread.
  1182.       If he never cleans up his mail and the automated system KP  (kill
  1183.       private by number of days old) is kind of generous, the user will
  1184.       be  forced to suffer through intermineable lists of old  messages
  1185.       he  just  as soon would not see and probably  doesn't  need.  the
  1186.       result  is  that many of my long term sysops said that  within  a
  1187.       week or two of the version that first had this command users were
  1188.       really  going  to ton on their old mail and cleaning up!  NOW,  I
  1189.       recognize that the sysop likes to keep his old mail around and it
  1190.       his  system.  You  may use the "-n" option  will  display  uNread
  1191.       message only.
  1192.  
  1193.            User  and  sysop alike may use the "G" command in  the  mail
  1194.       sweeper or editor to jump ahead  or back to any message. The  "C"
  1195.       command  is a direction toggle that changes the forward or  back-
  1196.       ward  direction  through the sweeper, but "G" lets you  GOTO  any
  1197.       message  number and keep going forward or backward  whatever  you
  1198.       were doing when you executed the "G".
  1199.  
  1200.  
  1201.  
  1202.                             User READNEWS Command                            User READNEWS Command                            User READNEWS Command                            ____ ________ _______                            ____ ________ _______                            ____ ________ _______
  1203.  
  1204.  
  1205.            The READNEWS or RN (either will get it) command is a  simple
  1206.       extension  of the mechanisms that give us the mail command. If  a
  1207.       user types:
  1208.  
  1209.  
  1210.                 RN 4SALE WANTED AMSAT
  1211.  
  1212.            The  system will do three loops of a MAIL like  process  one
  1213.       each  for "4SALE", "WANTED", and "AMSAT". In each of these  loops
  1214.       it will do
  1215.  
  1216.                 L> -bm 4SALE
  1217.                 E> -bm 4SALE
  1218.  
  1219.  
  1220.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 19
  1221.  
  1222.  
  1223.  
  1224.  
  1225.       For  the subsequent loops substitute "WANTED" and  then  "AMSAT".
  1226.       Now as you can see no number are presented, so the search  starts
  1227.       at  the highest message read by the user in previous  visits.  If
  1228.       the user wants to start back further he can
  1229.  
  1230.                 RN -#2345 4SALE WANTED AMSAT
  1231.  
  1232.       which translates in action to
  1233.  
  1234.                 L> -bm 4SALE 2345
  1235.                 E> -bm 4SALE 2345
  1236.  
  1237.       Suboptions  are  available also, most specifically  the  'search'
  1238.       option;
  1239.  
  1240.                 RN -s DOVE -#1  AMSAT
  1241.  
  1242.            In effect the user here has said search all the AMSAT bulle-
  1243.       tins and bring up any referencing the DOVE project. Now wildcards
  1244.       are permitted in the selections so you could
  1245.  
  1246.                 RN -s DOVE -#1 *
  1247.  
  1248.            This  changes  the scope of the above example to  cover  ANY
  1249.       bulletin.
  1250.  
  1251.  
  1252.                              Message Elimination                             Message Elimination                             Message Elimination                             _______ ___________                             _______ ___________                             _______ ___________
  1253.  
  1254.            When a message is 'killed' its status is merely changed from
  1255.       whatever  it was to 'K'. The message remains, it may  be  listed,
  1256.       edited, read, etc by using a  "-k" option. To remove the  message
  1257.       from  the system, irrevocably you must invoke the  COMPRESS  com-
  1258.       mand.
  1259.  
  1260.            The  COMPRESS command will actually compress the  mail  file
  1261.       rewriting  only  message  records whose status  is  not  'K'.
  1262.  
  1263.            Archiving  messages is done using the FILE command to  do  a
  1264.       message to file appending to an ASCII text file. Two forms gener-
  1265.       ally may be done;
  1266.  
  1267.                FILE -K -T ALL
  1268.                FILE -K -T -F TRAFFIC.KLD ALL
  1269.                FILE -K  ALL
  1270.                FILE -K  -F OLDMAIL.KLD ALL
  1271.  
  1272.            The '-t' indicates traffic only, and '-k' means killed  mes-
  1273.       sages only when both used it takes killed traffic or without  the
  1274.       '-t' it gets the all killed messages.
  1275.            Additonally  the  '-s' search option could be  used  if  you
  1276.       wished to archive certain topics
  1277.  
  1278.            FILE -B -S MODS -F FILES\MODS\MODS.TXT ALL
  1279.  
  1280.  
  1281.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 20
  1282.  
  1283.  
  1284.  
  1285.            K> -B -Z MODS 1
  1286.            COMPRESS
  1287.  
  1288.       After  you are done doing any archiving, particularly if you are
  1289.       doing this in an EVENT process you will want to run the  COMPRESS
  1290.       command  to  remove the killed messages so they will not  be  ar-
  1291.       chived redundantly on another event cycle.
  1292.  
  1293.                     Concepts of Mail Forwarding in PRMBS                    Concepts of Mail Forwarding in PRMBS                    Concepts of Mail Forwarding in PRMBS                    ________ __ ____ __________ __ _____                    ________ __ ____ __________ __ _____                    ________ __ ____ __________ __ _____
  1294.  
  1295.            The  PRMBS system will accept mail addressed in  almost  any
  1296.       fashion  and will do its best to send it to where it  belongs.  A
  1297.       few rules are used.
  1298.  
  1299.            When  the messages is entered it will be checked, if  local,
  1300.       against  the orginator's personal translate files for  more  com-
  1301.       plete address. It will then be checked against the system  trans-
  1302.       late file and last if its all numbers (i.e. US type Zipcodes)  it
  1303.       will be checked against a ZIP to H-route location file. If it  is
  1304.       not numbers and if no @ address is present the recipient will  be
  1305.       checked  against the active user file and his proper home BBS  if
  1306.       other  than your system, will be inserted.
  1307.  
  1308.            Message  IDs are used to eliminate duplication.  On  flooded
  1309.       bulletins we call them 'BID's - bulletin IDs, on other than flood
  1310.       messages we call them 'MID's - message IDs; generally, the  rules
  1311.       for assigning IDs are as follows;
  1312.  
  1313.         ** general rule ** - use em if ya have em, don't go looking!
  1314.  
  1315.           a - all messages orginating on the system
  1316.           b - all REQxxx responses (technically same as 'a' above)
  1317.           c - any RMAIL generated message
  1318.           d - any message incoming which gets 'translated' in the to/at
  1319.               fields upon arrival
  1320.           e - any message addressed to that system which re-addressed
  1321.               via USER.DAT entry
  1322.           f - any message in which translation occurrs when manually
  1323.               re-transalted and/or re-routed via the 'X' option in
  1324.               sweeper or 'translat' command.
  1325.  
  1326.         - no message IDs will be 'parsed' out of "R:" headers
  1327.         - MIDS sent only to stations with 'M" in the [SID].
  1328.         - in receiving, floods BIDs/MIDS differentiated by the @BBS
  1329.           field matching an existing flood route. This determines if
  1330.           the ID gets re-assigned if translation occurs (MIDs) or not
  1331.           (BIDs)
  1332.         - outbound messages that are flood pointers (F stat field is
  1333.           '$') will get 'K'illed if NO interpretted as dupe recieved,
  1334.           if not flood pointers it gets a status of 'D'upe.
  1335.  
  1336.            This  gone into in more detail several paragrpahs down  from
  1337.       here concerning simple and improved response to IDed messages.
  1338.  
  1339.            After all this is done, if there is an @ address it will  be
  1340.  
  1341.  
  1342.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 21
  1343.  
  1344.  
  1345.  
  1346.       parsed against the HROUTES list to obtain a route name. In  doing
  1347.       this  we  establish 'vectors' for the mail based  upon  geography
  1348.       that we call ROUTEs.
  1349.  
  1350.            When  we connect to, or are connected to by  another  system
  1351.       and  we  forward mail to that system the following mail  will  be
  1352.       sent;
  1353.  
  1354.            - any messages whose route is the same as that system's call
  1355.  
  1356.            -  any flood message (F status field is '$') whose route  is
  1357.            the same as the call of the connected station.
  1358.  
  1359.            - any non-flood messages whose route name is contained in  a
  1360.            file CALL.FWD (CALL being that stations call), if it exists.
  1361.  
  1362.            *** the above imply a ROUTE field filled in and matched ***
  1363.  
  1364.            -  any  message  whose ADDRESSEE (i.e. contents  of  the  TO
  1365.            field)  is the same as the station connected to,  regardless
  1366.            of the @BBS address contents.
  1367.  
  1368.            Reading  between  the lines above, we will not  forward  any
  1369.       mail without an @BBS filed filled in, and by implication no route
  1370.       gets entered when no @BBS is filled in.
  1371.  
  1372.  
  1373.            To acheive the actual export of messages from your system to
  1374.       another there are several mechanisms;
  1375.  
  1376.         EXPORT - forwards mail into an ASCII text file in EXPORT format
  1377.         FWD    - forwards mail via COM port to another system
  1378.  
  1379.         SWAP   - the same as FWD only afterwards it POLLs for mail from
  1380.         POLL   - the same as SWAP except it connects and POLL regard
  1381.                  less of outbound mail status, then acts like a SWAP.
  1382.  
  1383.         POLLF  - POLL FOR - polls for the mail for other systems, as if
  1384.                  they were these other systems actually connecting
  1385.         PUSH   - essentially a SWAP command that always connects, if
  1386.                  no  outbound mail, it does a POLL. (useful   for
  1387.                  non-PRMBS systemsthat DISConnect as  soon as a POLL is
  1388.                  done)
  1389.  
  1390.            When  an export cycle starts, all of the  applicable  routes
  1391.       are read into a memory table. The mail file is then accessed ONCE
  1392.       starting from oldest to newest messages and as soon as an  unread
  1393.       message   (status is 'N') is found who matches one of the   above
  1394.       criteria,  the system will make a connection, if one has not  yet
  1395.       been  established and begin to forward that message.  After  that
  1396.       message  is done, it will go on until all messages that meet  the
  1397.       criteria  have been sent or until a disconnect is detected.  Then
  1398.       it  will poll for mail from the other system and make an  attempt
  1399.       to see if the mail received in polling generated any messages  to
  1400.       go back, it will make one more attempt to send and one more poll.
  1401.  
  1402.  
  1403.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 22
  1404.  
  1405.  
  1406.  
  1407.       Advancing  in this sequence to each stage is dependent  upon  the
  1408.       prior  step  having actually moved one or more messages  or  else
  1409.       there's  no reason to go on. In addition if you are in  a  multi-
  1410.       user (DDOS or DesqView) environment, another task may have creat-
  1411.       ed more mail to be moved.
  1412.  
  1413.            The above assumes tha you are simply forwarding mail regard-
  1414.       less  of  type. If you chose to use the "-t"  option  which  will
  1415.       specify what specific and in what order the types of mail will be
  1416.       forwarded.  In this case you will then make one pass through  the
  1417.       mail file for each type specified.
  1418.  
  1419.            Export to a file works the same, except it one pass only, no
  1420.       polling of course.
  1421.  
  1422.            One  benefit of this scheme which can be a real  problem  in
  1423.       other  codes is that old messages do not get 'shut out'  if  they
  1424.       didn't  move  and then a lot of mail comes in since many  of  the
  1425.       other systems examine the mail file last first! PRMBS will always
  1426.       move oldest mail first. If you have some concern about old bulle-
  1427.       tins timing out and elaying private messages you can use "-t tpb"
  1428.       option  to specify private and traffic to be sent  before  bulle-
  1429.       tins.
  1430.  
  1431.            A  mail  forwarding cycle begins with a  connection  and  an
  1432.       exchange of the [SID]s (smart system identifiers). The  standards
  1433.       for this are:
  1434.  
  1435.            [sysId-disk space-version-params]
  1436.  
  1437.            For example:
  1438.  
  1439.            [4RE-ver-HMR$]           AA4RE Multi-user BBS
  1440.            [AmigaBBS-$]             N3ET - Amiga BBS
  1441.            [MBL-$]                  WA7MBL BBS
  1442.            [NET-$]                  RLI MailBox for KA9Q's TCP/IP
  1443.            [PRMBS-space-ver-HMR$]   KA2BQE PRMBS/ROSERVER
  1444.            [RLI-ver-HC$]            W0RLI
  1445.            [CBBS-ver-C$]            CBBS - k3rli
  1446.  
  1447.            disk space - optional - amount of space available on  system
  1448.            in Kbytes for messages.
  1449.  
  1450.            version - optional field - version of code
  1451.  
  1452.            params - last field, parsed as last field,
  1453.                 0  - I am smart enough only to recognize that  you  are
  1454.                 smart,  but  I am dumb on all other counts and  can  do
  1455.                 nothing.
  1456.  
  1457.                 $  - general smart system ID , supports F>,  and  OK/NO
  1458.                 for message send, and accepts $BIDs.
  1459.  
  1460.                 C - remote time setting capability
  1461.  
  1462.  
  1463.  
  1464.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 23
  1465.  
  1466.  
  1467.  
  1468.                 H - accepts hierarchical routing
  1469.  
  1470.                 M  -  message ID's exchanged via  OK/NO  handshake.
  1471.  
  1472.                 R  - 'improved' response -  handles  OK/NO/LATER/REJECT
  1473.                 instead of just OK/NO.
  1474.  
  1475.                 W  - white pages serve code active, generates data  and
  1476.                 fields request for home addressing of messages  passing
  1477.                 through.
  1478.  
  1479.                 Y - (WA7MBL requests this letter be reserved for  YAPP-
  1480.                 mail)
  1481.  
  1482.            The  smart-system ID shall contain no white space and  shall
  1483.            be  set  off by square brackets. Any prompts,  CTEXT,  BTEXT
  1484.            concocted by a sysop should not contain a string set off  by
  1485.            square brackets.
  1486.  
  1487.            Unlike  some other systems, PRMBS only accepts a  [SID]  one
  1488.            time during the session and then on the first or second  (on
  1489.            the second command line, only if the first was a '*** LINKED
  1490.            to  W1XXX' type line) code line received. Additional  [SID]s
  1491.            received will be treated as bad commands.
  1492.  
  1493.  
  1494.            After the SIDs are accepted/exchanged a BBS prompt ('>')  is
  1495.       tendered  and the sending station issues the  "Sx  ............."
  1496.       line.  The receieving station then replies with an OK/NO and  the
  1497.       sending station acts upon it.
  1498.  
  1499.            The  '$' in the [SID] denotes acceptance of the  simple  re-
  1500.       sponse  capability of OK/NO. However, PRMBS has  implemented  the
  1501.       'improved  response' mode ( [SID] identifier 'R') . That is  that
  1502.       when  a  message is offered to or from it the range  of  response
  1503.       generated/perceived  is  now OK/NO/LATER/REJECT,  each  entailing
  1504.       different actions. Simple response and improved response each act
  1505.       on OK/NO the same, the improved response adds LATER and REJECT;
  1506.  
  1507.            OK - send the message I will accept it
  1508.  
  1509.            NO - do not send the message I already have it. If this was
  1510.                 a flood bulletin, the message will be disposed of, if
  1511.                 it was non-flood, the message will be marked with a
  1512.                 status of 'D' for dupe so the sysop may examine it
  1513.                 before killing it. Marked 'D' PRMBS will not try to
  1514.                 send it again.
  1515.  
  1516.            LATER - used by some systems indicating it may already  have
  1517.                 the  message but not sure (i.e. on  multi-user  systems
  1518.                 the BID may have been tendered on another channel but
  1519.                 bulletin  hasn't been fully recieved. I this  case  the
  1520.                 system will try again 'later' and send it, probably to
  1521.                 be greeted with a NO but just maybe the other guy timed
  1522.                 out  and  you are now the real  thing.  Message  status
  1523.  
  1524.  
  1525.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 24
  1526.  
  1527.  
  1528.  
  1529.                 remains unchanged.
  1530.  
  1531.            REJECT - I cannot accept this message for some other reason.
  1532.                 Message  status  is  marked as 'R' but  it  will  still
  1533.                 be attempted to be forwarded. The 'R' marking brings it
  1534.                 to SYSOP attention.
  1535.  
  1536.  
  1537.            PRMBS handles one more case that has no definition for  now.
  1538.       In  reality,  the situtaion is a violation of  protocol,  but  we
  1539.       handle  it. The W0RLI-compatible BBS built into the  KA9Q  TCP/IP
  1540.       suite  (NET.EXE),  with  a [SID] of "[NET-$]",  coded  by  KA1SYF
  1541.       checks  the @BBS field of incoming message and if that system  is
  1542.       not  in HOSTS.NET will issue a NO even to a non-MID/non-BID  mes-
  1543.       sage.  If  PRMBS connects to any system  without  MID  identifier
  1544.       ('M') and send a message without a MID and gets a no, it marks it
  1545.       as rejected as above in improved response.
  1546.  
  1547.  
  1548.  
  1549.                          System Supervisory Messages                         System Supervisory Messages                         System Supervisory Messages                         ______ ___________ ________                         ______ ___________ ________                         ______ ___________ ________
  1550.  
  1551.            The system has a file containing the text of all the  super-
  1552.       visory  and error messages (SYS\MESSAGES.RS). As delivered it  is
  1553.       in   English.   It   may  be  copied  to   another   file,   say,
  1554.       SYDS\MESSAGES.F  and  translated to French, or  german  (SYS\MES-
  1555.       SAGES.G).  Conversely it may be renamed to SYS\MESSAGES.E  and  a
  1556.       French  Translation  be  copied into  SYS\MESSAGES.RS.  The  user
  1557.       command  LANGUAGE followed by a letter (F,G,E, ect)  will  select
  1558.       what  file the system uses to speak with him and is  selected  at
  1559.       Login  time. Within the MESSAGES file is an message in which  you
  1560.       will  want to list the files you have available on  your  systems
  1561.       and what letter to use to select it.
  1562.  
  1563.            The message in the file contain tokens "$x' x being a letter
  1564.       number  or  symbol. The following table details  the  information
  1565.       that each symbol will cause to be printed;
  1566.         $A  : Message - @BBS field
  1567.         $B  : Message - type
  1568.         $C  : Message header - next available number
  1569.         $D  : System - Current date - YYMMDD format
  1570.         $E  : System - Name for that port (i.e. 145.07 MHz)
  1571.         $F  : System - sysop QTH
  1572.         $G  : Message - TO field
  1573.         $H  : skips CR/LF - so input type on line with prompt
  1574.         $I  : User - name
  1575.         $J  : Message - date entered this system
  1576.         $K  : Message - time entered this system
  1577.         $L  : Message header - highest numbered message on this system
  1578.         $M  : Message - number this message (5 digits unsigned integer)
  1579.         $N  : Message header - number messages active on this system
  1580.         $O  : System - sysop call sign
  1581.         $P  : Message - FROM field
  1582.         $Q  : System - disk space available
  1583.         $R  : System - version number
  1584.  
  1585.  
  1586.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 25
  1587.  
  1588.  
  1589.  
  1590.         $S  : System output general token variable (set internally)
  1591.         $T  : System - current time - HHMM 24 hour format
  1592.         $U  : User - call sign
  1593.         $V  : System - string ' *** '
  1594.         $W  : System - sysop's name
  1595.         $X  : User - most recent date of connect
  1596.         $Y  : User - most recent time of connect
  1597.         $Z  : User - highest message read
  1598.         $$  : System - output a '$'
  1599.         $1  : User - home QTH
  1600.         $2  : User - home Zip code
  1601.         $3  : System - date/time in long ARPA format
  1602.         $4  : System - mailbox version date
  1603.         $5  : System - full host system H- address
  1604.         $6  : User - highest message read this session
  1605.         $7  : System - port ID letter
  1606.         $8  : System - Message ID
  1607.         $9  : Message - route
  1608.         $#  : System - name of temp message file - variable named 'msgtemp'
  1609.         $!  : System - name of temp message file - variable named 'msgtmp2'
  1610.         $>  : System - name of user file directory - variable named 'usrdir'
  1611.         $<  : System - name of system file directory - variable named 'sysdir'
  1612.         $[  : System - current active port timeout value
  1613.         $]  : Message - size
  1614.         $*  : Message - type
  1615.         $%  : Format - output an extra CR/LF sequence
  1616.         $@  : User - home bbs
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 26
  1648.  
  1649.  
  1650.  
  1651.                              System EVENT Cycle                             System EVENT Cycle                             System EVENT Cycle                             ______ _____ _____                             ______ _____ _____                             ______ _____ _____
  1652.  
  1653.            Another  core  process to the system is the  EVENT  process.
  1654.       Unlike  other  systems, PRMBS provides what amounts  to  being  a
  1655.       complete batch processor. ANY mailbox command can be executed  in
  1656.       the  cycle. Technically the EVENT processor can call  itself  and
  1657.       process yet anothe batch file from within itself, and that second
  1658.       file  could call yet another event file and so on  ....  however,
  1659.       lets be reasonable ... sooner or later the system STACK is  gonna
  1660.       barf all over your birthday cake if you get carried away here!
  1661.  
  1662.            The EVENT processor is scheduled by invoking in your  AUTOE-
  1663.       VENT section of your configuration file the command:
  1664.  
  1665.            EVENT -S {cycle length} {start minute} {offset}
  1666.  
  1667.            cycle length   - length of cycle in mnutes
  1668.            start minute   - relative to start of cycle in minutes
  1669.            offset         - if start delayed, how long beyond 'start
  1670.                             minute' and still ok to execute.
  1671.  
  1672.            Cycle  lengths are base on 0000 hours. And the  cycle  takes
  1673.       time  now, coverts it to minutes, does modulus arithmatic  on  it
  1674.       using  the cycle length and whats left is the relative minute  of
  1675.       the  cycle the time now represents; for example it is 1609  local
  1676.       now, thats 2009z. Which is  60*20+9 or 1209 minutes. If we had  a
  1677.       120 minute cycle we would be 9 minutes into the 11th cycle. If we
  1678.       had  set  up   "EVENT -S 120 1 10" we could kick  off  the  event
  1679.       cycle.  As  a rule of thumb the longer the cycle (i.e.  the  less
  1680.       often it runs) the longer the offset may be.
  1681.  
  1682.            EVENT  file entries have a time range associated with  them,
  1683.       so  if you wish to execute your event cycle and ignore  the  time
  1684.       ranges shown you type  "EVENT -I".
  1685.  
  1686.            The EVENT cycle uses a configuration file specified file. If
  1687.       you  want to execute a different file you may type  "EVENT  file-
  1688.       name".  This does not change the file automatically  executed  by
  1689.       timer,  just the one done immediately. The system will expect  to
  1690.       find  the  file in he system directory. However,  when  the  "-f"
  1691.       option is used by the event command to specify an alternate  file
  1692.       it  may be from any drive or directory. The sample EVENT  process
  1693.       format is:
  1694.  
  1695.            M 0100 command arg1 .... argn
  1696.            D 0100 dos_command  arg1 ... argn
  1697.            P 0100 port_letter
  1698.              device_command
  1699.              device_command
  1700.              .......
  1701.              device_command
  1702.              device_command
  1703.            *** EOF
  1704.  
  1705.  
  1706.  
  1707.  
  1708.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 27
  1709.  
  1710.  
  1711.  
  1712.        An "M" command is any mailbox command, "D" is a DOS command, and
  1713.       "P"  are commands to the device on the port. The time specs  have
  1714.       the following form:
  1715.  
  1716.  
  1717.            X sseem
  1718.            | | | +----- modifier, may be E, O, 3,4,6,8
  1719.            | | +------- end hour
  1720.            | +--------- start hour
  1721.            +----------- command type may be M, D, P
  1722.  
  1723.         The  start  hour, end hours are two digits (zero  padded)  that
  1724.       indicate the start and end hours inclusive; 0100 is 24 hours from
  1725.       01  around  to 00 (24). 2205 would be from 22 through  00  to  05
  1726.       inclusive.
  1727.  
  1728.            The 'modifier' is used to select hours in the range., E  and
  1729.       O  are for even and odd hours only. The 3,4,6,8 mean  only  hours
  1730.       evenly divisible by that number; For example,  01224 will  happen
  1731.       at 04, 08, 12, 16, 20 hours.
  1732.  
  1733.            Event  command types are D, M, P - the 'D' is DOS  commands,
  1734.       which  will be sub-run as a child process, arguments  are  placed
  1735.       upon the line with it. If the process requires being in a differ-
  1736.       ent directory etc, then use the 'D' command to invoke a BAT file.
  1737.       'P'  are port commands. They are sent as series of commands  con-
  1738.       tained in the EVENT file and terminated by a line with "*** EOF".
  1739.       The  last  is 'M' and these are mailbox  commands.  Quite  simply
  1740.       anything you can type in on the BBS command line can be run here.
  1741.  
  1742.                        SYSOP Intervention and CONTROL                       SYSOP Intervention and CONTROL                       SYSOP Intervention and CONTROL                       _____ ____________ ___ _______                       _____ ____________ ___ _______                       _____ ____________ ___ _______
  1743.  
  1744.            One  of  the things which sets ROSERVER apart from  all  the
  1745.       other  systems is the degree of control programmed into  it.  The
  1746.       sysop should not be a second class citizen to the user or to  the
  1747.       computer.  In almost all the other systems once some  action  has
  1748.       started  the  only  control exerted by the sysop is  at  the  bbs
  1749.       prompt  after it is completed. (this may have changed in some  of
  1750.       the others by now, but I am not holding my breath!)
  1751.  
  1752.            I have provided the SYSOP with two function keys by which he
  1753.       can  bring  any action to a halt. (That is save for  pulling  the
  1754.       plug, shutting the switch off, or ctl-alt-del !)
  1755.  
  1756.            'F'   - this is the 'TWIT'-key, properly called the  'forced
  1757.            timeout'  key. It is checked in the 'get line of data'  rou-
  1758.            tine  constantly. Basically, what it does is when  depressed
  1759.            it sets a flag indicating that the timeout for data has  oc
  1760.            curred  regardless  of how much or little time  as  actually
  1761.            left. Then the system does its thing normally.
  1762.  
  1763.            ESC - is also the 'text killer' key. This key will stop  any
  1764.            text output to console or to the com port, files,  messages,
  1765.            message  lists,  etc.  It will also stop  reading  an  event
  1766.            script.
  1767.  
  1768.  
  1769.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 28
  1770.  
  1771.  
  1772.  
  1773.  
  1774.            A combination of these two keys can stop any action. ESC  to
  1775.       kill the text going out, then a quick 'F' to kill the connection,
  1776.       the  disconnect  usually kills, the connection before  the  CTL-Z
  1777.       gets  to  the nearest NETROM (remember NETROM sends  all  packets
  1778.       onward  BEFORE it dumps the connection when it detects your  dis-
  1779.       connect.
  1780.  
  1781.  
  1782.            Additionally there are a few more keys that are handy:
  1783.  
  1784.            'X'  - this key when struck in the online-waiting mode  will
  1785.            effectivly generate an exit with ERRORLEVEL 100 command,  as
  1786.            if the sysop had hit ESCape, logged in and type "X 100".  If
  1787.            the PBBS.BAT file is set up as the sample was, the BBS  will
  1788.            not  cycle, but will exit out to DOS. THIS IS THE  SIMPLEST,
  1789.            SAFEST,  MOST EFFECTIVE WAY TO BRING DOWN THE BBS. It  makes
  1790.            sure all the ports are closed and set to CONOK OFF, MON OFF
  1791.            (important  - overflowing data from TNC on back channel  can
  1792.            crash many TNC's) and DTR is dropped to any landline modems.
  1793.  
  1794.            CTRL-W  -  during any text download, which  may  scroll  the
  1795.            status bar off the screen, this key will display the  status
  1796.            bar telling you who is on, the time now and if you have  nay
  1797.            new mail to you or new messages in general.
  1798.  
  1799.            '!'  - this will 'shell' the sysop (local user) to DOS  from
  1800.            within  the  mail box. It is the  functional  equivalent  of
  1801.            doing  an  ESC up to local console mode and then an  '!'  to
  1802.            shell to DOS. type 'EXIT' from DOS to return to the mailbox,
  1803.            disk  space  is recomputed and "mail for: "  banner  is  re-
  1804.            created.
  1805.  
  1806.            'Q'  - forces event cycle to happen at that instant. If  any
  1807.            event  is not an every hour occurrence the  hour  references
  1808.            will be observed. When completed, it goes back on line. This
  1809.            is  an exact functional equivalent to doing an ESC to  local
  1810.            console and an "event". For time overrides you will need  to
  1811.            do  an ESC  and an "event -i" (see command explanations  for
  1812.            "event").
  1813.  
  1814.            ESC - is also used to break on a user and chat with him/her.
  1815.            Now  chat  is really no different than terminal  mode,  they
  1816.            both  use the same routine. The ESC is also used to come  up
  1817.            from the terminal emulator. If you were in terminal mode and
  1818.            it was you logged onto the console ESC simply returns you to
  1819.            console BBS prompt, closing any terminal output file you may
  1820.            have  opened. If you were chatting with user, it comes  back
  1821.            up checking for connect status, if disconnected it logs user
  1822.            out,  puts BBS back online. If not, it returns a BBS  prompt
  1823.            to user.
  1824.  
  1825.            'L' - this will allow the sysop to make a quick query of the
  1826.            system while its online waiting without the need to take the
  1827.            system off-line. In effect it will do a "LL 20" and list the
  1828.  
  1829.  
  1830.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 29
  1831.  
  1832.  
  1833.  
  1834.            last  20 messages in normal short list format. It  will  not
  1835.            shut  down  the ports or anything else, so  a  connect  that
  1836.            should come in during the 2-4 seconds this takes will not be
  1837.            lost.
  1838.  
  1839.            'H'  - this will do  'heard' list (or J-list in  W0RLI  par-
  1840.            lance)  and like the 'L' it saves the trouble of going  off-
  1841.            line,  login,  heard, back on line. all  the considerations
  1842.            mentioned in the 'L' apply here.
  1843.  
  1844.            'M' - will do a LIST MINE of unread mail for the sysop.
  1845.  
  1846.            'T' - timeout reset key - this will at any point the  system
  1847.            is  waiting for some input from non-local user,  will  reset
  1848.            the  timeout counter to strat again, This is handy when  you
  1849.            have  been receiving or sending a message over  a  congetsed
  1850.            channel  and that inner sixth sense a sysop gets  about  im-
  1851.            pending  doom (i.e. about to get axed due to  timeout)  come
  1852.            upon  you, just whack the T and the count will  start  again
  1853.            from the top.
  1854.  
  1855.            <SPACE BAR>
  1856.            <ctrl-S/ctrl-Q> - these two sets of keys may be used by  the
  1857.            sysop  to throttle displays. The ctrl-S/ctrl-Q are  standard
  1858.            XOFF/XON,  and  are coded 'correctly' , that is  to  say,  a
  1859.            ctrl-S to throttle output MUST be followed by a ctrl-Q,  NOT
  1860.            just any character. The <SPACE BAR> functions by itself like
  1861.            the ctrl-S/ctrl-Q, once hit and output throttled the  <SPACE
  1862.            BAR> must be hit again to restart output.
  1863.  
  1864.            'A' - these two letter commands will cause the command  "dir
  1865.            a:"  to be sub-run to DOS to give q uicky dir of a  diskette
  1866.            in those drives.
  1867.  
  1868.            ***  NOTE  *** for the 'A', 'H', 'L', and 'M'  commands  the
  1869.            ports are NOT shut down, etc. So monitored packets may build
  1870.            up.  These are just quick and dirty accesses to mailBox  and
  1871.            DOS to save the sysop the trouble of having to take down the
  1872.            BBS for a simple query or housekeeping chore.
  1873.  
  1874.            '!'  - closes the ports and drops to DOS. To return  to  the
  1875.            BBS  simply  type  EXIT from DOS and the BBS  will  be  back
  1876.            online.  The BBS is in RAM the whole time so you  will  have
  1877.            2-300K less RAM space to work with.
  1878.  
  1879.            '?'  - generates a menu of these commands.
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 30
  1892.  
  1893.  
  1894.  
  1895.                           System Parameter Summary                          System Parameter Summary                          System Parameter Summary                          ______ _________ _______                          ______ _________ _______                          ______ _________ _______
  1896.  
  1897.            Most  all of the systems operational parameters are  set  by
  1898.       the command line using the SETPARM command.
  1899.  
  1900.         AUTOFLOOD     ON/OFF  if set ON, flood bulletin pointer will
  1901.                               be generated immediately and automatic-
  1902.                               ly.
  1903.  
  1904.         BELL          ON/OFF  determines if bell character will  ring at
  1905.                               local console, saves sysops sanity and
  1906.                               marriage.  (does not effect CHAT bell if
  1907.                               that feature is turned ON)
  1908.  
  1909.         BULLEXPIRE    ###     if non  zero it will determine max age, in
  1910.                               days  relative  to  current  date  for  a
  1911.                               bulletin. if it has expired, it is marked
  1912.                               as status'h' - held.
  1913.  
  1914.         CHAT          ON/OFF  determines whether sysop will be paged or
  1915.                               user is told to send message immediately.
  1916.  
  1917.         FORCETYPE     ON/OFF  If ON  it will not allow un-typed message.
  1918.                               all  messages not entered as ST SB or  SP
  1919.                               will  be forced  to be either a P  or  B.
  1920.                               Useful for system where they want inter-
  1921.                               personal mail (i.e. from hamcall to  ham-
  1922.                               call to be 'public'.
  1923.  
  1924.         FORWARDKILL   ON/OFF  when ON the Textfile of message forwarded
  1925.                               out and marked for killing is erased im-
  1926.                               mediately, not waiting for COMPRESS  to
  1927.                               be run. ** WARNING ** this is an irevoca-
  1928.                               ble action, unless caught immediately,
  1929.                               even an UN-ERASE is not likely to salvage
  1930.                               a forwarded text.
  1931.  
  1932.         HOLDMAIL      ON/OFF  when ON  a series of files HOLDTO.RS,
  1933.                               HOLDFROM.RS and HOLDAT.RS  are checked
  1934.                               against the TO/FROM/AT of incoming mes-
  1935.                               sage. If a match (wildcards permitted)
  1936.                               messageis marked status 'H' - held.
  1937.  
  1938.         HOLDSYSOPMAIL ON/OFF  If ON inbound mail for the SYSOP will be
  1939.                               held regardless of @address and  no re-
  1940.                               addressing done.
  1941.         LOGGING       ON/OFF  If ON logging is activated
  1942.  
  1943.         LOGMSGSONLY   ON/OFF  If ON messageactions onl are logged
  1944.  
  1945.         LOGLOCAL      ON/OFF  If ON local console actions are logged
  1946.  
  1947.         LONGIHEADER   ON/OFF  If ON full RFC-822 header is implemented on
  1948.                               locally generated messages. If OFF, an
  1949.                               abbreviated form is used.
  1950.  
  1951.  
  1952.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 31
  1953.  
  1954.  
  1955.  
  1956.  
  1957.         LONGRHEADER   ON/OFF  If ON full "R:" header is used. If OFF, the
  1958.                               abbreviated form with date, msg# and host
  1959.                               address is used.
  1960.  
  1961.         MAXERROR      ###     set maximum number of consecutive errors
  1962.                               before disconnect. While it does serve as
  1963.                               a  TWIT filter its primary purpose is  to
  1964.                               prevent  system,  lockup due  to  'deadly
  1965.                               embrace' with another computer/node  that
  1966.                               is out of synch.
  1967.  
  1968.         MAXLIST       ###     If non zero it limits the number of Messages
  1969.                               displayed by one list command.
  1970.  
  1971.         MINDISKSIZE   ###     This number (in kilobytes) is subtracted
  1972.                               from actual disk space available to de-
  1973.                               termine space available for messages.
  1974.  
  1975.         NOBIDFLOOD    ON/OFF  This flag ON permits messages whose AT
  1976.                               field matches a  FLOOD route but has  no
  1977.                               BID to have one locally assigned.
  1978.  
  1979.         OPENLOGIN     ON/OFF  For modem and console opertaiosn if this flag
  1980.                               is set ON, new logins can be created by
  1981.                               user without sysop intervention.
  1982.  
  1983.         PONGMAX       ###     This flag set maximum times this stations'
  1984.                               "R:" header appears.  Catches 'ping-pong'
  1985.                               messages.
  1986.  
  1987.         REPLYTO       ON/OFF  If set ON the "Reply-To:" field is entered into
  1988.                               the  rfc-822 messages, its value  is  the
  1989.                               home bbs in the sysop's user record.
  1990.  
  1991.         REQFILMAX     ###     if non zero this limitsthe size of a file
  1992.                               that  may be sent out by in inbound
  1993.                               REQFIL.
  1994.  
  1995.  
  1996.            Simply typing SETPARM will get a list of all of the  parame-
  1997.       ters  and their values. Typing SETPARM and a parameter name  will
  1998.       get  the value of that parameter. Typing SETPARM  plus  parameter
  1999.       name and a value will set the value.
  2000.  
  2001.       Complete Command Summary      Complete Command Summary      Complete Command Summary      ________ _______ _______      ________ _______ _______      ________ _______ _______
  2002.  
  2003.  
  2004.            The  command structure of the BBS is uniform, operating  out
  2005.       of  a single command table. Each command has a  'privelege'  flag
  2006.       four  different value are logically ORed into this flag to  inid-
  2007.       cate  which 'state' of a user may execute that command. Notice  I
  2008.       did  not say that the user call had certain priveleges, the  user
  2009.       priveleges  dictate  what 'states, he may enter  and  the  states
  2010.       dictate what commands he may execute.
  2011.  
  2012.  
  2013.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 32
  2014.  
  2015.  
  2016.  
  2017.  
  2018.       The 'states' of the system are as follows:
  2019.  
  2020.            REMOTE  -  this  is the simple user. These  are  the  lowest
  2021.            commands  and capable of doing the least damage to the  sys-
  2022.            tem.  the  user here is also shielded from seeing  mail  and
  2023.            messages  destined for other systems or private messages  to
  2024.            other users. This cuts down significantly on channel  pollu-
  2025.            tion.
  2026.  
  2027.            SYSOP  - a person so designated may type an @  command  from
  2028.            the  REMOTE state, and the enter password (if required,  see
  2029.            section on REMOTE SYSOP passwords) and he will get a  prompt
  2030.            that looks like "Next? ", instead of the usual sysop config-
  2031.            ured  prompt. He will now have all the REMOTE commands  plus
  2032.            an additional group of SYSOP commands.
  2033.  
  2034.            LOCAL  - this the super-user mode. The God-like  power  sta-
  2035.            tion.  Generally it is the local console, but the sysop  can
  2036.            achieve  this mode from a modem login by hitting  ENTER  for
  2037.            login,  then  entering  his password. It  has  commands  not
  2038.            allowed  to the remote users. It also has all  the  commands
  2039.            that REMOTE and SYSOP have.
  2040.  
  2041.            FORWARD  -  this state is not shared by any normal  user  or
  2042.            sysop.  It is the state for system Daemon which  is  assumed
  2043.            during automated event processing.
  2044.  
  2045.            The local console will now allow another user to  login
  2046.            from  the console to read his mail, send messages,  etc.  At
  2047.            the prompt "Login:" he types his call and enters a password,
  2048.            and if its OK he is in, with the same privilege level as  if
  2049.            he came via TNC or modem. The only 'extra' he gets, is  that
  2050.            the system editor is now available to him. IF the sysop logs
  2051.            in  at console or modem with his call (rather than just  hit
  2052.            ENTER) he will come in at the low levelor REMOTE user  WITH-
  2053.            OUT his super-user powers.
  2054.  
  2055.  
  2056.            By creating the structure in this fashion  we keep any  user
  2057.       no  matter how priveleged by the system from having  an  ordinary
  2058.       sesion  as  a simple user from being cluttered  by  commands  and
  2059.       decisions  of  his  remote sysop  or  super-user  priveleges.  he
  2060.       doesn't  get  those powers and all the extra listings etc  if  he
  2061.       doesn't ask for it.
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 33
  2075.  
  2076.  
  2077.  
  2078.  
  2079.       [PRMBS-8014-150-HMR$]
  2080.  
  2081.       0033, 375 msgs>cmds
  2082.  
  2083.       Available commands:
  2084.  
  2085.         @           ?           archive     b           bye         c
  2086.         c@          c>          c<          cmds        compress    count
  2087.         cp          cr          d           da          db          del
  2088.         deluser     dir         distrib     door        dx          dy
  2089.         dz          e           e@          e<          e>          edit
  2090.         el          er          erase       event       export      eu
  2091.         file        fileinfo    finger      flood       fwd         getbbs
  2092.         getdig      getdir      getfile     getmsg      getqth      getusr
  2093.         getver      h           heard       help        home        import
  2094.         info        k           k@          k>          k<          kl
  2095.         km          kr          kt          l           l@          l>
  2096.         l<          language    list        ll          lm          lp
  2097.         lr          lt          lu          m           mail        make
  2098.         name        password    poll        pollf       port        push
  2099.         putfile     qth         r           r>          r<          read
  2100.         readnews    reply       rl          rm          rmail       rn
  2101.         s           sb          send        set         setbaud     setmsg
  2102.         setparm     sp          st          status      swap        sysmsg
  2103.         system      terminal    translate   u           ux          uxc
  2104.         uy          uz          v           v>          v<          vl
  2105.         vm          ver         view        x           zip
  2106.  
  2107.       0033, 375 msgs>x
  2108.  
  2109.            In general you could categorize commands as:
  2110.            READ - reading information from the system, messages, files,
  2111.            information help, etc,
  2112.  
  2113.            SCAN - summarized lists of contents of material to be  read,
  2114.            messages, file directories, file information, command  list,
  2115.            menu lists.
  2116.  
  2117.            ENTER  - entering information into the system. Writing  mes-
  2118.            sages, uploading files, creating remote requests, editing or
  2119.            adding  information  to a user  record,  importing  messages
  2120.            other systems via i/o port or file.
  2121.  
  2122.            EXPORT - sending messages or files to other systems via  i/o
  2123.            port or disk file
  2124.  
  2125.            REMOVE  - housekeeping, deleting files, users, killing  mes-
  2126.            sages.
  2127.  
  2128.            COMMUNICATE  -  use  of chat or terminal  mode  to  directly
  2129.            interact  with  a  user through an i/o port  and  the  local
  2130.            terminal.
  2131.  
  2132.            SYSTEM - catchall for all the little odds and ends, exiting,
  2133.  
  2134.  
  2135.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 34
  2136.  
  2137.  
  2138.  
  2139.            dropping  to  DOS going online, compressing the  mail  file,
  2140.            etc.
  2141.                         COMPUTER SYSTEM REQUIREMENTS                        COMPUTER SYSTEM REQUIREMENTS                        COMPUTER SYSTEM REQUIREMENTS                        ________ ______ ____________                        ________ ______ ____________                        ________ ______ ____________
  2142.  
  2143.                               *** NOTA BENE ***                              *** NOTA BENE ***                              *** NOTA BENE ***
  2144.  
  2145.          One  recurring problem in getting a System set up,  is  the
  2146.          fact that the standard factory setting of the TNC-2  clones
  2147.          and  derivative devices comes with the DCD line of the  RS-
  2148.          232C connector jumpered to a 'high' or always on state. If,
  2149.          in  your  ROSERVER configuration file, you  answer  yes  to
  2150.          TNC-2  like  device  and YES to DCD  available,  this  will
  2151.          result  in  the system continuously  cycling  and/or  false
  2152.          connecting  every time a packet is monitored. The  solution
  2153.          is  to  consult  your TNC manual and find  out  the  proper
  2154.          jumper setting so that the RS232 pin 8 DCD line follows the
  2155.          CONNECT state. This same proviso applies to Hayes  compati-
  2156.          ble landline modems which may be used for landline  connec-
  2157.          tion  of  ROSERVER. There are  'switches/software  settings
  2158.          that will always assert DCD or let it follow connect state.
  2159.  
  2160.  
  2161.          While  we  are on the subject of DCD, there is  the  'other
  2162.          DCD'  - the real one for that matter. There  are  basically
  2163.          two  kinds  of modems in use on TNCs one is the  EXAR  chip
  2164.          pair  and  the other is the 'modem on  a  chip'.  Baiscally
  2165.          neither  is perfectly suited to the uses to which they  are
  2166.          baing put. I iwll not get down to the fine points here  but
  2167.          I must dteail several considerations:
  2168.  
  2169.          EXAR  Pair  - less senstive but gives a true  Data  Carrier
  2170.          Detect  (DCD)  reading. It may generally be  run  with  the
  2171.          radio  squelch  wide open as white noise will  not  give  a
  2172.          false DCD.
  2173.  
  2174.          'Modem  on a chip' - such as the TI-3104/5, AMD 7910.  Much
  2175.          more  sensitive  but  uses an inappropriate  (for  AFSK  RF
  2176.          anyway) DCD ciruit and must be run with a carefully  closed
  2177.          (i.e. just barely closed) squelch or it will never transmit
  2178.          since  white noise will look the same as a valid signal.  A
  2179.          closed  squelch  will  restrict the  'sensitivity'  to  the
  2180.          squeclh setting.
  2181.  
  2182.          A  modification kit for the chip modem from TAPR,  the  so-
  2183.          called 'DCD Mod' gives true DCD to the chip types and is by
  2184.          far the most desirable setup. It permits the sensitivity of
  2185.          the  chip WITH a wide open squelch. This kit has  been  re-
  2186.          duced to a single drop in small PC board by PAC-COMM  whihc
  2187.          requires  ou to remove the modem chip, plug in  this  board
  2188.          and  then plug the modem chip into the board.(Look  ma,  no
  2189.          solderig iron!!!) They are available for about $22 (US)
  2190.  
  2191.  
  2192.            This  code is compiled to run in native 8086  machine  code,
  2193.       which  means that any 80x8x processor will handle  the  execution
  2194.  
  2195.  
  2196.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 35
  2197.  
  2198.  
  2199.  
  2200.       under MSDOS. The minimum DOS level is suggested to be MS-DOS 3.2.
  2201.       Though  3.3  with FASTOPEN is  recommended.
  2202.  
  2203.            The  absolute minimum requirements for this program  are  an
  2204.       IBM PC/PCXT Compatible MSDOS machine with 200K or RAM free  after
  2205.       DOS  is loaded and two 360K floppy drives. This will get  a  per-
  2206.       sonal  mail box up and running with a minimum for download  space
  2207.       and  message  space.  The suggested minimum  configuration  is  a
  2208.       Turbo-XT(6,8,  or 10 MHz clock speed)with a V-20 in place of  the
  2209.       8088 cpu with two 720K drives and 640K RAM. Ideally there  should
  2210.       be a hard drive of 20 Megabytes capacity minimum.
  2211.  
  2212.            Nowadays many systems run under a minimum of a 10 MHz  PC-AT
  2213.       compatible  machine  and  use EMS/EEMS memory  expansion  to  run
  2214.       DoubleDOS or Desqview with expanded memory capabilities  (meaning
  2215.       greater than 640K total windows) EEMS with an EEMS designed board
  2216.       isn't possible with every AT motherboard. Some just do not handle
  2217.       it. An alternative to this would be to get a copy of SMARTDRV.SYS
  2218.       that  comes  with Microsoft Windows and use the EMS board  for  a
  2219.       Disk cache, this will radically improve performance.
  2220.  
  2221.            Even  without  an EMS or EEMS board, a copy of  PC-CACHE  or
  2222.       LIGHTENING,  using  about 128-156K of conventional  memory,  when
  2223.       running  a  non-multi-tasking system will make  any  system,  XT,
  2224.       Turbo,  AT,  386 run reeeel smooth. Anyone  running  on  floppies
  2225.       should  not even begin to consider to running  multi-tasking  and
  2226.       should give over the memory to a disk caching program.
  2227.  
  2228.            I have at least one user running the program under  DesqView
  2229.       on  a Heath 386 machine with 3 meg RAM and QEMM.SYS. he has  four
  2230.       copies running and all seem to perform fine.
  2231.  
  2232.            Check CONFIG.SYS and make sure your setting for the  follow-
  2233.       ing are of at least these values:
  2234.  
  2235.            device=ANSI.SYS
  2236.            files = 24
  2237.            buffers = 32
  2238.  
  2239.         ***  NOTE  ***  - if you have Color available  and  run  either
  2240.       ANSI.SYS or DVANSI or whatever, make sure your PBBS.BAT file  has
  2241.       the '-c" option on the ROSERVER command line:
  2242.  
  2243.              ROSEBOOT -C CONFIG.RS             ROSEBOOT -C CONFIG.RS             ROSEBOOT -C CONFIG.RS
  2244.  
  2245.  
  2246.            A  word  about  the directory structure. First  of  all  the
  2247.       FIRSTRUN.BAT  file will set up a simple structure that assumes  a
  2248.       linear tree with all files/directories beneath the PBBS directory
  2249.       in  the tree. For the sake of this discussion lets just say  that
  2250.       your  top  directory is in which you will run the BBS  is  called
  2251.       PBBS. Then the structure might look like this;
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 36
  2258.  
  2259.  
  2260.  
  2261.  
  2262.                                ROOT
  2263.                                 |
  2264.                                 |
  2265.                        (other directories)
  2266.                                 |
  2267.                                 |
  2268.                                PBBS
  2269.                                 |
  2270.                          +-----+-+-----+
  2271.                         /     /   \     \
  2272.                        /     /     \     \
  2273.                      MAIL   SYS   USR    FILES
  2274.                                           |
  2275.                                   +------+-+-----+
  2276.                                  /      /   \     \
  2277.                                 /      /     \     \
  2278.                               AMSAT  ARRL   ARES  IBMPC
  2279.                                 |
  2280.                          +-----+-+
  2281.                         /     /   \
  2282.                        /     /     \
  2283.                      NEWS PROGS   KEPL
  2284.  
  2285.  
  2286.            Obviously,  the names and structures of the  sub-directories
  2287.       under files can vary to your individual needs, but the four  sub-
  2288.       directories  under PBBS must be there and as named. Where  packet
  2289.       exists  under ROOT is your choice. PBBS could even exist in  ROOT
  2290.       doing  away  with  a separate  sub-directory  altogether,  but  I
  2291.       heartily  recommend  against such a move; its best  to  have  the
  2292.       Packet code all under one separate directory.
  2293.  
  2294.            The  SYS  subdirectory is important since  it  will  contain
  2295.       files which are read by the BBS to perform its functions. Some of
  2296.       the filenames are cast in concrete inside the program. These are,
  2297.       for  now,  MESSAGES.RS, H_ROUTES.RS, H_LIST.RS,  REMOTREQ.RS  and
  2298.       RMAIL.RS. (these last two only if they are to be used, see  else-
  2299.       where in doc) The HELP, INFO, EVENT, CALLDIR, and PASSWORD  files
  2300.       are expected to be in this directory. All of the forwarding route
  2301.       files  (".FWD")  will also be in there.  The  alternate  language
  2302.       message  files  will  also be stored here.   The  user  translate
  2303.       (".XLT"), signature (".SGN"), and finger files (".FNG") will also
  2304.       be in a sub-directory called USR.
  2305.  
  2306.            The next aspect is the operating system. At this point I can
  2307.       only say PCDOS/MSDOS 3.31 is the OS version of choice. There were
  2308.       many  bugs  in original PCDOS 3.3 and earlier, not the  least  of
  2309.       which  was the date failing to 'roll-over' at midnight  when  the
  2310.       time  rolled over. The one DOS version that I can vouch for  that
  2311.       really works is Compaq DOS 3.31b. It will run on any DOS machine,
  2312.       not just Compaq computers. It supports large disk drives (greater
  2313.       than  32  Meg without needing a disk manager driver.
  2314.  
  2315.            Now there may be more in yours but these are needed. Instead
  2316.  
  2317.  
  2318.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 37
  2319.  
  2320.  
  2321.  
  2322.       of ANSI.SYS, you may have DBLDANSI.SYS for double dos. or none at
  2323.       all  under  DesqView (you run DVANSI in each window. If  you  are
  2324.       running  a  single copy version you may run  ANSIPAT.EXE  against
  2325.       your normal ANSI.SYS which will correct some problems  associated
  2326.       with  line 25 scrolling when using the doorway program. The  best
  2327.       solution there is to have the remote users have access to ANSIPAT
  2328.       or  a  patched copy of ANSI.SYS. I have also included a  copy  of
  2329.       ANSI.SYS called DOORANSI.SYS that I know will work with the  door
  2330.       driver and prevent the improper scrolling.
  2331.  
  2332.  
  2333.            AUTOEXEC.BAT  - it is executed next after CONFIG.SYS. In  it
  2334.       you will need to arrange things so that your Mailbox comes up and
  2335.       runs  if the power should fail and recover in your  absence.  The
  2336.       MailBox generally exits, (theoretically under your control)  with
  2337.       a  DOS ERRORLEVEL of 0. If anything is wrong it will exit with  a
  2338.       ERRORLEVEL  of 1-19. These should be taken into account when  you
  2339.       construct  your BBS.BAT file so that such errors might cause  you
  2340.       to  make backups of the MAIL and USER files and then run  ROSEFIX
  2341.       and ROSEUSER on them in an attempt to clean them up and get  back
  2342.       on  the air. Alternatively them might be used to bring in  copies
  2343.       of a 'verified USER file if the one that's in place is corrupted.
  2344.       This is not practical for mail files however.
  2345.  
  2346.            You  will need to enter two DOS environment  parameters,  TZ
  2347.       and ED, into you AUTOEXEC.BAT;
  2348.  
  2349.            SET TZ=EST4           SET TZ=EST4           SET TZ=EST4
  2350.            SET ED=your_editor           SET ED=your_editor           SET ED=your_editor
  2351.  
  2352.        ** if you want to run GMT on your RTC, then set TZ=UTC0
  2353.  
  2354.            The first, TZ, is used to allow you to run your RTC at local
  2355.       time  and still have the BBS at Zulu time. The EDT is  your  time
  2356.       zone. PST, CDT whatever. The number is the offset from your  time
  2357.       to  Zulu time. The messages entered will be time stamped  in  the
  2358.       text with local time with an appropriate indicator for time zone,
  2359.       and the message record keeping and forwarding hours etc. will  be
  2360.       done  in Zulu time. The date is correctly computed if  the  local
  2361.       time is close to 2400 and the offset puts it over.
  2362.  
  2363.            The  ED  variable  is to tell ROSERVER  what  your  external                                         ROSERVER
  2364.       editor  is, so that you can, from within message entry  from  the
  2365.       console,  or  from  the message sweeper you may  drop  into  your
  2366.       editor to do a clean job on editing / composing.
  2367.  
  2368.            *** Note - since the function in effect does a call
  2369.  
  2370.                   EDITOR filename                  EDITOR filename                  EDITOR filename
  2371.  
  2372.            If  you are using Wordstar as your editor, install  it  that
  2373.       default  mode is 'Non-document' mode, so you don't wind  up  with
  2374.       high-bit set characters in the file.
  2375.  
  2376.            In so much as Wordstar or any full blown Word Processor is a
  2377.  
  2378.  
  2379.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 38
  2380.  
  2381.  
  2382.  
  2383.       disk  and RAM pig, floppy disk versions should use EDLIN  or  NED
  2384.       (norton Editor) which is quite adequate and very conservative  on
  2385.       disk space.
  2386.  
  2387.            All  in all, the best all around editor for use  inside  RO-
  2388.       SERVER  is NED, the Norton Editor. It has many things  going  for
  2389.       it,  not  the least of which is, small (32K or  so  depending  on
  2390.       version),  with paging can handle any size file even  in  limited
  2391.       memory,  does  paragraph formatting without  Wordstar-like  hinky
  2392.       characters inserted, cheap (under a hundred dollars),  versatile,
  2393.       allows split screen tw files open, so a message being edited  can
  2394.       easily  be written out to another window or whatever. It is  used
  2395.       and loved by more ROSERVER sysops than all the other editors  put
  2396.       together.
  2397.  
  2398.            A hint here, if you are running DOS 3.3x, you will  probably
  2399.       be well advised to place into your AUTOEXEC.BAT a call to  FASTO-
  2400.       PEN.  This  is  a DOS utility which keeps track of  the  15  (you
  2401.       specify the number 10-999, I use 15) most recently accessed  file
  2402.       directory  entries  and  makes it more rapid to open  a  file  as
  2403.       lengthy  hard  drive directories do not need to  be  brute  force
  2404.       searched.  15 entries takes about 2300 bytes, memory  space  well
  2405.       spent, it really cuts down on disk thrashing.
  2406.  
  2407.            Since  the event processor will now allow you to exit  on  a
  2408.       given  cycle with a specific ERRORLEVEL you can have the  BATfile
  2409.       to do various different things in different hours.
  2410.  
  2411.            If   you  are  running  DV  or  DDOS,  execute   MBBIOS   in
  2412.       AUTOEXEC.BAT BEFORE running DV or DDOS. Then there s no reason to
  2413.       have multiple copies floating around wasting RAM!
  2414.  
  2415.       **  NOTE  **  - if you plan to use this please  reread  your  DOS
  2416.       manual  about BATfiles and Errors. They are levels, not  discrete
  2417.       values.  That is to say that when a process exits with an  ERROR-
  2418.       LEVEL of say 45 If the first statements it encounters say
  2419.  
  2420.                 IF ERRORLEVEL 50 goto thudpucker
  2421.                 IF ERRORLEVEL 32 goto turkeyloop
  2422.                 IF ERRORLEVEL 31 goto twitdumper
  2423.  
  2424.  
  2425.       It will execute the GOTO for the 32 value; 45 is greater than  or
  2426.       equal to 32!
  2427.  
  2428.       ***  NOTE  *** - do not use ERRORLEVEL valued between 0  and  20,
  2429.       they are reserved for use by the PRMBS system to indicate specif-
  2430.       ic problems. The assigned, reserved ERROR code levels are:
  2431.  
  2432.        20 - exit to DOS to DOORWAY driver
  2433.        19 - reserved
  2434.        18 - ROSEBOOT/ROSERVER - error initializing COM8
  2435.        17 - ROSEBOOT/ROSERVER - error initializing COM7
  2436.        16 - ROSEBOOT/ROSERVER - error initializing COM6
  2437.        15 - ROSEBOOT/ROSERVER - error initializing COM5
  2438.  
  2439.  
  2440.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 39
  2441.  
  2442.  
  2443.  
  2444.        14 - ROSEBOOT/ROSERVER - error initializing COM4
  2445.        13 - ROSEBOOT/ROSERVER - error initializing COM3
  2446.        12 - ROSEBOOT/ROSERVER - error initializing COM2
  2447.        11 - ROSEBOOT/ROSERVER - error initializing COM1
  2448.        10 - reserved
  2449.         9 - reserved
  2450.         8 - reserved
  2451.         7 - ROSERVER - unable to allocate required memory
  2452.         6 - ROSERVER - general i/o, locking, or MAIL file error
  2453.         5 - ROSERVER - no USER File found
  2454.         4 - ROSERVER - no MAIL file found
  2455.         3 - ROSERVER - CONFIG file time and date do not match EXE file
  2456.         2 - ROSERVER - CONFIG file not found
  2457.         1 - all      - exit from help query, or insufficient arguments
  2458.         0 - all      - normal clean exit
  2459.  
  2460.  
  2461.            I  have  included a sample PBBS.BAT file here  showing  some
  2462.       possibilities.
  2463.  
  2464.       echo off
  2465.       REM - this will bring BBS up without initializing the TNC and ports,
  2466.       REM - it assumes MBBIOS is already in place, if not it will jump to
  2467.       REM - ROSEBBOT and re-init the sequence
  2468.       c:
  2469.       cd \pbbs
  2470.       set TZ=EST5
  2471.       set ED=E
  2472.       :MAINLOOP
  2473.       roseboot -c config.rs
  2474.       IF ERRORLEVEL 100 goto END
  2475.       IF ERRORLEVEL  50 goto BACKUP
  2476.       IF ERRORLEVEL  21 goto REBOOT
  2477.       IF ERRORLEVEL  20 goto DOORS
  2478.       IF ERRORLEVEL  11 goto BOOTPBBS
  2479.       IF ERRORLEVEL   1 goto END
  2480.       REM - you may want to make this "goto END" so an X command from LOCAL CONSOLE
  2481.       REM   will take you out to DOS
  2482.       goto MAINLOOP
  2483.       :DOORS
  2484.       doorway SYS /o: /r:^x /G:ON /F: /s:c:\pbbs /A:ON /c:dos
  2485.       :BOOTPBBS
  2486.       mbbios/u
  2487.       mbbios
  2488.       roseboot -ic config.rs
  2489.       goto MAINLOOP
  2490.       REM - you may want to make this "goto END" so an X command from LOCAL CONSOLE
  2491.       REM   will take you out to DOS
  2492.       goto MAINLOOP
  2493.       :REBOOT
  2494.       boot
  2495.       REM - this has no exit, system will re-boot
  2496.       :BACKUP
  2497.       erase mailbak5.dat
  2498.       erase userbak5.dat
  2499.  
  2500.  
  2501.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 40
  2502.  
  2503.  
  2504.  
  2505.       ren ????bak4.dat ????bak5.dat
  2506.       ren ????bak3.dat ????bak4.dat
  2507.       ren ????bak2.dat ????bak3.dat
  2508.       ren ????bak1.dat ????bak2.dat
  2509.       ren ????bak0.dat ????bak1.dat
  2510.       copy mail.dat mailbak0.dat
  2511.       copy user.dat userbak0.dat
  2512.       goto MAINLOOP
  2513.       :PRMBERR
  2514.       echo MAJOR SYSTEM ERROR
  2515.       :END
  2516.  
  2517.  
  2518.        ***  WARNING  *** to put this code on the air  you will  need  a       ***  WARNING  ***       ***  WARNING  ***
  2519.       copy  of MBBIOS v3.2 or later or a copy of G8BPQ code.  ROSERVER,
  2520.       like almost all other  codes doesn INT 14 calls to do its I/O and
  2521.       depends  on  the extended services provided by  either  of  these
  2522.       programs.  It will check for their presence and terminate  abnom-
  2523.       rally  if  they are not found resident in memory. the  above  bat
  2524.       file  will loop for ever trying to load MBBIOS, so you will  need
  2525.       to  CTRL-BRK  outof  it if MBBIOS is not  present.  The  copy  of
  2526.       MBBIOS included with the RUNtime package is configured to  stand-
  2527.       ard COM1. you will need to run MBBCONFG.EXE to alter it for COM2,
  2528.       multiple ports, a custom COMport, or Quad Card. Yoy will need  to
  2529.       set  hardware handshaking ON as well. You must use a fully  wired
  2530.       cable  (8  wires minimum) from computer to TNC (all 9  wires  for
  2531.       DB-9  or 1-8, and 20 on DB-25)
  2532.  
  2533.  
  2534.            Speaking  of  ERRORs.  If the mailbox comes up  and  in  the
  2535.       course of events it detects something it does not like and  makes
  2536.       one of those ERRORLEVEL 6 exits, it does so via a routine  called
  2537.       fatal().  This routine has been modified so that in  addition  to
  2538.       displaying its displeasure with some aspect of the system  integ-
  2539.       rity  to the screen, it will also append the message to the  log-
  2540.       file.
  2541.  
  2542.            A word here to those running on floppy systems. ROSERVER  is
  2543.       rapidly  outgrowing a 2-360 Kbyte floppy setup. The  system  will
  2544.       run and what should be done here is to remove the DOOR  directory
  2545.       and all its files. And to set all of the appropriate  executables
  2546.       and  unchanging  files  like MENUs, HELPs,  config  files,  setup
  2547.       files, etc to a directory on A-drive and build the mailbox struc-
  2548.       ture  on B-drive. Do not create any sub-directories in files  and
  2549.       keep  programs like ROSEFIX, USERWORK SORTUSER, ROSEPWD on yet  a
  2550.       separate  disk, while having MAILWORK, ROSEDIST, and ROSERVER  on
  2551.       one of the working disks. For use when needed. A 2-720 Kbyte  3.5
  2552.       inch  system  can  comfortable run a system  with  some  moderate
  2553.       downloads.  At this point I would say that a single  360K  floppy
  2554.       system  is  almost  out of the question. It might  be  done  with
  2555.       partitioning a RAM disk and using a tricky boot-up procedure, but
  2556.       it would not be capable of crash-self-recovery.
  2557.  
  2558.            Please  see the later, more detailed entries  about  various
  2559.       config file and TNC setup file parameters.
  2560.  
  2561.  
  2562.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 41
  2563.  
  2564.  
  2565.  
  2566.  
  2567.            Setting  up to run under DoubleDos can be  difficult.  There
  2568.       will  be detailed text on the matter presented later, but I  will
  2569.       take the time now to discuss the considerations as applied to the
  2570.       general DOS environment.
  2571.  
  2572.            DISK SPACE. The first time you do a DIR when you boot up  or
  2573.       any program does a DIR or Diskspace DOS call, the real amount  as
  2574.       is  computed  by an actual check of space  available.  From  that
  2575.       point on, unless a CHKDSK is done diskspace determination is done
  2576.       in COMMAND.COM by 'dead reckoning', i.e. COMMAND.COM keeps  track
  2577.       of  the number of Kbytes of 'erases' and 'creates and  using  the
  2578.       base  number arrives at the number of bytes free. Since the  COM-
  2579.       MAND.COM of the root process (initial process) creates two 'sons'
  2580.       when  the partitions are spawned, each side is given  the  number
  2581.       from  'daddy'  and each goes off on its own. It takes but  a  few
  2582.       hours til 'space available' on one side will not match the other.
  2583.       The two numbers often will not have any basis in reality. Recent-
  2584.       ly  KD6TH  found his system 'crashed', out of  disk  space  after
  2585.       about  a month of unattended but very heavy operation.  Yet  when
  2586.       the system was rebooted it had 1.6 megabytes of free space. There
  2587.       is no solution except possibly running a software REBOOT  program
  2588.       in your event file, scheduled to kick off at say 1000 local  time
  2589.       which is traditionally a 'slack' period.
  2590.  
  2591.  
  2592.                TEXT FILES Which Control the Operation of PRMBS               TEXT FILES Which Control the Operation of PRMBS               TEXT FILES Which Control the Operation of PRMBS               ____ _____ _____ _______ ___ _________ __ _____               ____ _____ _____ _______ ___ _________ __ _____               ____ _____ _____ _______ ___ _________ __ _____
  2593.  
  2594.  
  2595.            There are a number of TEXT files which control operations of
  2596.       the  PRMBS / ROSERVER suite of programs. In ALL of these files  a
  2597.       line  with a '#' as the first character is treated as  a  comment
  2598.       and  ignored.  To place a line of data into the system  that  in-
  2599.       cludes  a "#" as the first character, prefix the line with a  '\'
  2600.       character . For example to place the line :
  2601.  
  2602.                 #NNY.NY DEFLT
  2603.  
  2604.       into you HROUTES.RS file youwould enter it as
  2605.  
  2606.                 \#NNY.NY
  2607.  
  2608.          A  series  of lines followed by a line with a  "***  EOF"  are
  2609.       multiple line inputs to some data request.
  2610.  
  2611.            I chose to have text files control as much of the  operation
  2612.       of  PRMBS  as possible so tha the sysop could  easily  alter  and
  2613.       modify  the  operation of the system  and  troubleshoot  failures
  2614.       without having to have a detailed hackers knowledge of the system
  2615.       or  resort to fancy Norton Disk editor programs to clear and  set
  2616.       flag  bits. All permissions and routings are done in ASCII  text.
  2617.       Admittedly  it slows things down a bit but the system  runs  much
  2618.       quicker than many other codes so it balances out.
  2619.  
  2620.       PRMBS  CONFIGURATION  File      PRMBS  CONFIGURATION  File      PRMBS  CONFIGURATION  File
  2621.  
  2622.  
  2623.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 42
  2624.  
  2625.  
  2626.  
  2627.  
  2628.            The PRMBS configuration file has a version and date stamp on
  2629.       the  first line of the file. This is checked against  the  versio
  2630.       and date of the ROSEBOOT and ROSERVER programs and will cause  an
  2631.       abnormal exit with ERRORLEVEL = 3 if it does not match. generally
  2632.       the  changes from version to version that affect the CONFIG  file
  2633.       will be small enough tha you may simply edit the file, but always
  2634.       make  sure  to  alter the version and date.  This  helps  prevent
  2635.       catastrophic  happenings  from using old config files  under  new
  2636.       code.
  2637.  
  2638.            The  configuration  file is in two parts, the first  is  the
  2639.       port  configurations, the second the Mailbox  configuration.  The
  2640.       Port configurations starts each port with a line that reads like:
  2641.  
  2642.            PORT L CE 15 15 0 0000           PORT L CE 15 15 0 0000           PORT L CE 15 15 0 0000
  2643.                  or
  2644.            PORT A TH 5 15 2 4800           PORT A TH 5 15 2 4800           PORT A TH 5 15 2 4800
  2645.                  or
  2646.            PORT B MEH 5 15 3 1200           PORT B MEH 5 15 3 1200           PORT B MEH 5 15 3 1200
  2647.  
  2648.  
  2649.         PORT A TH 7 15 2 4800
  2650.          |   | |  | |  |  |
  2651.          |   | |  | |  |  +----- port baudrate
  2652.          |   | |  | |  +-------- max # of digipeters permitted
  2653.          |   | |  | +----------- # of lines in heard list
  2654.          |   | |  +------------- # of minutes for port timeout
  2655.          |   | +---------------- port descriptors
  2656.          |   +------------------ port letter designator
  2657.          +---------------------- start of port definition
  2658.  
  2659.                       Port DESCRIPTOR type bits.
  2660.         B  P_BBS      BBS only
  2661.         C  P_CONSOLE  The local machine console
  2662.         E  P_ECHO     Need to echo input
  2663.         F  P_FILE     File transfers ok (N.I.)
  2664.         H  P_HAMCAL   Hamcall only allowed
  2665.         M  P_MDM      Serial to landline modem, this letter must be
  2666.                       followed by an H, for Hayes modem, the only type
  2667.                       currently, recognized
  2668.         O  P_OSRVCAL  MARS/CAP calls only
  2669.         Q  P_BPQ      Port is a G8BPQ - PC Node port
  2670.         R  P_REG      Port is users in log only
  2671.         T  P_TNC      Is a tnc, TAPR commands
  2672.  
  2673.            This  line  defines the characteristics for  the  port.  The
  2674.       first letter is the port designation. The letter is not  'option-
  2675.       al'  it  corresponds  (in the DOS environment) to  the  COM  port
  2676.       location   A  = COM1, B=COM2 ..... D=COM4 , etc. Its good  up  to
  2677.       COM6 (COM3-6 can be accessed with the MS-400 board, COM3 and COM4
  2678.       can  be gotten with simple addon serial cards). 'L' is  used  for
  2679.       the  Local Console port ID. The LOCAL CONSOLE port must  be  port
  2680.       'L'  many determinations are made in code about what  is  allowed
  2681.       and what isn't based on the machine console being L.
  2682.  
  2683.  
  2684.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 43
  2685.  
  2686.  
  2687.  
  2688.  
  2689.            The  suggested  baudrate is 4800 a rate which  is  supported
  2690.       quite  well by most TNCs. I recommend that the  highest  baudrate
  2691.       that your TNC reliably works at will allow maximum performance by
  2692.       the PRMBS/MBBIOS combination. The TNC2's generally are not  reli-
  2693.       able  at 9600 due to the slew rates of the LM324 op amps used  as
  2694.       RS232  drivers. If you replace hem with  TIL084's you may e  able
  2695.       to use 9600 on a TNC2. I run my PK-87's at 9600 and several newer
  2696.       TNCs  support 19.2 Kbd. The rational is simple, the less time  it
  2697.       takes to send to the TNC and get from the TNC the more time there
  2698.       is for processing!
  2699.  
  2700.            The 'Q' - G8BPQ type port designator achieves one result  at
  2701.       the  moment,  if the user types a <B>ye on that port  instead  of
  2702.       generating a disconnect to the user, the BBS gets  'disconnected'
  2703.       from  the  Node. the BBS goes back on line, and the User  gets  a
  2704.       "Return  to Node XXX:W1XXX" message and is back in the main  node
  2705.       of the PCNode software. this is regardless of whether he orginal-
  2706.       ly  connected to the BBS NodeAlias or the Node and typed  a  BBSx
  2707.       command.
  2708.  
  2709.            The following are the table patterns for valid Hamcalls  and
  2710.       valid other service call patterns:
  2711.  
  2712.               "anaa",         /* k1bc    */
  2713.               "aana",         /* nn2z    */
  2714.               "anaaa",        /* w0rli   */
  2715.               "aanaa",        /* kd6sq   */
  2716.               "aanaaa",       /* ka2bqe  */
  2717.               "ana",          /* a6v     */
  2718.               "nana",         /* 4u1u    */
  2719.               "nanaa",        /* 4u1ua   */
  2720.               "annaa",        /* w84og   */
  2721.               "aanna",        /* wz84x   */
  2722.               "nanaaa",       /* 4u1itu  */
  2723.               "annaaa",       /* w84ogx  */
  2724.               "aannaa",       /* wz84og  */
  2725.  
  2726.               "aan"   ,       /* CAP zz1              */
  2727.               "aann"  ,       /* CAP zz11             */
  2728.               "aannn" ,       /* CAP zz111            */
  2729.               "aaannn",       /* CAP */
  2730.               "aaanaa",       /* MARS calls  afa1ac   */
  2731.               "aaann" ,       /* MARS calls  afa12    */
  2732.               "aaana" ,       /* MARS calls  afb2c    */
  2733.               "nna"   ,       /* Coast Guard Aux  10A */
  2734.               "nnaa"  ,       /* Coast Guard Aux  10AB*/
  2735.  
  2736.  
  2737.            Individual port configurations are ended by a "ENDPORT", and
  2738.       the last port structure is followed by a "*** EOF".
  2739.  
  2740.            By  reading  the  comment lines in the  sample  CONFIG  file
  2741.       presented you will understand what is desired in each line. These
  2742.       files are highly positional!!!! Be careful of deleting or leaving
  2743.  
  2744.  
  2745.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 44
  2746.  
  2747.  
  2748.  
  2749.       out lines!
  2750.  
  2751.           You  may  wish to have several files configured  for  various
  2752.       actions and have them invoked, taking advantage of specifying  an
  2753.       alternate  config files via the command line. Please examine  the
  2754.       samples  included and notice the file named CONFIG.CON.  It  con-
  2755.       tains  a file with only the console configured. This permits  the
  2756.       sysop to bring up PRMBS without accessing a port and do work  on,
  2757.       without  having  to wait for TNC setups. It also permits  a  user
  2758.       with  DoubleDOS but only one RF port to work on the  BBS  without
  2759.       shutting it down on the RF active side
  2760.  
  2761.            Several  places in the port configurations there  are  calls
  2762.       for strings to be sent to the TNC or Modem. These are set up  for
  2763.       mutliple  line  entry, that is to say each of these  passages  is
  2764.       terminated by a line "*** EOF" signifying no more entry. Each  of
  2765.       these passages may have up to 2000 characters (counting CR-LF  as
  2766.       one  character) in them. I caution you that getting carried  away
  2767.       with  what goes in these will cost you memory space reducing  the
  2768.       functionality of the system in a multi-user environment that does
  2769.       not have expanded memory hardware capabilities.
  2770.  
  2771.            I  have  included several sample files for  different  TNCs,
  2772.       they  have been labeled TNC1.SET, TNC2.SET,  KAM.SET,  PK232.SET,
  2773.       PK87.SET, etc. Uisng an editor these files may be yanked into the
  2774.       CONFIG  file in the section for initialization or going on  line,
  2775.       etc.
  2776.  
  2777.            I have included several sample config files. These are:
  2778.  
  2779.         CONFIG.RS  - sample config file with CONSOLE and TNC2 on COM1
  2780.         CONFIG.CON - CONSOLE only
  2781.         CONFIG.MDM - CONSOLE, TNC2 on COM1, and Landline Modem on COM2
  2782.  
  2783.         CONFIG.BPA - sample setups for use with G8BPQ PC-Node
  2784.         CONFIG.BPB   under DDOS,  2 copiess, multi-connect
  2785.  
  2786.            Domains  names - PLEASE enter your domains, no  matter  what
  2787.       they are to:
  2788.  
  2789.          hamcall.region.state.country.continent   9region is optional)
  2790.          (ex:   ka2bqe.#nwvt.vt.usa.na )
  2791.  
  2792.            On  the  tail end of the CONFIG file is  a  section  labeled
  2793.       "AUTO-EVENT".  This is where you may place a series of  commands,
  2794.       usually  BBS operational parameter settings to be  executed  upon
  2795.       startup to set the operational posture of the system.
  2796.  
  2797.  
  2798.  
  2799.       MESSAGES.RS:  contains nearly every string that a user will  ever      MESSAGES.RS      MESSAGES.RS
  2800.       see  and it may be customized and/or translated to  another  lan-
  2801.       guage.   There are a few notes below on some not so  obvious  as-
  2802.       pects  of the file and its messages. A line in MESSAGES  consists
  2803.       of  a  3 digit zero filled number a space and  the  message.  The
  2804.  
  2805.  
  2806.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 45
  2807.  
  2808.  
  2809.  
  2810.       TOKENS listed in the appendices here apply. That is to say inter-
  2811.       nal  variable  values can be displayed by calling a TOKEN.  If  a
  2812.       line  needs to be more than one line an '&' at the  beginning  of
  2813.       subsequent lines will bring the additional lines in.
  2814.  
  2815.         When  the system goes back online a Beacon is  sent  indicating
  2816.       that  there is no mail outstanding or that mail is available  for
  2817.       certain people. In the sample MESSAGES file find the two messages
  2818.       labeled  "Mail for:" and "No Unread mail!". These strings may  be
  2819.       altered  to  suit  you taste, If you place a  "BT  "   (note  the
  2820.       space!) as the first 3 characters of the string it will go out as
  2821.       a  Beacon  Text  replacement. If not present it goes  out  as  an
  2822.       UNPROTO UI frame packet. AS beacon TEXT it goes out  periodically
  2823.       timing handled by TNC. Not, it is a once only shot. the latter is
  2824.       suggested to cut down on spectrum pollution. The only calls to be
  2825.       in  this banner will be stations with mail addressed to  them  on
  2826.       that  bbs and unread by recipient. NTS or MARS type traffic  will
  2827.       show  only  if the TO field of the T type  message  contains  all
  2828.       numerics  and  if the CONFIG file parameter has been  turned  on.
  2829.       There  is  also a CONFIG parameter for each TNC type  port  which
  2830.       determines  if any BEACON or UI is sent all for "Mail for:".  One
  2831.       would probably turn it off (say NO for Mail forwarding ports).
  2832.  
  2833.       *** NOTE *** do not put the letters NO as the first to characters
  2834.       of  a  BT command - it turns beacons off even if  there  is  more
  2835.       text.
  2836.  
  2837.            There  also  may be alternate language message  files.  They
  2838.       will be named MESSAGES.x where 'x' is a single character that may
  2839.       be  selected by the user (or SYSOP editing that user) which  will
  2840.       be recorded in the user profile and used to select the file. That
  2841.       way  the BBS may have a default MESSAGES.RS in English  and  have
  2842.       French,  Spanish, and/or German alternates named  MESSAGES.F  and
  2843.       MESSAGES.S  or  MESSAGES.G. Anytime a language file  is  selected
  2844.       that does not exist, the system uses MESSAGES.RS as a default.
  2845.  
  2846.       TRANSLAT.RS and H_LIST.RS: it is used to provide COMPLETE address      TRANSLAT.RS and H_LIST.RS      TRANSLAT.RS and H_LIST.RS
  2847.       translation. There are two steps to the translation. First  there
  2848.       is  a possible USER Translate file in the form of   W1XXX.XLT  in
  2849.       the FWD directory. Second is the system translate file. The  user
  2850.       file is chaekced for and used if resent and then the system  file
  2851.       works  on it, in other words it is the 'final word'  on  transla-
  2852.       tion.  This system provides for users to have their own  list  of
  2853.       shorthand notations for certain addresses. The files will look as
  2854.       follows;
  2855.  
  2856.            A USER file might be:
  2857.  
  2858.            dad wx1xxx@wx4yyy.fl.usa
  2859.            joe wb2mic@wb2mic.vt.usa
  2860.            brianv ka2bqe@n1gmu.vt.usa
  2861.            briann ka2bqe@wb2mnf.nj.usa
  2862.  
  2863.            The system file might be:
  2864.  
  2865.  
  2866.  
  2867.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 46
  2868.  
  2869.  
  2870.  
  2871.          from address  to address
  2872.        -----------------------------
  2873.          n4hy@*       n4hy@kb1bd    (n4hy with any bbs to kb1bd)
  2874.          081*         *@wb2mnf      (any pattern 081* to mnf )
  2875.          082*         *@wb2mnf           "
  2876.          083*         *@wb2mnf           "
  2877.          081*@*       *@wb2mnf      (any 081* with BBS field entered)
  2878.          082*@*       *@wb2mnf           "
  2879.          083*@*       *@wb2mnf           "
  2880.          PRMBS@WB2MIC PRMBS@VTDIST       "
  2881.          wb2hvf       afa1na@afa1na mail for HVF on K2ADJ goes to HVF's
  2882.                                     MARS call and out on the MARS side
  2883.  
  2884.  
  2885.           Remember as soon as a match is found the search stops. So  if
  2886.       you have a special case within a broad group that is to translate
  2887.       different  you  must put it in the file before than  the  general
  2888.       case.  Remember  also that with hierarchical addressing  you  may
  2889.       need to append a * to a call;
  2890.  
  2891.          ka2bqe@wb2mnf* ka2bqe@n1gmu.vt.usa
  2892.  
  2893.            The  'address'  consists of a 'call' or 'call@bbs'  with  no
  2894.       whitespace.  They must be separated by one space at least.  There
  2895.       is no reason to use more than once space, but you can for ease of
  2896.       viewing the file.
  2897.  
  2898.            Further, at the tail end of the 'translation' the @bbs field
  2899.       is  checked  for the presence of a "." indicating  some  kind  of
  2900.       hierarchical  routing designator. If none exists. The @BBS  field
  2901.       is  run through a file called H_LIST.RS and the full  address  to
  2902.       path  to  that  BBS. This file H_LIST.RS  may  be  produced  from
  2903.       RSSTATES.EXE from the W9ZRX list and/or hand edited.
  2904.  
  2905.            If  you should make changes in the translate files for  cer-
  2906.       tain  addressees, there are global translate commands which  will
  2907.       subject  the entire mail file, ranges or groups of  messages,  or
  2908.       single messages to re-translation. See the detailed  explanations
  2909.       of the TRANSLATE command and the X option in the mail sweeper.
  2910.  
  2911.  
  2912.         THIS IS A POWERFUL TOOL ... USE IT WISELY!!!!!!!!!!!!!!!!
  2913.  
  2914.  
  2915.       HROUTES.RS: This file contains the various hierarchical paths  as      HROUTES.RS      HROUTES.RS
  2916.       they  pertain to thee BBS and assigns generalized route names  to
  2917.       them. Most entries would be 'DEFLT' or some such but there  would
  2918.       be a variety of entries for systems closer by in widely different
  2919.       directions. See HROUTEing section for more detail.
  2920.  
  2921.            First, a small review of the concepts of forwarding. Regard-
  2922.       less  of what BBS code you are running and the fine mechanics  of
  2923.       how each moves the mail, the broad concept of mail forwarding  is
  2924.       one  of 'vectors'. That is to say that given the  destination  of
  2925.       any piece of mail it is going to move a long a given 'vector'  to
  2926.  
  2927.  
  2928.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 47
  2929.  
  2930.  
  2931.  
  2932.       that destination. That vector would most logically be referred to
  2933.       by  a compass direction. Given the location of any BBS the  sysop
  2934.       can then sit down and most likely be able to break his forwarding
  2935.       up  into the simple vectors of mail for NORTH, SOUTH,  EAST,  and
  2936.       WEST.  Many  will need to add one or more of the  vectors  NWEST,
  2937.       SWEST,  NEAST and SEAST to this. 90% of the mail handled  by  any
  2938.       station  will fall into these categories. BUt then we  have  mail
  2939.       which  'skips' over via some HF path or something. Like  for  in-
  2940.       stance  from  the East Coast we would send mail  to  the  Pacific
  2941.       coast  state  of  Oregon via a given route,  BUT  we  might  know
  2942.       through experience that Eastern Oregon is more efficiently acces-
  2943.       sible  via a different route, so that when we set up  tables  for
  2944.       Oregon  we might use the first route for Oregon in general if  we
  2945.       know  nothing more about the BBS, and add region  identifiers  to
  2946.       get  the coast or the interior or even specifically identify  one
  2947.       or more BBSes in OR for the alternate route.  You can expand this
  2948.       logic  to  apply to European or Asiatic  Countries,  particularly
  2949.       Asia where  you can route through Europe or through the Pacific.
  2950.  
  2951.            With  this  in mind lets look at a small  sample  HROUTES.RS
  2952.       file.  First  we must look at some entries in  the  CONFIG  file.
  2953.       These  lines  are editing parameters for  HROUTE  parsing.  These
  2954.       strings,  down to its primitive in reference to your  locale.  In
  2955.       otherwords  any H-routing information that matches your own,  ex-
  2956.       plicitly  will be removed. If your address is  KX1XXX.VT.USA  the
  2957.       mail  coming  into your station for N1GMU.VT.USA.NA will  be  re-
  2958.       duced, for parsing purposes to N1GMU. On the other hand a message
  2959.       addressed  VE3XXX.ON.CAN.NA  will  remain  as  such.   Additional
  2960.       strings  are also checked for the common variants  of  addressing
  2961.       currently used (the ISO addressing  HAMRADIO.ORG.ISO, the  TCP/IP
  2962.       domain  AMPR.ORG,  and  the W0RLI/VE3GYQ  stuff  with  continents
  2963.       USA.NA etc. It is important that the listing order in the  CONFIG
  2964.       file proceed from MOST EXPLICIT doewn to LEAST EXPLICIT as  shown
  2965.       below  in the sample. The primary variants to be changed here  by
  2966.       each SYSOP would be, of course, the NJ, USA, and NA, substituting
  2967.       the appropritae values for their locale. Please keep in mind that
  2968.       this  'stripping'  is  for  parsing  purposes,  the   information
  2969.       'stripped' is not lost it is stored and is passed on.
  2970.  
  2971.       #---------------------------------------------------------------------------
  2972.       excerpt from CONFIG file showing my 'edit routes'
  2973.       #---------------------------------------------------------------------------
  2974.       \#NWVT.VT.USA.NOAM
  2975.       \#NWVT.VT.USA.NA
  2976.       \#NWVT.VT.USA
  2977.       \#NWVT.VT
  2978.       \#NWVT
  2979.       VT.USA.NOAM
  2980.       VT.USA.NA
  2981.       VT.USA
  2982.       VT
  2983.       USA.NOAM
  2984.       USA.NA
  2985.       USA
  2986.       NOAM
  2987.  
  2988.  
  2989.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 48
  2990.  
  2991.  
  2992.  
  2993.       NA
  2994.       AMPR.ORG
  2995.       *** EOF
  2996.       #---------------------------------------------------------------------------
  2997.        FILE: HROUTES.RS
  2998.  
  2999.       # LOCAL Routing Information, based upon a NorthWestern Vermont  (NWVT)locale.
  3000.       # It has a few sub-region routes (SWVT,CVT,SEVT,NEVT) and explicit calls. These
  3001.       # should be local only and they have no routing
  3002.       \#SWVT KA1NZA
  3003.       \#CVT N1BRT
  3004.       \#SEVT N1BRT
  3005.       \#NEVT N1BRT
  3006.       NTSVT N1BRT
  3007.       WA2SPL WA2SPL
  3008.       N1GMU N1GMU
  3009.       W1KOO W1KOO
  3010.       KA2UZC KA2UZC
  3011.       WB2MIC KA1NZA
  3012.       KA1NZA KA1NZA
  3013.       # Continents in general
  3014.       OC DEFLT
  3015.       SA DEFLT
  3016.       EU DEFLT
  3017.       AU DEFLT
  3018.       AF DEFLT
  3019.       AS DEFLT
  3020.       AN DEFLT
  3021.       #USA - States and territories
  3022.       AK DEFLT
  3023.       AL DEFLT
  3024.       AR DEFLT
  3025.       AZ DEFLT
  3026.       CA DEFLT
  3027.       CO DEFLT
  3028.       CT NEBBS
  3029.       DE MIDLAN
  3030.       FL DEFLT
  3031.       GA DEFLT
  3032.       HI DEFLT
  3033.       IA DEFLT
  3034.       ID DEFLT
  3035.       IL DEFLT
  3036.       IN DEFLT
  3037.       KS DEFLT
  3038.       KY DEFLT
  3039.       LA DEFLT
  3040.       MA NEBBS
  3041.       MB DEFLT
  3042.       MD MIDLAN
  3043.       ME NEBBS
  3044.       MI DEFLT
  3045.       MN DEFLT
  3046.       MO DEFLT
  3047.       MS DEFLT
  3048.  
  3049.  
  3050.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 49
  3051.  
  3052.  
  3053.  
  3054.       MT DEFLT
  3055.       NC DEFLT
  3056.       ND DEFLT
  3057.       NE DEFLT
  3058.       NH NEBBS
  3059.       NJ MIDLAN
  3060.       NM DEFLT
  3061.       NV DEFLT
  3062.       # Note here that the Hierarchy is TOP DOWN - NY the NNY then BBS in NNY
  3063.       # Basically I connect direct across Lake Champlain to KD2AJ so I name him
  3064.       # explicitly. The NNY region goes to my default route to the main Mail BBS here
  3065.       # in NWVT, and NY in general, outside of NNY is MIDdle AtLANtic routing
  3066.       # I placed in the KD2AJ.NY in just in case mail came in without the NNY.
  3067.       #look alittlelower and see a similar example with two nearby Canadian Stations
  3068.       NY MIDLAN
  3069.       KD2AJ.NY KD2AJ
  3070.       \#NNY.NY DEFLT
  3071.       KD2AJ.#NNY.NY KD2AJ
  3072.       OH DEFLT
  3073.       OK DEFLT
  3074.       OR DEFLT
  3075.       PA MIDLAN
  3076.       PR DEFLT
  3077.       RI NEBBS
  3078.       SC DEFLT
  3079.       SD DEFLT
  3080.       TN DEFLT
  3081.       TX DEFLT
  3082.       UT DEFLT
  3083.       VA DEFLT
  3084.       VI DEFLT
  3085.       #VT - dats my state!
  3086.       WA DEFLT
  3087.       WI DEFLT
  3088.       WV DEFLT
  3089.       WY DEFLT
  3090.       # Canada - Provinces and territories
  3091.       CAN DEFLT
  3092.       AB.CAN DEFLT
  3093.       BC.CAN DEFLT
  3094.       MB.CAN DEFLT
  3095.       NB.CAN QUEBEC
  3096.       NS.CAN QUEBEC
  3097.       ON.CAN QUEBEC
  3098.       PE.CAN DEFLT
  3099.       PQ.CAN QUEBEC
  3100.       VE2FKB.PQ.CAN VE2FKB
  3101.       VE2CSC.PQ.CAN VE2CSC
  3102.       SK.CAN DEFLT
  3103.  
  3104.  
  3105.       **** ROUTE NAMES are Limited to 6 characters *****
  3106.  
  3107.            Now  the ROSERVER/PRMBS forwarding works as follows; When  a
  3108.       message  is  saved, the last thing that is  done,(if  its  edited
  3109.  
  3110.  
  3111.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 50
  3112.  
  3113.  
  3114.  
  3115.       also, you should use the 'X' (retranslate) option to  retranslate
  3116.       and  reroute) is to find the route. This information is saved  in
  3117.       the  MAIL.DAT header record for the message. IF no @BBS has  been
  3118.       entered  and  the  TRANSLAT file has not entered a  BBS  then  no
  3119.       route  is saved either. When forwarding cycles are initiated  the
  3120.       message will not be forwarded if no route is present. In  essence
  3121.       all  that  has been done is to remove  the  forwarding  selection
  3122.       criteria  from the @BBS field to the ROUTE field. Since ROUTE  is
  3123.       more  generalized and there are far fewer ROUTES the  tables  and
  3124.       the associated housekeeping are now much simpler.
  3125.  
  3126.               Actual  outbound  forwarding will now use  the  following
  3127.       criteria for selecting messages to go to a given station. If,  by
  3128.       way of example you connect for purposes of forwarding to  station
  3129.       W1XXX , any message with status 'N' will be forwarded that  meets
  3130.       one of the following four criteria.
  3131.  
  3132.          1) the addressee (TO) is W1XXX
  3133.          2) the route field is W1XXX
  3134.          3) the route field matches one of the routes in the file
  3135.             W1XXX.FWD or routes speicified on the fwd (or swap or
  3136.             poll) command line.
  3137.          4) a flood bulletin ('$') and route  is W1XXX.
  3138.  
  3139.            The flood bulletin scheme has been simplified, now when  the
  3140.       'flood'  action produces additional pointer to various BBSes  for
  3141.       distribution,  the ROUTE field, gets that BBSes call.  When  for-
  3142.       warding to that station, the '$' indicator is noted and the  sta-
  3143.       tion  connected  to is checked against the route,  ONLY  if  they
  3144.       match will the flood bulletin be sent.
  3145.  
  3146.            This  scheme is fully compatible with the forwarding via  H-
  3147.       addressing/routing of the W0RLI, 'sort of'! What do I mean  'sort
  3148.       of'?  That's a good question. The addresses pass  freely  between
  3149.       systems and the forwarding works just fine, BUT the W0RLI systems
  3150.       parse  the H-route address from LEFT-to-RIGHT, so if you do  your
  3151.       level best to send a message in the right direction, and you  use
  3152.       the information the originator of the message gave you, it  could
  3153.       get  to  an  RLI system and be launched in  the  wrong  direction
  3154.       because the RLI system had an old ZRX list. Let me give an  exam-
  3155.       ple:
  3156.  
  3157.            WB2YZS,   in   southern  NJ  sends  KA2BQE  a   message   at
  3158.       KA2BQE.VT.USA.NA. It gets taken of just fine and launched on  its
  3159.       way. It arrives at WA2UMX in Saratoga Springs NY, an RLI  system.
  3160.       Now  lets say that the SYSOPP at UMX doesn't know that KA2BQE  is
  3161.       now living in VT, so regardless of the VT in the address he ships
  3162.       it   back   south  again  thinking  that  KA2BQE  is   still   in
  3163.       SNJ.NJ.USA.NA ! The problem with their system is that they do not
  3164.       allow the sender to exercise his superior knowledge!
  3165.  
  3166.            Another example. KA2BQE also has a traveling BBS when he  is
  3167.       in  NJ. If people send messages to him at KA2BQE.NJ.USA.NA or  to
  3168.       him  at KA2BQE.VT.USA.NA they will when passing through RLI  sys-
  3169.       tems all get sent towards either NJ or VT depending upon how  up-
  3170.  
  3171.  
  3172.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 51
  3173.  
  3174.  
  3175.  
  3176.       to-date  or out-of-date the systems are about KA2BQE  BBS  where-
  3177.       abouts are. It is because of this garbage, that I cannot get  any
  3178.       mail sent to me when I spend more than 8 days or so in NJ because
  3179.       the non-PRMBS systems cannot route it right!!!!! The only way  it
  3180.       can  be done is to send it to KA2BQE@WB2MNF.NJ.USA.NA and I  make
  3181.       sure it gets held there!!!
  3182.  
  3183.            Another example, some mail has come through going to France,
  3184.       addressed   MA.FRA.EU - using this ,left to right system it  gets
  3185.       routed to Massachussetts rtaher than Europe!
  3186.  
  3187.        BULLETIN  distribution works with this by any  inbound  bulletin
  3188.       with  an @BBS field that matches an established FLOOD route  will
  3189.       be expamded based upon that route. The bulletin flood route  will
  3190.       stay  in the @BBS field and the system to which it goes  will  be
  3191.       placed  in the ROUTE field. As before, the bulletin may  only  be
  3192.       delivered to the system by direct connect, no 'relaying' is done.
  3193.  
  3194.  
  3195.       MSG_BID.RS:  This file contains the BIDs from incoming  messages.      MSG_BID.RS      MSG_BID.RS
  3196.       They are in the form:
  3197.  
  3198.            12345_KA2BQE 891025
  3199.  
  3200.       The  date is used for list management. It is suggested  to  NEVER
  3201.       edit  this file with a conventional editor, The appending of  the
  3202.       ctrl-Z  character by some editor screws up the file. The  program
  3203.       constanly  appends  BIDs  to the file and the  ctrl-Z  hides  the
  3204.       subsequent BIDs from being verified. Use the program RSBIDMGR.EXE
  3205.       to trim the file of old BIDS.
  3206.        (**  the ctrl-Z problem has been fixed mostly BUT -  be  careful
  3207.       what editor you use - some append  several ctrl-Zs ; the Micros-
  3208.       oft  C handles a single one, but RSBIDMGR will take care of  most
  3209.       of your needs)
  3210.  
  3211.       REJ_SUBJ.RS: This file, if present, is the basis for a system  to      REJ_SUBJ.RS      REJ_SUBJ.RS
  3212.       REJECT  certain BID message subjects. The current convention  has
  3213.       been  to use the TO field to denote generalized  subject  matter;
  3214.       4SALE, WANTED, HELP, ATARI, etc. Additionally, in BIDded  message
  3215.       exchange the ID is sent and an OK or NO is expected in return. he
  3216.       system here will allow a list of 'rejected' topics to be  scanned
  3217.       and if a match is found the message "NO - REJECTED Topic" is sent
  3218.       and the other system treats it is if you told them it was a  DUPE
  3219.       and marks you off the distribution for that message. Care MUST be
  3220.       used in implementing this if your system is positioned such  that
  3221.       other system depend on you for bulletins, on the othe heand  this
  3222.       is  perfect for LOCAL LAN BBSes whihc are at the end of the  dis-
  3223.       tribution. The entries in the file are simple one line 6  charac-
  3224.       ter maximum subjects (case insensitive).
  3225.  
  3226.       CALLDIR.RS:      CALLDIR.RS      CALLDIR.RS
  3227.            The  system supports scripted connections for NETROM,  ROSE,
  3228.       FO-12,   UNIX systems, whatever your heart desires. Print  out  a
  3229.       copy of the CALLDIR file included with the code and looking at it
  3230.       you will see certain symbols, the are as follows;
  3231.  
  3232.  
  3233.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 52
  3234.  
  3235.  
  3236.  
  3237.  
  3238.            > - start of script, followed by a number or letter to refer
  3239.                to the script, and a space then a CALL, with NO SSID!
  3240.            @ - this is the Level 2 connection definition. It is the
  3241.                initial string issued as a "C' plus whatevr follows the
  3242.                '@'.
  3243.            ! - timeout designator. this allows you to discretely set
  3244.                the length of time before giving up, may be placed on
  3245.                a line before the '@' even. Its numbers are in units
  3246.                of seconds.
  3247.            + - the 'make string' presence of this string will signify
  3248.                success in that stage and pass you to next
  3249.            ? - the 'break' string, its presence indicates failure and
  3250.                result in connection being broken down.
  3251.  
  3252.            ** NOTE ** both the e '?' and '+' are case sensitive
  3253.  
  3254.            . - this is the 'send string' everything that follows is
  3255.                sent as is.
  3256.  
  3257.            &## - this allows you to 'eat' lines. If the text from some
  3258.                system being connected to would confuse the script you
  3259.                can tell the script processor to blindly eat some number
  3260.                of lines.
  3261.            %O - open a capture buffer under this name. permits scripts
  3262.                to be written to connect to, do some action, and record
  3263.                all of the results to a file.
  3264.  
  3265.            ^  - forces the TNC to "cmd:" mode and sends a command
  3266.                string(for use , see example)
  3267.  
  3268.            $#-# - is used to connect to a G8BPQ PC-Node. Once you are
  3269.               connected to the node a string this command will issue
  3270.               BBSx commands til it runs out or gets a connect "$2-4"
  3271.               will issue BBS2, BBS3, BBS4.
  3272.  
  3273.  
  3274.          The whole script is subject to the following limitations;
  3275.  
  3276.         - 16 lines of script
  3277.         - 512 total bytes of script regardless of number of lines.
  3278.  
  3279.          The  script  buffer is 'cleaned' at the start  of  each  forwarding
  3280.          unit.
  3281.  
  3282.  
  3283.         EXAMPLES        EXAMPLES        EXAMPLES
  3284.  
  3285.         1.) In the next case we have NETROM forwarding, showing  multi-
  3286.         ple  connection paths - One could connect directly to  the  far
  3287.         end,  but  with  the congestion on NETROM  145.01  these  days,
  3288.         stepwise progression is advisable, also use calls not 'ID;'s to
  3289.         make  sure you can get through just in case they aren't in  the
  3290.         table  but can hear you. Notice the strings carry through,  the
  3291.         'make',  'fail'  and  'time-out's stay what  they  were  unless
  3292.  
  3293.  
  3294.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 53
  3295.  
  3296.  
  3297.  
  3298.         changed.
  3299.  
  3300.            >1 W3IWI           >1 W3IWI           >1 W3IWI
  3301.            !60           !60           !60
  3302.            @WB2DRD-1           @WB2DRD-1           @WB2DRD-1
  3303.            +to           +to           +to
  3304.            ?*           ?*           ?*
  3305.            !150           !150           !150
  3306.            .C WB4APR-6           .C WB4APR-6           .C WB4APR-6
  3307.            !200           !200           !200
  3308.            .C UMD           .C UMD           .C UMD
  3309.            !120           !120           !120
  3310.            .C WB6FFV-6           .C WB6FFV-6           .C WB6FFV-6
  3311.            .C SFO           .C SFO           .C SFO
  3312.            .C W0RLI           .C W0RLI           .C W0RLI
  3313.            *** EOF           *** EOF           *** EOF
  3314.  
  3315.  
  3316.         ***  NOTE  *** NETROM has one deficiency from  an  applications        ***  NOTE  ***        ***  NOTE  ***
  3317.         programmers standpoint. It while it has only one way of telling
  3318.         you that it has 'made' its connection, it has multiple ways  of
  3319.         telling  you  it  didn't make it  ("bsy  fm",  "failure  with",
  3320.         "invalid  callsign"  (if  you  use  IDs  in  script  and   that
  3321.         stationisn't  in  table at moment), and of course it  can  just
  3322.         disconnect from you also)
  3323.  
  3324.            Fine  tuning  the  scripts can be done using  the  '!'.  One
  3325.         example  is  to limit the time allowed for the  first  connect,
  3326.         (This  can  be used even with a direct connect) placing  a  '!'
  3327.         line  before the '@' line to setup a shortened period to estab-
  3328.         lish the first RF link. Then you will only proceed if and  only
  3329.         if you have a solid link.
  3330.  
  3331.  
  3332.         2.)  A simple connect through a digi or direct connect is  down
  3333.         as shown below, also note the alternate selection. The first is
  3334.         selected  "SWAP B WB2RVX", the second "SWAP B2 WB2RVX"
  3335.  
  3336.            >1 WB2RVX           >1 WB2RVX           >1 WB2RVX
  3337.            @ WB2RVX           @ WB2RVX           @ WB2RVX
  3338.            *** EOF           *** EOF           *** EOF
  3339.            >2 WB2RVX           >2 WB2RVX           >2 WB2RVX
  3340.            @WB2RVX v WB2DRD-1           @WB2RVX v WB2DRD-1           @WB2RVX v WB2DRD-1
  3341.            *** EOF           *** EOF           *** EOF
  3342.  
  3343.         3.) A connection through NETROM then to a ROSESWITCH would look
  3344.         as follows:
  3345.  
  3346.            >1 KB1BD           >1 KB1BD           >1 KB1BD
  3347.            @KA2BQE-2           @KA2BQE-2           @KA2BQE-2
  3348.            +to           +to           +to
  3349.            ?*           ?*           ?*
  3350.            !180           !180           !180
  3351.            .C WB2MNF-3           .C WB2MNF-3           .C WB2MNF-3
  3352.            !360           !360           !360
  3353.  
  3354.  
  3355.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 54
  3356.  
  3357.  
  3358.  
  3359.            .C KB1BD-5 v N2EVW-7,609426           .C KB1BD-5 v N2EVW-7,609426           .C KB1BD-5 v N2EVW-7,609426
  3360.            *** EOF           *** EOF           *** EOF
  3361.  
  3362.         notice  the change of the time to 360 seconds after  connecting
  3363.         to  the MNF-3 NETROM. This is because we are now going to  ROSE
  3364.         Switch  at N2EVW-7 which will then establish a virtual  circuit
  3365.         through  any  number  of other switches to get  to  the  switch
  3366.         address 609426 and out to KB1BD. IT will send back a  CONNECTED
  3367.         as  soon as it starts trying to make the path, even  though  it
  3368.         may  not  have the circuit through. It takes some time  if  the
  3369.         channels  are busy, so the timeout must be  generous.  Further,
  3370.         ROSESwitch will disconnect you if it cannot make the connection
  3371.         or if the system is busy, it will not leave you in an 'awaiting
  3372.         command' state as NETROM does.
  3373.  
  3374.         4.)  Use of the '^', the command to go to TNC command mode  and
  3375.         send that string. It may be used to send parameters to the  TNC
  3376.         at  any  time in a connection (subject of course to  that  fact
  3377.         that some TNC firmware will not accept certain commands  during
  3378.         a connection.
  3379.  
  3380.               >1 TESTER              >1 TESTER              >1 TESTER
  3381.               +*              +*              +*
  3382.               ^              ^              ^
  3383.               .RETRY 12              .RETRY 12              .RETRY 12
  3384.               .FRACK 6              .FRACK 6              .FRACK 6
  3385.               @KA2BQE-2              @KA2BQE-2              @KA2BQE-2
  3386.               +to              +to              +to
  3387.               ?*              ?*              ?*
  3388.               !120              !120              !120
  3389.               .C WB2MNF              .C WB2MNF              .C WB2MNF
  3390.               *** EOF              *** EOF              *** EOF
  3391.  
  3392.  
  3393.         Next the '^' puts TNC into "cmd:" mode and the two strings  are
  3394.         simply  sent  and  their results collected. The  '@'  starts  a
  3395.         normal script sequence.
  3396.  
  3397.               >1 TESTER              >1 TESTER              >1 TESTER
  3398.               !240              !240              !240
  3399.               ^RETRY 4              ^RETRY 4              ^RETRY 4
  3400.               @KA2BQE-2              @KA2BQE-2              @KA2BQE-2
  3401.               ^RETRY 6              ^RETRY 6              ^RETRY 6
  3402.               ^CONV              ^CONV              ^CONV
  3403.               +to              +to              +to
  3404.               ?*              ?*              ?*
  3405.               .C WB2MNF-3              .C WB2MNF-3              .C WB2MNF-3
  3406.               .C WB2MNF-0              .C WB2MNF-0              .C WB2MNF-0
  3407.               ^RETRY 12              ^RETRY 12              ^RETRY 12
  3408.               ^CONV              ^CONV              ^CONV
  3409.               *** EOF              *** EOF              *** EOF
  3410.  
  3411.         The  above sequence simply alters the RETRY limit at  different
  3412.         stages.  The logic here is that as you get farther out you  are
  3413.         more willing to allow extra chances. If you have not gotten  to
  3414.  
  3415.  
  3416.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 55
  3417.  
  3418.  
  3419.  
  3420.         first  base you might as well quit and come back later.  Notice
  3421.         the CONV command for each sequence where the CONVERSE mode gets
  3422.         broken, you must return to CONVERSE (or TRANSPARENT, whatever)
  3423.  
  3424.       ***  NOTE *** If you are running G8BPQ PC-Node software, most  of
  3425.       the TNC operational parameters like PERSIST, RETRY, etc are fixed
  3426.       in  the configuration and may only be changed via the SYSOP  pro-
  3427.       gram.  Any  of  these parameters entered into a  script  will  be
  3428.       ignored. The concept is here that the BBS becomes a level 3  user
  3429.       to the system and level 2, link layer, consdierations are not  in
  3430.       its scope. The 'system knows better' as it were.
  3431.  
  3432.  
  3433.                 Terminal Operations and TNC BLOCK/LINE Modes                Terminal Operations and TNC BLOCK/LINE Modes                Terminal Operations and TNC BLOCK/LINE Modes                ________ __________ ___ ___ __________ _____                ________ __________ ___ ___ __________ _____                ________ __________ ___ ___ __________ _____
  3434.  
  3435.            The system operates in BLOCK mode most of the time, that  is
  3436.       to say that it send out frames with full data packets as  opposed
  3437.       to  a  line oriented system of the early mailbox codes.  This  is
  3438.       achieved in the Port Configurations by the commands;
  3439.  
  3440.                      SENDPAC  $7F
  3441.                      CR OFF
  3442.                      CP ON
  3443.                      PACTIME AFTER 14
  3444.  
  3445.            When  the sysop enter into terminal mode - the system  sends
  3446.       strings from the port configuration labeled "GOING INTO  TERMINAL
  3447.       MODE, which are generally;
  3448.  
  3449.                      SENDPAC  $0D
  3450.                      CR ON
  3451.                      CP OFF
  3452.  
  3453.            These  return  the system to a line oriented mode,  that  is
  3454.       each  time  you hit a CR(ENTER) a packet will be  sent,  this  is
  3455.       easier for KB to KB or KB to BBS work, though far less efficient.
  3456.  
  3457.            Now  -the  system is returned to block  mode  from  terminal
  3458.       operations  LATER, when the system goes BACK ONLINE. The  strings
  3459.       for "COMING OUT OF TERMINAL MODE" are only sent when the terminal
  3460.       mode  session was initiated by the SYSOP breaking in  on  another
  3461.       user  or answering a CHAT request. The reason for them not  being
  3462.       sent  merely upon exit from terminal mode, is to allow the  sysop
  3463.       the  ability to set up a configuration in terminal mode and  then
  3464.       jump up to BBS command and dump a file to the TNC or the connect-
  3465.       ed circuit or exchange mail or whatever without being thwarted by
  3466.       an automatic function. The system stays in line mode the rest  of
  3467.       the session at the console til it goes back online which does not
  3468.       really  matter,  and then is returned to BLOCK MODE by  the  BACK
  3469.       ONLINE strings.
  3470.  
  3471.                   general Comments on how PRMBS Does Things                  general Comments on how PRMBS Does Things                  general Comments on how PRMBS Does Things                  _______ ________ __ ___ _____ ____ ______                  _______ ________ __ ___ _____ ____ ______                  _______ ________ __ ___ _____ ____ ______
  3472.  
  3473.  
  3474.            On busy system with many messages and multiple DDOS/DV  Win-
  3475.  
  3476.  
  3477.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 56
  3478.  
  3479.  
  3480.  
  3481.       dows the disk churning can get pretty hot and heavy. PRMBS's cur-
  3482.       rent  multi-user concept of doing it via a DOS Multi-tasker  pre-
  3483.       cludes  RAM based index files, so a brute force search  has  been
  3484.       used in the past. Currently a modified binary search pattern  has
  3485.       been  implemented  whereby  the program, after  testing  for  the
  3486.       desired number being above or below the high and low messages  on
  3487.       the  system,  starts  searching from the low  numbered  end,  up,
  3488.       dividing the sum of the current position and the highest  message
  3489.       by 8 each time and adding it to the current position (with checks
  3490.       against running over the top) and testing for the message  number
  3491.       found being higher than the searched for number. The search  then
  3492.       goes backwards message by message til the desired number is found
  3493.       or a the highest message number less than the searched for number
  3494.       is found.
  3495.  
  3496.            Since this routine must search out general locations as well
  3497.       as  specific  message numbers. It has been coded  to  return  the
  3498.       record number of the desired record when an exact match is  found
  3499.       and  zero  if non match is found, but leaving the  records  posi-
  3500.       tioned  at the highest message number less than the one  desired.
  3501.       This  is  then used as needed by calling  routines.  READ,  KILL,
  3502.       FILE, ARCHIVE, REPLY, etc all need exact numbers, LIST, EDIT  etc
  3503.       can take relative placements.
  3504.  
  3505.  
  3506.  
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  
  3521.  
  3522.  
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.       DRAFT of Docs for ROSERVER/PRMBS (KA2BQE) - ver 1.45 03/01/91 pg 57
  3539.