home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / w / wrb100a.zip / WRBBS.DOC < prev    next >
Text File  |  1993-01-03  |  165KB  |  3,019 lines

  1. ===========================================================================
  2. ===========================================================================
  3. ==                                                                       ==
  4. ==     WR-BBS                 INSTALLATION AND ADMINISTRATION MANUAL     ==
  5. ==                                                                       ==
  6. ===========================================================================
  7. ===========================================================================
  8.                                      
  9.               ** PRELIMINARY DOCUMENTATION AS OF 01/05/93 **
  10.                                      
  11.                          For WR-BBS versions 1.XX
  12.                                      
  13.                   Copyright (C) 1992 by Wilson A. Rogers
  14.  
  15.  
  16. --------------------------  TABLE  OF  CONTENTS  --------------------------
  17.  
  18. SECTION 1                                                           PREFACE
  19. SECTION 2                       IMPORTANT WARRANTY DISCLAIMER - PLEASE READ
  20. SECTION 3                                          WR-BBS LICENSE AGREEMENT
  21. SECTION 4                                            INTRODUCTION TO WR-BBS
  22. SECTION 5                                                     THE HOME PATH
  23. SECTION 6                                           INSTALLING WR-BBS FILES
  24. SECTION 7                                                      SCREEN FILES
  25. SECTION 8                                                            WR.BAT
  26. SECTION 9                                                ... THE FIRST TIME
  27. SECTION 10                                               CONFIGURING WR-BBS
  28. SECTION 11                             CLASS OF SERVICE (COS) CONFIGURATION
  29. SECTION 12                                                        THE SYSOP
  30. SECTION 13                                                 SETTING UP DOORS
  31. SECTION 14                                                  TROUBLESHOOTING
  32. SECTION 15                                                     MIDNIGHT.BAT
  33. SECTION 16                                     HOW THE MESSAGE SYSTEM WORKS
  34. SECTION 17                                               CONFIGURING EVENTS
  35. SECTION 18                                                THE QUESTIONNAIRE
  36. SECTION 19                                                 THE ACTIVITY LOG
  37. SECTION 20                                                THE "DOWN" OPTION
  38. SECTION 21                                        WHILE A CALLER IS ON LINE
  39.  
  40.  
  41.               ** PRELIMINARY DOCUMENTATION AS OF 01/05/93 **
  42.  
  43. ===========================================================================
  44. SECTION 1                                                           PREFACE
  45. ===========================================================================
  46.  
  47. WR-BBS is  a bulletin board communications program, designed for the small-
  48. to-medium single  node BBS  application.    WR-BBS  is  distributed  on  an
  49. "evaluation-before-registration". This  method of  distribution is commonly
  50. referred to as shareware.
  51.  
  52. Whether you  are starting  a new BBS, or replacing another BBS application,
  53. you are  welcome to  try WR-BBS  on an  evaluation basis.  If it meets your
  54. expectations, register  the program  with the  author.  If it does not meet
  55. your expectations, simply delete the file named WRBBS.EXE (you can keep the
  56. rest of  the files if you wish), and there is no further obligation on your
  57. part.
  58.  
  59. NOTE TO  CURRENT SYSOPS:   If you are replacing an existing BBS application
  60. with WR-BBS,  you are  urged  to  completely  back  up  your  existing  BBS
  61. program's files  before  implementing  WR-BBS.    This  will  minimize  the
  62. inconvenience to  you if  you later decide that you do not wish to continue
  63. using WR-BBS,  as you  can restore  the previous  BBS application  quickly.
  64. Before installing  WR-BBS, you should read the documentation thoroughly, as
  65. the WR-BBS  implementation of some features differs from the implementation
  66. used by  other BBS  programs.   Also, WR-BBS has some features not found in
  67. other BBS programs (and does not have some features that other BBS programs
  68. have).
  69.  
  70. There are  10 basic steps involved to install WR-BBS.  It is suggested that
  71. you follow  the steps  in the  order presented  to  assure  a  trouble-free
  72. installation:
  73.  
  74.  
  75.        A.   Read the important warranty disclaimer in section 2.  Make sure
  76.                     that you  understand that the author is not responsible
  77.                     for any  damages before  you begin installing WR-BBS on
  78.                     your system.
  79.        
  80.        B.   Familiarize yourself  with the  license agreement.  There is no
  81.                     point in installing WR-BBS, only to later find out that
  82.                     you can't live with the license agreement.
  83.        
  84.        C.   Set up the "home path".  This is described in detail in section
  85.                     5.
  86.        
  87.        D.  Install the WR-BBS files.  See section 6 for information on this
  88.                     process.
  89.        
  90.        E.  Edit the screen files as needed for your board.  Section 7 tells
  91.                     how to do this.
  92.        
  93.        F.  Read section 8, which tells how WR.BAT works, and why its use is
  94.                     strongly recommended.
  95.        
  96.        G.   Establish an  initial database.   The  command to  do  this  is
  97.                     described in section 9.
  98.        
  99.        H.   Configure WR-BBS,  using WRCONFIG.SYS.    See  section  10  for
  100.                     details.
  101.        
  102.        I.  Start WR-BBS, and then log on locally (press ALT-L).
  103.        
  104.        J.  Test your new WR-BBS installation.
  105.  
  106. The installation,  configuration, and  testing process should take about 30
  107. to 90  minutes after  you read  this document.  If you  are also  going  to
  108. implement (optional)  doors, events, and other frills, the total setup time
  109. will be longer.
  110.                                      
  111.                        HOW TO GET SUPPORT FOR WR-BBS
  112.  
  113. Most questions  and operational  anomalies can  be resolved by reading this
  114. document.  If you need support for WR-BBS, it is available by logging on to
  115. the WR-BBS Headquarters BBS.  Call (206) 828-9089, twenty four hours a day.
  116. After logging  on, leave a (C)moment for SysOp, or (W)rite a message to the
  117. SysOp from  the message  menu.   I will  endeavor  to  answer  all  support
  118. requests within  twenty four  hours.  Support is not currently available by
  119. telephone, facsimile,  or mail.   Before  you decide to use or register WR-
  120. BBS, please make sure you are comfortable with this support method.  If you
  121. cannot get  along without  live telephone support, WR-BBS is not for you. I
  122. WILL respond,  via the  WR-BBS Headquarters  BBS  message  system,  to  all
  123. support requests.   I  will not  honor messages  requesting me  to call you
  124. (even if  you ask  me to  call collect).  Except under the most exceptional
  125. circumstances, I  will not honor requests to log onto your board to examine
  126. problems.   I will  also not  entertain any  support calls  to my residence
  127. telephone number.   This  policy  ensures  that  support,  via  the  WR-BBS
  128. Headquarters BBS,  is available  to all  users on an equitable basis.  Some
  129. SysOps  prefer   the  "warm   body"   approach   to   support   situations.
  130. Unfortunately, that  level of  support is not available for WR-BBS.  At the
  131. risk of  sounding negative  in this  paragraph, I have detailed the support
  132. policy here to make sure that there are no misunderstandings.
  133.  
  134. When  calling   the  WR-BBS  Headquarters  BBS  for  "generic"  support  or
  135. suggestions, you  may also  wish to  peruse the message system for messages
  136. from (and responses to) other SysOps who may have the same question(s).
  137.  
  138. There is  no charge  for support.   Registered  WR-BBS SysOps  will receive
  139. support at  no charge  as long  as they  have a  current version  of WR-BBS
  140. installed, or  until WR-BBS  is discontinued.   SysOps  who  have  not  yet
  141. registered their  copy of WR-BBS will also receive support, but support for
  142. evaluation copies  is discontinued  thirty days  after  the  first  support
  143. request.   Thus, each evaluation copy receives free support for at least 30
  144. days.
  145.  
  146. I am  currently examining  the feasibility  of  expanding  support  through
  147. facsimile and  voice messaging.   Such extended support may be available in
  148. the future, but is not guaranteed.
  149.  
  150. As  with   any  complex  software,  bugs  will  be  discovered,  and  fixes
  151. implemented for  WR-BBS.   Maintenance  releases  will  be  made  available
  152. periodically,  and   can  be   downloaded  (no   charge)  from  the  WR-BBS
  153. Headquarters BBS.  A typical  maintenance release  contains fixes for minor
  154. bugs, and  possibly some  new minor feature enhancements.  If a serious bug
  155. is discovered,  a "patch"  may be  created to resolve the problem until the
  156. next maintenance  release is  published.   Patches can  be  downloaded  (no
  157. charge) from the WR-BBS Headquarters BBS.
  158.  
  159. When major  operational changes  and feature  additions are made to WR-BBS,
  160. this is referred to as an upgrade.  Upgrades can be downloaded from the WR-
  161. BBS Headquarters  BBS.   There may  be a  nominal charge  for upgrades.  An
  162. example of a major operation change would be multi-node operation.
  163.  
  164.                       HOW WR-BBS VERSION NUMBERS WORK
  165.  
  166.        All WR-BBS  version  numbers  are  expressed  as  a  numeric
  167.        character followed  by a  decimal  point,  followed  by  two
  168.        numeric characters,  and possibly followed by a letter (from
  169.        A to Z).
  170.  
  171.                                 1.00A <-- Update letter
  172.                                 | ||
  173.                                 | ||
  174.              Major version number ||
  175.                                   ||
  176.         Intermediate version number|
  177.                                    |
  178.                                    Minor version number
  179.  
  180.  
  181.        The major  version number is changed only when an upgrade is
  182.        released.    It  represents  a  significant  change  in  the
  183.        software from one number to the next.
  184.        
  185.        The  intermediate   version  number   is  incremented   when
  186.        significant changes  have been  made to  the  software,  but
  187.        operational characteristics  are not  substantially  changed
  188.        (not an upgrade).
  189.        
  190.        The  minor   version  number  is  incremented  each  time  a
  191.        maintenance release is published.
  192.        
  193.        The update  letter (which may not appear at all) is added or
  194.        incremented each  time a  patch  is  applied  to  correct  a
  195.        problem between regular maintenance releases.
  196.  
  197.  
  198.  
  199.  
  200. ===========================================================================
  201. SECTION 2                       IMPORTANT WARRANTY DISCLAIMER - PLEASE READ
  202. ===========================================================================
  203. This section  describes the risk that you or your company takes in using or
  204. implementing WR-BBS.  In plain English, you are responsible for all damages
  205. that WR-BBS  may cause  if you  use it  on your  system, whether or not the
  206. damages are  due to  a defect  in the  program.    Rather  than  hide  this
  207. disclaimer in  small type  at the end of the documentation, I am putting it
  208. up front,  and urge you to read it carefully before proceeding. If you feel
  209. this is  unfair, or  you are  in any  way uncomfortable  with the fact that
  210. there is  no warranty  of any kind on the WR-BBS program, please delete the
  211. WR-BBS files now.
  212.  
  213.                             WARRANTY DISCLAIMER
  214.                     IMPORTANT - EVERYONE READ CAREFULLY
  215.                            YOU ARE AT SOLE RISK
  216.  
  217. The following  disclaimer of  warranty applies  to EVERY  copy  of  WR-BBS,
  218. whether registered or not, unless specifically indicated otherwise.  Please
  219. read it  carefully.   In this and the following paragraphs, "YOU" refers to
  220. you, the  person or  entity who  uses  (or  attempts  to  use)  the  WR-BBS
  221. SOFTWARE; "AUTHOR"  refers to  Wilson A. Rogers, or any lawful successor to
  222. Wilson A.  Rogers, or  any lawful  owner of  the WR-BBS  source code, whose
  223. ownership of  that source  code has been authorized in writing by Wilson A.
  224. Rogers;  and  "WR-BBS  SOFTWARE"  means  the  executable  program  file(s),
  225. overlays, and  proprietary files  associated with  the  single-node  WR-BBS
  226. Bulletin Board System.
  227.  
  228.        WR-BBS SOFTWARE is supplied on an "AS IS" basis.  Subject to
  229.        any contrary  provisions of applicable state law, the AUTHOR
  230.        disclaims  any   and  all   implied  warranties,   including
  231.        warranties  of   merchantability  and/or   fitness   for   a
  232.        particular purpose.   Except for suggestions to the contrary
  233.        that  may   appear  in   the  official   documentation  that
  234.        accompanies the WR-BBS SOFTWARE, the AUTHOR does not purport
  235.        that the  WR-BBS SOFTWARE is fit for any purpose whatsoever,
  236.        nor does the AUTHOR make any claim, implied or otherwise, as
  237.        to the merchantability of the WR-BBS SOFTWARE.
  238.        
  239.        The AUTHOR  disclaims any  and all  responsibility  for  any
  240.        damages resulting  from the  use or attempted use of the WR-
  241.        BBS SOFTWARE,  including, but  not limited  to consequential
  242.        damages, indirect  damages, coincidental  damages,  loss  of
  243.        revenue, wages,  or income,  loss of  goodwill, loss of data
  244.        and/or files, system downtime, and "special damages".
  245.        
  246.        YOU assume  all risk  in attempting to use, or using the WR-
  247.        BBS SOFTWARE.   YOU must independently determine whether the
  248.        WR-BBS SOFTWARE  is suitable  for  your  intended  use,  and
  249.        whether or not the WR-BBS SOFTWARE will cause damage to YOU,
  250.        prior to  any use  or attempted  use of the WR-BBS SOFTWARE.
  251.        If you  cannot make  this  determination,  do  not  use  (or
  252.        attempt to  use) the  WR-BBS SOFTWARE.   The AUTHOR does not
  253.        authorize any  person or  entity to  make that determination
  254.        for  you.    You  must  make  this  determination  prior  to
  255.        registering the  WR-BBS SOFTWARE  with the  AUTHOR.  If, for
  256.        any reason,  you determine  that the  WR-BBS SOFTWARE is not
  257.        suitable  for   your  use  within  thirty  (30)  days  after
  258.        registering the  WR-BBS SOFTWARE,  the AUTHOR,  upon written
  259.        application from  YOU, will  refund any and all license fees
  260.        paid by  YOU to  the AUTHOR.  Should this  happen, YOU  must
  261.        immediately and permanently discontinue any use or attempted
  262.        use of  the WR-BBS  SOFTWARE. Such refund is the sole remedy
  263.        for any failure of the WR-BBS SOFTWARE.
  264.        
  265.        In  the   event  that  the  WR-BBS  SOFTWARE,  after  proper
  266.        registration, fails to perform substantially as described in
  267.        the official  WR-BBS documentation,  the AUTHOR  will,  upon
  268.        written application  from YOU,  refund any  and all  license
  269.        fees previously  paid by  YOU to  the AUTHOR. Such refund is
  270.        the sole  remedy for  any failure  of the  WR-BBS  SOFTWARE.
  271.        Should this  happen, YOU  must immediately  and  permanently
  272.        discontinue any use or attempted use of the WR-BBS SOFTWARE.
  273.        
  274.        Support for  WR-BBS SOFTWARE  is available by modem, through
  275.        the WR-BBS  Headquarters BBS  (only). There is no charge for
  276.        support to  registered licensees  who have a current version
  277.        of the  WR-BBS SOFTWARE.  The AUTHOR will not be responsible
  278.        for any  toll, message  unit, or  communications charges YOU
  279.        incur while  accessing the  WR-BBS Headquarters  BBS, or for
  280.        time expended by YOU in obtaining support.
  281.        
  282.        If any  provision of this warranty disclaimer is determined,
  283.        by a  court or  government agency,  to be unlawful, void, or
  284.        for any  reason unenforceable,  it shall be deemed separable
  285.        from, and  in no  way  shall  affect  the  validity  of  the
  286.        remaining provisions of this warranty disclaimer.
  287.        
  288.        The AUTHOR  reserves the  right to  discontinue development,
  289.        production, and  support of the WR-BBS SOFTWARE at any time.
  290.        If such  discontinuance occurs  with thirty (30) days of YOU
  291.        executing a valid license application, the AUTHOR will, upon
  292.        written application  from YOU,  refund any  and all  license
  293.        fees paid  by YOU  to the  AUTHOR. If  you apply  for such a
  294.        refund, YOU must immediately and permanently discontinue any
  295.        use or attempted use of the WR-BBS SOFTWARE.  Such refund is
  296.        your sole  remedy  in  the  event  the  WR-BBS  SOFTWARE  is
  297.        discontinued by  the  AUTHOR  within  thirty  (30)  days  of
  298.        registration by YOU.
  299.  
  300.  
  301. ===========================================================================
  302. SECTION 3                                          WR-BBS LICENSE AGREEMENT
  303. ===========================================================================
  304.  
  305. Like most  software, WR-BBS is not sold.  It is licensed, to persons and/or
  306. entities who  agree to  terms of  the license.  No person or entity has the
  307. right to  sell WR-BBS  software to  you, as  it is  not for  sale under any
  308. circumstances.   If you  agree to the terms of the license agreement (which
  309. follows), and  you submit  the proper  license fee  along with  a  properly
  310. completed registration  form, you  will receive  a license  to use the then
  311. current major  level of  WR-BBS software  for a  period not exceeding fifty
  312. (50) years.
  313.  
  314. In the  following  license  agreement,  "YOU"  means  you,  the  registered
  315. licensee who  has submitted  the proper  license fee  along with a properly
  316. executed license  application; and  "AUTHOR" means Wilson A. Rogers, or any
  317. lawful successor  to Wilson  A. Rogers,  or any  lawful owner of the WR-BBS
  318. source code,  whose ownership  of that  source code  has been authorized in
  319. writing by  Wilson A.  Rogers; and  "WR-BBS SOFTWARE"  means the executable
  320. program file(s),  overlays,  and  proprietary  files  associated  with  the
  321. single-node WR-BBS Bulletin Board System.
  322.  
  323. YOU agree  to use the WR-BBS SOFTWARE on only one computer at one time, and
  324. to prevent the use of the registered copy of the WR-BBS SOFTWARE from being
  325. used on more than one computer simultaneously.
  326.  
  327. YOU may  make as  many backup  copies of  the WR-BBS SOFTWARE as reasonably
  328. necessary to allow recovery from system failure.
  329.  
  330. YOU may  distribute un-registered  copies  of  WR-BBS  freely  and  without
  331. obligation to  the AUTHOR,  other than to hold the AUTHOR harmless from any
  332. damages that may be incurred from such distribution.
  333.  
  334. YOU agree  to keep  the executable, overlay, and other proprietary files of
  335. the WR-BBS  SOFTWARE in  their original,  unaltered format.  YOU also agree
  336. not to  modify, reverse-engineer,  or decompile  the WR-BBS SOFTWARE at any
  337. time during, and subsequent to, the termination of this license.
  338.  
  339. YOU may terminate this agreement, without notice to the AUTHOR, at any time
  340. prior to  its expiry.  The AUTHOR may terminate this agreement at any time,
  341. without notice  to YOU.  YOU agree  to destroy  all copies  of  the  WR-BBS
  342. SOFTWARE when  this agreement  is terminated  for  any  reason.    If  this
  343. agreement is  terminated by  the AUTHOR  within thirty  (30)  days  of  the
  344. license being granted, the AUTHOR will refund to YOU all monies paid to the
  345. AUTHOR for the license.  This will be your sole remedy in this situation.
  346.  
  347. YOU agree and understand that the WR-BBS SOFTWARE is provided on an "AS-IS"
  348. basis, and subject to the warranty disclaimer appearing in section two. YOU
  349. will independently  determine whether or not the WR-BBS SOFTWARE meets your
  350. needs and  whether or  not the  WR-BBS SOFTWARE  will damage your system or
  351. cause other  loss to  YOU before  YOU use  or attempt  to  use  the  WR-BBS
  352. SOFTWARE.    YOU  agree  that  if  YOU  can  not  adequately  make  such  a
  353. determination, YOU  will not  apply for a license to use, nor will YOU use,
  354. or attempt to use the WR-BBS SOFTWARE.
  355.  
  356.  
  357.  
  358. ===========================================================================
  359. SECTION 4                                            INTRODUCTION TO WR-BBS
  360. ===========================================================================
  361.  
  362. WR-BBS is  designed to  operate on  an IBM  PC <tm>  or  compatible  micro-
  363. computer.  It operates as a single-port system, but its database foundation
  364. was  designed   to  allow   multi-port  operation  as  a  potential  future
  365. development.  WR-BBS utilizes the W-TREE Database Manager to rapidly locate
  366. and access  database records,  minimizing the "dead screen" time that would
  367. otherwise occur when a database search occurs.
  368.  
  369. A class-of-service  (COS) section  in the system configuration allows up to
  370. 26 different  permission levels to be assigned to callers. The COS settings
  371. can be  flexibly applied  to allow  or deny  very specific  access for each
  372. group of  users.   (COS is  synonymous with  "access level"  in  other  BBS
  373. products).
  374.  
  375. Some specifications:
  376.                                                  DESIGN      PRACTICAL
  377.                                                  MAXIMUM      MAXIMUM
  378.                                                  -------     ---------
  379. User accounts                              2,147,483,648         1,000
  380. File descriptions                          2,147,483,648         3,500
  381. Messages on file                                  65,535         2,000
  382. File areas                                            26            26
  383. Events scheduled                                      16            16
  384. Access levels (classes of service)                    26            26
  385. Port speed (baud)                         UART dependent       115,200
  386.  
  387.                             SYSTEM REQUIREMENTS
  388.  
  389.      WR-BBS should  install and  run  on  any  IBM  PC  <tm>  or  100%
  390.      compatible micro-computer, including most DOS based systems using
  391.      8086, 8088, V20 and 80X86 processors.
  392.      
  393.      WR-BBS has been tested with DR-DOS 5, DR-DOS 6.0, MS-DOS 3.3, MS-
  394.      DOS 4.01, MS-DOS 5.0, PC-DOS 5.0 and in a DOS window of OS/2 2.0.
  395.      Any level of DR-DOS, MS-DOS, or PC-DOS higher than 2.01 should be
  396.      sufficient, but  DOS 3.3  or higher  is recommended.   WR-BBS has
  397.      been tested under DESQview <tm> 2.3, DESQview <tm> 2.4, Microsoft
  398.      Windows <tm>  3.0, and Microsoft Windows <tm> 3.1, as well as WR-
  399.      DOS 6.5.
  400.      
  401.      WR-BBS will  display in color on a color monitor (CGA, MCGA, EGA,
  402.      VGA, SVGA), but a color monitor is not required.  WR-BBS does not
  403.      use bit-mapped graphics, and is compatible with all display types
  404.      found on DOS computers.  Additional graphics memory pages are not
  405.      required for use under a multi-tasker.
  406.      
  407.      ANSI color  screens can  be  configured  for  display  to  remote
  408.      callers, whether  or not  a color  monitor is  used at  the local
  409.      console.   WR-BBS does NOT require ANSI.SYS to be loaded in order
  410.      to display  ANSI graphics,  as WR-BBS  contains a  built-in  ANSI
  411.      driver.
  412.      
  413.      WR-BBS requires  approximately 230  KB of memory during run time.
  414.      During DOS shells, WR-BBS swaps almost 95% of its image to EMS or
  415.      disk (configurable), leaving only about 13 KB residing in memory.
  416.      WR-BBS can  be configured to swap its image when calling external
  417.      protocols and  "door" programs,  allowing generous memory for the
  418.      called program.
  419.  
  420.  
  421. ===========================================================================
  422. SECTION 5                                                     THE HOME PATH
  423. ===========================================================================
  424.  
  425.        
  426.        Setting the  HOME PATH  environment variable  is one  of the
  427.        easiest aspects  of configuring  your new WR-BBS system.  It
  428.        is also  the most important configuration item.  If you read
  429.        nothing else in this document, please read this section.
  430.        
  431.  
  432. Throughout this  document, you  will see  mention of  the "home path".  The
  433. home path  refers the  actual DOS  path where  WR-BBS can find its program,
  434. overlay, and  data files.  WR-BBS checks the DOS environment for a variable
  435. which tells  it the  location of  these files.   It  is one  of the easiest
  436. configuration items relative to WR-BBS, but is also the most important.
  437.  
  438. Prior to  installing, initializing  or starting WR-BBS, the DOS environment
  439. variable named "WR-BBS" must be set to the home path.  If this is not done,
  440. WR-BBS will  not start.  This is done by issuing the SET command to DOS, as
  441. in the following example:
  442.  
  443.      SET WR-BBS=[path]
  444.  
  445. Where [path]  is the  actual path  to WR-BBS's  files.   Unless you  have a
  446. compelling reason  for doing  otherwise, it is recommended that you put WR-
  447. BBS's files  in a  sub-directory named  WR-BBS, immediately  off  the  root
  448. directory of  your boot  drive.   In this case, the home directory would be
  449. named C:\WR-BBS,  and the  SET command to set the home path would look like
  450. this:
  451.  
  452.      SET WR-BBS=C:\WR-BBS
  453.  
  454. The trailing backslash on the home path is not expected (but does no damage
  455. if added).  Thus, the command:
  456.  
  457.      SET WR-BBS=C:\WR-BBS   and   SET WR-BBS=C:\WR-BBS\
  458.                                   trailing backslash  ^
  459.  
  460. are identical  for purposes of WR-BBS determining the home path.  Note that
  461. no matter  what you use for the home path, when you issue the home path SET
  462. command to DOS, the following important syntax rules apply:
  463.  
  464.      - There is no space on either side of the equal sign.
  465.      - The first character after the equal sign must be a valid drive
  466.           letter.
  467.      - The command can be issued in upper or lower case.
  468.      - The portion of the SET after the equal sign must be a valid DOS sub-
  469.           directory designation.
  470.      - The entire pathname cannot exceed 64 characters
  471.  
  472. The following home path SET statements are NOT valid:
  473.  
  474.      SET WR-BBS=\WR-BBS
  475.                 ^(no drive letter specified)
  476.      
  477.      SET WR-BBS= C:\WR-BBS
  478.                 ^(no space allowed on either side of = sign)
  479.      
  480.      SET WR-BBS=C:BBSFILE
  481.                  ^(does not point to a directory)
  482.  
  483. While the following home path SET statements are valid:
  484.  
  485.      SET WR-BBS=C:\BBSFILES\BIN
  486.                 ^(can point to any valid DOS directory)
  487.      
  488.      set WR-BBS=c:\WR-BBS
  489.      ^(upper/lower case doesn't matter)
  490.  
  491. It is  STRONGLY recommended  that you insert the SET WR-BBS command in your
  492. AUTOEXEC.BAT file.   Then,  the DOS  environment variable for the home path
  493. will be  properly set each time your computer is booted, and you will never
  494. have to  worry about  it again.   To do this, use an ASCII file editor, and
  495. edit the file AUTOEXEC.BAT, inserting the appropriate SET command as one of
  496. the first  few lines  in that file.  Then save the file as a standard ASCII
  497. file, and reboot your system to make it take effect.
  498.  
  499. To test  the DOS  environment (to  make sure that the SET command has taken
  500. effect), type  just the three-letter word SET at the DOS command line.  DOS
  501. will then  print out several lines, one for each environment variable.  One
  502. of the  lines should  read WR-BBS=[path],  where path  is your  actual home
  503. path.   If you  do not get this result, then an error was made when SETting
  504. the environment,  or there  is  insufficient  environment  space  available
  505. (which can be easily remedied - see section 14).
  506.  
  507. NOTE:   Do NOT  include the  WR-BBS home  path in  your DOS  PATH or APPEND
  508. statements.
  509.  
  510. If you  ever move  your WR-BBS application to another directory (or another
  511. system), you  will need to make sure that the home path is properly defined
  512. before restarting WR-BBS.
  513.  
  514. Some poorly designed programs will butcher your AUTOEXEC.BAT and CONFIG.SYS
  515. when they  install themselves,  so that  they can  put  their  own  special
  516. commands in.   The  worst of  these will delete the changes described above
  517. (and other vital lines in AUTOEXEC.BAT and CONFIG.SYS).  If you install any
  518. applications after  installing WR-BBS,  you are  well advised to first make
  519. backup copies of your AUTOEXEC.BAT and CONFIG.SYS files.
  520.  
  521. WR-BBS never modifies AUTOEXEC.BAT or CONFIG.SYS, or any other system file.
  522.  
  523.      RECOMMENDATION:   You should put the appropriate SET statement in
  524.      your AUTOEXEC.BAT.  This will  prevent mysterious  problems  from
  525.      surfacing later, such as WR-BBS refusing to restart after a power
  526.      failure.     If  the   SET  statement  for  WR-BBS  is  not  done
  527.      automatically each  time the system starts, WR-BBS will be unable
  528.      to restart  without human  intervention.   Naturally,  this  will
  529.      happen when  you are  3,000 miles away from your system attending
  530.      the Murphy's  Law seminar, and your WR-BBS system will not answer
  531.      calls until  you get back. You can prevent this from happening by
  532.      inserting the  SET statement  for the  WR-BBS home  path in  your
  533.      AUTOEXEC.BAT file  before you  do anything  else. Do  it once and
  534.      forget it. Do it now.
  535.  
  536. ===========================================================================
  537. SECTION 6                                           INSTALLING WR-BBS FILES
  538. ===========================================================================
  539.  
  540. First you  must choose a directory for the WR-BBS files to reside in.  This
  541. is the  "home"  directory  as  discussed  in  the  preceding  section.  The
  542. directory  "\WR-BBS"   off  the  root  directory  of  your  boot  drive  is
  543. recommended, but any valid DOS directory can be used.  Keep in mind that no
  544. files other  than those  related to  WR-BBS should exist in the WR-BBS home
  545. directory, so  do not  use an  existing directory  that belongs  to another
  546. application.   The use  of the  root directory  as  the  WR-BBS  home  path
  547. directory is possible, but strongly recommended against.
  548.  
  549. Next, you  need to  create the  home path  directory if it does not already
  550. exist.  Do this by issuing the DOS command:
  551.  
  552.      MKDIR [dirname]
  553.  
  554. Where [dirname]  is the  full directory  name of  the WR-BBS home path sub-
  555. directory.   Next, make  the home  path directory  the current directory by
  556. issuing this command at the DOS command line:
  557.  
  558.      CHDIR [dirname]
  559.  
  560. Where [dirname]  is the WR-BBS home path directory. If you receive an error
  561. message from  DOS, check  your typing  and try  again, or refer to your DOS
  562. manual.
  563.  
  564. Now that the home path directory is current, copy all of the files from the
  565. WR-BBS archive  (or installation  diskette) into  the homepath directory by
  566. issuing one of the following commands:
  567.  
  568.      XCOPY [SourcePath]\*.* /V               or
  569.      
  570.      COPY [SourcePath]\*.* /V
  571.  
  572. Where [SourcePath]  is the  actual DOS  path to  the  WR-BBS  files.    For
  573. example, if  you de-compressed  the WR-BBS  files into  a  directory  named
  574. C:\MODEM\DOWNLOAD, the proper syntax would be
  575.  
  576.      XCOPY C:\MODEM\DOWNLOAD\*.* /V          or
  577.      
  578.      COPY C:\MODEM\DOWNLOAD\*.* /V
  579.  
  580. Alternatively, if  you are  using a distribution diskette obtained from the
  581. author, you would type:
  582.  
  583.      XCOPY A:\*.* /V                         or
  584.      
  585.      COPY A:\*.* /V
  586.  
  587. provided that the diskette was in the A: drive.
  588.  
  589. The following files are provided with WR-BBS, and should be copied into the
  590. WR-BBS home  path directory.   They must always reside in the home path for
  591. correct operation  of WR-BBS.    With  the  exception  of  the  executable,
  592. overlay, and  database files,  all WR-BBS files are in character format and
  593. can be readily edited as required:
  594.  
  595. MIDNIGHT.BAT
  596.           This is  a sample batch file, modify to suit your application, or
  597.           delete if  you wish.   If  MIDNIGHT.BAT is  present, WR-BBS  will
  598.           execute it  immediately after  DOS  reports  that  the  date  has
  599.           changed (which  is at  00:00 hours).  See  section  15  for  more
  600.           information on MIDNIGHT.BAT.
  601.  
  602. NOACCESS.TXT
  603.           This file  is checked  whenever a  new user logs on for the first
  604.           time.   If that  caller's name is found in NOACCESS.TXT, they are
  605.           not allowed  to continue,  and are  forced off.    This  prevents
  606.           callers from  using cute  names like  EATME SYSOP  or worse.  The
  607.           file by  default contains  a list  of possible  bad  names.    It
  608.           includes some  bad  words,  so  if  you  are  sensitive  to  such
  609.           language,  don't   read  the   file.    You  can  add  or  remove
  610.           "undesirable" names  to this  file as  needed, with  one name per
  611.           line. When  NOACCESS.TXT is scanned, each line is compared to the
  612.           caller's first  AND last  name.   Thus, if  "CAPTAIN" appears  in
  613.           NOACCESS.TXT, a  caller who  claims to be "CAPTAIN KIRK" would be
  614.           denied access,  and so would "BOB CAPTAIN".  Thus, you need to be
  615.           careful to keep potential "valid" names out of NOACCESS.TXT.
  616.  
  617. OSACCESS.BAT
  618.           This is another sample batch file, which you can edit if desired.
  619.           It controls  access  to  the  operating  system  when  the  SysOp
  620.           requests a shell to DOS.
  621. WR.BAT
  622.           This is  the main batch file that controls WR-BBS operation.  You
  623.           should run  WR-BBS by  typing "WR"  and pressing  <ENTER>, rather
  624.           than running  WRBBS.EXE directly.   This  is  explained  in  more
  625.           detail in section 8.
  626.  
  627. WRBBS.EXE
  628.           This is the program file for WR-BBS.  Never edit this file.
  629.  
  630. WRBBS.OVR
  631.           This is  the overlay file for WR-BBS.  To conserve memory, WR-BBS
  632.           loads overlays  into memory  as needed  and unloads  them when no
  633.           longer required. Never edit this file.
  634.  
  635. WRCONFIG.SYS
  636.           This  is   the  configuration   file  for  WR-BBS.    Almost  all
  637.           configuration   and    customization   is   done   through   this
  638.           configuration file.   You  will need  to edit this file to set up
  639.           your WR-BBS  system.   See section  10 for details on configuring
  640.           WR-BBS with WRCONFIG.SYS.
  641.  
  642. WRQUOTES.TXT
  643.           This is  an optional  file.   It  is  included  with  the  WR-BBS
  644.           distribution package  as a  sample file.  When caller's log on, a
  645.           "quotation" from  this  file  will  be  selected  at  random  and
  646.           displayed to  the caller.   You can delete this file if you don't
  647.           want the  "quote of  the day" feature.  Likewise, you can edit it
  648.           to add  your own  quotes.   Each quote must be no longer than one
  649.           line in length.
  650.  
  651. WR_AFTER.BAT
  652.           This file  is optional.   A  sample file  is  included  with  the
  653.           original WR-BBS  distribution package.   If WR-AFTER.BAT is found
  654.           in the  home path,  it will  be executed after each log-off.  You
  655.           could  use   this  batch   file  to  update  statistics-sensitive
  656.           bulletins, or  do some  other kind  of post-call  cleanup. If you
  657.           don't have a use for this feature, delete WR-AFTER.BAT.
  658.  
  659.  
  660. WFILEXFR.BAT
  661.           This is  a sample  batch file,  which you  can modify to meet the
  662.           needs of  your board.   It  controls all  file transfer  activity
  663.           (downloads and uploads) and external protocol programs.
  664.  
  665. ===========================================================================
  666. SECTION 7                                                      SCREEN FILES
  667. ===========================================================================
  668.  
  669. For maximum  flexibility, WR-BBS has very few "hard coded" display screens.
  670. Almost all  of the  screens that are seen by your callers are external text
  671. files which  you can  edit to  suit your  board's individual needs.  Sample
  672. screen files  are provided  with the  WR-BBS distribution package.  Many of
  673. these screen  files can  be used "as is" immediately, without editing. Some
  674. of the  screen files,  however, should  be edited  to include your BBS name
  675. and/or other installation-specific information.
  676.  
  677. Each screen  that can  be displayed  to a caller is supported by TWO screen
  678. files.   One of the screen files has an extension of .ASC (which stands for
  679. ASCII) and  the other  corresponding screen  file has  an extension of .ANS
  680. (which stands  for ANSI).   ANSI  screens are displayed to callers who have
  681. ANSI color enabled.  ASCII screens are sent to non-ANSI callers.  With very
  682. few exceptions,  ASCII screens  on WR-BBS have no color data in them.  ANSI
  683. screens, on  the other  hand, typically contain ANSI escape sequences which
  684. allow for sophisticated color and cursor-movement control.
  685.  
  686. Creating ASCII  screen files  is relatively  easy.  Use any editor that can
  687. save files  in  true  ASCII.    DOS's  EDLIN  and  EDIT  programs  do  this
  688. automatically.  Most word processors can create, edit and save "true ASCII"
  689. files, but  require commands to tell the word processing program not to put
  690. formatting symbols in the finished file.
  691.  
  692. Creating ANSI screens is a little more involved.  Although it could be done
  693. with a  basic text  editor, this would be a time-consuming and excruciating
  694. process. The  use of  an  ANSI-specific  screen  file  editor  is  strongly
  695. recommended.   A popular  program called  TheDraw (by  TheSoft) is  an ANSI
  696. screen editor  that is  very easy  to use.   You can download an evaluation
  697. copy of  TheDraw from  the WR-BBS  Headquarters BBS  and many  other  BBS's
  698. throughout the  world.   Remember to register your copy of TheDraw with the
  699. TheSoft people.
  700.  
  701. When using  TheDraw (or  another ANSI  editor) to  create  WR-BBS  screens,
  702. observe the following:
  703.  
  704.           -  Most screen files should have no more than 21 lines of display
  705.           information. If  you make the display file longer than that, part
  706.           of the display screen will scroll off the remote caller's screen.
  707.           
  708.           -   When saving the file, select "NONE" for line length. You want
  709.           the editor  to place a "real" carriage return and line feed after
  710.           each "real"  line.   With ANSI  escape sequences  imbedded,  each
  711.           "line" of  text can  be a  couple of hundred characters long, but
  712.           should end  with a  conventional CR/LF  sequence. Otherwise,  the
  713.           stream of  characters will be transmitted as one gigantic line of
  714.           text.  Most modern communications programs that callers might use
  715.           to call your board can handle such a long string.  If a caller is
  716.           using a  communications  package  that  does  not  "wrap"  lines,
  717.           sending them  a mega-string  could make  their program misbehave.
  718.           Using "NONE"  for line  length  assures  that  each  time  a  new
  719.           physical line  is to  be drawn,  a carriage  return and line feed
  720.           will precede it.
  721.           
  722.           -  It is possible to make ultra-sophisticated "animated" screens,
  723.           but you  should avoid animation for the menus.  The time it takes
  724.           to transmit  animated screens may be perceived by your callers as
  725.           "wasted" time.   Bulletins  and welcome  files may  benefit  from
  726.           animation, however.
  727.           
  728.           - Select  "0" for  display speed  when saving files with TheDraw.
  729.           You want  maximum  throughput,  since  each  character  is  being
  730.           transmitted via the modem to your caller.
  731.  
  732. Most of WR-BBS's screen files MUST be present for proper operation.  If you
  733. do not  use the  originally supplied  files, use  your own  versions of the
  734. screen files.  Unless indicated as being optional, all screen files must be
  735. present in  either the  home  path,  or  the  path  you  have  defined  (in
  736. WRCONFIG.SYS) for  display files (see "SCREENDIR=" in section 10). For each
  737. screen file,  one with  an extension  of .ASC and one with and extension of
  738. .ANS must  be present.   If  a screen  file is missing, an error message is
  739. displayed to the caller, and an error is logged in the activity file.
  740.  
  741. The file names for screen files used by WR-BBS are:
  742.  
  743.  
  744. BADNAME.ASC and BADNAME.ANS:
  745.                     Sent  to   callers  whose  name  appears  in  the  file
  746.                     NOACCESS.TXT.  The caller is then disconnected.
  747.  
  748. BULL????.ASC and BULL????.ANS:
  749.                     These are the actual bulletin screens.  WR-BBS supports
  750.                     up to 9,999 bulletins, with file names BULL0001.ASC/ANS
  751.                     through BULL9999.ASC/ANS.  The caller selects bulletins
  752.                     by typing in the corresponding number.  For example, if
  753.                     the caller  enters 34,  bulletin file  BULL0034.ASC/ANS
  754.                     will be displayed.
  755.  
  756. BULLMENU.ASC and BULLMENU.ANS:
  757.                     Menu screen which lists available bulletins.
  758.  
  759. CALLVIEW.ASC and CALLVIEW.ANS:
  760.                     This screen  file describes  the options available to a
  761.                     caller when  the "(W)ho  called  recently"  command  is
  762.                     selected from the main menu.
  763.  
  764. CHATFAIL.ASC and CHATFAIL.ANS:
  765.                     Displayed to  caller when  the SysOp  does not answer a
  766.                     chat page request.
  767.  
  768. DOORMENU.ASC and DOORMENU.ANS:
  769.                     Screen file for "doors" menu.  WR-BBS supports up to 26
  770.                     doors.  See also section 13 for detailed information on
  771.                     doors.   If you  configure any  doors, this  screen  is
  772.                     displayed to  the caller  when they choose (D)oors from
  773.                     the  main  menu.    This  screen  describes  the  doors
  774.                     available, which  are identified by letters from "A" to
  775.                     "Z".   The caller,  upon seeing the selection listed in
  776.                     this screen, then selects the desired door.
  777.  
  778. FILELIST.ASC and FILELIST.ANS:
  779.                     When a  caller, in  the Files Library, selects "(L)ist"
  780.                     to see  a listing  of available files, this screen file
  781.                     is transmitted.   It  explains the choices available to
  782.                     the caller for listing files.
  783.  
  784. FILESLIB.ASC and FILESLIB.ANS:
  785.                     Menu  screen  for  file  library  (the  "files"  menu).
  786.                     Displays  caller's  options  for  file  area,  such  as
  787.                     downloading, listing, uploading, etc.
  788.  
  789. GOODBYE.ASC and GOODBYE.ASC:
  790.                     Screen file which is sent to callers after they request
  791.                     a logoff.   This  file should  be less  than 1/2  of  a
  792.                     screen in  length.   This ensures  that the  caller can
  793.                     view the  whole text  of the screen file, even if their
  794.                     communications program  does some  line feeds after the
  795.                     disconnect is  detected. Also,  since some callers will
  796.                     drop carrier  shortly  after  selecting  (G)oodbye  and
  797.                     confirming  their  logoff,  having  a  short  "goodbye"
  798.                     screen eliminates  these callers  from being  logged as
  799.                     "dropped carrier".
  800.  
  801. GREETING.ASC and GREETING.ANS:
  802.                     Screen sent  to callers during logon, immediately after
  803.                     they answer  the question  "Do you  wish to  have  ANSI
  804.                     color?".   This screen should be only a few lines long,
  805.                     and should contain the BBS name.
  806.  
  807. HELPFILE.ASC and HELPFILE.ANS:
  808.                     This screen  is displayed  if a  caller selects  (H)elp
  809.                     from the  Files Library  menu.  Its context is specific
  810.                     to the Files Library functions available in that menu.
  811.  
  812. HELPMAIN.ASC and HELPMAIN.ANS:
  813.                     This screen  is  transmitted  in  response  to  a  user
  814.                     selecting (H)elp  from the Main Menu.  It describes the
  815.                     functions available from the Main Menu.
  816.  
  817. HELPMSGS.ASC and HELPMSGS.ANS:
  818.                     If a  caller requests  (H)elp while viewing the Message
  819.                     System Menu,  this screen  is displayed.   It  contains
  820.                     instructions on  how to use the various features of the
  821.                     WR-BBS message system.
  822.  
  823. HOW2CHAT.ASC and HOW2CHAT.ANS:
  824.                     If a  caller presses  (S)ignal for  chat from  the main
  825.                     menu, the SysOp is alerted by a series of beeps, and is
  826.                     told to  press ENTER to start the chat with the caller.
  827.                     When the  SysOp presses ENTER, this screen is sent, and
  828.                     the  chat   begins.     This  screen  contains  helpful
  829.                     information about  how to  chat without  "stepping"  on
  830.                     each other.
  831.  
  832. MAINMENU.ASC and MAINMENU.ANS:
  833.                     This screen  file comprises  the Main  Menu.  It is the
  834.                     primary screen file seen by callers when on line.
  835.  
  836. MESSAGES.ASC and MESSAGES.ANS:
  837.                     This is  the screen  file for  the Message System menu.
  838.                     It lists  the choices  available to  a caller after the
  839.                     caller selects (M)essage system from the Main Menu.
  840.  
  841. NEWS.ASC and NEWS.ANS:
  842.                     Newsletter  file.    Displayed  to  callers  who  press
  843.                     (N)ewsletter from main menu.
  844.  
  845. NEWUSER.ASC and NEWUSER.ANS:
  846.                     Screen  sent   to  new   users,  before  the  new  user
  847.                     induction.   Use this  to explain  your board's  scope,
  848.                     policies,  or  other  information  that  might  not  be
  849.                     apparent to  a new user, as well as a first welcome for
  850.                     new callers.
  851.  
  852. PASSWORD.ASC and PASSWORD.ANS:
  853.                     Screen explaining  how to  select a password. Displayed
  854.                     to new users during logon, and to established users who
  855.                     want to change their password.
  856.  
  857. SEARCH.ASC and SEARCH.ANS:
  858.                     Screen which explains to callers how to use the various
  859.                     message searching options.
  860.  
  861. SENDMSG.ASC and SENDMSG.ANS:
  862.                     Screen which  explains how  to send  a message, and the
  863.                     addressing options available.
  864.  
  865. SHOWANSI.ASC:
  866.                     Screen  which  demonstrates  ANSI  graphics  to  assist
  867.                     callers in  deciding whether  or  not  they  want  ANSI
  868.                     enabled.   Notice that there is no .ANS counterpart for
  869.                     this display  file.   This is  because the  ANSI screen
  870.                     (for demonstration  to user)  is sent  to all  callers,
  871.                     regardless of current ANSI choice.  Otherwise, non-ANSI
  872.                     callers could  never see  the ANSI demonstration.  This
  873.                     is the  only WR-BBS  screen file  with ANSI colors in a
  874.                     .ASC file.
  875.  
  876. SYSOP.ASC and SYSOP.ANS:
  877.                     This is  the screen file for the SysOp menu.  The SysOp
  878.                     menu is  accessed (only  by the SysOp) by selecting "Z"
  879.                     from the  Main  Menu.    It  lists  the  administration
  880.                     options available to the SysOp while on line.
  881.  
  882. THANKYOU.ASC and THANKYOU.ANS:
  883.                     This screen  is sent after each successful upload.  The
  884.                     text thanks the caller for taking the time to upload to
  885.                     the board.
  886.  
  887. UPLDFAIL.ASC and UPLDFAIL.ANS:
  888.                     This screen  is  displayed  if  a  caller  attempts  an
  889.                     upload, but  for some  reason the  file is not received
  890.                     (or is  incomplete, or  aborted by  the  caller).    It
  891.                     describes the  problem so  that the  caller understands
  892.                     the upload was not successful.
  893.  
  894.  
  895. UPLOAD.ASC and UPLOAD.ANS:
  896.                     After a  caller selects (U)pload from the Files Library
  897.                     menu, this  screen is displayed. It can be used to give
  898.                     instructions on  what types of files are acceptable, or
  899.                     to  remind   the  caller   that  their   time  will  be
  900.                     compensated, etc.
  901.  
  902. WELCOME?.ASC and WELCOME?.ANS:
  903.                     This optional screen file is sent to callers after they
  904.                     have  completed   their  logon   (name,  password,  and
  905.                     statistics check).  There can  be up  to  26  WELCOME?.
  906.                     files, one  for each class of service (COS). The letter
  907.                     following "WELCOME"  in the  filename designates  which
  908.                     COS the  screen is  sent to.  For example, WELCOMEA.ASC
  909.                     and WELCOMEA.ANS will be shown to callers with a class-
  910.                     of-service of  "A", while WELCOMEB.ASC and WELCOMEB.ANS
  911.                     would be  shown to  callers with  a class-of-service of
  912.                     "B", and  so  on.    See  section  11  for  a  detailed
  913.                     description of  the class-of-service configuration.  If
  914.                     there is  no welcome file for a particular COS, callers
  915.                     in that COS do not see any welcome file.
  916.  
  917. You do  NOT need  to have  a statement  in your  CONFIG.SYS to load an ANSI
  918. driver for WR-BBS.  WR-BBS has its own built-in ANSI interpreter.
  919.  
  920. ===========================================================================
  921. SECTION 8                                                            WR.BAT
  922. ===========================================================================
  923.  
  924. It is  possible to start WR-BBS by simply typing WRBBS at the command line,
  925. from the  home path  directory.   This is  NOT recommended,  however.   For
  926. maximum flexibility  and control, the use of a batch file to control WR-BBS
  927. is recommended.  A sample batch file, WR.BAT, is included with the original
  928. distribution of  WR-BBS files.  You can use this file without modification,
  929. or edit  it for your site-specific requirements.  Using WR.BAT provides the
  930. following advantages:
  931.  
  932.           - If  WR-BBS operation  is disrupted  due  to  an  error  in  the
  933.           program, the  batch file  will detect  the  DOS  errorlevel,  and
  934.           automatically restart  WR-BBS, without  human intervention. (If a
  935.           batch file  is not  used, the  system would  just return  to  the
  936.           command line,  and not  answer any  calls until a human restarted
  937.           WR-BBS).
  938.           
  939.           - If  you schedule events which require termination (and restart)
  940.           of WR-BBS,  the BBS  will not  restart properly unless WR-BBS was
  941.           originally started  under the  control of  a batch  file such  as
  942.           WR.BAT.
  943.  
  944. A  freeware   utility  file,  WDELAY.EXE,  is  included  with  your  WR-BBS
  945. distribution package.   This  utility is called by WR.BAT when it starts to
  946. load WR-BBS.  This utility simply affords the local operator an opportunity
  947. to cancel the batch file by pressing ESC within the designated time.  Press
  948. <ENTER> when  prompted to  jump past  WDELAY.  If no key is pressed, WDELAY
  949. will start  WR-BBS after  the  delay,  which  allows  unattended  restarts.
  950. Unlike WR-BBS, the WDELAY utility requires no registration, and can be used
  951. indefinitely with no obligation.
  952.  
  953. WR.BAT is  based on  the fact  that WR-BBS  sets a different DOS ERRORLEVEL
  954. depending on  the reason  it terminated.   Based on that errorlevel, WR.BAT
  955. branches to  the appropriate  label in the batch file, and either re-starts
  956. WR-BBS, runs  a "terminate  event", or  simply ends.   (See  section 17 for
  957. information on  terminate events). The possible errorlevels returned by WR-
  958. BBS are:
  959.  
  960. 0            Normal termination (requested by local console)
  961. 1 to 17      Runtime error - operating system or file access error
  962. 84 to 99     Scheduled termination for configured external event
  963. 100 to 106   Runtime error - file or I/O error
  964. 150 to 162   Runtime error - critical file access error
  965. 200 to 214   Runtime error - critical program or logic error
  966. 254 to 255   Runtime error - internal WR-BBS debug halt
  967.  
  968. WR-BBS does  its own  error handling,  and is able to recover automatically
  969. (without terminating) from most minor runtime errors.  Any fatal errors are
  970. captured by WR-BBS's critical error handler, and logged in the activity log
  971. (if possible)  prior to WR-BBS terminating with the appropriate errorlevel.
  972. A screen  is also displayed by WR-BBS when a critical error occurs, showing
  973. the error  code and  process ID.   If a caller is connected when a critical
  974. error occurs,  a message  is transmitted to the caller, explaining that the
  975. system is going off-line briefly, and requesting that they call back.
  976.  
  977. Critical errors  are rare, and are usually due to external influences, such
  978. as corrupted memory, or database files being deleted or damaged.  But, with
  979. WR-BBS's built-in  critical error  handler, you  should never experience an
  980. error that simply crashes the program with no clue as to what happened.
  981.  
  982. ===========================================================================
  983. SECTION 9                                                ... THE FIRST TIME
  984. ===========================================================================
  985.  
  986. Before you  run WR-BBS  for the  first time, you must create an initialized
  987. set of  database files  for WR-BBS to work with.  This is an extremely easy
  988. process, and  takes less than a minute.  Initialized (empty) database files
  989. are not  provided with  the WR-BBS  distribution package,  since WR-BBS  is
  990. capable of  creating an  initialized database  on request.   To  create the
  991. initialized database, do the following:
  992.  
  993.           1.   Change directories  to make the WR-BBS home path the current
  994.                     directory.
  995.           
  996.           2.  At the command line, type WRBBS /INIT and then press <ENTER>.
  997.           
  998.           3.  Answer the confirmation by typing OKAY and pressing <ENTER>.
  999.  
  1000. WR-BBS will then create the following files:
  1001.  
  1002. WRBBSUSR.DAT
  1003.           This is  the database  file where  user (caller)  information  is
  1004.           stored.
  1005.  
  1006. WRBBSMSG.DAT
  1007.           This file  contains the  message system  database (but not actual
  1008.           messages), with  pointers to  the files  that contain  the actual
  1009.           message text.
  1010.  
  1011. WRBBSLIB.DAT
  1012.           The Files  Library database  is stored  in this  file.   All file
  1013.           descriptions and attributes are written to this file.
  1014.  
  1015. WRBBSPEG.DAT
  1016.           This file  stores statistical  (peg count) data about your WR-BBS
  1017.           system, including  the number  of calls  answered, calls answered
  1018.           today, new messages, etc.
  1019.  
  1020. WRBBSDBF.DAT
  1021.           This file  is used  to record  the status of the WR-BBS database.
  1022.           The W-TREE  database manager  uses this  file to determine if the
  1023.           system was  shut down  in an  orderly manner.  If it was not, the
  1024.           indices  are  rebuilt  automatically  the  next  time  WR-BBS  is
  1025.           restarted.
  1026.  
  1027. After you  have created  the  initialized  database,  WR-BBS  is  ready  to
  1028. configure.
  1029.  
  1030. IMPORTANT:   If you  have a  working database,  and request that the WR-BBS
  1031. database be initialized, all data in the database will be PERMANENTLY LOST.
  1032. Do not  request initialization  unless you  are installing  WR-BBS for  the
  1033. first time, or you wish to start over again with an empty database.
  1034.  
  1035. After creating  an initialized  database, WR-BBS  automatically creates the
  1036. user index  file, WRBBSUSR.IDX,  and a new activity log file, WRBBSLOG.TXT,
  1037. when WR-BBS is started up.
  1038.  
  1039. With an  initialized database,  your WR-BBS  system will  have exactly zero
  1040. users on  file, no  files or  messages in  the database, and no statistics.
  1041. After you  finish configuring  WR-BBS, start  WR-BBS by typing WR, wait for
  1042. the startup  process to complete, and then log on locally by pressing ALT-L
  1043. from the main screen (or the screen saver screen).  The first person to log
  1044. onto your  new WR-BBS  system should  be the  SysOp  whose  name  you  have
  1045. configured in WRCONFIG.SYS (see section 10).
  1046.  
  1047. ===========================================================================
  1048. SECTION 10                                               CONFIGURING WR-BBS
  1049. ===========================================================================
  1050.  
  1051. Almost all  of the  configuration required to make WR-BBS operation is done
  1052. by editing  the text  file WRCONFIG.SYS.   This file must exist in the home
  1053. path directory.   When you edit this file, use an ASCII-capable editor or a
  1054. word processor  that can  save documents in straight ASCII format.  If your
  1055. word processor  inserts proprietary  control  codes,  WR-BBS  will  try  to
  1056. interpret these  codes as  configuration instructions, and this would cause
  1057. unpredictable and  undesirable results.  The copy of WRCONFIG.SYS that came
  1058. with your  new WR-BBS  distribution has  SAMPLE  values  for  many  of  the
  1059. configuration items.   You  will need to change some of these to match your
  1060. implementation and your specific system.
  1061.  
  1062. WR-BBS will  attempt to  interpret any  line that  appears in WRCONFIG.SYS,
  1063. unless that  line starts with a single apostrophe (') or the keyword "REM",
  1064. which is  short for remark.  Any lines that start with one of those special
  1065. identifiers is  ignored by  WR-BBS.  This allows you to insert comments and
  1066. notes as  you make  changes.   It also  allows  you  to  remove  a  complex
  1067. configuration entry  from WR-BBS's  view by prefixing a REM in front of the
  1068. line.   This is  helpful if you want to experiment with different settings,
  1069. without worrying  about losing  complex configuration  strings that you may
  1070. have entered.
  1071.  
  1072. Each of  the entries that can be included in WRCONFIG.SYS is listed in this
  1073. section.   Some of the entries are not required unless you are implementing
  1074. special optional features.  For example, if you do not wish to have "doors"
  1075. on your  WR-BBS system,  you can  omit  (or  remark  out)  all  entries  in
  1076. WRCONFIG.SYS that  start with  "DOOR=".   Some entries  in WRCONFIG.SYS are
  1077. required, however, for proper operation.  These include the BBSNAME, SYSOP,
  1078. and other site-specific details.
  1079.  
  1080. ---------------------------------------------------------------------------
  1081. ANSWERCOMMAND=                                                  DEFAULT=ATA
  1082.  
  1083. This entry  allows you  to configure WR-BBS for the command that your modem
  1084. requires to  answer a  call.   99% of all modems use the command "ATA".  If
  1085. your modem uses "ATA" for an answer command, you can omit this line, as the
  1086. default is also "ATA".  If your modem requires some other command to answer
  1087. a ringing  call, you  must insert  the appropriate string in this entry for
  1088. proper operation.
  1089.  
  1090. IMPORTANT:   This entry  is for the command your modem requires to make the
  1091. modem go  off-hook under  software (WR-BBS) control in response to ringing.
  1092. This is  not the  same as  the "auto  answer" command.   Do  NOT insert  an
  1093. automatic answer  command string  in this entry (such as ATS0=1), or WR-BBS
  1094. will not answer calls properly.  This applies regardless of the RINGDETECT=
  1095. entry you may be using.
  1096.  
  1097. ---------------------------------------------------------------------------
  1098. BADDOOR=                                                          DEFAULT=N
  1099.  
  1100. If you  do not  plan to have "doors" or you do not have an error-correcting
  1101. modem, then  this entry  does not  apply, and  you can  skip it,  using the
  1102. default setting of "N".  This configuration item is to correct a deficiency
  1103. in some  door programs  that do not properly read the DOOR.SYS file.  These
  1104. incorrectly-written door  programs read  the caller's  connect  speed  from
  1105. DOOR.SYS rather  than the  DTE speed,  and then  they (incorrectly)  adjust
  1106. their own baud rate to the caller's speed, which is wrong.  The caller gets
  1107. screenfuls of  garbage, and  has to drop carrier, since they cannot issue a
  1108. quit command.  This phenomena only occurs if you have one of these BAD DOOR
  1109. programs, and  are using an error-correcting modem with the DTE locked at a
  1110. speed which  is different  than the  caller's.  If you make BADDOOR=Y, then
  1111. WR-BBS fools  the bad door by inserting the DTE speed in DOOR.SYS where the
  1112. caller's speed would normally appear.
  1113.  
  1114. Setting BADDOOR=Y is a workaround to compensate for sloppy programming that
  1115. was done  by the  door program  author.  Complain to the author of the door
  1116. program to  get the problem fixed.  This setting affects ALL doors that are
  1117. configured on  WR-BBS.   If you have a bad door among several "good" doors,
  1118. you really have only three choices:
  1119.  
  1120.           1.  Compromise all doors by setting BADDOOR=Y.  Some doors (which
  1121.                     WERE written  properly) may  then malfunction,  because
  1122.                     DOOR.SYS will then be wrong.
  1123.           
  1124.           2.   Stop  using  the  bad  software  (the  poorly  written  door
  1125.                     program).
  1126.           
  1127.           3.  Modify a batch file and/or use a door manager to fool the bad
  1128.                     door into working properly.
  1129.  
  1130. ---------------------------------------------------------------------------
  1131. BBSNAME=                                                         NO DEFAULT
  1132.  
  1133. Insert your  board's name.   Up  to 48  characters can  be used.  The value
  1134. assigned to   BBSNAME  appears at various points during a caller's session,
  1135. and on the default screen while WR-BBS is waiting for calls.  If you do not
  1136. configure this  item, WR-BBS will display "BBS NAME NOT CONFIGURED" in lieu
  1137. of a  BBS name.   The  BBSNAME entry is displayed in the appropriate places
  1138. whether or not you have registered your copy of WR-BBS.
  1139.  
  1140. ---------------------------------------------------------------------------
  1141. BULLETINS=                                                      DEFAULT: 32
  1142.  
  1143. This must  be a  number from  0 to  999, indicating the number of bulletins
  1144. that you  expect to  have available.   WR-BBS will search the home path for
  1145. this number  of bulletin  files, so  this value  should represent  the real
  1146. number of  bulletins  you  have  to  avoid  needless  DOS  file  searching.
  1147. Although it  is possible  to have,  say BULLETINS=500, and only four actual
  1148. bulletins, callers  will have  to endure  a delay while WR-BBS searches for
  1149. the non-existent 496 bulletins.
  1150.  
  1151. ---------------------------------------------------------------------------
  1152. BUSYLINE=                                                        DEFAULT: N
  1153.  
  1154. This entry  determines whether  or not WR-BBS makes the telephone line busy
  1155. when it  cannot process  calls.  Enter Y for yes, or N for no.  If your WR-
  1156. BBS system has its own exclusive telephone line, you may wish to enter Y so
  1157. that the  line is busy during events, while recycling, during local logons,
  1158. and when  WR-BBS is  terminated.   If  WR-BBS  shares  a  phone  line  with
  1159. something (or  someone) else, you must enter N to avoid disabling the phone
  1160. line needlessly for other devices or people.
  1161.  
  1162. ---------------------------------------------------------------------------
  1163. CARRIERWAIT=                                                     DEFAULT=45
  1164.  
  1165. This setting  tells WR-BBS  how long (in seconds) to wait for carrier after
  1166. answering an  incoming call.   Valid  values are  15 to  255 seconds.    45
  1167. seconds is  a good  setting for most installations.  Carrier usually occurs
  1168. within 25 seconds of a call ringing - if not, it's usually not a data call,
  1169. and waiting  much longer than 45 seconds will just waste time.  If you have
  1170. an error-correcting  modem that  goes through  lengthy summit  negotiations
  1171. before reporting  that carrier  is present,  you may  have to lengthen this
  1172. value to 60 or more seconds.
  1173.  
  1174. ---------------------------------------------------------------------------
  1175. CGA_STOP_SNOW=                                                   DEFAULT: N
  1176.  
  1177. For 99%  of all  installations, enter  N for  no on  this line.    If  your
  1178. computer has  an older CGA display, and you see "specks" on the screen when
  1179. WR-BBS is  writing to  the display,  then entering Y for yes here will stop
  1180. the "snow", but slow down screen updates.
  1181.  
  1182. ---------------------------------------------------------------------------
  1183. CONNECT300=                                                DEFAULT: CONNECT
  1184.  
  1185. Enter the  verbose result  code that  your modem  sends  when  a  300  baud
  1186. connection is established.  Most modems send "CONNECT".  If your modem does
  1187. not support  300 baud connections, then make CONNECT300=IMPOSSIBLE to avoid
  1188. any possibility of line noise being mis-interpreted.
  1189.  
  1190. ---------------------------------------------------------------------------
  1191. CONNECT1200=                                          DEFAULT: CONNECT 1200
  1192.  
  1193. Enter the  verbose result  code that  your modem  sends when  a  1200  baud
  1194. connection is established.  Most modems send "CONNECT 1200".  If your modem
  1195. does not support 1200 baud connections, then make CONNECT1200=IMPOSSIBLE to
  1196. avoid any possibility of line noise being mis-interpreted.
  1197.  
  1198. ---------------------------------------------------------------------------
  1199. CONNECT2400=                                          DEFAULT: CONNECT 2400
  1200.  
  1201. Enter the  verbose result  code that  your modem  sends when  a  2400  baud
  1202. connection is established.  Most modems send "CONNECT 2400".  If your modem
  1203. does not support 2400 baud connections, then make CONNECT2400=IMPOSSIBLE to
  1204. avoid any possibility of line noise being mis-interpreted.
  1205.  
  1206. ---------------------------------------------------------------------------
  1207. CONNECT4800=                                          DEFAULT: CONNECT 4800
  1208.  
  1209. Enter the  verbose result  code that  your modem  sends when  a  4800  baud
  1210. connection is established.  Most modems send "CONNECT 4800".  If your modem
  1211. does not support 4800 baud connections, then make CONNECT4800=IMPOSSIBLE to
  1212. avoid any possibility of line noise being mis-interpreted.
  1213.  
  1214. ---------------------------------------------------------------------------
  1215. CONNECT9600=                                          DEFAULT: CONNECT 9600
  1216.  
  1217. Enter the  verbose result  code that  your modem  sends when  a  9600  baud
  1218. connection is established.  Most modems send "CONNECT 9600".  If your modem
  1219. does not support 9600 baud connections, then make CONNECT9600=IMPOSSIBLE to
  1220. avoid any possibility of line noise being mis-interpreted.
  1221.  
  1222. ---------------------------------------------------------------------------
  1223. CONNECT12000=                                        DEFAULT: CONNECT 12000
  1224.  
  1225. Enter the  verbose result  code that  your modem  sends when  a 12000  baud
  1226. connection is established.  Most modems send "CONNECT 12000". If your modem
  1227. does not  support 12000 baud connections, then make CONNECT12000=IMPOSSIBLE
  1228. to avoid any possibility of line noise being mis-interpreted.
  1229.  
  1230.  
  1231. ---------------------------------------------------------------------------
  1232. CONNECT14400=                                        DEFAULT: CONNECT 14400
  1233.  
  1234. Enter the  verbose result  code that  your modem  sends when  a 14400  baud
  1235. connection is  established.   Most modems  send "CONNECT 14400" or "CONNECT
  1236. 144".   If your  modem does  not support  14400 baud connections, then make
  1237. CONNECT14400=IMPOSSIBLE to  avoid any  possibility of line noise being mis-
  1238. interpreted.
  1239.  
  1240. ---------------------------------------------------------------------------
  1241. CONNECT19200=                                        DEFAULT: CONNECT 19200
  1242.  
  1243. Enter the  verbose result  code that  your modem  sends when  a 19200  baud
  1244. connection is established.  Most modems send "CONNECT 19200" or "HICONNECT"
  1245. If  your   modem  does  not  support  19200  baud  connections,  then  make
  1246. CONNECT19200=IMPOSSIBLE to  avoid any  possibility of line noise being mis-
  1247. interpreted.
  1248.  
  1249. ---------------------------------------------------------------------------
  1250. CONNECT38400=                                        DEFAULT: CONNECT 38400
  1251.  
  1252. Enter the  verbose result  code that  your modem  sends when  a 38400  baud
  1253. connection is established.  Most modems send "CONNECT 38400". If your modem
  1254. does not  support 38400 baud connections, then make CONNECT38400=IMPOSSIBLE
  1255. to avoid any possibility of line noise being mis-interpreted.
  1256.  
  1257. ---------------------------------------------------------------------------
  1258. CONNECT57600=                                        DEFAULT: CONNECT 57600
  1259.  
  1260. Enter the  verbose result  code that  your modem  sends when  a 57600  baud
  1261. connection is established.  Most modems send "CONNECT 57600". If your modem
  1262. does not  support 57600 baud connections, then make CONNECT57600=IMPOSSIBLE
  1263. to avoid any possibility of line noise being mis-interpreted.
  1264.  
  1265. ---------------------------------------------------------------------------
  1266. CTSFLOW=                                                          DEFAULT=N
  1267.  
  1268. This setting controls whether WR-BBS should pay attention to the CTS (Clear
  1269. To Send)  flow control  signal from the modem.  If your modem has a maximum
  1270. speed of  2400 baud  or less, it is unlikely that the modem will ever lower
  1271. its CTS signal (which tells the computer to stop sending data).
  1272.  
  1273. On the  other hand,  high-speed modems, especially error-correcting modems,
  1274. need CTS control because they typically work with a fixed (locked) DTE baud
  1275. rate, regardless  of the  caller's connect speed.  If a caller is connected
  1276. at 2400 baud and the DTE speed is locked at 38,400, it doesn't take long to
  1277. fill the modem's buffer.  The modem then drops the CTS line, signalling the
  1278. computer to stop sending data for a while.  When the modem's buffer empties
  1279. out (as  the buffered  data is transmitted to the caller), the modem raises
  1280. the CTS  line, signalling  the computer  that it  can  again  accept  data.
  1281. Without such  a signalling  means, the modem would overflow, and data would
  1282. be lost.
  1283.  
  1284. Why not  just set  WR-BBS to always observe CTS with CTSFLOW=Y ?  There can
  1285. be some  drawbacks to  using CTS flow control, so you will probably want to
  1286. leave CTSFLOW=N  unless you  really need  CTS flow  control.   The constant
  1287. interrupt  servicing   necessary  to  watch  CTS  causes  slightly  reduced
  1288. throughput.   If your  DTE is  locked at  a high  speed (such  as 14,400 or
  1289. higher), this  reduction in output is negligible.  At slower speeds, it may
  1290. be noticeable.   The  interrupt overhead  may also  make some  disk caching
  1291. utilities slow  down, especially  if they  use exTENDed  memory instead  of
  1292. exPANDed memory.
  1293.  
  1294. ---------------------------------------------------------------------------
  1295. DOOR=                                                           NO DEFAULTS
  1296.  
  1297. See section 13 for complete details on setting up doors.
  1298.  
  1299. ---------------------------------------------------------------------------
  1300. ERRORFREE=                                                       NO DEFAULT
  1301.  
  1302. Enter the  result code  that your modem sends when an error free connection
  1303. is established.   Most error-correcting modems send either "/MNP" or "/REL"
  1304. to signify  such a  connection.   If you  do not  have an  error correcting
  1305. modem, then  make ERRORFREE=IMPOSSIBLE  to avoid false error-free detection
  1306. if random  matching characters  should appear.   This  string is  usually a
  1307. suffix to  the regular  connect string,  such as  "CONNECT  2400  /ARQ"  or
  1308. "CONNECT 9600 /REL".
  1309.  
  1310. ---------------------------------------------------------------------------
  1311. EVENT=                                                                  N/A
  1312.  
  1313. See section 17 for detailed instructions on configuring events.
  1314.  
  1315. ---------------------------------------------------------------------------
  1316. FILEAREA=                                                        NO DEFAULT
  1317.  
  1318. There can  be up  to 26  file areas  defined.   Each one is identified by a
  1319. unique letter  (from A  to Z)  and a  descriptive name.    The  file  areas
  1320. comprise your  "library" of  files available  for callers  to download.  By
  1321. having (up  to 26)  distinct file  areas, you can group your files by type.
  1322. For example, area "A" might be files that are of interest to Windows users,
  1323. while area "B" contains Games, with Recipes in area "C", and so on.  Having
  1324. a well-thought-out  file library  will make your WR-BBS easy for callers to
  1325. navigate, and ensure that files get the visibility you wish them to have.
  1326.  
  1327. It is not mandatory that any file areas be defined, but callers will not be
  1328. able to  upload (or  download) files unless at least one file area has been
  1329. defined.   This might  be satisfactory if you want to run a "messages only"
  1330. type of  BBS.   Otherwise, you will probably want to configure at least two
  1331. file areas;   One  area to  receive new  uploads, and at least one area for
  1332. callers to download files from.
  1333.  
  1334. To define  a file  area,  enter  a  line  in  WRCONFIG.SYS  containing  the
  1335. following, with each item separated by a pipe (|) symbol:
  1336.  
  1337.      1.  The string FILEAREA=
  1338.      
  1339.      2.  The unique letter (A to Z) you wish to assign to that file area.
  1340.      
  1341.      3.   A descriptive name for that file area, such as "Astronomy Files",
  1342.           "Games for  Children", or  "DOS Utility Files".  This descriptive
  1343.           name can be up to 48 characters in length.
  1344.      
  1345.      4.   The full  path to  that file  area.   This must  be a  valid  DOS
  1346.           directory. This  directory (only)  will be  searched when  a file
  1347.           download is  requested by  a caller.  If the  specified directory
  1348.           does not exist, an error will occur when WR-BBS is started.
  1349.      
  1350.      5.   A string  of letters  (A to Z), representing the class-of-service
  1351.           required for a caller to access the files in that area.  To allow
  1352.           all classes-of-service  to access  this are,  the string would be
  1353.           "ABCDEFGHIJKLMNOPQRSTUVWXYZ".     See  section  11  for  detailed
  1354.           information on setting up classes of service.
  1355.  
  1356. Some examples:
  1357.  
  1358.      FILEAREA=A|Flight Simulator Utilities|C:\WR-BBS\FSUTILS|ABCDE
  1359.  
  1360. In the  above example,  a  file  area  designated  as  "A"  references  the
  1361. directory C:\FSUTILS.   The  name that  will be  displayed  to  callers  is
  1362. "Flight Simulator  Utilities".  Callers have a class-of-service of A, B, C,
  1363. D, or  E can  access this file area.  Callers with other classes-of-service
  1364. (such as "Z") will not be able to access this file area.
  1365.  
  1366.      FILEAREA=B|Games|D:\GAMES|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  1367.  
  1368. In the  above example, file area "B" references the directory D:\GAMES. Any
  1369. caller can  access this  area, as all 26 class-of-service letters have been
  1370. included in the COS string.
  1371.  
  1372.      FILEAREA=C|SysOp Only!|C:\FORSYSOP|Q
  1373.  
  1374. In  the   above  example,  file  area  "C"  references  a  directory  named
  1375. C:\FORSYSOP.   This is  a private file area.  In this example, the SysOp is
  1376. the only  caller with  a class-of-service of "Q", therefore, only the SysOp
  1377. can access this file area.
  1378.  
  1379. Careful planning  of your  classes of  service will  allow you  to offer  a
  1380. flexible file  library to  your callers,  restricting unauthorized  callers
  1381. from files  that they  should not  access.  Section 11, which describes the
  1382. class-of-service concept, is recommended reading for new WR-BBS SysOps.
  1383.  
  1384. The entries  that you  put in WRCONFIG.SYS to configure your file areas may
  1385. exceed the  normal line  size of your editor.  The directory path can be up
  1386. to 64  characters, and the descriptive name can be up to 48 characters.  If
  1387. your entry exceeds 79 characters, it is important that your editor keep the
  1388. long entry  as ONE  line, with  no imbedded  carriage  return  or  linefeed
  1389. characters.  The entire entry cannot exceed 128 characters.
  1390.  
  1391. ---------------------------------------------------------------------------
  1392. GOODBYE_DELAY=                                                    DEFAULT=1
  1393.  
  1394. This parameter  controls how  long WR-BBS  waits, after sending the GOODBYE
  1395. screen, before  actually dropping  the call  (lowering DTR).  If you do not
  1396. have an  error correcting  modem,  the  default  setting  of  1  second  is
  1397. adequate.   If you  have an  error correcting modem, the caller may not see
  1398. the entire  GOODBYE screen unless you extend the number of seconds that WR-
  1399. BBS waits  before it  drops carrier after sending the GOODBYE screen.  This
  1400. is because  it only  takes a  few milliseconds  for WR-BBS  to transmit the
  1401. GOODBYE screen (at very high baud rates typical of error-correcting modems)
  1402. but the  remote caller's  communications program will usually stop updating
  1403. the caller's  screen as  soon as  their modem detects that WR-BBS has ended
  1404. the call.   Valid  values for  this setting  are from  1 to  9 seconds.  It
  1405. cannot be set to 0 seconds.
  1406.  
  1407. ---------------------------------------------------------------------------
  1408. INBUFFER=                                                      DEFAULT=2048
  1409.  
  1410. This is an optional entry.  It determines the size of the serial I/O buffer
  1411. that WR-BBS  sets up in memory.  2048 is usually a good value to use.  This
  1412. means that  WR-BBS's communications  port handler  will buffer  up to  2048
  1413. characters until  WR-BBS can  process them.   Usually,  no more  than a few
  1414. characters are ever buffered for input.  The buffer can be set to any whole
  1415. number from  128 to  32767.   The higher  this number,  the more  memory is
  1416. needed by  WR-BBS (a  32767 character  buffer takes 32K of additional ram).
  1417. If this  value is  too low,  a buffer  over-run may occur.  An over-run, at
  1418. best, means  that some input characters will be lost.  In severe cases, WR-
  1419. BBS could crash due to heap corruption.
  1420.  
  1421. If you  use a  multi-tasking environment,  such as  DESQview, an  OS/2  DOS
  1422. Window, or Microsoft Windows, it is possible that WR-BBS may not get enough
  1423. processor cycles  to unload  the buffer  in a  timely  fashion  if  another
  1424. process is bogging the system down.  If this is likely, increase the buffer
  1425. size slightly (try 8000).
  1426.  
  1427. Unless you  run multiple  applications under  a multi-tasker,  or you  have
  1428. problems with  buffer over-runs,  its best not to change INBUFFER= from the
  1429. default setting.
  1430.  
  1431. ---------------------------------------------------------------------------
  1432. INITBAUD=                                                      DEFAULT=2400
  1433.  
  1434. This value  is the  speed (baud rate) at which you modem expects to receive
  1435. off-line initialization  commands.   For most (but not all) modems, this is
  1436. the same  as their  maximum operating  speed.   When WR-BBS  starts up, and
  1437. after each  call, initialization commands are sent to the modem.  The value
  1438. you define  for INITBAUD= determines the speed used by WR-BBS to send those
  1439. commands.   For most  error-correcting modems, including those that support
  1440. v32, v42,  MNP, and  ARQ transmission,  the INITBAUD= setting should be the
  1441. modem's "link"  speed.   This is  the speed  at which  the  modem  normally
  1442. communicates with  the computer  (and vice  versa).   Most error-correcting
  1443. modems use  one speed  for all computer-to-modem and modem-to-computer data
  1444. transmissions, regardless  of the  actual connect  speed.   For  additional
  1445. information, see the entry for LOCKDTE=.
  1446.  
  1447. ---------------------------------------------------------------------------
  1448. LICENSEE=                                                        NO DEFAULT
  1449.  
  1450. If you  have registered  your copy  of WR-BBS,  enter your  registered name
  1451. after  the   equal  sign,  exactly  as  it  appears  on  your  registration
  1452. confirmation.   You must  also  enter  the  special  registration  code  in
  1453. conjunction with  the REGISTRATION=  parameter  (described  later  in  this
  1454. section.  Make sure both are entered correctly.  Have correct values in the
  1455. LICENSEE=  and   REGISTRATION=  lines  will  stop  WR-BBS  from  displaying
  1456. "EVALUATION ONLY"  when callers log on and log off.  Your registration name
  1457. will be displayed instead.
  1458.  
  1459. ---------------------------------------------------------------------------
  1460. LOCKDTE=                                                          DEFAULT=N
  1461.  
  1462. This is  for error-correcting  modems.   If  you  do  not  have  an  error-
  1463. correcting modem,  set LOCKDTE=N,  or omit  this  line  from  WRCONFIG.SYS.
  1464. Error-correcting modems  can be identified by the transmission methods that
  1465. they support, typically V.32bis, V.42bis, MNP, "reliable", and ARQ.  Almost
  1466. all modems  that work at speeds above 4800 baud are of the error-correcting
  1467. type.
  1468.  
  1469. Error-correcting modems, with few exceptions, use "locked DTE".  This means
  1470. that the data stream from the computer to the modem, and vice-versa, always
  1471. occurs at  a fixed  speed (such  as 14,400, 19,200, or 38,400).  DTE stands
  1472. for Data  Terminal Equipment,  which is what your computer is to the modem.
  1473. This constant DTE speed is locked at the same value at all times regardless
  1474. of the  caller's actual  connect rate.   For  example, if  you are using an
  1475. error-correcting modem,  and have  the DTE  locked at  14,400, WR-BBS  will
  1476. communicate with  the modem  at 14,400  regardless of  who is on line or at
  1477. what speed.   Even  a 300  baud connection will result in computer-to-modem
  1478. and  modem-to-computer  communications  at  14,400  baud;  the  modem  will
  1479. automatically adjust  its interface with the caller to their connected baud
  1480. rate.   Also, all  modem commands  (including initialization  and recycling
  1481. commands) are sent at the locked DTE speed.
  1482.  
  1483. If  you   are  using   an  error-correcting  modem,  consult  your  modem's
  1484. documentation for  the proper locked DTE speed to use, and set INITBAUD= to
  1485. this value.  Also set LOCKDTE=Y.
  1486.  
  1487. NOTE:   If LOCKDTE=Y  and your modem is not an error-correcting type (or is
  1488. not set up properly), callers will receive garbage unless they happen to be
  1489. calling at the modem's locked DTE speed.
  1490.  
  1491. ---------------------------------------------------------------------------
  1492. LOGONALARM=                                                       DEFAULT=N
  1493.  
  1494. Enter Y  for yes  if you  want WR-BBS to alert you to each logon with a one
  1495. second warble tone.  When N is set, no tone is heard when a logon occurs.
  1496.  
  1497. ---------------------------------------------------------------------------
  1498. MAXBAUD=                                                       DEFAULT=2400
  1499.  
  1500. Enter the maximum speed (baud) at which your modem is capable of operating.
  1501. Depending on  your modem's  make and  model, this  may  be  different  from
  1502. INITBAUD=.   For error-correcting  modems, enter  the modem's DTE or "link"
  1503. speed.
  1504.  
  1505. ---------------------------------------------------------------------------
  1506. MODEM_INIT_ONE=                         DEFAULT=AT &C1 &D2 S7=45 V1 X4 S0=0
  1507.  and
  1508. MODEM_INIT_TWO=                                                  NO DEFAULT
  1509.  
  1510. WR-BBS supports  two modem initialization strings.  Each one can have up to
  1511. forty (40)  characters after  the equal  sign.   Most modems  cannot accept
  1512. commands with  more  than  40  characters  in  the  string.    Some  WR-BBS
  1513. installations (particularly  those  with  high-speed,  highly  configurable
  1514. modems) may require more than forty characters to initialize the modem.  An
  1515. additional line,  MODEM_INIT_TWO=, is  recognized in  WRCONFIG.SYS, and can
  1516. contain up  to forty  additional characters  of modem  initialization data.
  1517. Thus, WR-BBS  can handle  up to  eighty characters for modem initialization
  1518. purposes. You  do not  have to use both strings if your initialization data
  1519. will  fit   into  one  string.    If  you  have  no  data  for  the  second
  1520. initialization string, omit the MODEM_INIT_TWO= entry from WRCONFIG.SYS.
  1521.  
  1522. The modem  initialization string  is sent  to the modem whenever one of the
  1523. following conditions occur:
  1524.  
  1525.           1.  WR-BBS is first started.
  1526.           2.   A call  ends, and  WR-BBS recycles  to prepare  for the next
  1527.                     call.
  1528.  
  1529. For proper  operation, some form of initialization data must be sent to the
  1530. modem  in  each  of  the  two  situations  above.    Consult  your  modem's
  1531. documentation for  the appropriate  information to  include in this string.
  1532. If you  have a  Hayes <tm> modem, or a modem that recognizes the Hayes <tm>
  1533. command set,  the initialization  string  should  start  with  "AT".    The
  1534. commands listed  below are  for example  purposes, and  assume the use of a
  1535. Hayes <tm> modem with no error-correction (such as a SmartModem 2400 <tm>).
  1536. They apply  to most  modems that  recognize the same commands as Hayes <tm>
  1537. modems, and  are necessary for proper, secure operation of WR-BBS.  You may
  1538. need to  add additional  commands  for  your  particular  installation,  so
  1539. consider these as a bare minimum:
  1540.  
  1541.           Command    Meaning
  1542.           -------    -------
  1543.           E1         Echo commands back to computer
  1544.           M0         Modem's speaker off at all times
  1545.           Q0         Send result codes
  1546.           V1         Result codes are words instead of numbers
  1547.           X4         Detailed result codes, including connect speed
  1548.           &C1        Track the presence or absence of carrier detect
  1549.           &D2        React to loss of DTR by dropping carrier
  1550.           &R0        CTS follows RTS, not assumed to be on
  1551.           S0=0       Disable auto answer (see RINGDETECT=)
  1552.           S2=128     Disable escape sequence
  1553.  
  1554.  
  1555.           The "E1"  command is  necessary so that WR-BBS will its own input
  1556.                     to the  modem echoed back.  If WR-BBS does not see this
  1557.                     echo, the initialization diagnostics will not work.
  1558.           
  1559.           The "M0"  command is  not essential, but if you omit it, you will
  1560.                     hear the progress of incoming calls until the handshake
  1561.                     is finished.   This can be annoying, especially if your
  1562.                     WR-BBS runs twenty four hours a day.
  1563.           
  1564.           The "Q0"  command is  required, as  WR-BBS will  not be  able  to
  1565.                     determine  a  caller's  connect  speed  without  result
  1566.                     codes.
  1567.           
  1568.           The "V1"  command is  also required,  so that  WR-BBS is supplied
  1569.                     with verbose result codes instead of numbers.
  1570.           
  1571.           The "X4"  command makes  the result  codes even  more verbose, so
  1572.                     that WR-BBS  can determine  the speed at which a caller
  1573.                     connects, as  well as the modem's reports of any errors
  1574.                     during handshaking.
  1575.           
  1576.           The "&C1"  command is  extremely important and essential.  WR-BBS
  1577.                     will  NOT   work   without   this   command   in   your
  1578.                     initialization string.   This  command makes  the modem
  1579.                     report the  true state  of  the  carrier  detect.    If
  1580.                     omitted, the  modem (by  default) will  usually  report
  1581.                     that carrier  is present  all of the time.  WR-BBS will
  1582.                     never finish  the startup sequence if this is the case,
  1583.                     as it  will assume  that a caller is connected, and try
  1584.                     (up to  30 times)  to drop  carrier, when  there was no
  1585.                     carrier in the first place.
  1586.           
  1587.           The "&D2"  command is  equally important,  as this  instructs the
  1588.                     modem to  drop a  call if  WR-BBS lowers  the DTR (Data
  1589.                     Terminal Ready)  line.   Without this  command  in  the
  1590.                     initialization string,  WR-BBS  will  not  be  able  to
  1591.                     disconnect calls properly.
  1592.           
  1593.           The "S0=0"  command is  REQUIRED unless  your modem is one of the
  1594.                     extremely  few  modems  that  do  not  report  ringing.
  1595.                     99.999999% of all internal modems and 99.999998% of all
  1596.                     external modems  properly report ringing via pin 22. If
  1597.                     yours does  not, it  is either  very old, or defective.
  1598.                     You can  configure WR-BBS  to work  with the  modem  in
  1599.                     auto-answer mode  until you  obtain a  modem that works
  1600.                     properly.   See RINGDETECT=  for more  details.  Unless
  1601.                     you need  to compromise  your WR-BBS  to  adapt  to  an
  1602.                     incompatible modem,  do NOT  set your  modem  for  auto
  1603.                     answer, either  via an  initialization command  or  via
  1604.                     switches on the modem.
  1605.           
  1606.           The "S2=128" command disables the escape sequence that is used to
  1607.                     gain control  of your  modem when  it is on line.  This
  1608.                     sequence, by default, is "+++".  A hacker could arrange
  1609.                     his system  to send  this sequence  and take control of
  1610.                     your modem.   I  won't explain how, but it can be done.
  1611.                     By setting  S2=128, the escape sequence is disabled, so
  1612.                     nobody can play games with your modem.
  1613.  
  1614.  
  1615. ---------------------------------------------------------------------------
  1616. MODEMDELAY=                                                      DEFAULT=55
  1617.  
  1618. This setting  allows you  to compensate  for a "slow" or exceptionally fast
  1619. modem.   Allowable values are from 1 to 1024, and represent milliseconds of
  1620. delay between  each command  character transmitted to the modem.  Note that
  1621. this character  "pacing" has  no connection  with the modem's behavior when
  1622. connected to  a caller  - all  MODEMDELAY does is slow down command strings
  1623. being sent  to the  modem by  WR-BBS.   If your  modem "misses"  the  "ATA"
  1624. command (and  ignores ringing calls), try increasing the MODEMDELAY setting
  1625. a bit at a time.  The same is true if the status line shows that your modem
  1626. is not  acknowledging initialization  commands  (or  there  are  characters
  1627. missing in  the echoed  result).   You should  never have to set MODEMDELAY
  1628. higher than 250.  If your modem is super-efficient, you may be able to trim
  1629. MODEMDELAY down below 55, reducing the initialization time slightly.
  1630.  
  1631. If you  are running  an error  correcting modem  at very  high  DTE  speeds
  1632. (57,600 and above), you will probably need to set MODEMDELAY to 100 or more
  1633. to get reliable command acceptance.
  1634.  
  1635. ---------------------------------------------------------------------------
  1636. NEWUSER_ADDRESS1=                                                 DEFAULT=Y
  1637.  
  1638. If Y  is specified,  then WR-BBS  will ask  each new user for their address
  1639. during the  new user  questionnaire.  If set to N, then new callers are not
  1640. prompted for their address, but can optionally enter it if desired.
  1641.  
  1642. ---------------------------------------------------------------------------
  1643. NEWUSER_ADDRESS2=                                                 DEFAULT=Y
  1644.  
  1645. If set to Y, then new callers, while completing the new user questionnaire,
  1646. will be  prompted to (but not required to) enter their "auxiliary" address.
  1647. An auxiliary  address is any part of their street address that does not fit
  1648. on the  first line  (NEWUSER_ADDRESS1=), such as their apartment number. If
  1649. set to  N, new  callers are  not prompted for an auxiliary address, but can
  1650. enter one if so desired.
  1651.  
  1652. ---------------------------------------------------------------------------
  1653. NEWUSER_CITY=                                                     DEFAULT=Y
  1654.  
  1655. During the  new user  questionnaire, new  callers will be required to enter
  1656. their city  if set  to Y.  If you do not wish to require this response, set
  1657. this to N.
  1658.  
  1659. ---------------------------------------------------------------------------
  1660. NEWUSER_COS=                                                      DEFAULT=A
  1661.  
  1662. This entry  defines which  class-of-service (COS)  is initially assigned to
  1663. new callers  after they complete the new user questionnaire.  It can be any
  1664. letter from  A to  Z.   By convention,  "A" is  the lowest letter, and thus
  1665. would have  the lowest access privileges, but you don't have to follow this
  1666. convention, since  any  COS  can  be  given  any  privileges  you  wish  to
  1667. configure.  By specifying a "restricted" class-of-service for NEWUSER_COS=,
  1668. you can ensure that new users do not have excessive access rights until you
  1669. have verified their questionnaire responses.  After verification, you would
  1670. (as the  SysOp) go  into the  SysOp menu, select (U)ser administration, and
  1671. assign a  "better" class-of-service to the verified caller.  See section 11
  1672. for a detailed explanation of the WR-BBS flexible class-of-service system.
  1673.  
  1674. ---------------------------------------------------------------------------
  1675. NEWUSER_DATAPHONE=                                                DEFAULT=N
  1676.  
  1677. This item  determines whether  new callers,  while answering  the new  user
  1678. questionnaire, are  required to  enter a "data" or "business" phone number.
  1679. In some environments, such as a private "hobby" BBS, it is not realistic to
  1680. expect that  every caller  would have  a data  or business  phone number to
  1681. give, so  you will probably want to set this item to N.  If you are running
  1682. a more  specialized BBS,  where, for  example, you  need the fax number for
  1683. every caller,  you can  set this  to Y  to  prompt  them  for  a  non-voice
  1684. telephone number.
  1685.  
  1686. ---------------------------------------------------------------------------
  1687. NEWUSER_VOICEPHONE=                                               DEFAULT=Y
  1688.  
  1689. Setting this  item to  Y makes WR-BBS ask for a voice telephone number from
  1690. each new  caller who completes the new user questionnaire.  Unlike a "data"
  1691. phone, you  can be  assured that  every caller  has at  least a voice phone
  1692. number to supply (how are they calling your board?), and most SysOps demand
  1693. this information  for verification  purposes.   If NEWUSER_VOICEPHONE=Y and
  1694. VALIDATEPHONE=Y, the  new user  will  not  be  allowed  to  enter  a  bogus
  1695. telephone number such as 555-1234 or 800-XXX-XXXX.  They can still dream up
  1696. a fake  number which  satisfies the  VALIDATEPHONE routine,  but if they do
  1697. enter such  a fake  number, you  can lock them out with a clear conscience,
  1698. knowing that  they intentionally entered a bogus number, and then responded
  1699. that the number was indeed accurate.  See the VALIDATEPHONE description for
  1700. more details.
  1701.  
  1702. ---------------------------------------------------------------------------
  1703. NEWUSER_ZIPCODE=                                                  DEFAULT=Y
  1704.  
  1705. If set  to Y,  new callers who indicate that they live in the United States
  1706. will be  required to  enter a  Zip code which complies with the USA format.
  1707. Either a  five or nine digit zip code complies.  New callers who are not US
  1708. residents (based on their answer to the "country" question) are not held to
  1709. this requirement,  as their  postal codes  may have  one of  many different
  1710. formats, or  be non-existent.   If set to N, no prompting for a Zip code is
  1711. done, but it can be optionally entered by the caller.
  1712.  
  1713. ---------------------------------------------------------------------------
  1714. PARITY=                                                           DEFAULT=N
  1715.  
  1716. The default  setting of  "N" for  no parity  checking should not be changed
  1717. except for  unusual situations.  Other valid settings are "E" for even, "O"
  1718. for odd,  "M" for  mark and  "S" for  space.  Note that ANSI graphics, file
  1719. transfer protocols, and most doors will not work consistently unless parity
  1720. checking is disabled by setting it to "N".
  1721.  
  1722. ---------------------------------------------------------------------------
  1723. PORTNUMBER=                                                       DEFAULT=1
  1724.  
  1725. Use this  setting to  tell WR-BBS  which communications  port your modem is
  1726. connected to.   Standard  port configurations  for COM1  and COM2 are fully
  1727. supported by  WR-BBS.   For COM1, the line would read PORTNUMBER=1, and for
  1728. COM2, the  line would  read PORTNUMBER=2.   There  is only  partial support
  1729. designed into  WR-BBS for  ports other than COM1 and COM2, and operation on
  1730. non-standard ports  is not  assured in  this version of WR-BBS.  The IBM PC
  1731. <tm> and  AT <tm>  in their most generic form do not support communications
  1732. ports other  than COM1  and COM2.   If  you wish  to use a non-standard COM
  1733. port, it  must have  an IRQ  that respectively  matches the  supported  COM
  1734. ports.  The IRQ mapping is:
  1735.  
  1736.           COM1         IRQ4
  1737.           COM2         IRQ3
  1738.           COM3         IRQ4
  1739.           COM4         IRQ3
  1740.  
  1741. ---------------------------------------------------------------------------
  1742. REGISTRATION=
  1743.  
  1744. After you  register your copy of WR-BBS, you will receive a "license code",
  1745. which is  used in  conjunction with  the REGISTRATION= entry to tell WR-BBS
  1746. that you have a registered copy.
  1747.  
  1748. ---------------------------------------------------------------------------
  1749. RINGDETECT=                                                       DEFAULT=1
  1750.  
  1751. WR-BBS supports  two kinds  of ring detection.  In 99.99% of all cases, you
  1752. should use  ring detection  type 1,  which is  the default.  Ring detection
  1753. type 1  uses your  modem's hardware  ring signal line (pin 22 on the RS-232
  1754. cable).   This pin  goes high  when the  phone line  rings.  It is the most
  1755. reliable method.  If you use ring detection type 1 (which you should), make
  1756. certain that you include S0=0 somewhere in your modem initialization string
  1757. (see MODEM_INIT_1=).  This turns off the auto answer feature on your modem.
  1758. As with  most BBS  products, WR-BBS waits for ringing to be reported by the
  1759. modem, then  issues a  command to  make the modem answer.  If your modem is
  1760. set for  auto-answering with  ring detection type 1, nobody will be able to
  1761. establish a  connection and  weird things will happen. Also, make sure that
  1762. your modem's DIP switches are set to disable auto-answer.
  1763.  
  1764. There are  a (very)  few modems  which do not report ringing via pin 22. If
  1765. you have  one of  these modems,  you will  have to  set RINGDETECT=2.    If
  1766. RINGDETECT=2, you  MUST have  auto-answer enabled by including S0=1 in your
  1767. modem initialization string.
  1768.  
  1769. Use RINGDETECT=2  only if  your modem  cannot support the default method of
  1770. ring detection.   If  you have  any doors  configured, be  aware that using
  1771. RINGDETECT=2 allows  a small  (but real) window of opportunity for a hacker
  1772. to get  into the  system.  If a caller drops carrier while in a door, and a
  1773. new call comes in before the door has exited to WR-BBS, the new caller will
  1774. be able to essentially continue the session of the previous caller.  If the
  1775. previous caller  was the  SysOp or  a user  with a liberal class-of-service
  1776. that allows  access to  the operating  system, a  hacker who obtains access
  1777. this  way  can  do  grave  damage,  including  formatting  your  drives  or
  1778. introducing a  virus.   This potential security breach is not a flaw in WR-
  1779. BBS, but a short coming in some door programs that do not immediately react
  1780. to lost carrier by exiting to the calling program.  Although the likelihood
  1781. of such  an occurrence  is rare, it is one more reason to use RINGDETECT=1,
  1782. which all  modern modems  (that are  connected properly)  support.   If you
  1783. modem does  not support  pin 22  ring reporting, and you wish to use doors,
  1784. you should consider getting a better modem before using RINGDETECT=2.
  1785.  
  1786. ---------------------------------------------------------------------------
  1787. SCREENDIR=                                      DEFAULT (SAME AS HOME PATH)
  1788.  
  1789. This is  an optional  entry.  WR-BBS uses a number of "screen" files, which
  1790. have extensions  of .ASC and .ANS.  These files are sent to callers to make
  1791. the corresponding screens display on the caller's system.  Depending on how
  1792. sophisticated you  make your  WR-BBS application,  you could  have anywhere
  1793. from 50 to a few hundred screen files.
  1794.  
  1795. To avoid  cluttering up  the home path directory, you can use SCREENDIR= to
  1796. specify a  separate directory  where the  screen files  are  stored.    For
  1797. example, if your home path is:
  1798.  
  1799.           D:\WR-BBS
  1800.           
  1801.                and you want to keep the screen files in
  1802.           
  1803.           D:\WR-BBS\SCREENS
  1804.  
  1805. Then you  would  configure  WR-BBS  by  inserting  the  following  line  in
  1806. WRCONFIG.SYS:
  1807.  
  1808.           SCREENDIR=D:\WR-BBS\SCREENS
  1809.  
  1810. If you do not wish to have a separate screen directory (you don't have to),
  1811. then omit  the SCREENDIR= entry, or REMark it out. If you use this item, it
  1812. must point  to a  valid directory  where all .ASC and .ANS files for WR-BBS
  1813. are stored.
  1814.  
  1815. ---------------------------------------------------------------------------
  1816. SCREENSAVER=                                                      DEFAULT=Y
  1817.  
  1818. Unless  you  tell  WR-BBS  otherwise,  its  uses  a  screen-saving  display
  1819. procedure whenever  it is  idle.   Since most  WR-BBS boards  are  operated
  1820. twenty four  hours a day, the screen saver prevents the WR-BBS screen image
  1821. from becoming  burned into  the monitor's  picture tube.   When  the screen
  1822. saver is  in effect, a three or four line abbreviated display is located at
  1823. random places on the screen, using random colors and intensities.  If there
  1824. are messages waiting for the SysOp, the fourth line flashes "New message(s)
  1825. for SysOp".   If the SysOp has no messages waiting, there is no fourth line
  1826. in the  screen saver  display.   The top  line of  the screen-saver display
  1827. shows the current date and time, and the WR-BBS "up" symbol.
  1828.  
  1829. When the  screen saver  is in effect, pressing ESCape will return WR-BBS to
  1830. the full-screen  display mode.   Whenever  any activity  occurs (such as an
  1831. incoming call, event, or local administration), the screen saver reverts to
  1832. a full screen display automatically.
  1833.  
  1834. If you set SCREENSAVER=N, WR-BBS will always display in full-screen mode.
  1835.  
  1836. ---------------------------------------------------------------------------
  1837. SEEKBAUD=                                                   DEFAULT=MAXBAUD
  1838.  
  1839. This entry  is not  required unless you have one of the very few modems out
  1840. there that seeks "up" to negotiate a connect speed.  Most modems attempt to
  1841. seek "down" from their highest possible speed until the remote modem agrees
  1842. to a  connect speed.  Thus a 2400 baud modem would answer at 2400 baud, and
  1843. step down to 1200, and then 300 until the far modem handshakes.  A few rare
  1844. modems start at their lowest speed, and "sweep" all possible connect speeds
  1845. before completing  their negotiation.   If  you have  one of  these strange
  1846. modems, set  SEEKBAUD to  the speed  at which  the modem  should begin  its
  1847. negotiations.
  1848.  
  1849. ---------------------------------------------------------------------------
  1850. SERIALNUMBER=
  1851.  
  1852. After you register your copy of WR-BBS, you will receive a serial number.
  1853. Enter it with the SERIALNUMBER keyword in WRCONFIG.SYS.
  1854.  
  1855. ---------------------------------------------------------------------------
  1856. SHELLSWAP=                                                        DEFAULT=Y
  1857.  
  1858. When WR-BBS runs some type of external program (door, event, shell to DOS),
  1859. it can swap out more than 90% of its memory image, leaving less than 18K of
  1860. itself in memory.  This leaves lots of memory for the program that is being
  1861. run by WR-BBS.
  1862.  
  1863. If your  system has  at least  550K  free  exPANDed  memory  (not  exTENDed
  1864. memory), then  WR-BBS will swap to EMS memory.  This swap occurs as quickly
  1865. as your  computer can  move the  WR-BBS image from one section of memory to
  1866. another -  within milliseconds.   If  your system has insufficient exPANDed
  1867. memory to  complete the  swap, WR-BBS  instead swaps  to a  disk file named
  1868. WRBBS.$$$ located in the home path.
  1869.  
  1870. If you  have a  slow computer  with a slow drive, and insufficient exPANDed
  1871. memory, the  time it  takes to swap the WR-BBS image to disk can be several
  1872. seconds.   Callers may  perceive this delay as your board being sluggish to
  1873. respond (WR-BBS  will  not  accept  caller  input  while  the  swapping  is
  1874. happening).   In this case, you might wish to set SHELLSWAP=N.  WR-BBS will
  1875. not swap  its image  when configured that way.  The drawback is that WR-BBS
  1876. will continue  to occupy  its original  memory when the external program is
  1877. invoked, and the external program may not have sufficient memory available.
  1878.  
  1879. If there  is insufficient  exPANDed memory  and WR-BBS  swaps to  disk,  it
  1880. automatically deletes  the file  WRBBS.$$$ when it swaps back.  Do not edit
  1881. or delete  the swap  file when  shelled out, or WR-BBS will fail to reload,
  1882. and a system reboot will be required.
  1883.  
  1884.  
  1885.  
  1886. ---------------------------------------------------------------------------
  1887. SYSOP=                                                           NO DEFAULT
  1888.  
  1889. You must  put a line in WRCONFIG.SYS to indicate who is the SysOp.  Use the
  1890. exact name  that you  will log  onto your WR-BBS with.  When the SysOp logs
  1891. on, special  privileges are  allowed for  that person  who is named in this
  1892. entry.
  1893.  
  1894. Example:
  1895.  
  1896.           SYSOP=WILSON ROGERS
  1897.  
  1898. ---------------------------------------------------------------------------
  1899. TIMELIMIT=                                       DEFAULT (60 FOR ALL COS'S)
  1900.  
  1901. You should  have one  TIMELIMIT= entry  for each class of service that your
  1902. WR-BBS utilizes.   There can be up to twenty six (26) lines in WRCONFIG.SYS
  1903. which begin  with TIMELIMIT=, defining the caller's time limit (in minutes)
  1904. for each of twenty six possible classes of service.  The proper syntax is:
  1905.  
  1906.           TIMELIMIT=?|XXX
  1907.           
  1908.           Where "?"  is replaced  with a class of service letter (from A to
  1909.                     Z), and  "XXX" is  replaced with the amount of time you
  1910.                     wish to  allow for  callers  who  have  that  class  of
  1911.                     service.   For example,  if you want to give callers in
  1912.                     class of  service "A"  sixty minutes,  and give  ninety
  1913.                     minutes  to  callers  in  class  of  service  "B",  the
  1914.                     following two  lines would  correctly  accomplish  that
  1915.                     purpose:
  1916.           
  1917.           TIMELIMIT=A|60
  1918.           TIMELIMIT=B|90
  1919.  
  1920. Valid values  for TIMELIMIT are 1 through 999.  When assigning time limits,
  1921. keep in  mind the types of users who will be in each class of service.  You
  1922. may want  to give a few special users a lot of time, perhaps as much as 180
  1923. minutes (three  hours).   New users would be given significantly less time,
  1924. perhaps 30 or 45 minutes.  A typical "regular" user might be given 60 to 90
  1925. minutes.
  1926.  
  1927. The TIMELIMIT  value is a daily limit for each user in the designated class
  1928. of service.   For  example, if  class of service A allowed sixty minutes, a
  1929. user with  that class  of service could use the system for sixty minutes in
  1930. one session, or two sessions of thirty minutes each, or six sessions of ten
  1931. minutes, and  so on.   WR-BBS checks the caller's time remaining at regular
  1932. intervals, and  if the  caller exceeds  the allotted  time, the  caller  is
  1933. logged off  the system  after a seeing a message explaining that their time
  1934. is used  up for  the day.   Each  caller's time limit is reset to the limit
  1935. (defined in  their class  of service)  on their  next logon  after midnight
  1936. passes.   Thus, a  user who consumes their entire time limit in one day can
  1937. call back  at 12:01  AM on  the next  day and  start with  a new daily time
  1938. allotment.
  1939.  
  1940. ===========================================================================
  1941. SECTION 11                             CLASS OF SERVICE (COS) CONFIGURATION
  1942. ===========================================================================
  1943.  
  1944. In any  good bulletin  board  application,  security  and  flexibility  are
  1945. afforded by  multiple "access  levels".   WR-BBS is no exception, and up to
  1946. twenty six  access levels can be defined.  If you have configured other BBS
  1947. applications previously,  you may be familiar with the term "access level",
  1948. also referred to as "permission level".
  1949.  
  1950. TIP:   The term  "Class of  Service" (or "COS") in WR-BBS has virtually the
  1951.       same meaning as "access level" on other BBS products.
  1952.  
  1953. In WR-BBS,  access to  various features is controlled by the caller's Class
  1954. Of Service  (abbreviated  as  COS).    You  can  custom-configure  the  COS
  1955. assignments to  give the  appropriate access  to the callers (or caller) in
  1956. each class  of service.   With COS definitions, you can control such things
  1957. as:
  1958.  
  1959.           - Number of minutes permitted per day.
  1960.           - Which file areas can be accessed.
  1961.           - Whether or not downloads are allowed.
  1962.           - Whether or not uploads are allowed.
  1963.           - Which file transfer protocols can be used.
  1964.           - Which doors can be accessed.
  1965.           - Whether or not a caller can page the SysOp.
  1966.  
  1967. When planning  your COS  assignments, you  should first  group callers into
  1968. specific types of callers.  For example, your breakdown of caller types may
  1969. look something like this:
  1970.  
  1971.           - New users who have not been verified yet.
  1972.           - Regular users who have normal access.
  1973.           - Special users who have more extensive access.
  1974.           - The SysOp.
  1975.  
  1976. In the  above example,  you might  assign COS  "A" to new users, COS "B" to
  1977. regular users, COS "C" to special users, and COS "D" to the SysOp.  You can
  1978. assign any  COS  you  wish  to  any  caller  -  the  COS  letters  are  not
  1979. incremental.   In other  words, COS "X" does not necessarily grant a higher
  1980. level of access that COS "B" - unless you configure both COS's to make this
  1981. possible.  By convention, however, you may wish to make the COS assignments
  1982. appear to  be incremental  - with  COS "A"  being having  the lowest access
  1983. rights, and  COS "Z"  having the  highest. This makes it easier for you and
  1984. your callers to relate to the COS letters after they have been assigned.
  1985.  
  1986. The SysOp  should (but  is not  required to)  have an  exclusive  class  of
  1987. service with  no other  users in it.  This allows you to grant unrestricted
  1988. access to yourself for administration and testing.
  1989.  
  1990. Valid class  of service  letters are  "A" to "Z".  Permissions, privileges,
  1991. and access  rights are  granted by "allowing" various classes of service to
  1992. access various individual parts of WR-BBS, via entries in WRCONFIG.SYS.  In
  1993. other words,  there is  no "chart" of which classes of service can do what,
  1994. but instead,  the COS's  allowed to use individual features are assigned to
  1995. those features.   This  provides the ultimate in flexibility.  For example,
  1996. rather than  "allowing" COS  "A" to  access file area "C", you would do the
  1997. inverse - configuring file area "C" to be accessed by callers with COS "A".
  1998.  
  1999. Class of  service's are  assigned to features in WRCONFIG.SYS.  See section
  2000. 10 for  more information on configuring WRCONFIG.SYS.  By default, no class
  2001. of service  can access  any  of  the  COS-controlled  features,  until  you
  2002. designate  otherwise   in  WRCONFIG.SYS.     Thoughtful   planning   before
  2003. implementing the  COS permissions  will allow  for growth  and  flexibility
  2004. during the  life of your WR-BBS system.  Should you wish to make changes to
  2005. the COS configuration, you can edit WRCONFIG.SYS at any time.
  2006.  
  2007. ===========================================================================
  2008. SECTION 12                                                        THE SYSOP
  2009. ===========================================================================
  2010. On any  BBS or host system, the SysOp is the most significant user, as well
  2011. as the user with the most access privileges. WR-BBS follows this convention
  2012. by providing  special access  for the  one user  who is  designated as  the
  2013. SysOp. A  SysOp must  be defined  from proper  operation and administrative
  2014. access on WR-BBS.
  2015.  
  2016. The SysOp  is quite  literally the  System Operator.  Since you are reading
  2017. this, you  will probably  be the SysOp of your WR-BBS system.  You will set
  2018. up the  system, maintain its databases and files, and be a point of contact
  2019. for all  other users  who  want  to  communicate  questions,  problems,  or
  2020. comments about your WR-BBS installation.
  2021.  
  2022. Anyone given  SysOp privileges  should be  a responsible person who is well
  2023. known to the principal operator of the WR-BBS system.  Since the SysOp  can
  2024. be  given   permission  to  drop  to  the  operating  system,  allowing  an
  2025. irresponsible person to be a SysOp means that the irresponsible SysOp could
  2026. not only  destroy your  WR-BBS databases  and files,  but they  could  even
  2027. format or un-partition your computer's drives!
  2028.  
  2029. In order to gain administrative access to the User, File Library, and other
  2030. WR-BBS databases,  the SysOp  must log  on to the WR-BBS system (locally or
  2031. remotely), just as any other user would.  Then, at the Main Menu, the SysOp
  2032. presses the  "Z" key, (a hidden command available only to the SysOp), which
  2033. presents the SysOp menu.
  2034.  
  2035. When configuring your WR-BBS system for the first time, it is very
  2036. important to designate a SysOp.  This is accomplished with an entry in the
  2037. WR-BBS configuration file, named WRCONFIG.SYS.  This configuration file
  2038. must have an entry that reads:
  2039.  
  2040. SYSOP=JOHN DOE
  2041.  
  2042. Where "JOHN DOE" would be replaced by the SysOp's actual name.  See section
  2043. 10 for more information on how to configure the file WRCONFIG.SYS.  Only
  2044. one SysOp is configured in the file WRCONFIG.SYS.
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052. LOGGING ON:
  2053.  
  2054. There are two ways to log on to your WR-BBS system - via the modem and from
  2055. the local console (your computer's keyboard).  Obviously, WR-BBS must be
  2056. loaded and running before it will accept any calls, whether from remote
  2057. users (via modem) or from local users (via the console). Also, WR-BBS must
  2058. be "ready for calls".  That is, it can not be executing an event, preparing
  2059. to execute and event, recycling the modem (just after a previous call),
  2060. shelled to DOS, or doing anything other than waiting for calls (which is
  2061. the default condition).
  2062.  
  2063. To log on via the modem, simply place a modem call from another system to
  2064. the telephone number which is attached to the modem used by WR-BBS.  Your
  2065. data call will be answered by WR-BBS, and a session will begin.
  2066.  
  2067. To log on from the local console, press ALT-L while the system is waiting
  2068. for calls.  WR-BBS will then "answer" your logon request, and you will be
  2069. presented with the same screens and most of the same options that would
  2070. have been available to a user calling in via the modem.  This is a good way
  2071. to "preview" your WR-BBS application before introducing it to the public.
  2072. Local logons also permit you to experiment with WR-BBS without having to
  2073. have an actual modem attached to the computer.  (The COM port must be
  2074. working, however).
  2075.  
  2076. There are a few differences between a "remote" (via modem) session and a
  2077. "local" (via console) session.  Since there is no carrier present at any
  2078. time during a local session, WR-BBS is not as quick to detect an
  2079. "abandoned" local session.  In a remote session, WR-BBS can quickly detect
  2080. loss of carrier (where a user hangs up without a proper logoff) and recycle
  2081. for the next session.  In a local session, the only clue that WR-BBS has to
  2082. tell it about the session being abandoned is a keyboard timeout.  If no
  2083. keys are pressed for 5 minutes (on a local or remote session), WR-BBS
  2084. assumes that the user has abandoned, and ends the session, then recycles
  2085. for the next call.
  2086.  
  2087. Also, the following WR-BBS features are not available during a local (via
  2088. console) login:
  2089.  
  2090. File transfer protocols (uploads and downloads)
  2091. Chat facility
  2092.  
  2093. Most of the sessions processed by WR-BBS are remote sessions, where the
  2094. user, from virtually anywhere in the world, has called via modem.  During a
  2095. remote session, the console (local keyboard) is still "active", so any keys
  2096. pressed on the local keyboard will be interpreted by WR-BBS as if the
  2097. remote caller had pressed them those keys.  This allows the SysOp to assist
  2098. callers by "leading" them to the correct areas of the WR-BBS application by
  2099. pressing the appropriate local keys for them, while they watch.
  2100.  
  2101. Remember that both keyboards are active, so if the remote caller is
  2102. entering a message or responding to a prompt, and both the remote user and
  2103. the SysOp start typing, WR-BBS will see both inputs (which will effectively
  2104. be meaningless).
  2105.  
  2106. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  2107. ADVANCED THINS
  2108. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
  2109.  
  2110.  
  2111.  
  2112. ===========================================================================
  2113. SECTION 13                                                 SETTING UP DOORS
  2114. ===========================================================================
  2115.  
  2116. Doors are  external programs  (not supplied with WR-BBS) which your callers
  2117. can run via WR-BBS.  Many doors are games, but virtually any program can be
  2118. run as  a door  with the  proper door  manager software. There can be up to
  2119. twenty six (26) entries in WRCONFIG.SYS which begin with the DOOR= keyword.
  2120. If you are not planning to have any doors on your WR-BBS system, you should
  2121. have no DOOR= entries in WRCONFIG.SYS (or remark the entries out).
  2122.  
  2123. Each door  that you  configure will  be referenced  by a letter.  There are
  2124. twenty six  available letters  to use  for this  purpose (A to Z).  You can
  2125. assign these  "reference" letters any way you want, and they do not have to
  2126. be used  in order.  For example, you could have four doors, designated "A",
  2127. "C", "X",  and "Z".   Reference letters cannot be duplicated, so you cannot
  2128. have two  different doors designated as door "A".  For convenience, you may
  2129. wish to  assign the first door the letter "A", give "B" to the second door,
  2130. use "C"  for the third door, and so on.  Letters other than "A" through "Z"
  2131. cannot be  used to designate doors, so there is a limit of twenty six doors
  2132. that can be configured.
  2133.  
  2134. To configure a door for WR-BBS, you need to do four things:
  2135.  
  2136.           1.   Add an entry to WRCONFIG.SYS which assigns a letter (A to Z)
  2137.                     to the  door and  defines which  classes of service may
  2138.                     access that door.
  2139.           
  2140.           2.   Create a  batch file which will control the operation of the
  2141.                     door program  (whether or  not the  door program  needs
  2142.                     such a batch file with other BBS programs).
  2143.           
  2144.           3.   Configure the  door program itself to recognize the DOOR.SYS
  2145.                     standard file  that  WR-BBS  creates  when  a  door  is
  2146.                     selected by a caller.
  2147.           
  2148.           4.   Create or  edit the  DOORMENU screen  files to  reflect  the
  2149.                     letter that  you have assigned to the door, and a brief
  2150.                     description of the door's purpose.
  2151.  
  2152.  
  2153.                    ADDING THE DOOR ENTRY TO WRCONFIG.SYS
  2154.  
  2155. The entry in WRCONFIG.SYS uses the following syntax:
  2156.  
  2157.           DOOR=A|ABCDEFGHIJKLMNOPQRSTUVWXYZ
  2158.                ^ ^
  2159.                | Classes of service allowed to access this door
  2160.                |
  2161.                |
  2162.                Letter designation for this door
  2163.  
  2164. For example,  the following line in WRCONFIG.SYS would indicate a door with
  2165. a letter  of "D"  which can  only be  accessed by  callers with  a class of
  2166. service from A to H:
  2167.  
  2168.           DOOR=D|ABCDEFGH
  2169.  
  2170. Notice that there are no spaces in the entry, and a "pipe" symbol separates
  2171. the door's letter from the class of service information.
  2172.  
  2173.                    CREATING THE BATCH FILE FOR THE DOOR
  2174.  
  2175. Every door  on WR-BBS  needs to have its own batch file, whether or not the
  2176. door can  run directly  from the command line.  WR-BBS calls the batch file
  2177. (not the  door program) when a caller selects the door from the Doors Menu.
  2178. There can  be up to twenty six batch files for controlling doors.  The name
  2179. of the  batch file determines which door it controls.  The batch file named
  2180. DOORA.BAT is  called when  door "A"  is selected, and DOORB.BAT is run when
  2181. door "B"  is selected,  and so on. (The fifth letter in the batch file name
  2182. corresponds to the door's letter).
  2183.  
  2184. The batch  file can  be a  simple, one  line entry  which contains the door
  2185. program's name,  or it  can be  a complex,  branching batch  file with many
  2186. lines, depending  on your needs.  Any activity necessary to set the door up
  2187. (such as  copying configuration  files, etc)  should be  done by that batch
  2188. file.   Keep these  restrictions in mind when designing the batch files for
  2189. your door programs:
  2190.  
  2191.           - The batch file(s) must be in the home path.
  2192.           
  2193.           - The door program must not modify or delete the batch file.
  2194.           
  2195.           - Do NOT call WR.BAT or WRBBS.EXE from the door's batch file.
  2196.  
  2197.  
  2198.                               ABOUT DOOR.SYS
  2199.  
  2200. Whenever WR-BBS  runs a  door for  a caller,  it first creates a file named
  2201. DOOR.SYS.   This is  a text  file which  is created  in the  home path.  It
  2202. contains information  about the  board and  the  caller,  which  many  door
  2203. programs can  use to  personalize the  caller's visit  to the door.  I have
  2204. settled on the DOOR.SYS standard because many of the "big" BBS programs now
  2205. use this as a standard, and most competent door programs recognize DOOR.SYS
  2206. when they run.
  2207.  
  2208. If the  door program  you want to use does not recognize the DOOR.SYS file,
  2209. you may  need to  employ a  utility program  which  converts  the  DOOR.SYS
  2210. information to  a different  format (such  as  CALLDATA.TXT).    Most  door
  2211. programs, however,  can be  configured to  recognize DOOR.SYS.  If the door
  2212. program expects  DOOR.SYS to be in a specific directory other than the home
  2213. path, you  can copy the DOOR.SYS file to the desired location with an entry
  2214. in the  door's batch  file.   Some doors do not correctly recognize the DTE
  2215. speed defined  in DOOR.SYS  when an error-correcting modem is used. See the
  2216. WRCONFIG.SYS keyword BADDOOR= for more details.
  2217.  
  2218.                         MODIFYING DOORMENU SCREENS
  2219.  
  2220. The Door  Menu screens  (DOORMENU.ASC and  DOORMENU.ANS) must  be edited or
  2221. created to  reflect the  door(s) that you are offering.  For each door, you
  2222. need to  list  the  door's  letter  (as  defined  in  WRCONFIG.SYS)  and  a
  2223. description of  the door.   There  are no  sample  screens  for  DOORMENU.*
  2224. included with  the WR-BBS  distribution,  as  this  information  is  highly
  2225. variable.  See section 7 for instructions on modifying the menu screens.
  2226.  
  2227.                            USING A DOOR MANAGER
  2228.  
  2229. The use of a good "door manager" utility is strongly advised. There are
  2230. many door programs available, and their design quality ranges from
  2231. "excellent" to "terrible".  A door manager can compensate for poorly
  2232. written door programs and helps to protect your board from damage that
  2233. could occur when a poorly designed door program is used.  Be aware that
  2234. some door programs do NOT offer the following basic features:
  2235.  
  2236.           - Detection of dropped carrier.
  2237.           
  2238.           - Preventing caller from accessing command line.
  2239.           
  2240.           - Detection of inactivity.
  2241.           
  2242.           - Trapping and handling of errors in door program itself.
  2243.  
  2244. A door manager will help compensate for such weaknesses by exerting its own
  2245. control over  the door  program when  an unexpected event occurs. Without a
  2246. door manager,  if the  door program  does not  detect carrier loss, and the
  2247. caller drops  carrier, your  WR-BBS system  will  be  "hung"  indefinitely.
  2248. Remember that  WR-BBS is  not active  when a door is running, and therefore
  2249. has no control of the door).
  2250.  
  2251. Some door  programs require  a Basic  runtime module  to accompany the .EXE
  2252. file.   I have  found that  this type of door program often has no internal
  2253. error trapping,  and any  error in  the program's  operation results  in  a
  2254. message such as "RUNTIME ERROR AT LINE NUMBER NOLINE".  The board will then
  2255. be hung  unless a  door manager  is used  to control such a poorly designed
  2256. door.
  2257.  
  2258. There are  a number  of door  managers available,  including DOORWAY.   The
  2259. DOORWAY program  is available  from BBS's throughout the country, including
  2260. the WR-BBS  Headquarters BBS.   Most  of them  are shareware offerings - be
  2261. certain to  register them  with their  respective  author.    Door  manager
  2262. programs have  another useful  feature in  that they can convert almost any
  2263. DOS program  into a  door program - you can use this (with caution) to give
  2264. your callers  access to other applications.  If you do this, make sure that
  2265. your caller's  cannot use  the other  application's DOS  shell  feature  to
  2266. access the operating system.
  2267.  
  2268. ===========================================================================
  2269. SECTION 14                                                  TROUBLESHOOTING
  2270. ===========================================================================
  2271.  
  2272. Most WR-BBS problems can be easily corrected by reading this documentation,
  2273. particularly this  section.  Support for WR-BBS is available via the WR-BBS
  2274. Headquarters BBS.   Don't hesitate to log on the WR-BBS Headquarters BBS if
  2275. you cannot  get your  WR-BBS system  working properly.    The  author  will
  2276. respond to your support request promptly (usually within 24 hours).
  2277.  
  2278.  
  2279. ---------------------------------------------------------------------------
  2280.               PROBLEMS SETTING HOME PATH ENVIRONMENT VARIABLE
  2281.  
  2282. If DOS  reports "Insufficient Environment Space" when you (or AUTOEXEC.BAT)
  2283. try to  SET the home path, you can increase the environment space available
  2284. by modifying  the CONFIG.SYS  file on  your system.  To enable a larger DOS
  2285. environment, the following line should be inserted in CONFIG.SYS:
  2286.  
  2287.           SHELL=C:\COMMAND.COM /P /E:1024
  2288.  
  2289. If your  DOS command  interpreter resides  somewhere other  than  the  root
  2290. directory of  C:, you  would substitute  the appropriate directory path, as
  2291. in:
  2292.  
  2293.           SHELL=C:\DOSFILES\COMMAND.COM /P /E:1024
  2294.  
  2295. In the  above example,  the DOS command interpreter is in the sub-directory
  2296. named C:\DOSFILES.   The  "/P" switch  tells DOS  that  this  is  to  be  a
  2297. "permanent" command interpreter (one that the EXIT command cannot release).
  2298. The "/E" switch tells DOS the desired environment size (from 128 to 32767 -
  2299. the minimum  and maximum  vary slightly  among DOS  versions). It  must  be
  2300. followed by a colon and a number within the allowable range.
  2301.  
  2302. If no  SHELL statement is included in your CONFIG.SYS file, the environment
  2303. is set  to a  (small) default of 160 or so bytes, depending on DOS version.
  2304. This is  inadequate for systems which use multiple SET statements to modify
  2305. the  environment,   including  systems  running  WR-BBS  along  with  other
  2306. environment-dependent applications.
  2307.  
  2308.      WARNING!   Make sure  you know  the exact location of your actual
  2309.      DOS command interpreter (COMMAND.COM) before modifying CONFIG.SYS
  2310.      with a SHELL statement.  If your SHELL statement points to a non-
  2311.      existent  path,   or  a  directory  not  containing  the  command
  2312.      interpreter, DOS  will not boot, and you will be left with a hung
  2313.      system that  only says  "Bad or missing command interpreter".  If
  2314.      this happens,  you will  need to  boot  from  a  system-formatted
  2315.      floppy diskette, and then modify the hard drive's CONFIG.SYS.
  2316.  
  2317. NOTE:  If your are using a DOS enhancer which provides an alternate command
  2318. interpreter, such  as 4DOS, EZSHELL or WR-DOS, check with the documentation
  2319. that accompanies  the DOS  enhancer  for  instructions  on  increasing  the
  2320. environment if  needed.  (WR-DOS's environment is 2000 bytes by default, so
  2321. it should not be necessary to change it).
  2322.  
  2323. ---------------------------------------------------------------------------
  2324.                               MODEM PROBLEMS
  2325.  
  2326. If your modem does not work properly with WR-BBS, it is likely that one (or
  2327. more) of the following problems exist:
  2328.  
  2329.      1.    Your  modem  has  hardware  DIP  switches  which  allow  certain
  2330.      configuration items  to be "hard configured" on the modem - and one or
  2331.      more of these switches is set incorrectly.  If your modem has hardware
  2332.      switches or jumpers, make sure that they are set as follows:
  2333.  
  2334.           A.   Carrier detect  (CD) signal not forced on, but tracks actual
  2335.           carrier detection at all times.
  2336.           
  2337.           B.   Data Terminal  Ready (DTR)  signal not  forced  on,  but  is
  2338.           controlled by the communications program (WR-BBS).
  2339.           
  2340.           C.   Auto answer  MUST BE OFF.  WR-BBS requires auto-answer to be
  2341.           disabled for  correct operation.  The only exception to this rule
  2342.           is  if   you  have  a  defective  or  incompatible  modem  -  see
  2343.           RINGDETECT= in section 10.
  2344.  
  2345.      2.   Your modem  initialization string  is not being recognized by the
  2346.      modem.  With   most  modems,   any  invalid  command  in  any  of  the
  2347.      initialization strings  will cause  the modem  to  ignore  the  entire
  2348.      initialization string. To check for this, watch the WR-BBS main screen
  2349.      during startup.   The  status bar shows the response sent by the modem
  2350.      after  each  command,  including  the  initialization  strings.    The
  2351.      response you  see  in  the  status  bar  should  be  an  echo  of  the
  2352.      initialization string  itself, followed  by "OK".   (There may be some
  2353.      arrows in  that string  as well,  representing linefeed  and  carriage
  2354.      return characters).   If  you do  not see the initialization string(s)
  2355.      echoed back, or see the word "ERROR" on the status bar, then the modem
  2356.      did not recognize the initialization string.
  2357.  
  2358.      3.   You have  included S0=1  (or some other value other than zero) in
  2359.      your initialization  string.   This turns  on the  modem's auto answer
  2360.      feature, which prevents WR-BBS from working properly. Auto answer MUST
  2361.      BE OFF.   WR-BBS  requires auto-answer  to  be  disabled  for  correct
  2362.      operation.  The only exception to this rule is if you have a defective
  2363.      or incompatible modem - see RINGDETECT= in section 10.
  2364.      
  2365.      4.   Your modem does not recognize the commands commonly used by Hayes
  2366.      <tm> modems.   Some  modems claim  to be  "100% guaranteed  Hayes <tm>
  2367.      compatible" when  in fact  they are  not at  all.   If you have one of
  2368.      these modems,  you will  have to  research and  configure  the  proper
  2369.      command strings and initialization codes.
  2370.  
  2371.  
  2372. ---------------------------------------------------------------------------
  2373.                        MISCELLANEOUS TROUBLESHOOTING
  2374.  
  2375.  
  2376. PROBLEM:   During startup,  WR-BBS says  "HOLDING DTR DOWN FOR XX SECONDS",
  2377. and then aborts the startup process.
  2378.  
  2379.      SOLUTION:   Your modem  is incorrectly  set up  and is  reporting that
  2380.      carrier detect  is present  at all  times.  To WR-BBS, the presence of
  2381.      carrier means that a caller is probably connected, and WR-BBS attempts
  2382.      to drop the "caller" by dropping DTR for up to 30 seconds.  If carrier
  2383.      is still  detected, WR-BBS  aborts the  modem initialization (and does
  2384.      not start),  because it  has not  established the  control it requires
  2385.      from the modem.
  2386.  
  2387. PROBLEM:   A call  rings in,  and WR-BBS  reports that  it is answering the
  2388. call.   But instead of the caller establishing a connection, WR-BBS reports
  2389. a result code error and the caller is dropped.
  2390.  
  2391.      SOLUTION:   Your modem  is configured incorrectly, and is set to auto-
  2392.      answer. When  WR-BBS sends  the answer  command, the  modem aborts the
  2393.      connection, and  WR-BBS never  sees a valid connect code.  Auto-answer
  2394.      should never  be enabled,  except for  a few  rare circumstances.  See
  2395.      RINGDETECT= in section 10 (configuring with WRCONFIG.SYS).
  2396.  
  2397. PROBLEM:   A caller  logs on  via the modem, and has no problems during the
  2398. on-line session.   When  they say  goodbye, however, WR-BBS reports that it
  2399. cannot disconnect the caller, logs errors, and then WR-BBS re-starts.
  2400.  
  2401.      SOLUTION:   An incorrect  modem configuration is to blame.  Your modem
  2402.      is set  to hold  DTR "high"  at all times, and therefore WR-BBS cannot
  2403.      drop DTR to disconnect the caller.  WR-BBS does not use the unreliable
  2404.      method of  sending +++  ATH0 to  disconnect a caller.  Dropping DTR is
  2405.      guaranteed to  positively disconnect the caller - provided that WR-BBS
  2406.      is allowed to control the DTR signal.
  2407.  
  2408. PROBLEM:   When a  caller  selects  a  file  transfer  or  door,  they  are
  2409. disconnected when WR-BBS shells out to run the protocol or door.
  2410.  
  2411.      SOLUTION:   WR-BBS does not alter the DTR or any other signals when it
  2412.      shells out.  Make sure that you file transfer protocol or door program
  2413.      is configured  properly -  and check  for  any  error  messages  those
  2414.      programs generate.  The use of DOORWAY to control doors is recommended
  2415.      for trouble  free operation.   You  can download an evaluation copy of
  2416.      DOORWAY from most large BBS systems.
  2417.  
  2418. PROBLEM:   When WR-BBS  starts up, it sometimes runs the W-TREE maintenance
  2419. utility and rebuilds the index files.
  2420.  
  2421.      SOLUTION:   The file  indices are  rebuilt, as  part  of  the  startup
  2422.      process, any  time that  the W-TREE Database Manager cannot verify the
  2423.      indexes as being current.  The usual cause is that WR-BBS was not shut
  2424.      down properly.   The correct way to shut down WR-BBS is to press ALT-Q
  2425.      from the  main screen, confirm the shutdown request, and then wait for
  2426.      all WR-BBS  processes to  terminate (about 20 seconds).  You will know
  2427.      when WR-BBS  has stopped  because your  system prompt will return.  If
  2428.      you do  not shut  WR-BBS down  properly, or reboot during the shutdown
  2429.      process, the  W-TREE Database  Manager will not have an opportunity to
  2430.      detach the files (DOS will force them closed instead),  and the W-TREE
  2431.      Database Manager  will rebuild  the indices  on the next startup.  The
  2432.      chance of  damaging the  actual data files due to an improper shutdown
  2433.      is minimal, but that risk is one you should avoid anyway.
  2434.  
  2435.  
  2436. PROBLEM:   During startup,  WR-BBS gets  to the  point  where  is  displays
  2437. "Database is not on line ... starting W-TREE Database Manager ...", then it
  2438. aborts, reporting  error #  W-99000-4.  The error text is "INSUFFICIENT DOS
  2439. FILE HANDLES".
  2440.  
  2441.      SOLUTION:   This error happens when the operating system (DOS) refuses
  2442.      to allow  enough files to be opened for WR-BBS operation.  You can fix
  2443.      this  easily   by  modify   your  FILES=   entry  in  CONFIG.SYS  (not
  2444.      WRCONFIG.SYS).   You should  have FILES=30  or  more  to  ensure  than
  2445.      sufficient file handles are available for WR-BBS.
  2446.  
  2447. PROBLEM:  The WR-BBS activity log has entries that read "ERROR DURING IMAGE
  2448. SWAP TO EMS - SHELL USED"
  2449.  
  2450.      SOLUTION:  This message occurs if WR-BBS tries to swap the program out
  2451.      of regular memory into EMS (exPANDed memory), but cannot complete that
  2452.      operation.  It is usually due to the EMS not being compatible with the
  2453.      LIM standard,  or due  to contention  from another program in a multi-
  2454.      tasking environment,  or due  to a  TSR (such  as a  disk cache) which
  2455.      unexpectedly accesses  EMS while WR-BBS is swapping out.  WR-BBS swaps
  2456.      out for doors, file transfers, and events.  This is not a fatal error,
  2457.      but simply  informs you that WR-BBS used a conventional shell (without
  2458.      swapping out).
  2459.  
  2460. PROBLEM:   WR-BBS reports error # W-10XXX-2, W-99000-3 or W-10XXX-15 (where
  2461. "XXX" is any three digits), and then WR-BBS shuts down and restarts.
  2462.  
  2463.      SOLUTION:  These errors indicate path errors.  The usual cause is that
  2464.      you have the WR-BBS home directory included in your DOS path statement
  2465.      (it should  not be).   It can also occur in a networked environment if
  2466.      the server  logs the  WR-BBS machine out, and remaps the drive letters
  2467.      while doing  so. Another  possible cause  is if  one  of  your  events
  2468.      corrupts the  DOS environment so that the home path environment string
  2469.      is not longer valid.
  2470.  
  2471. PROBLEM:   WR-BBS starts  up normally,  but then  thinks that  there is  an
  2472. incoming call  (when there is none).  It "answers" the phantom call, but of
  2473. course, never establishes a connection.
  2474.  
  2475.      SOLUTION:   Your modem is set to report that carrier is present at all
  2476.      times -  an invalid  setting.   Make sure  that AT&C1  appears in your
  2477.      modem initialization  string, and  that your  modem's DIP  switches or
  2478.      jumpers (if  any) are set to honor carrier detect and not artificially
  2479.      hold it high.
  2480.  
  2481.  
  2482. ---------------------------------------------------------------------------
  2483.                                NEED SUPPORT?
  2484.  
  2485. Support for WR-BBS is available exclusively through the WR-BBS Headquarters
  2486. BBS.   Call (206) 828-9089.  See section 1 for more detailed information on
  2487. WR-BBS support.   If  you have problems with WR-BBS that cannot be resolved
  2488. by following the instructions in this document, please log on to the WR-BBS
  2489. Headquarters BBS.
  2490.  
  2491.  
  2492.  
  2493. ===========================================================================
  2494. SECTION 15                                                     MIDNIGHT.BAT
  2495. ===========================================================================
  2496.  
  2497. One of the features built into WR-BBS is the ability to automatically run a
  2498. batch file  when the  computer's clock indicates that the date has changed.
  2499. If you  have a  batch file  named MIDNIGHT.BAT in the same directory as the
  2500. WR-BBS program files (the home path), this file will be executed as soon as
  2501. WR-BBS becomes  idle after  a date  change.   If there is no call (or local
  2502. administration activity)  when the  date changes,  then  MIDNIGHT.BAT  will
  2503. execute within  sixty seconds  of midnight.  If there is a call in progress
  2504. when the date changes, or you are doing some administrative activity on WR-
  2505. BBS from  the local console when midnight rolls around, WR-BBS will execute
  2506. MIDNIGHT.BAT as  soon as the system becomes idle again, ie after the caller
  2507. logs off, or the administration activity stops.
  2508.  
  2509. The use  of MIDNIGHT.BAT is optional.  If the batch file named MIDNIGHT.BAT
  2510. does not  exist in  the WR-BBS home directory, nothing will happen when the
  2511. date changes,  and the  system will  continue to  wait for calls just as it
  2512. does at any other time.
  2513.  
  2514. A sample  MIDNIGHT.BAT  file  is  included  with  the  WR-BBS  distribution
  2515. archive.   You can modify this file to suit your needs, or delete it if you
  2516. do not  wish to  use this  optional feature.  Some functions that you could
  2517. include in MIDNIGHT.BAT might be:
  2518.  
  2519.      1.  To archive the log file.
  2520.      2.  To copy the WR-BBS database files to a backup directory.
  2521.      3.  To update your date-sensitive bulletin files.
  2522.  
  2523. WR-BBS closes all of its files before executing MIDNIGHT.BAT, so it is safe
  2524. to copy  the database  files.   WR-BBS shells  out to  run MIDNIGHT.BAT (as
  2525. opposed to  terminating), so  no special  considerations in your batch file
  2526. are needed.  Just make sure that whatever programs you launch in your batch
  2527. file automatically  end themselves.  Programs that may require human input,
  2528. or operations that access the floppy drives or printer are not recommended.
  2529. If one  of these operations has an error, the system will remain hung until
  2530. human intervention occurs.
  2531.  
  2532. When WR-BBS  calls MIDNIGHT.BAT,  it adds  one parameter to the DOS command
  2533. line.   This parameter is a six digit string representing the current date.
  2534. For example,  when MIDNIGHT.BAT  runs on  June 14, 1993, WR-BBS invokes the
  2535. batch file with the following command line:
  2536.  
  2537.           MIDNIGHT.BAT 061493
  2538.  
  2539. You can  ignore the  parameter passed  to the batch file if you have no use
  2540. for it.  You can capture that string by reading the DOS command line (using
  2541. %1) in  your MIDNIGHT.BAT  batch file.   You might want to use it to rename
  2542. the current  activity log  (to a filename representing the current date) or
  2543. some other  date-specific DOS  operation.   The sample copy of MIDNIGHT.BAT
  2544. shows one  example of  using the  date string that is passed by WR-BBS when
  2545. MIDNIGHT.BAT is called, to archive the log file.
  2546.  
  2547. CAUTION:   Do NOT  call WR.BAT  or launch  WRBBS.EXE from your MIDNIGHT.BAT
  2548. file.   This will  result in  two  copies  of  WR-BBS  being  loaded,  with
  2549. unpredictable  (possibly  catastrophic)  results.    Let  MIDNIGHT.BAT  end
  2550. normally, and WR-BBS will "un-shell" and resume operation.
  2551.  
  2552. If you do not wish to use this feature, delete or rename MIDNIGHT.BAT.
  2553.  
  2554.  
  2555. ===========================================================================
  2556. SECTION 16                                                     WR_AFTER.BAT
  2557. ===========================================================================
  2558.  
  2559.        This is  an optional feature that WR-BBS offers.  You do not
  2560.        have to  use WR_AFTER.BAT.   If  you do not wish to use this
  2561.        feature, delete or rename WR_AFTER.BAT from your WR-BBS home
  2562.        directory.
  2563.  
  2564. You may  have a  need to  do some kind of "housekeeping" after each call is
  2565. processed by  your WR-BBS  system.  For example, you may have a third-party
  2566. utility that  scans the  user database  for new users, or perhaps a utility
  2567. that collects  statistics from  the activity log file.  Such utilities need
  2568. to be  launched after  each call  is completed  by WR-BBS.   The batch file
  2569. WR_AFTER.BAT will do that for you.
  2570.  
  2571. After each  caller logs  off (or  otherwise ends their call), WR-BBS checks
  2572. the home directory for the existence of a file named WR_AFTER.BAT.  If this
  2573. file does  not exist,  WR-BBS simply  continues along  and prepares for the
  2574. next call.   If,  however, WR_AFTER.BAT is found, WR-BBS suspends operation
  2575. after recycling the modem (but before opening the modem for the next call),
  2576. and executes WR_AFTER.BAT.
  2577.  
  2578. When WR-BBS starts WR_AFTER.BAT, it (WR-BBS) does not completely terminate,
  2579. but swaps out to disk and then calls WR_AFTER.BAT.  Do not run any programs
  2580. in WR_AFTER.BAT  that remain in memory (TSR's), and do not call WR.BAT from
  2581. WR_AFTER.BAT.   Doing either  of these no-no's will result in unpredictable
  2582. problems and mysterious error messages from WR-BBS.
  2583.  
  2584.  
  2585. ===========================================================================
  2586. SECTION 16                                     HOW THE MESSAGE SYSTEM WORKS
  2587. ===========================================================================
  2588.  
  2589. The message  system uses  a database  file (WRBBSMSG.DAT)  to keep track of
  2590. messages.   Information about  who sent  a message, the intended recipient,
  2591. dates and  times, receipt,  and other  details are all stored as records in
  2592. the message database.
  2593.  
  2594. The messages  themselves are  saved as  individual text  files, in  a  sub-
  2595. directory that  WR-BBS creates  off the home path.  Depending on the number
  2596. of messages  on file, there can be more than one message sub-directory. The
  2597. first message  sub-directory is  named MSGFILES.000, and additional message
  2598. sub-directories are  named MSGFILES.001,  MSGFILES.002 and  so  on.  A  new
  2599. message sub-directory  is created  when an  existing one  has more than 254
  2600. current messages.   WR-BBS,  when creating a message file, first checks any
  2601. and all  existing message sub-directories to see if there is room available
  2602. for another  message file.   Thus, if the MSGFILES.000 has 255 files in it,
  2603. but 100  messages are  deleted, the  next 100 new messages will be put into
  2604. MSGFILES.000 rather than creating a new sub-directory.
  2605.  
  2606. There can  be up  to 1000 message sub-directories, but in order for this to
  2607. occur, there  would have  to be  more than  254,999 messages on file at one
  2608. time - an unlikely event on any WR-BBS system.
  2609.  
  2610. When callers delete messages (or messages are deleted by the SysOp), WR-BBS
  2611. automatically  deletes   the  corresponding   message  text   file  in  the
  2612. appropriate message  sub-directory, freeing  that space  for the  next  new
  2613. message.
  2614.  
  2615. The message  text files  are given  unique random  file names,  based on  a
  2616. built-in algorithm.   Do not rename or delete active message text files. If
  2617. a caller  attempts to  read an active message whose corresponding text file
  2618. is missing, and error message is displayed to the caller, indicating that a
  2619. system  error   has  occurred.     The  "system  errors"  counter  is  then
  2620. incremented, and an entry is made in the activity log to record the error.
  2621.  
  2622.  
  2623.  
  2624. ===========================================================================
  2625. SECTION 17                                               CONFIGURING EVENTS
  2626. ===========================================================================
  2627.  
  2628. You may wish to set up events on your WR-BBS system.  Event configuration
  2629. is not required for operation of WR-BBS, so if you are setting up your WR-
  2630. BBS for the first time, you may wish to skip this section, and (optionally)
  2631. configure some events later on.
  2632.  
  2633. Events are external programs, utilities, or functions that you can schedule
  2634. to occur  on or  after a certain time each day, or only on a certain day(s)
  2635. of the  week.  Most BBS's utilize events as part of their normal operation,
  2636. but this is not mandatory.  Some examples of events are:
  2637.  
  2638.      - To  automatically back  up the  BBS data  files to  diskette or tape
  2639.           drive during a period of low call activity.
  2640.      
  2641.      - To  copy or archive the activity log file each night, the delete the
  2642.           original log  file, thus  preventing the  activity log  file from
  2643.           becoming large and unmanageable.
  2644.      
  2645.      - To  update or  create bulletin  screen files  at a certain interval,
  2646.           thus providing fresh bulletins for subsequent callers.
  2647.      
  2648.      - To  run a  program which  synchronizes the  computer's clock with an
  2649.           external source,  thus ensuring  that the computer always has the
  2650.           right time.
  2651.  
  2652. Most events are driven by batch files, which then launch the actual utility
  2653. program.  It is possible, however, to launch a program directly.
  2654.  
  2655. With WR-BBS,  there are  two types  of events  that can  be  configured,  a
  2656. "shell" event,  and a "terminate" event.  When a "shell" event runs, WR-BBS
  2657. (or a  portion of  WR-BBS) remains  loaded in  memory, and WR-BBS calls the
  2658. external program, much in the same way that the SysOp can shell to DOS from
  2659. WR-BBS.   The called  program executes,  and when  it is  finished, control
  2660. returns to  WR-BBS, which  then picks  up where it left off.  A majority of
  2661. events can be "shell" events.  A "shell" event is the easiest to configure,
  2662. as you  only need to specify the day(s), time, and the name of the batch or
  2663. program to be executed.
  2664.  
  2665. With a  "terminate" event,  WR-BBS shuts completely down, closes all files,
  2666. and then terminates.  It no longer exists in memory, and all interrupts and
  2667. file handles  are released to DOS.  It is up to WR.BAT (the batch file that
  2668. controls WR-BBS,  to detect  the unique  DOS error level when this happens,
  2669. and launch  the event program.  WR.BAT or the launched batch file must then
  2670. restart WR-BBS,  as WR-BBS is completely shut down when a "terminate" event
  2671. is invoked, and cannot restart itself.
  2672.  
  2673. Why would you use a "terminate" event instead of a "shell" event?  Here are
  2674. some examples:
  2675.  
  2676.      - If  the event program needs to open a lot of files.  DOS only allows
  2677.           a given  number of  files to be assigned at a given time.  WR-BBS
  2678.           has up  to nine files assigned and/or open, even when waiting for
  2679.           a call.   During  a "shell"  event, WR-BBS  closes the files, but
  2680.           does not  "un-assign" the  file  handles.    As  far  as  DOS  is
  2681.           concerned, there  are still  nine file  handles in  use.   If the
  2682.           event program  needs to  open a  lot of files, DOS may react with
  2683.           "no more file handles".
  2684.      
  2685.      - If  you run  an event  program that changes the FAT (file allocation
  2686.           table), you  must run  the event  as a  "terminate  event".    An
  2687.           example is  a disk  optimizer  program.    Most  disk  optimizers
  2688.           directly modify  the FAT, and make low-level calls to DOS to move
  2689.           file sectors around.  If WR-BBS did a "shell" event to run a disk
  2690.           optimizer, then  the assigned files wouldn't be in the same place
  2691.           after the  event runs  as they were before the event. WR-BBS (nor
  2692.           any other  program) would not be aware of the change, and when it
  2693.           attempts to update files, the results could be disastrous.
  2694.      
  2695.      - Events  which use the same communications hardware as WR-BBS require
  2696.           that WR-BBS  do a  "terminate" event.  When WR-BBS terminates, it
  2697.           de-installs all  communications interrupts.  During a shell, this
  2698.           is not  done.  If you run a "shell" event which uses the same COM
  2699.           port as  WR-BBS, you  may find  that WR-BBS doesn't recognize the
  2700.           COM port  any more.  When this happens, WR-BBS may crash when the
  2701.           next call  rings in.   Some  of the better written communications
  2702.           utilities (including  WR-BBS) restore the COM port interrupts and
  2703.           vectors to  the exact  state they were in at startup time, rather
  2704.           than to  a default setting.  Such programs can probably be safely
  2705.           run in  a "shell"  event  under  WR-BBS.    If  in  doubt,  do  a
  2706.           "terminate" event.
  2707.  
  2708. All events are configured with an entry in WRCONFIG.SYS. There can be up to
  2709. 16 "EVENT="  entries.   If more  than 16  appear in  WRCONFIG.SYS, only the
  2710. first 16 are used, and an error message appears during startup.  Each event
  2711. entry consists of four parts:
  2712.  
  2713.      1.  The "EVENT=" string, which must be the first six characters.
  2714.      2.  A single numeric character, indicating what day(s) of the week the
  2715.           event should occur on.
  2716.      3.  The time the event should occur (24 hour notation).
  2717.      4.  Either a fully pathed file name, if the event is to run a program,
  2718.           or a  number (65-80)  which is designates the DOS errorlevel that
  2719.           WR-BBS should terminate with when the event is due.
  2720.  
  2721.      Each of the four entries is separated with a "pipe" symbol (|).
  2722.      
  2723.      For item 2, the day(s) designator, use one of the following:
  2724.      
  2725.      1 = Each Monday
  2726.      2 = Each Tuesday
  2727.      3 = Each Wednesday
  2728.      4 = Each Thursday
  2729.      5 = Each Friday
  2730.      6 = Each Saturday
  2731.      7 = Each Sunday
  2732.      9 = Every day of the week
  2733.  
  2734.      A value of "8" for the day designator is not meaningful, and the event
  2735.      will never execute if set for day "8".
  2736.      
  2737.      For item  # 3, the event's time, you must enter the full 24 hour time,
  2738.      complete with  leading zeros.  Thus, 13:55, 02:00, and 00:45 are valid
  2739.      times, but  2:00 is  not.   Midnight is  expressed as 00:00.  There is
  2740.      minimal error  checking on  the event configuration, so it is possible
  2741.      to schedule an impossible event, such as at 25:00
  2742.  
  2743.  
  2744. Some examples:
  2745.  
  2746.      EVENT=1|02:00|C:\UTILITY\COPYFILE.BAT
  2747.  
  2748. The above  event will  run each Monday morning at 2:00 AM.  It is a "shell"
  2749. event, and  the batch  file named  COPYFILE.BAT in the C:\UTILITY directory
  2750. will be executed when the event runs.
  2751.  
  2752.      EVENT=1|02:00|*66
  2753.  
  2754. The above  event is a "terminate" event.  It will occur each Monday at 2:00
  2755. AM.   When that  time rolls  around, WR-BBS will terminate, setting the DOS
  2756. error level  to 66.   The  batch file  that started WR-BBS (such as WR.BAT)
  2757. will test  for this error level, invoke the other program, then restart WR-
  2758. BBS.
  2759.  
  2760. See section  8, which  details the  workings of WR.BAT, for a more detailed
  2761. explanation of how DOS error levels are detected and branched.
  2762.  
  2763. If you  wish to have multiple events run on exactly the same schedule, just
  2764. schedule one  event in  WR-BBS, and  have that event run a batch file which
  2765. launches the  multiple programs.   If  any two  (or more)  WR-BBS scheduled
  2766. events are configured to occur at exactly the same time, the order in which
  2767. the events  will be  launched is determined by the order in which they were
  2768. posted to the task queue, which may not be the order you listed them in the
  2769. configuration file WRCONFIG.SYS.
  2770.  
  2771. In order  for an  event to  execute, WR-BBS  must be  loaded, running,  and
  2772. waiting for calls.  If WR-BBS is doing something else (such as processing a
  2773. call, or  local SysOp activity), the event will not launch until the system
  2774. becomes idle again.  This version of WR-BBS does not incorporate a facility
  2775. to force  a caller  off the  system when an event is pending.  Keep this in
  2776. mind for extremely time-critical events.
  2777.  
  2778.  
  2779.  
  2780. ===========================================================================
  2781. SECTION 18                                                THE QUESTIONNAIRE
  2782. ===========================================================================
  2783.  
  2784. WR-BBS includes a questionnaire facility.  There is only one questionnaire.
  2785. You can  include up to @@ "questions" in the routine, and collect an answer
  2786. to each  question.  The responses are stored in a text file, annotated with
  2787. the caller's  name, and  the date  and time  that the  caller selected  the
  2788. questionnaire.   There is no format-checking done on the responses.  Unlike
  2789. the New  User Questionnaire, callers have the opportunity to "skip" answers
  2790. or abort the questionnaire entirely at any point.
  2791.  
  2792.           NOTE:   After the  caller has  completed the questionnaire (or if
  2793.           they abort  the questionnaire at any point), they are returned to
  2794.           the Main Menu.
  2795.  
  2796. You do  not have  to have  a questionnaire if you have no need for one.  If
  2797. you would  prefer not  to have a questionnaire available to callers, simply
  2798. make sure  that there is no directory named QUESTION as a sub-directory off
  2799. the home  path.   Any callers  who press  "Q" at the main menu will then be
  2800. told  that  no  questionnaire  has  been  configured.    To  reduce  caller
  2801. confusion, you should also edit the MAINMENU.ASC and MAINMENU.ANS screen to
  2802. remove the (Q)uestionnaire option if it presently appears as a choice.
  2803.  
  2804. Before you  enable the questionnaire, you must first create a few (or more)
  2805. short "question files".  These are essentially the same as the screen files
  2806. used elsewhere  in WR-BBS,  except they  are typically  much smaller, since
  2807. they usually  consist of just one or two sentences.  Just as with other WR-
  2808. BBS screen  files, you  need to  create an  ASCII (.ASC)  and  ANSI  (.ANS)
  2809. version of each file.  There can be up to 255 questions. Most callers would
  2810. not endure  even 100 questions, so your questionnaire will probably consist
  2811. of maybe  a dozen  questions maximum  - but you can go wild and write up to
  2812. 255 questions  if you  have a special need.  The filenames for the question
  2813. files follow the WR-BBS convention:
  2814.  
  2815.                                Non-ANSI              ANSI
  2816.                                ------------          ------------
  2817.           1st question         QUES0001.ASC          QUES0001.ANS
  2818.           2nd question         QUES0002.ASC          QUES0002.ANS
  2819.           3rd question         QUES0003.ASC          QUES0003.ANS
  2820.           
  2821.           and so on ...
  2822.  
  2823. There is also a "last" display file which can optionally be included in the
  2824. questionnaire routine.   This  file is  displayed to  the caller  after the
  2825. caller successfully  answers all  of the  questions.   It might  be a brief
  2826. message saying  "thank you  for answering the questions" or something along
  2827. that line.  The filenames for this "last" display file are EPILOGUE.ASC and
  2828. EPILOGUE.ANS.
  2829.  
  2830. All of the files described above are placed in a special sub-directory, off
  2831. the home  path directory.   The name of this special directory is QUESTION.
  2832. For example,  if your  home path is C:\WR-BBS, then you would create a sub-
  2833. directory named  C:\WR-BBS\QUESTION.   To do  this,  issue  the  DOS  MKDIR
  2834. command (substituting your correct home path if different):
  2835.  
  2836.           MKDIR C:\WR-BBS\QUESTION
  2837.  
  2838. You are  then ready  to add  the question  files to  the new sub-directory.
  2839. When a caller selects (Q)uestionnaire from the main menu, WR-BBS checks for
  2840. the existence  of the  sub-directory named  QUESTION, then for any question
  2841. files.   It then  displays the  first  question  file,  gets  the  caller's
  2842. response, displays the second question file, the caller responds again, and
  2843. so on.
  2844.  
  2845.           NOTE:   For proper  operation, use  consecutive numbers  in  your
  2846.           question filenames - don't skip any numbers.
  2847.  
  2848. Caller options during the questionnaire:
  2849.  
  2850.           The caller can answer the question by typing a one line response.
  2851.           
  2852.           The caller can skip the question by pressing <ENTER> alone.
  2853.           
  2854.           The caller  can abort  the questionnaire by typing a star (*) and
  2855.           then pressing <ENTER>.
  2856.  
  2857. The answers  left by  callers are  stored  in  an  ASCII  text  file  named
  2858. ANSWERS.TXT.   This file  is located in the QUESTION sub-directory.  If the
  2859. caller skips  any questions  while proceeding  through  the  questionnaire,
  2860. ANSWERS.TXT will  have an  entry "NO  RESPONSE FROM [CALLER NAME]".  If the
  2861. caller aborts  the questionnaire,  it will  be recorded  in ANSWERS.TXT  as
  2862. "[CALLER NAME] ABORTED QUESTIONNAIRE".   If the caller drops carrier during
  2863. the questionnaire,  this will  also be recorded in ANSWERS.TXT, if the loss
  2864. of carrier  is detected  at any  time except  when a question file is being
  2865. transmitted.  WRBBSLOG.TXT will also have a record of dropped carriers.
  2866.  
  2867. As subsequent  callers complete  the  questionnaire,  their  responses  are
  2868. appended to  ANSWERS.TXT -  this file  grows with  each activation  of  the
  2869. questionnaire facility.   You  may wish  to include  some kind of automatic
  2870. archiving routine  in MIDNIGHT.BAT  or an event, which moves ANSWERS.TXT to
  2871. another location.   WR-BBS  automatically creates a new ANSWERS.TXT file if
  2872. none is  found.   See section  15 for  more details  on  MIDNIGHT.BAT,  and
  2873. section 17 for more details on configuring events.
  2874.  
  2875. ===========================================================================
  2876. SECTION 19                                                 THE ACTIVITY LOG
  2877. ===========================================================================
  2878.  
  2879. WR-BBS creates  and updates  a log  file named WRBBSLOG.TXT, located in the
  2880. home path.   The  following are  some examples  of types  of  activity  are
  2881. recorded in WRBBSLOG.TXT:
  2882.  
  2883.           - Callers logging in.
  2884.           - Callers changing their passwords.
  2885.           - Callers  requesting various features throughout the WR-BBS menu
  2886.                     system.
  2887.           - Callers making mistakes, or selecting unauthorized features.
  2888.           - Callers dropping carrier.
  2889.           - File transfers.
  2890.           - WR-BBS being started or re-started.
  2891.           - WR-BBS being shut down.
  2892.           - Errors that occur during WR-BBS startup or shutdown.
  2893.           - Errors that occur during WR-BBS runtime.
  2894.           - Errors detected by the W-TREE Database Manager.
  2895.           - System status messages.
  2896.           - SysOp administration activity.
  2897.  
  2898.  
  2899. WR-BBS keeps  only one  log file  - there  is no  separate file for errors.
  2900. Since WRBBSLOG.TXT is an ASCII text file, you can use a third party utility
  2901. (or even  something as  basic as DOS's FIND) to search for specific strings
  2902. in the log file.
  2903.  
  2904. If WRBBSLOG.TXT does not exist, WR-BBS creates a new one when it next needs
  2905. to record  an event.   If  WRBBSLOG.TXT does  exist, WR-BBS  appends  event
  2906. information to it.  You will probably want to implement some scheme to copy
  2907. the contents  of WRBBSLOG.TXT to an archival location at regular intervals.
  2908. The sample MIDNIGHT.BAT file gives an example of how to do this.
  2909.  
  2910. Should WR-BBS  experience a  "fatal" error  during runtime,  the details of
  2911. that error  will usually  (but not always) be logged to WRBBSLOG.TXT.  Some
  2912. errors are  so severe  that no  file I/O  is possible,  and therefore  they
  2913. cannot be  logged.   If a fatal error occurs and is logged, the information
  2914. in WRBBSLOG.TXT  will be  helpful in  determining exactly  what went wrong.
  2915. Particularly important  are the  Process ID  and System  Status, listed  as
  2916. "PID" and  "SS" in  WRBBSLOG.TXT.   If you  contact the  author for support
  2917. involving a fatal error, this information will be most helpful in resolving
  2918. the problem.
  2919.  
  2920.  
  2921.  
  2922. ===========================================================================
  2923. SECTION 20                                                THE "DOWN" OPTION
  2924. ===========================================================================
  2925.  
  2926. WR-BBS has  a handy feature built-in for "downtime" operation.  This allows
  2927. you to  configure WR-BBS  to answer calls, but not allow callers to log on.
  2928. Instead, callers  are presented  with a message (which you create), and the
  2929. call is then terminated.
  2930.  
  2931. Why would  you want to run your WR-BBS in "downtime" mode?  Perhaps you are
  2932. in the  middle of  overhauling all  your screens,  and you  don't want  the
  2933. computer to get tied up with caller sessions.  If you plan to have your WR-
  2934. BBS down  for any period of time, this feature will be useful - compared to
  2935. the alternatives.   Callers are much more receptive to a "downtime" message
  2936. that getting a constant busy signal or ringing.  On the other hand, if most
  2937. of your  callers use long distance to call your board, it would probably be
  2938. more polite  to not  use the  "downtime" option  when the  board is  down -
  2939. callers are not charged for calls to busy or unanswered lines.
  2940.  
  2941. How to configure WR-BBS for "downtime" operation.
  2942.  
  2943.           1.   Create a  set of  screen files explaining that the system is
  2944.                     unavailable.     See  section  7  for  instructions  on
  2945.                     creating screen  files.   Your announcement  should  be
  2946.                     only a  few lines  long -  never more  than  20  lines.
  2947.                     Create one  for each  type of caller with these special
  2948.                     names - DOWNTIME.ASC and DOWNTIME.ANS.  Put these files
  2949.                     in the  same directory  as all  of  your  other  screen
  2950.                     files.
  2951.           
  2952.           2.   Stop WR-BBS  if it  is running,  by pressing  ALT-Q from the
  2953.                     "waiting for calls" screen.
  2954.           
  2955.           3.  Start WR-BBS by typing this special command line:
  2956.  
  2957.                               WRBBS  /DOWN
  2958.  
  2959.  
  2960. When WR-BBS  is in "downtime" mode, any incoming call is answered as usual,
  2961. but  instead  of  logging  in  the  caller,  WR-BBS  displays  the  special
  2962. DOWNTIME.ASC or  DOWNTIME.ANS screen.  The caller is then prompted to press
  2963. a key  to end  the call.   If  the caller  does not  press a  key, the call
  2964. terminates automatically after 30 seconds.
  2965.  
  2966. To resume normal WR-BBS operation, stop WR-BBS with ALT-Q from the "waiting
  2967. for calls" screen, then type WR to start WR-BBS in normal mode.
  2968.  
  2969.  
  2970. ===========================================================================
  2971. SECTION 21                                        WHILE A CALLER IS ON LINE
  2972. ===========================================================================
  2973.  
  2974. There are some special keys available to the SysOp while a caller is logged
  2975. on.   If the  caller attempts  to press  these keys - they have no effect -
  2976. only the local console can activate these features:
  2977.  
  2978.           PGUP  -   Adds five minutes to the callers time.
  2979.           
  2980.           PGDN  -   Deducts five minutes from the callers time.
  2981.           
  2982.           ALT-X -   Immediately forces the caller off - abruptly!
  2983.  
  2984.  
  2985. In order  to use  these keys,  the caller must be in one of the menus (Main
  2986. Menu, Message System, Files Library).  To activate one of the special keys,
  2987. hold it  down until the desired effect is observed (it may take a second or
  2988. two).
  2989.  
  2990. Remember that  when a  caller is logged on, the local (console) keyboard is
  2991. active along  with the  callers.   This allows  you to  type things for the
  2992. caller (to  show a confused caller how to do something, for example).  This
  2993. also means  that you can "coerce" a caller to one of the menus by using the
  2994. regular command  keys (which  they could  use), and  then press  one of the
  2995. special keys described above.
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.