***************************************** * * * PCBoard (R) - Version 12.1 * * * ***************************************** * * * Clark Development Company, Inc. * * P.O. Box 71365 * * Murray, Utah 84107 * * * * (800) 356-1686 Orders Only! * * (801) 261-1686 Voice * * * * (801) 261-8974 Data (HST) * * (801) 261-8975 Data (HST) * * (801) 261-8976 Data (HST) * * (801) 261-8977 Data (HST) * * (801) 261-8979 Data (Hayes) * * * * (C) Copyright 1985, 1986, 1987 * * All Rights Reserved * * December 11, 1987 * * * *****************************************
T A B L E O F C O N T E N T S -----------------------------------
Description Page ---------------------------- ---- License to Use Agreement Introduction 1 Hardware Required 2 Quick Install 3 Modem Switch Settings 7 Environment Switches 9 General Instructions 11 Installing PCBoard 13 Configuring PCBoard 15 Sysop Data 17 File Name Data 18 File Location Data 23 Modem Data 26 Failure to Establish Carrier 29 Modem Reset Errors 30 User Levels 31 Miscellaneous 32 Text Data 39 Switches and Stuff 41 Configuring Conferences 45 Establishing File Security 51 Download Files 51 Upload Files 52 Establishing User Time Allotments 54 Script Questionnaire Files 56 News Files 59 Security Files 60 Call Waiting Menu Operation 61 Special Keyboard Functions 63 Program Menu Selections 68 Sysop Program Commands 69 User Program Commands 76 Program Commands - Quick Summary 113 Networking Information 119 Network Node CHAT 125 DOORS Operation 131 Adding Additional Protocols 136 Subscription Operations 140 Multilingual Operations 142 Interfacing DOOR Programs 146 High Speed Modem Operation 150 Questions & Answers 160 File Formats Used 168 Distribution 174 Support 175
License to Use Agreement ------------------------
Clark Development Company, Inc. (herein referred to as CDC), grants to the Purchaser and Purchaser accepts a nontransferable and nonexclusive license to use, on a single computer, the Software Products and accompanying materials provided to Purchaser by CDC. Purchaser is hereby licensed only to read the program from its medium into the memory of a single computer solely for the purpose of executing the program. Purchasers of the Network version of the software may read the program into the memory of the maximum number of machines equal to the number of Nodes purchased at a SINGLE site only in which all of the machines are physically connected together in a Network environment. CDC shall have the right to terminate this license if purchaser violates any of its provisions. Purchaser agrees that the Software Products and accompanying materials are the property of CDC and that CDC shall maintain title to and ownership of the Software Products at all times. Purchaser agrees to make no more than one (1) additional working copy and one (1) archival copy of the Software Products for their personal use only. Except as indicated above, the Software Products may not, in whole or part, be copied, reproduced, translated, or distributed to other parties.
All CDC Software Products and accompanying materials are sold with an unconditional 30 day money back guarantee. If for any reason you are not completely satisfied with the Software Products, return the original disk(s) to CDC within 30 days of purchase for a full refund less $15.00 S&H charges. CDC warrants that all disks provided constitute an accurate duplication of the Software Products and CDC will replace any disks found to be defective within 30 days from date of purchase. CDC will not honor this warranty where a Software Product disk has been subjected to physical abuse, or used in defective or non-compatible equipment. CDC makes no warranties of any kind, expressed or implied, with respect to the quality, performance, accuracy, or fitness of the Software Products for any particular purpose. CDC assumes no responsibility for any decisions made or actions taken on the part of the Purchaser because of the use of the Software Products. In no event shall CDC, or any of its representatives, be liable for any loss of profit or any other damages, including but not limited to special, incidental, consequential or other damages, arising out of the use or inability to use this product - even if CDC or an authorized agent of such has been advised of the possibility of such damages - or for any claim by any other party.
CDC reserves the right to make changes, enhancements and improvements to the Software Products at any time and without notice. Purchaser whose signature appears below agrees to the terms of the above License. However, even if you fail to return this agreement, use of the Software Products for any period of time constitutes your assumed acceptance of this agreement and subjects you to its contents.
Product: ________________________________ Serial Number: __________________
Return within 30 days to Clark Development Co, Inc., P.O. Box 71365, Murray, UT 84107 to insure support of your purchase.
1
I N T R O D U C T I O N -----------------------
PCBoard (R)
Premium Host Communications Software for the Professional
(C) Copyright 1985, 1986, 1987 Clark Development Company, Inc. P.O. Box 71365, Murray, UT 84107
(800) 356-1686 Orders ONLY! (801) 261-1686 Voice (801) 261-8974 Data (HST) (801) 261-8975 Data (HST) (801) 261-8976 Data (HST) (801) 261-8977 Data (HST) (801) 261-8979 Data (Hayes)
PCBoard is the end result of a dedicated group of sysops who felt there was a need for a premium remote bulletin board software program for the IBM (R) PC/XT/AT family of computers. Due to their efforts, PCBoard has become the standard in BBS Software - setting the trend with new innovations in host PC communications. Special thanks to Vern Buerg and his donation of the .ASM ARC file routines to the public domain for use in programs such as PCBoard. Through his generosity, callers to a PCBoard system can review the contents of any .ARC file without having to leave the program. Our thanks to Vern for his time and efforts in sharing his routines with us and others.
If you are considering running this code, please look over the accompanying documentation carefully before trying to set up a system using PCBoard software - it may not meet your needs.
The philosophy behind PCBoard was quick running code, user friendliness, minimum time to get into system, increased protocol support, single user menu, and additional Sysop support. In order to maintain the highest degree of user compatibility with other BBS programs currently in use, many similar ideas were written into PCBoard. For example, PCBoard allows the caller to use either a space or a semi-colon as their command delineator so that users familiar with either other BBS software will feel more comfortable using the stacked commands available inside PCBoard. However, PCBoard can not be all things to all people. We have tried to include the most requested items and have left out other functions which simply added un-needed overhead to the code or proved to be unreliable.
2
H A R D W A R E R E Q U I R E D ----------------------------------
In order to run PCBoard software, you will need the following:
1. An IBM PC/XT/AT or 100% compatible clone with a minimum of 320K of memory running under DOS 3.0 or above (all versions). 217K is needed for actual program operation. However, 320K of machine memory is needed for loading of COMMAND.COM, etc.
2. A hard disk of sufficient size to support the large number of program and user downloadable files. (20 Meg minimum recommended with at least 5 meg available for PCBoard operation).
3. A "smart" modem capable of sending verbose results to the software to indicate the speed at which a caller logs on. (i.e. The modem must be able to respond with CONNECT, CONNECT 1200, and CONNECT 2400). If your modem will not send the above result codes to the software at the time a user logs on, the program will not function! Please note that a US Robotics Password will NOT work with PCBoard code due to its failure to properly support all DTR functions. Additionally, many of the newer "less expensive" modems on the market which claim to be Hayes compatible may not be suitable for PCBoard operation. Due to their lack of command or "S" register support, and sometimes unreliable operation in an unattended "answer" mode, they fail to properly support a PCBoard operation.
4. The file ANSI.SYS loaded on your machine from the CONFIG.SYS file at the time of initial boot-up. If you do not have the program ANSI.SYS, you can not operate the code in "graphics" mode. The code can be run without the ANSI driver loaded - however, the software will not support color graphics under that configuration.
5. A CGA monitor is recommended. However, the code will function well with either a monochrome (TTL), composite, or EGA monitor.
6. PCBoard can also be run under a Packet Switch environment (PAD) with the use of "dumb" modems - using standard RS-232C signals - including true Carrier Detect and DTR to control the software. Please refere to the "Environment Switches" section of this documentation for additional information on running a configuration under a PAD environment.
7. "How many Nodes can I run and what hardware is needed?" For an answer to this question and others, see the "Questions and Answers" section near the end of this manual!
3
Q U I C K I N S T A L L --------------------------
***** C A U T I O N *****
NEVER run PCBoard by simply typing in PCBOARD! It is mandatory that PCBoard ALWAYS be run from the BOARD.BAT file or equivalent - or program operation will not function normally.
***** C A U T I O N *****
Attempting to use AT extended memory when running PCBoard is usually totally unreliable - even for RAM disk use - because of the conflict between DOS's communication interrupt control and "protected mode" CPU extended memory operation. It is recommended that you NOT attempt to use ANY extended memory functions when running PCBoard. The problem is caused by the fact that PCBoard is VERY communication's interrupt intensive. When switching the CPU back and forth from "protected mode" to "real mode", the loss of proper interrupt handling can occur and system lockups will result! However, it has been found that EMS (EEMS) memory will function normally and allow the use of both CACHE and EMS (EEMS) RAM disk programs in conjunction with PCBoard's operation.
If you are upgrading from a previous version of PCBoard (10.0 or below), please refer to the file PCBCONV.DOC included with this program.
***** C A U T I O N *****
Before beginning this procedure, it is recommended you make a complete backup copy of all PCBoard distribution disks. In order to do this, use the DOS DISKCOPY command. Do NOT use just the COPY command, since several important subdirectories on the distribution disks will not be copied onto your backup disks if you do!
If you are installing PCBoard for the first time, do the following:
1. Change your current default drive location to the root directory of the hard disk drive on which you wish to install PCBoard. Normally this should be drive C:. To get to the root of drive C:, enter:
c: (Return) cd \ (Return)
2. Place Disk 1 of the PCBoard distribution disks in Drive A:. Then at the DOS prompt type:
4
a:install (Return)
This will completely install all the PCBoard files onto your hard disk in order to bring up the code for the first time. After the install program is finished, you will be displayed a menu of the various PCBoard documentation files which should be printed. It is recommended that you immediately print out the complete PCBOARD.DOC file! This file is approximately 180 pages in length. Note that the PCBoard batch file routines will automatically "expand" or "de-arc" the various DOC files as they are printed. It is NOT necessary for you to first de-arc the DOC files included.
3. Next, edit your CONFIG.SYS file to include one of the following based on what version of PCBoard and what hardware/software you are using:
FILES=16 (For /S, /D versions, or for systems running DEVICE=ANSI.SYS /E3 or above on a "true" network)
or
FCBS=32,32 (For /E3 users running multiple nodes under FILES=32 multitasking software such as DoubleDOS, DEVICE=ANSI.SYS TaskView, DESQView, etc.)
4. If you will be running PCBoard on a Novell network, edit your AUTOEXEC.BAT file to include the statement below and then reboot your machine:
SET PCB=/NMT
NOTE: Failure to use the above statement in your AUTOEXEC.BAT file will result in NO SCREEN DISPLAYS when attempting to run most PCBoard programs under a Novell Network!
5. Next, change your default location to the "\PCB" directory location and enter:
PCBSETUP (Return)
This will load and run the PCBSetup program. Using the documentation provided, configure your system paramters based on your needs. Upon exiting PCBSetup, answer "Y"es to all program exit questions. This will save your new paramters, and will also check your system configuration.
6. Load and run PCBoard. To do so, at the DOS prompt, type:
5
BOARD (Return)
CAUTION: NEVER run PCBoard by simply typing in PCBOARD! It is mandatory that PCBoard ALWAYS be run from the BOARD.BAT file or equivalent - or program operation will not function normally.
NOTE: If your "call waiting" screen is jumbled or missing characters, you will need to use the following statement in your AUTOEXEC.BAT file before loading the code:
SET PCB=/BIO
This will correct the problem by forcing all screen writes through your ROM BIOS instead of direct memory access.
7. Using the "Sysop Into System" menu selection, log into the system. If you did not change the local logon password, enter the word "PASSWORD" when asked for the local logon password.
8. Next, enter and save one message. After saving the message, enter:
3 Y (Return)
at the main command line. This will pack the message base and prepare the message base index files for use.
9. Next, add one new user to your system by entering the command:
7 A (Return)
The software will prompt you for the name of the new user. Enter a new user using OTHER THAN your name and password. This new entry can either be a "dummy entry" or a failsafe remote access entry to allow you into your system from remote. However, since we recommend altering user record #1 in the procedures following, it is suggested that you do NOT enter your real name and password as the new entry here.
10. After you have entered one new user, enter the following at the main command line:
8 Y (Return)
This will immediately pack your user's file, creating the necessary "quick index" files needed for optimum code operation.
11. After the pack is finished, exit PCBoard by entering "G" for good-
6
bye.
12. Next, exit to DOS using the "Exit to DOS (Phone NOT Busy)" menu choice.
13. Load the PCBSysMgr program by entering:
PCBSM (Return)
14. Select "User's File Maintainence", followed by "Edit Users". This should bring up record #1 of the user's file (the Sysop record).
15. Next, press your (F2) function key to place the screen in the "long edit" format. At this point, change the user name of "SYSOP" to your "real" name. Also, enter a password of your choice. CAUTION: DO NOT use an easy to guess password - since anyone calling into your system using your real name and guessing of your password will have complete access to your hardware!
16. After altering record #1, save your changes, and (Esc) to the previous menu. Select "Pack USER's File" and re-pack your USER's file.
At this point your quick install procedure is complete and you can begin to fine tune your system operation.
7
M O D E M S W I T C H S E T T I N G S -------------------------------------------
Hayes 1200 Baud External Modem ------------------------------ ----------------Switches-------------- 1 2 3 4 5 6 7 8 --- --- --- --- --- --- --- --- U U D D D U U D
Switch 1 = DTR false (controlled by program) Switch 2 = Full result words sent (i.e. CONNECT 1200) Switch 3 = Result codes sent back to computer Switch 4 = Commands are not echoed back to computer Switch 5 = Auto answer is off. (controlled by program) Switch 6 = Carrier detect is off. (controlled by program) Switch 7 = Normal phone jack configuration Switch 8 = Enables modem to recognize commands
U.S. Robotics Courier 2400 & HST 9600 Baud External Modems ---------------------------------------------------------- --------------------Switches------------------- 1 2 3 4 5 6 7 8 9 10 --- --- --- --- --- --- --- --- --- --- U U D D D U U D D U
Switch 1 = DTR false (controlled by program) Switch 2 = Full result words sent (i.e. CONNECT 1200) Switch 3 = Result codes sent back to computer Switch 4 = Commands are not echoed back to computer Switch 5 = Auto answer is off. (controlled by program) Switch 6 = Carrier detect is off. (controlled by program) Switch 7 = Normal phone jack configuration Switch 8 = Use normal "AT" command set. Switch 9 = Disconnect with +++ (Optional) Switch 10= Not used
Microcom AX9624C 9600 Baud External Modem ----------------------------------------- --------------- Front Switches ----------------- 1 2 3 4 5 6 7 8 9 10 --- --- --- --- --- --- --- --- --- --- U U D D D U U D U U
---------------- Rear Switches ---------------- 1 2 3 4 5 6 7 8 9 10 --- --- --- --- --- --- --- --- --- --- U U D D D U U D U U
8
EEPROM (NRAM) Based Modems -------------------------- The Hayes 2400, Hayes 9600 V-Series, USR HST 9600, Microcom AX, EVI/FastComm and other EEPROM modems do not use DIP switch settings. Instead, their "DIP" settings are stored in nonvolatile memory in the modem. These settings are not lost - even after turning off the power to the modem. Once the modem has been initialized using the instructions given here, it will not be necessary to re-configure the modem again. To configure a modem of this type, use the program PCBMODEM.EXE available from the Salt Air BBS system.
All Other Modems ---------------- All other "smart" modems should use similar switch settings. The two critical ones are that the modem switches must not be set so that Carrier Detect (CD) and Data Terminal Ready (DTR) are "true" all the time. They must be set to "false" so that the software can control them. Also, DO NOT enable "auto-answer" on your modem by specifying a value other than "0" in your "S2" register! If you have any value other than "0" as your "S2" register setting, your board may be subject to security violations if carrier is lost in a DOOR or during remote DOS applications!
Automatic Error Correction Modem Detection ------------------------------------------ PCBoard also automatically detects whether an error-corrected connection has been established. This support is currently provided for the following modems:
Hayes 9600 V-Series US Robotics Courier HST Microcom AX9624C EVI/FastComm 2496 Telebit/Trailblazer 19200 (Ventel 19200 modems) All MNP class Modems (2400 and above)
Automatic error-correction detection is used to automatically enable or disable both Imodem and Ymodem-G protocols. If an error-correcting modem is NOT detected, both Imodem and Ymodem-G internal protocols are automatically disabled.
Hayes 9600 V-Series Modem Special Setting ----------------------------------------- To insure proper Hayes 9600 V-Series operation, it is necessary that you place the following statement in your environment prior to loading PCBoard:
SET PCB=/DTE
This statement should be placed in your AUTOEXEC.BAT file or similar location to insure it is activated each time your machine is rebooted.
9
E N V I R O N M E N T S W I T C H E S ---------------------------------------
PCBoard uses the DOS "environment" to control several functions inside the code. These switches must be set ONCE before PCBoard is loaded. They are best initialized by placing a statement in your AUTOEXEC.BAT file which executes them as your system boots. The switches available are:
/NMT (No MultiTasking) This switch MUST be used when running PCBoard on a Novell networking system to insure proper screen displays. Failure to use this switch will result in NO SCREEN DISPLAYS when running under a Novell Network!
/BIO (BIOS Screen Writes) This switch should be used if you will be running PCBoard under multitasking software which causes "screen bleed through" between partitions, and also may be needed if you are using a non-100% Hercules compatible monochrome graphics card - which is eveident by an incomplete "CALLWAIT.SCR" (call waiting screen - system available) display.
/PCK (Packet Switch Support) This switch allows the code to function under a PAD or Packet Switched environment without the need for a "smart" modem. Under this environment, no modem commands are sent to the RS-232 port. (i.e. all Modem Data screen commands in PCBSETUP are ignored.) The code instead uses true CD (Carrier Detect) and DTR to function properly. Since the code can NOT adjust itself to the actual connect speed (e.g. the host node will remain at the speed at which the RS-232 line was originally opened), download time calculations may differ greatly that what is actually required. In other words, if most of your callers are at 2400 baud and below, and you open the RS-232 port at 9,600 baud, there will be a substantial increase in download times than those calculated and displayed by the code. Packet Switch support can also be used on other systems which must function with a dumb modem. However, in either case, remember that there will be NO AUTOBAUDING of the code to match the modem-to- modem speed! If you will be running PCBoard on a PAD system and use the above switch, the software will simply look for the presence of CD being true in which to signal the logon on a users to the system. The caller is disconnected by toggling DTR off.
/MUL (Multilingual Support) This switch allows you to run PCBoard under multilingual support if you have alternative language files available. Please see the "Multilingual Operations" section of this document for more detailed information.
/DTE (Hayes 9600 V-Series Modem) Indicates you are using a Hayes 9600 V- Series modem. This switch must be set if you will be using a Hayes 9600. Failure to properly set this switch will result in all callers being denied access to your system - since the modem will not properly AutoBaud to match their CONNECT speed.
/MLK (Lock in Modem Open Speed) Indicates you wish to lock in the host
10
DTE modem port opening speed - regardless of the CONNECT speed of the caller. This allows for data compression modems using MNP error correction methods at other than 19200 bps.
/EVI (EVI/FastComm Modem) Provides support for the older style non-MNP EVI/FastComm 2496 modems at 9600 and 19200 bps modes of operation.
/NMA (Turn off Mail Scan) Turns off the "Scan Message Base Since 'Last Read' (Enter)=yes" prompt as a caller logs onto your system.
/NCxx (Set Node CHAT Timer) Allows setting the time period between Node CHAT check requests while a caller is idle at the main command line prompt. The code defaults to 5 seconds if this switch is not set. Valid values for the 'xx' parameter are from 01 to 99 seconds.
/NOE (Disable 7-E-1 callers) Disables access to callers at 7-E-1 modem settings. CAUTION: Some DOOR programs DO NOT support operation at 7-E-1 modem settings and may cause your system to lock up - therefore requiring the use of this switch! Additionally, callers at 7-E-1 modem settings are denied "mode" changes to "graphics" mode, and are also restricted from performing any file transfers.
To set any or all the above switches, include in your AUTOEXEC.BAT file the statement - SET PCB=[switch][switch]
Examples: SET PCB=/NMT SET PCB=/BIO SET PCB=/PCK SET PCB=/NMT/BIO/MUL SET PCB=/DTE/NMA
11
G E N E R A L I N S T R U C T I O N S ----------------------------------------
It is ESSENTIAL that you outline your hardware configuration and file security prior to actually running the code. Failure to properly configure your system and PCBoard data files in accordance with the guidelines presented here can result in many long hours of frustration in trying to get the program to function properly.
Many files indicated herein have the letter "G" suffixed to their file name. This indicates a "color graphics" version of the main file being discussed and should be present for your color graphics callers. If a color version of the file is missing, PCBoard will attempt to locate and use the non-graphics version instead. These files contain the CHR$(27)+"[XXm" escape codes needed to generate color on your and the caller's machines. ("XX" is a valid ANSI number). NOTE: You must have the program ANSI.SYS loaded on your machine before running PCBoard in order to support color graphics files! To initialize it, place a statement in your CONFIG.SYS file which reads...
DEVICE=ANSI.SYS
If you will be running under DoubleDOS software, the ANSI driver DBLDANSI.SYS supplied with DoubleDOS should be used in place of ANSI.SYS. When building or editing the "G" files, you should use the ANSI standard DOS color escape codes listed in your DOS 2.1 or higher technical reference manual. Please note that PCBoard does NOT support ANSI `music' strings.
Throughout the code, several drive\subdirectory notations are made as to where specific files should be placed. They are:
These names are not hardcoded into the program, but are used during the automatic install procedure. They are examples only of the names that can be used. For example, let's assume you have a single hard disk (drive C:), on which you are installing PCBoard.
Using the names above, a sample configuration might be as follows:
12
Drive C:\ (Root) (Subdirectories) | +-----+------+------+---+--------------+ | | | | | Lotus WP dBase etc C:\PCB (Default) Sub Sub Sub | BOARD.BAT PCBOARD.EXE PCBPACK.EXE PCBOARD.DAT PCBOARD.SYS PCBPROT.DAT REMOTE.SYS EVENT.SYS CALLWAIT.SCR WATCHDG1.COM (DOORS batch files) (SHELL protocol batch files) (All below would be C:\PCB+name) | +-------+------------+--------+-------+----------+-------+-------+ | | | | | | | | \UP \MAIN \GEN \HELP \SYSOPS \DL1 \DL2 \DL3 | | | | | | | | Files MSGS BLT HLPA SBLT Files Files Files Uploaded FSEC BLTG thru SBLTG for for for to PWRD BLTxx HLPZ SBLTxx Down Down Down Main TCAN DIR HLPCHAT SDIR Load Load Load Board CNAMES DIRG HLPOPEN SDIRG CALLERxx DIRxx HLPSEC SDIRxx USERNET.DAT CNFN SYSOPS DOORS.DAT CNFNG PRIVATES NEWREG PRIVATE SSCRIPTx PCBNDX.x WELCOME(G) SANSWERx ANSWERx PCBML.DAT SNEWS DOWNLOAD.TXT NEWUSER SNEWSG NEWASK NEWS SSCRIPT (CHAT files) NEWSG SSCRIPTG BRDM(G) Files BRDS(G) Uploaded DOORS(G) to SCRIPTx Conf. PCBTEXT <- Very Important to be in "\GEN"!
The files indicated in each location represent the files discussed later in this document. Since there are an enormous number of combinations available, we will not try and discuss them here. Suffice it to say that you should carefully plan out your configuration before trying to run PCBoard. If files are not where they belong, your program will either not run, or it will generate errors in doing so.
13
I N S T A L L I N G P C B O A R D ------------------------------------
***** C A U T I O N *****
PCBoard stores ALL sysop information in the USER's file! Never allow this record to "move" from the # 1 location, or you will lose access to your board from remote and the individual whose record is now # 1 will become the default sysop! NOTE: PCBoard uses both the name "SYSOP" and the name you enter into user record #1 (using the PCBSM.EXE program to change the name from SYSOP to whatever you desire) when checking for mail addressed to the sysop. Since most sysops usually enter their real name into record #1, it is CRITICAL that you as the sysop change your password frequently so that others dialing in from remote never have the chance to break your security - even if they were to discover a password you used to use or use on a different system! When logging on from remote or local mode, the program recognizes anyone with record # 1 as "The Sysop" and assigns privileges, etc. as necessary. Also, the actual "name" from record # 1 is not used for display purposes. Instead, the word "SYSOP" is displayed. When logging on locally, the code will still ask for a local password which is defined in the PCBSETUP program. When logging on from remote, it will be necessary to specify the first and last name, and the password of record # 1 in order to gain access to the code as "the sysop". Please protect your USERS' file from downloading by anyone to insure the security of your system and others as well! Failure to adequately protect this file can result in others accessing your system as you. Please properly protect this file!
***** C A U T I O N *****
The code requires that your CONFIG.SYS file contain one of the following statement combinations:
FILES=16 DEVICE=ANSI.SYS
or
FCBS=32,32 FILES=32 DEVICE=ANSI.SYS
The first statement group should be used if you are running either the /S or /D version(s) of PCBoard, or you are running an /E3 version or above on a "true" network (i.e. a network where you have individual machines with a modem on each as your nodes.)
The second statement group should be used if you will be running the /E3 version of PCBoard under a multitasking environment - such as DoubleDOS, TaskView, DESQView, or PC-MOS.
Failure to include one of the above statement combinations in your CONFIG.SYS
14
file will cause the program to function with numerous errors and a possible loss of data on your hard disk!
***** C A U T I O N *****
If you are upgrading from an /E3 to a higher version of PCBoard, it is MANDATORY that you delete your current USERNET.DAT file before loading the new code! Failure to first delete your old USERNET.DAT file will result in erroneous Node CHAT operation!
15
C O N F I G U R I N G P C B O A R D --------------------------------------
To configure your system, insure that the file PCBSETUP.EXE is located in your "DEFAULT" (C:\PCB) directory, and PCBTEXT is located in your "\GEN" (C:\PCB\GEN) directory, and then run PCBSETUP - following the screen configuration instructions in the next chapter.
PCBOARD.DAT is the main configuration data file necessary for proper board operation and MUST be located on the default drive from which you execute PCBoard. The program PCBSETUP.EXE should be used to maintain this file and should be run from your "DEFAULT" drive location.
There are eight main configuration screens available in the program, plus one additional screen for each of the conferences which will be supported. The eight main screens are:
1. Sysop Data 2. File Name Data 3. File Locations 4. Modem Data 5. User Levels 6. Miscellaneous 7. Text Data 8. Switches and Stuff
To enter one of the configuration screens, you should use the (Up) and (Down) cursor control arrows to position the highlighted selection over the desired choice and then press (Enter). Once inside one screen, you can move to the other screens without returning to the main menu by simply pressing either the (PgUp) or (PgDn) keys. To exit from either the program itself, or one of the configuration screens, simply press (Esc). When exiting the program, you will be asked whether to save your new values to disk. If you respond with a (N), all files will be left unchanged. The program will then ask if you wish to check your program path configuration. If you respond with a (Y), the program will run through ALL path specifications defined - including conference paths - to verify their presence. As this is done, any subdirectories which do not exist will automatically be created by the program.
NOTE: When using the program PCBSETUP.EXE to create and maintain the PCBOARD.DAT file, you are asked to respond with "Y" or "N" to answers which may actually be stored in the file as "-1" and "0". The editing commands available within PCBSETUP include:
(Home) Go to beginning of current field (End) Go to end of current field (Right Arrow) Move right in current field (Left Arrow) Move left in current field (Up Arrow) Move up to previous field (Down Arrow) Move down to next field (PgDn) Move to next data page
16
(PgUp) Move to previous data page (Ctrl+End) Delete from cursor to end of field (Delete) Delete character under cursor (Backspace) Delete character to left of cursor (Insert) Insert characters starting at cursor position
To add or delete conference entries, simply change the number of active conferences in the "Miscellaneous" screen. This will automatically adjust the main menu display.
17
Screen 1 - Sysop Data ---------------------
Entry # 1 - Sysop's Display Name (YourName) ------------------------------------------- This is the name of the sysop which is displayed at several points during normal program operation. The name must be one word only. You should enter your first name as the default - capitalizing the first letter for better appearance during program display.
Entry # 2 - Local Logon Password (PASSWORD) ------------------------------------------- This is the password needed to logon locally as the sysop. This password is only used when logging on locally. This entry can be left blank if desired.
Entry # 3 - Graphics on in local mode (Y/N) ------------------------------------------- This flag sets whether after logging on locally as the sysop, the board displays its functions in graphics or non-graphics mode. This flag does not alter the way in which the call waiting screen is displayed. It only takes effect after the sysop logs on and enters the code from the local terminal.
Entries # 4-15 - Sysop Security Levels (100 & higher) ----------------------------------------------------- These are the 12 sysop menu security levels for the 'sysop' only functions available in the program. These function levels should all be 100 or above. Callers who are granted temporary sysop privileges are given a temporary security level of 100. Users MUST have a security level of 105 or greater to be able to read/kill/unprotect/protect all messages. If their security level is less than 105, they can only read and kill messages to themselves.
The board is semi-hardcoded for all sysop functions to be in the range of 100-110. Sysop function menus are not displayed for users whose security level is less than 100. Users who have a security level of 100 or above can do most of the sysop functions for which they have the proper security level.
Sysop function (13) - read other node caller's logs - defaults to the same value specified for functions (1&2) once PCBoard is running. If you are not running version /Ex or /U, values for sysop function commands (11) through (13) are ignored when running PCBoard.
Several 'sysop' functions are hardcoded to only allow the actual sysop - the person logging on locally with the (Esc) key or remotely with the information stored in record #1 - to actually perform some functions. If you grant sysop privileges to another person, they will not have all the privileges you maintain unless you allow them to log on as you.
18
Screen 2 - File Name Data -------------------------
Entry # 1 - Main Message File (MSGS) ------------------------------------ This is the name of the main board's message file. It must be no longer than 8 letters and must not contain a filename extension. This file is automatically created by the program if it does not exist. The file must be kept in the "\MAIN" subdirectory location as indicated below. The file is completely network supported.
The message base filename is also used when creating the text file outputted by the code during use of the (Alt+F) (file out) function. When the (Alt+F) key is active in the code, the file is written to a disk file called base name>+".TXT". More information concerning text output is available later in the documentation.
Entry # 2 - Name of the Caller's File (CALLER) (6 chars max!) ------------------------------------------------------------- The the name of the file which stores all caller log information. The file is automatically created by the program if it does not exist. The file is stored in the location specified in the next data item.
Systems running under a network will have "network" caller's log files automatically created by the code when PCBoard is loaded for the first time. These files will be created as +. For example, if you are running a 3 node system, three files will be created - CALLER1, CALLER2 and CALLER3. Since the caller's files are each unique to its respective node, the files are not SHARED between nodes - but are available for SHARED viewing by another node if desired.
Entry # 3 - CALLER File Location (none) --------------------------------------- This entry allows the sysop to define where their CALLER files are to be located. Since some sysops running under a network environment prefer to have their various CALLER files on local drives instead of SHARED drives in order to cut down on over-all network traffic, this option has been included in the code. If this field is left blank, the program will automatically create and maintain all CALLER files in the "\MAIN" drive location for all versions of the code. If you are running either version /Ex or /U under a 'network' environment and specify a location here, be sure the location is the same for ALL nodes or sysop function (13) will not function properly. It is strongly recommended you leave this field blank!
Entry # 4 - Name of Welcome File (WELCOME) ------------------------------------------ This is the name of the file displayed to all users as they logon to the system. There should also be a color version available which has the letter
19
"G" appended to it. In other words, if you call the file WELCOME, there should also be a graphics version on the board called WELCOMEG for the color graphics callers. These files must be located in the "\GEN" board subdirectory location.
The caller has 10 minutes total in which to read the WELCOME and NEWUSER files, and to complete the questions asked for registration. If the 10 minutes expires before they complete all of the above, they will not be assigned the amount of time specified in the PCBSETUP program for new users who agree to register. If your callers are running out of time before completing the above, shorten your WELCOME and NEWUSER files to allow them sufficient time.
Entry # 5 - Name of the Newuser File (NEWUSER) ---------------------------------------------- The the name of the file displayed to all new users as they logon to the system. There should NOT be a color version available. This file must be located in the "\GEN" board subdirectory.
NOTE: If this file is too long, the caller will not have enough time to read the file and complete their registration information before the initial 10 minute program time limit has expired. Keep the file short and reference a bulletin for them to read if you need a longer file for them to review for registration information.
Entry # 6 - Name of the User's Data Base File (USERS) ----------------------------------------------------- This is the name of the file used to store all user data base information. The file will automatically be created if none exists. The filename must be 8 characters or less with no extension. The file must be placed in the "\MAIN" subdirectory. The file is completely network supported.
Entry # 7 - Name of the Conference Data File (CNAMES) ----------------------------------------------------- This is the name of the file used to store all conference information. It is created and maintained using PCBSetup. The file is stored in the "\MAIN" subdirectory on the board.
Entry # 8 - Name of the Download Security File (FSEC) ----------------------------------------------------- This is the name of the file used to store all of the download file security information. It must be maintained using a text editor and it must be kept in the "\MAIN" subdirectory on the board.
Entry # 9 - Name of the Logon User Time Allowance File (PWRD) ------------------------------------------------------------- This is the name of the file used to store all of the logon password, time
20
allocation, and download byte limitation information. It must be maintained using a text editor and stored in the "\MAIN" subdirectory on the board. Please note that you MUST have a corresponding entry in this file for each of the assigned security levels you give to your callers. If you do not have a matching security level which is exactly the same as one of your callers - they will receive a default of only 10 minutes on your system.
Entry # 10 - Name of the Undesirable Caller's Names (TCAN) ---------------------------------------------------------- This is the name of the file used to store all of the names which will automatically be denied access to the system. If a match is found on any name in this file against either the caller's first or last names, they will be denied access to the system. This file must also be built and maintained using a text editor and must be located in the "\MAIN" subdirectory. Callers who log onto your system and use one of the names in the TCAN file will have their logon entry written to the caller's log for review. To build the file, simply enter the name you wish to restrict in capital letters on each line of the file. For example, your file may include such items as:
----------------------- MR. HACKER HAPPY THE WAR ----------------------- If any caller logged onto your system who used any of the above entries as either their first or last names, they would immediately be denied access to your board.
Entry # 11 - Name of Batch File Called Exiting Remote (REMOTE) -------------------------------------------------------------- This is the name of the batch file called up when the sysop exits to DOS from a remote location. The filename must be 8 letters or less and must not contain an extension. The actual file should be placed in the "DEFAULT" drive/subdirectory location of the system from which PCBoard is initially run as +<.SYS>. The program will automatically rename the file to REMOTE.BAT just before the sysop actually exits to DOS. The file REMOTE.SYS included provides a sample of the file. The board itself must be called by another file called BOARD.BAT - so the two batch files can interact with each other.
Entry # 12 - Questionnaire Answers File (ANSWER) ------------------------------------------------ This is the filename which will be used to build the actual files which will store answers to your (S)cript Questionnaire(s). The name must be 6 characters or less since answer files are automatically created by the program using this name and by appending the number of the script questionnaire to the filename above - ANSWER1 for example. In a conference,
21
the first letter of the conference name is placed in front of the filename as well - such as SANSWER1 if you had a script questionnaire 1 in the Sysop's conference.
Entry # 13 - Registration Answers File (NEWREG) ----------------------------------------------- This is the name of the file which is automatically created by the code if you elect to run your system as a 'closed' board - but allow for the initial capturing of user registration information. The information left (answers in response to NEWASK) - are left in this file so the you can later include it in the master USERS file if desired. Note that if you decide to run a completely closed board - allowing no new users at all by eliminating the NEWASK file from disk, the program will still show the user the NEWUSER file as they log on so you can briefly explain to the caller the reason why the board is closed to all new users.
Entry # 14 - Network User File (Path+Filename) (C:\PCB\MAIN\USERNET.DAT) ------------------------------------------------------------------------ This is the drive\path+filename of the network interactive user file which is needed to properly support cross-network activities - including Node CHAT and cross-node reading of the caller's log by the sysop.
NOTE: This entry must be exactly the same for all nodes under a networking system in order for the Node CHAT and caller's log viewing to work properly. If the locations and/or filenames are not exactly the same, the Node CHAT and cross-node viewing of the caller's log(s) will not function properly. If you are not running under a network environment, this entry is ignored by PCBoard when running.
If possible, this file should be placed on a RAM disk - since it is accessed continuously during normal code operation and can cause considerable disk access activity - depending on your system configuration.
Entry # 15 - File Transfer Info (Path+Filename) ----------------------------------------------- This is the name of the file you wish all board download and upload file transfer summary information to appear in. The sysop can decide both the name of the file and its location. If this entry is left blank, no file transfer summary information will be saved. The information written to the file will include whether the successful transfer was an upload or download, the caller's name, the date and time of the transfer, the name of the file itself, the transfer protocol used, the total number of errors during the transfer, and the average CPS (characters per second) throughput of the over- all transfer if the transfer was completed using an "internal" protocol. Note that PCBoard calculates its CPS figure by starting its clock when the first byte is either sent or received and stops the clock when the last byte is sent or received. Some variation in CPS calculations can occur when comparing PCBoard to other programs since not all programs may calculate the time in the same fashion. Also, since PCBoard uses integer arithmetic, some
22
rounding can occur during the actual calculation. If you are not running a program which uses the information previously stored in DOWNLOAD.TXT, you will probably wish to leave the entry blank so that the file is not created on your system. Note that you must specify both a location and filename in this field. Note that if a caller performs and "external" transfer, no CPS information will appear in the file.
23
Screen 3 - File Location Data -----------------------------
Entry # 1 - Main Board Upload Location (C:\PCB\UP) -------------------------------------------------- This is the drive\subdirectory location where all files uploaded in the main section of the board will be placed. It should be separate from all other directory locations for security purposes and does not need to have the upload directory listing on the drive. The drive designation is mandatory. Failure to specify a drive location may result in a program error or erroneous displays.
Entry # 2 - General Drive/Subdirectory Location (C:\PCB\GEN) ------------------------------------------------------------ This is the drive and subdirectory location where the following files must be located:
PCBTEXT (Text file necessary for proper software operation) BLT & BLTG (Main Board Bulletin Menus - Hardcoded) BLTxx & BLTxxG (Actual Bulletins for Main Board - Hardcoded) DIR & DIRG (Main Board File Directory Menus - Hardcoded) DIRxx (Main Board Directory Lists - Hardcoded) WELCOME & WELCOMEG (Welcome Files - mono and color - Definable) NEWUSER (Newuser Instruction File - Definable) NEWS & NEWSG (General Board 'News' files - Hardcoded) CNFN & CNFNG (Conference Menu File - Hardcoded) BRDM & BRDMG (User's Main Menu - Hardcoded) BRDS & BRDSG (Sysop's Main Menu - Hardcoded) DOORS (DOORS menu description file) SCRIPT & SCRIPTG (Script Questionnaire Menu Files) SCRIPTx (Actual Script Questionnaires) PCBML.DAT (Multilingual language support menu/data file)
The drive designation is recommended. Since no files in this area are ever written to during normal PCBoard operation, this drive\path location can be specified as a RAM disk if desired in order to improve program operation and reduce physical disk activity - especially in a networking environment.
Entry # 3 - Main Drive/Subdirectory Location (C:\PCB\MAIN) ---------------------------------------------------------- This is the drive and subdirectory location where the following files must be located:
CNAMES (Conference Information File - Definable) ANSWERx (Questionnaire Responses) NEWREG (Registration data saved from closed board) NEWASK (New user registration questions) DOWNLOAD.TXT (File transfer summary information) DOORS.DAT (DOORS data file containing DOOR name, security,& pwrd) PCBNDX.x (26 Quick Index USERS files)
This drive\subdirectory location SHOULD NOT be included in your download path to prevent anyone from downloading these files under any circumstances. The drive designation is recommended. Note that if a specific location for the CALLER's file(s) is not specified in the previous screen, PCBoard will use the above location for storing the file(s). Since many of the files above may contain sensitive information - including your sysop record - it is strongly recommended that you do NOT include this directory location in your download path as described later!
Entry # 4 - Help Drive/Subdirectory Location (C:\PCB\HELP) ---------------------------------------------------------- This is the drive and subdirectory location where the 30 help files must be located. Files are hardcoded to the filename of HLP+ the letters A-Z corresponding to the 26 possible selections available, plus help files for OPEN a DOOR, Node CHAT, and LANGuage switching. For example, the file HLPB would be the file which provides help for reading bulletins. The drive designation is recommended. This drive\path can also be specified as a RAM disk if desired in order to reduce physical drive access.
Entry # 5 - Main Board Upload DIR Location (C:\PCB\UP) ------------------------------------------------------ This is the drive\path location of the main board's upload directory (including the private directory 'PRIVATE'). This location is specified separately from the "\GEN" DIR locations so that they may be kept on a RAM drive while the upload DIR (which is having information written to it by the code), can remain on a physical drive in the event of a power failure. This location is used for the highest numbered DIR file ONLY if the main board's upload DIR is open to the public. If not (all uploads are private), the entry is used only for the PRIVATE file. In that case, the high DIR should also be put in "\GEN" with the other DIR files. In other words, DIRx (where 'x' is the highest numbered DIR file, should only be placed here IF uploads to your board are 'public'. If they are 'Private', place the high DIRx file in "\GEN" instead.
Entry # 6 - Node CHAT Files Location (C:\PCB\MAIN) -------------------------------------------------- This is the location of the Node CHAT files used for the Node CHAT function built into the code when running under a network environment. Note that this location must be exactly the same for all nodes in order for the CHAT function to perform without errors. If you are not running a network configuration, this variable is ignored when actually running PCBoard.
25
Entry # 7 - Download Path String (C:\PCB\GEN ... etc) ----------------------------------------------------- This is the path which must be specified to allow downloads from any and all disk drive locations - including the default drive\subdirectory - for users who are logged into the main section of the board. Note that conference download paths do NOT need to be included in this field. Instead, additional conference download paths should be specified inside a conference for additional protection if desired. If a drive\path location is not included in this path, files in it will not be available for downloading. The drive designation(s) are recommended.
CAUTION: The maximum number of drives\subdirectories can not exceed 50! This entry limit is in combination with the additional download path which can be specified for each individual conference as described later under conference configurations. All entries must be separated by a semi-colon as is normally done with conventional path specifications. All drive\path entries in this line must match exactly with security entries made in the file security file (FSEC)!
NOTE: Setting 'path=' in your autoexec.bat file will have no effect on PCBoard program operation. Only the 'path' string passed to the program through the PCBOARD.DAT file will be used by the program to find downloadable board files.
It is NOT recommended that you run the "\MAIN" drive\subdirectory location on a RAM disk. The reason for this is that if your system experiences a power failure, etc., information will be lost - including CALLER's file, USER's file, and/or message base information.
CAUTION: The use of such programs as IBM's (tm) File Facility or DPATH may cause program errors when running the board. DO NOT use these programs (or others like them) in lieu of the download path.
NOTE: Do NOT specify any filenames in the download path - either with the use of actual filenames or wildcards. The entries in the download path should ONLY be drive and subdirectory entries - minus ANY filename specifications.
NOTE: It is not necessary to specify any conference specific download paths in this string. All conferences support additional download paths in their respective configuration screens.
26
Screen 4 - Modem Data ---------------------
Entry # 1 - Wait for Carrier Detect (15 seconds) ------------------------------------------------ This is time in seconds the code will wait after a ring has been detected before abandoning a carrier detect try. This value is counted down in seconds from the amount specified to 0 on the call waiting screen. When the code reaches 0, it recycles. In most cases, it has been found that modems function well using a value of 12-15 here. This allows your board to recycle slightly faster in the event a carrier is not established. The Hayes 9600 V- Series, Microcom AX9624C, and EVI/FastComm modems may require slightly higher time settings.
Entry # 2 - Modem Initial Open String (ATS2=255C1M0Q0H0X1) ----------------------------------------------------------- This is the modem command needed to prepare the modem to receive calls. If you are using an EEPROM type modem, please refer to the front of this document for information on how to configure your modem. The above string should ONLY be used by those sysops using a non-EEPROM based modem.
Please note that two values here are very important. The first is the "H0" command which causes the modem to go back "on-hook" if the sysop has been working on the system and the phone is currently "off-hook" or busy. Second, some modems tend to loose their ability to return verbose commands to the software after functioning for a period of time. In order to over-come this problem, include a "Q0" and "C1" command in the string.
Since many of the newer EEPROM based modems do not need to be continually updated every time the code recycles, it is possible to shorten this string considerably. Listed below are examples of the modem data fields which have been found to work properly with PCBoard:
Hayes 2400 & US Robotics Courier HST 9600 ----------------------------------------- Wait Time: 15 Init String: ATH0 Off-Hook String: ATH1
The above configuration assumes all other modem initialization commands have been previously entered into the modem's "permanent" EEPROM storage.
Courier 2400 ------------
Wait Time: 15 Open String: ATS2=255C1E0Q0H0X1 Off-Hook String: ATH1
27
Entry # 3 - Modem Off-Hook String (ATH1) ----------------------------------------- This is the modem command needed to place the modem 'Off-Hook' with the line in a busy mode.
The above modem commands are compatible with a Hayes 1200 baud, Courier 2400 baud, Multi-Tech 2400 baud modem and others. Some modems are not compatible with the above settings and erroneous program operation may occur. Please note that it is necessary to cut the Pin 22 cable wire when running a PC- Slave card since a true ring detect will cause the Slave card to reset itself. If you are running a slow response modem, you can use the "Slow Modem" switch in the "Switches & Stuff" data screen to insure proper modem operation (usually only the old ARK modems.)
Entry # 4 - Communication's Port Being Used (COM1:, COM2: or NONE) ------------------------------------------------------------------ This is the communication's port which the board is using. It can only be "COM1:", "COM2:" or the word "NONE" Be sure and include the colon as part of the entry when specifying COM1: or COM2:. If you desire to run the code without a modem or COMx: port attached, simply enter the word "NONE" in place of the COMx: statement. In that case, you will be allowed to run the code in local mode without generating COM port or modem errors. NOTE: Failure to set this string to "NONE" on a machine without a modem will cause the code to go into an infinite loop. NOTE: Due to current Compiler and DOS restrictions, COM2 is the highest COM port available!)
Entry # 5 - BPS Rate to Open Modem at (2400) (300,1200,2400,9600,19200) ----------------------------------------------------------------------- This is the speed at which the communication's port is to be opened. Sysops with 2400 bps modems should enter 2400. Folks with lower speed modems should enter either 1200 or 300. If you have a "high speed" 9600 bps modem, you can elect to open the port at 19200 bps to maximize throughput. However, you must first properly configure your host modem-to-computer RS-232 link (your DTE link) to remain at 19200 at all times! Since there are a lot of ROM changes and enhancements occuring right now with the 9.6 modem manufacturers, we are unable to provide specific modem settings for every 9600 bps modem on the market. Please check with your modem manufacturer for more details. Microcom, U.S. Robotics, Hayes, and EVI/FastComm folks all have a current copy of our 19200 code available to them for support purposes. Note that if you open your port at 9600 or below, the code will ALWAYS auto-baud to match the speed of the caller. ONLY if you specify 19200 baud here, will the code lock the host CPU-to-host modem link into a fixed 19200 speed to provide for maximum throughput. See the section of this manual on High Speed modems for detailed information on your intial modem speed.
Entry # 6 - Allow 300 Baud Callers Access (Y/N) ----------------------------------------------- This flag determines whether the board allows 300 baud callers access into the system. If the flag is set to "N", all 300 baud callers are DENIED
28
access. If the flag is set to "Y", they are allowed into the system. An appropriate message is displayed if you lock-out 300 baud callers.
Entry # 7 - 300 Baud Caller Start Time Access (00:01) (Definable) ----------------------------------------------------------------- If you set the previous entry at "Y" (allow 300 baud callers), you can set a time period to allow them access to your system if desired. This entry is the start time of their access in hh:mm format. For instance, if you only want to allow 300 baud callers access from 11:00pm to 6:00am, you would enter 23:00 in this position. (Military time)
Entry # 8 - 300 Baud Caller End Time Access (24:00) (Definable) --------------------------------------------------------------- This entry is the end time of 300 baud caller access in hh:mm format in military time. In the above example, your entry here would be 06:00.
If you wish to allow 300 baud callers at all times, the previous entry should be 00:01 and this one 24:00. If a caller logs on outside of the allowable 300 baud access time(s), they will be shown a message indicating the hours 300 baud is supported.
29
Failure to Establish/Loss of Carrier ------------------------------------
Failure to Establish a Carrier ------------------------------ Some people have asked how they can set up their modems to avoid those cases where the code attempts to answer the phone - but never is able to establish a carrier handshake. (i.e. The call waiting screen just counts down to "0" and then recycles.) Unfortunately, there is nothing that can be done in those cases to improve your modem's performance. Once your system recognizes a ring and sends the command to the modem to answer the phone, from that point on it is up to the two modems to attempt to establish a connection. There is nothing in the code which can improve or detract from the ability of the two modems to perform the task at hand. However, here are some of the reasons why no connection is established:
1. There is no modem on the other end. Many times immature callers have been known to "tie" up a board by simply calling in every 30 seconds or so and then just hang up on their end - with no intention of attempting to log on. If this is the case, you can seek assistance from your local law enforcement agency and the culprit can be tracked down - even if they only let your phone ring once and then hang-up on their end. By maintaining a log of the exact times a person sets up their calling episode, the police and local law enforcement officials can track down the offending party.
2. The phone quality is so bad the two modems can not go through their handshake.
3. One of the modem's frequency control is marginal causing the other modem to not recognize the other's attempt to establish the proper speed. This can cause frequent (but not steady) problems.
4. Failure to properly define the modem strings (either YOU or your caller!).
Loss of Carrier --------------- PCBoard has a 3 second redundant loss of carrier check built into the code to help prevent inadvertant logoffs due to a momentary loss of carrier signal. However, in order to gain the benefit of this feature, both the host modem and the caller's modem should have their "S10" register set to a value of at least a 3 second delay to match that of PCBoard. Otherwise, either modem itself can over-ride the redundant carrier check and hang up the modem - causing the board to recycle.
30
Modem Reset Errors ------------------
Some sysops experience "Modem Reset Errors" during normal code operation - which can lead to an infinite "recycle loop" of the code if the modem never recovers. The reason for the error is that PCBoard expects the modem to return the word "OK" after sending it a command. If the modem does NOT respond in several seconds with the word "OK", the code assumes the modem was unable to process the command and recycles. If at this point the modem has totally lost its ability to accept commands, the code may go into an infinite loop trying to reset the modem. Most modems may experience an occasional modem reset error - followed by a successful recycle on the next try. This is normal. However, some modems may NEVER recover. If you have a modem which continually generates a modem reset error and goes into an infinite loop, we suggest you contact your modem supplier for a different modem or your money back! The inability of your modem to return the word "OK" or to maintain proper command environment control means the modem may have problems or may NOT be 100% Hayes compatible.
31
Screen 5 - User Levels ----------------------
Entries # 1-28 - User Security Levels (Various) ----------------------------------------------- These are the 28 main menu security levels for the various menu selections available to the caller. These security levels should correspond to your needs based on the values you specify in the PWRD's file for new 'registered' users, new users who refuse to register, and your registered users and conference users.
Note that the (OPEN) a DOOR and (Node) CHAT function security levels are ignored by versions of the code which do not support the two functions. No security level is required in order to change language selections.
If user function (V)iew Settings is set higher than a caller's security level when logging on, they will not be displayed any board statistics - such as caller number, etc.
No security level is necessary for a caller to use the (LANG) command if you are running a multilingual system.
Entry # 29 - Level Assigned New Users Who Register -------------------------------------------------- This is the security level assigned new users who complete the board's registration information - which asks for their name, city and state, password desired, business/data phone number, voice/home phone number, and their default transfer protocol desired.
If the board is flagged as a 'private' board, a user is granted this security level upon completing the registration information asked from the NEWASK file. If the board is private, all new user information is written to a special Ascii text file called NEWREG which is automatically created in the "\MAIN" location for protection purposes. If the board is public, new user information is written to the main user's file.
Entry # 30 - Level Given New Users Who Refuse To Register --------------------------------------------------------- This is the security level assigned new users who refuse to complete the requested registration information. If you specify 0 here, all callers who refuse to register will be immediately logged off.
32
Screen 6 - Miscellaneous ------------------------
Entry # 1 - Number of Main Board Bulletins (1-99) ------------------------------------------------- This is the number of active bulletins in the main section of the board. The number can not be greater than 99. You can specify a number of zero if desired. This number should be set equal to the number of active main board bulletins you will be posting.
The program checks for the current date of the BLT and BLTG files when a caller logs onto the system. If the files have been physically updated since their last call and the filedate is newer than the caller's last date on the system, they will be displayed a message that the bulletins on the board have been updated. NOTE: You must update BOTH the BLT and BLTG files!
Entry # 2 - Number of Active Conferences (1-9) ---------------------------------------------- This is the number of conferences active. The maximum number of conferences allowed is nine - since all conference information is stored as a single digit ASCII character between 1 and 9.
CAUTION: If you change the order of the conference listings in the CNAMES file, the user's file many then contain erroneous information. For example, if JOHN DOE is registered in conference # 2 - GAMES - and you insert a new conference between 1 and 2 in CNAMES - moving games up to conference # 3 - JOHN DOE will still be registered in conference # 2 - which is now the new conference. DO NOT change the order of the conferences unless absolutely necessary since you will have to manually go through the entire user data base recoding all of the user's conference registration information.
NOTE: You must change the number of conferences here in order for the PCBSETUP program to allow you to configure that conference. The number of conferences entered here determines the number of Conference's which will appear in the main menu.
Entry # 3 - Maximum # of Main Board File Directories (1-99) ----------------------------------------------------------- This is the number of active main board file directory listings. All file directories are hardcoded to the name DIRx where the 'x' is the actual directory number. Directories must be numbered sequentially from one (1) up to the number specified - in increments of one (1). Conference directories are numbered from this number plus one up to the number of conference directories as specified in the CNAMES file. Conference directories have the first letter of the conference name prefacing their name. For example, if you have a sysop's conference which has an additional 6 file directories, they would be called SDIR11 through SDIR16 - with the main board directory listings named DIR1 through DIR10. The maximum number of main and conference file directory listings can not exceed 99 for any single
33
combination of the two. (See File Location Information screen for proper placement of all main board DIR files.)
Use the alignment pattern supplied with the 'DIR' file listings. It is imperative that the dates appear in the columns shown in the samples for the date search to work properly inside the program.
NOTE: Your file names should appear as a single word with a period separating the prefix and suffix of the filename. You can not have the filename extension separated from the filename prefix in columns 10-12 as is presently done by many sysops. If your filenames are split up in this manner, the (L)ocate command will not function properly. Follow the template(s) provided when building your directory listings.
Entry # 4 - Daily Time Limit Flag (Y/N) --------------------------------------- This flag when set to "Y" means callers are limited to a maximum amount of time per day based on their security level. If the value is set to "N" callers can call as many times as they like - each time getting a full time allotment.
Entry # 5 - Make Main Board Upload Directory Private (Y/N) ---------------------------------------------------------- This flag sets whether callers can view recent uploads to the board. If the flag is set to "Y", all upload information automatically goes to a file called PRIVATE (Hardcoded by the program) - which should be protected from downloading by inclusion in the FSEC file. If this flag is set to "N", all upload information goes to the highest number general board file directory which is by default the upload directory. Users who begin their upload description with a "/" also have their information placed in the PRIVATE file rather than the regular upload directory. Upload directories which are not present on the appropriate drive are automatically created by the program to prevent loss of upload information. If you make your main board upload directory private, you can call the highest numerical directory on your system something other than the 'upload' directory - since all upload information is placed in a private file accessible only by the sysop.
Entry # 6 - Deny User's Complete Data Base Update (Y/N) ------------------------------------------------------- This flag determines whether a user can update just their password, or their complete data base information - including their city and state, both phone numbers, and their comment and password information.
NOTE: This flag is carried throughout the entire program. (i.e. Conference members are treated just like regular board callers.) By setting the flag to "Y", users are allowed to update all their information. If set to "N", they can only change their password. If the board is private, you should set the security level for password and/or data base changes to a level above that of a new user. If you forget, the program will still not allow a non-registered
34
user to try and actually update the data base.
Entry # 7 - Closed Board Flag (Y/N) ----------------------------------- This flag determines whether a user can leave any registration information in the main data base. If this flag is set to "Y", all new user registration information is written to a file called NEWREG which is automatically created in the "\MAIN" drive location. The information is stored in ascii text and can be viewed or edited easily. The sysop then has the choice of taking the names he wants from this file and entering their information into the main program data base. No new callers are added to the user's file unless the sysop puts them in himself.
If this flag is set to "Y" (closed board), AND the file NEWASK is missing, then no new users will be allowed into the system - even for a few minutes. Callers will however be displayed the NEWUSER file under these conditions so that you can inform them of why the board is closed to the general public in that file. If you want a new caller to be at least able to browse through your system, the NEWASK file must be present. If you wish them to browse without having them enter any data, simply place a (Ctrl-Z) as the only entry in NEWASK. In this case, just a date and time stamp will be written to the file as each new caller is logged into the system.
The questions which are asked the new caller who agrees to register on a closed board MUST be stored in a file called NEWASK - which must be located in the "\MAIN" drive\subdirectory location. The file should consist of one line entries which are the questions asked the user. This file should have no less than 1 question and no more than 49. An example of the file is as follows:
-------------------------------------------------- What is your first and last real name(s)? What is your mailing Address? What city, sate and Zip are you calling from? What is your business or data line phone number? What is a voice number where you can be reached at? What password do you desire if registered here? Any special comment you wish to make? ---------------------------------------------------
After the caller has completed all of their responses, the file is processed (similar to the Script Questionnaire files discussed later), writing the caller's responses along with the individual questions to the NEWREG file in the "\MAIN" drive\sub location. This file can then be 'typed' to the printer or edited with a text editor if desired.
Callers are required to answer every question that is presented to them from the NEWASK file. They are not allowed to skip a question by just pressing their carriage return. However, no edits of the data entered are performed. In other words - they can enter junk into the file.
35
Entry # 8 - Run Board in Non-Graphics Mode (Y/N) ------------------------------------------------ This flag can be set to "Y" to indicate that NO graphics support is available. When this flag is set to "Y" (no graphics), all callers are denied a mode change to graphics.
Entry # 9 - Automatic Conference Assignment (000000000) (Definable) ------------------------------------------------------------------- This is the string which you can define which will be written to the user data base whenever a new caller is logged into the file. The string can contain up to nine conference numbers which you wish to make public. If you do not desire that callers be automatically granted access to your conferences, the string should be set to "000000000". If for instance, you had 4 conferences - of which 1, 2 and 3 were public, you could set the string to "123000000" - which would immediately allow all new callers who register access to those three conferences. NOTE: If you are running a "closed" board which does not create a record in the USER's file when a new caller logs on, they will NOT have access to any public conferences defined in the above string. Only those users who will actually have a user record in your system will be assigned the above string when completing their initial registration. If you do not allow new users to automatically create their own record in your USER's file, they will NOT be able to join any system conferences.
Entry # 10 - Exit to DOS after each caller (Y/N) ------------------------------------------------ This entry allows you to specify whether the board will recycle to DOS after each caller logs off. This feature allows sysops to run PCBoard from within other applications, etc.
Entry # 11 - Event Timer Active (Y/N) ------------------------------------- This flag when set to "Y", means that you have an event which you wish to run at a given time using the interactive batch file EVENT.SYS - which must be located on your default drive. If this flag is "Y", the board will begin adjusting all caller's times before the event time to prevent their being logged on at the time the event is scheduled to run. This allows the sysop to specify a time of day at which the board will exit to DOS to execute another function. This capability was provided for several reasons - including the ability of the code to function in a 'mail node' system, and also to allow the sysop to perform automatic streamer tape backups, etc. The event timer can also be used to shut your board down at a given time for maintenance, etc. The operation of the event timer is somewhat tricky and must not be used unless you completely understand the use of interactive batch files. If you do not know how to create and maintain batch files which have logic built into them, do NOT attempt to use this function. In the miscellaneous screen of the code, you will see two additional questions: 1) Timed Event Active and 2) Event Run Time. If you set timed event active by entering a "Y", several things will occur during operation. First, every time a caller logs onto your system, the code will look to see how much time
36
remains before the event is to occur. It will then subtract 1 minute from that time and compare it to the caller's allowed time. If the net time before the event is less than the caller's allowed time, the caller's time will be adjusted downward to reflect the actual time available before the event begins. They will also be advised that their time for that call has been adjusted. One minute before the event is scheduled to begin, all callers are denied access to the system. At this point, the board goes into a "waiting mode" for the event - during which all board activity is stopped - including keyboard input. Then, at the event time, the code will run the event.
As the event is called by the program, the board looks for a file called "EVENT.SYS" on the default drive. If it finds it, it will rename the file to "EVENT.BAT" and exit to DOS. If the file is not found, the program will simply recycle. The file "EVENT.SYS" should be the batch file used to call up another program or function which is to be performed at the scheduled time. The logic of allowing this additional batch file to function properly in conjunction with BOARD.BAT is shown in the example below... -------------------------------------- BOARD.BAT (file example) -------------------------------------- echo off c: cd\pcb if exist remote.bat rename remote.bat remote.sys if exist event.bat rename event.bat event.sys if exist door.bat del door.bat if exist endpcb del endpcb pcboard if exist remote.bat remote if exist event.bat event if exist door.bat door if exist endpcb goto end board :end cls echo on^Z --------------------------------------
What occurs now is that when PCBoard exits to DOS, it not only looks for the presence of the REMOTE.BAT file, but also the EVENT.BAT file which was created by renaming a file called EVENT.SYS from inside the code just before exiting. If the file EVENT.BAT is found, it is run. That file should then contain the instructions of the actual remote event, finishing with a statement which recalls BOARD.BAT. An example of an EVENT.SYS file follows... ---------------------------------------------------- EVENT.SYS (sample file) ---------------------------------------------------- copy d:\up a:\ board ----------------------------------------------------
37
The above example is very simplistic. It would simply copy every file from your upload directory to a disk on drive "A" and then re-run BOARD.BAT - bringing the board back up on-line. The event sys can be as simple or complicated as desired.
Again, if you do not understand the logic of the above example and how to interface another batch file to work with BOARD.BAT, DO NOT turn the event timer on. A properly configured system will attempt to recycle the board if there is a problem. However, it can not trap for every error which can be made in such an environment. This feature was placed in the code for the more advanced sysops who desired such a function.
Additionally, you can have the EVENT.BAT file overlay other files on top of the current PCBOARD.DAT file which can be used to call other subsequent events at other times of the day to allow for multiple daily events.
Entry # 12 - Event Time (02:30) (Definable) -------------------------------------------- This entry is the time of day the above event is to occur. The time should be entered in military format in hours and minutes only. If the above flag is set to "N", this time is disregarded by the program. It is NOT recommended you schedule an event near midnight - since DOOR activity can cause a missed event due to time/date changes.
Entry # 13 - Max # of Message Lines (1-99) ------------------------------------------ This entry allows you to specify the maximum number of text lines which are allowed when someone is entering either a message or a comment. The maximum number allowed is ninety nine (99). The program will automatically provide intelligent page pauses for your callers - depending on the maximum size you decide each message can be.
Entry # 14 - Default Color Intensity (00 or 01) ----------------------------------------------- This is the ANSI code that can be set to determine whether text which is entered either at the local keyboard or by the caller from remote will appear in normal or high intensity color. If the string is set to "00", the color will be normal intensity. If set to "01", the ANSI driver will make all caller entries and local keyboard entries appear in high intensity color when in graphics mode.
Entry # 15 - Default Foreground Color (31-37) --------------------------------------------- This entry should contain the ANSI escape code for the default color you wish the local keyboard input and the caller's input to be displayed in on the screen. The valid color codes are:
38
31 - Red 32 - Green 33 - Yellow (Brown) 34 - Blue 35 - Purple 36 - Light Blue (Cyan) 37 - White
These are codes which are used by the ANSI driver. If the caller has requested graphics mode, all of their entries, and some of the information displayed to them by the board, will appear on their screen and the local screen in this color. If they have not selected graphics mode, this color will still appear on the local screen. These colors can be set in combination with the intensity value above to achieve your own desired color combination.
Entry # 16 - Running Under Network (Y/N) ---------------------------------------- This entry is used to specify whether you will be running PCBoard version /E or /U under a network or multitasking environment. All other versions of the code ignore this entry. If you are running version /E or /U and specify here that you are running under a network - even though you may only be running a single copy of the code - you MUST have NetBIOS, SHARE, or its equivalent loaded!
Entry # 17 - Number of this Node (1-99) --------------------------------------- This entry must be specified if you indicate you are running under a network environment above. The entry should be a number from 1 to 99. The number entered here must be unique for each node configured on your system. However, the numbers do not have to be in any special order.
A caller can only be logged onto one node at a time. It they attempt to access two nodes at the same time, they will be denied access on the second node. The sysop however can be logged onto more than one node at once.
Entry # 18 - Disable Upload Drive Size Check (Y/N) -------------------------------------------------- This entry allows sysops to disable the checking of the physical upload drive to insure sufficient upload space exists on the drive. This flag, if set to "Y", allows sysops to use the SUBST command in place of a physical drive specification.
39
Screen 7 - Text Data --------------------
Entries # 1-10 - Function Key Assignments (Shift+Fn) (1-10) ----------------------------------------------------------- Screen seven allows you to define the 10 text function key assignments which will be used with the code. These strings, once defined, are called up inside the program using the (Shift+Fn) keystroke combination. The sysop can enter any text in the strings desired - up to a maximum of 72 characters. These can either be text strings to be used when entering a message (such as a standard sysop "signature"), or they can be stacked commands which the sysop commonly uses to perform certain code functions.
Entry # 11 - Comment Prompt (Leave a comment for the sysop (Y/N)) ----------------------------------------------------------------- This entry allows the sysop to personalize the question asked the caller at the time they request the (C)omment command. Since all comments are entered into the current message base in use, they can be replied to as a normal message.
Entry # 12 - Parallel Port # (1-3) ---------------------------------- This entry allows you to designate which parallel printer port you wish to use. Valid entries are the numbers 1 to 3. This option allows sysops running under networks or multi-tasking environments to have multiple printers on-line concurrently.
Entry # 13 - Last Read Update (Y/N) ----------------------------------- This entry allows the sysop to define how the "Last Read" message pointer is to be updated. The two choices are: 1) "Y" - after reading a message and/or after leaving or responding to a current message, 2) "N" - only after reading a message. The difference between the two choices is significant. If the first choice is made, each time a caller leaves a message or comment on the system, it automatically becomes their "last message read" pointer. This option is helpful for those folks who leave a lot of messages who do not wish to re-read their own messages the next time they log onto the system. The second choice means that a caller's "last message read" pointer is only updated after they read a message - not when they leave a new message as well. In either case, if the caller is doing a (R) (S), they will continue to be shown all files in the "loop" - irregardless of whether they reply to a message or not. This difference may appear small on the surface - but can cause problems with your callers if they do not understand how the pointer updating sequence works. You may wish to experiment with both types before establishing your final option. To alter this flag, proceed to the Text Data screen in PCBSetup and adjust "Last Read Update" to reflect your choice.
40
Entry # 14 - # of Message Blocks (1 to 32) ------------------------------------------ This entry allows the sysop to specify the number of 1024 message base blocks that will be supported. Each block allows up to 1024 active and inactive messages to be stored - based on the space between the low message number and the high message number. The default here is 32 blocks, or 32767 main message base messages.
Entry # 15 - Allow (Esc) codes (Y/N) ------------------------------------ This entry allows the sysop to define whether or not the code will support the entry/uploading of Ascii graphics messages to their system. By setting the (Esc) code flag to "N", all chr$(27)'s are filtered as they are received from either the caller or the local keyboard. This filtering is performed during message/comment entry, sysop chat with a caller on-line, and during Node CHAT activities as well. Note that only the chr$(27) is filtered out and replaced with a NUL character. The associated (Esc) codes - such as "[32m" are not filtered - which means folks that actually performing a graphics file upload to a board which does not support the (Esc) codes will end up leaving quite a "messy" message. However, the message will not cause subsequent callers to have their displays altered by a message which uses graphics control. If filtering is specified, ANSI codes which could also cause your keyboard to be redefined by a remote user are also disabled!
Entry # 16 - Allow "cc:" Msgs (Y/N) ----------------------------------- This flag should be set to "Y"es if you wish to allow user's to leave "carbon copies" to one message to more than one person. For example, if the caller wished to leave the exact same message to several individuals, this flag must be set to "Y" in order for the function to be available. Then, when they go to save a message, they can specify an (SC) command ("save with carbon copy") instead of just a plain (S) (save) command. Note that the (SC) prompt is only displayed to the user if this flag has been set to "Y" and if the user is in expert mode. User's who are not in expert mode will not be shown the (SC) option at the time they can save their text - however, if they were to enter (SC) at that point, the command will function properly. The intent of the (SC) command is to support the more experienced users and business environments where a larger number of "private" messages must be left to several individuals.
Entry # 17 - Validate Msg "To:" - (Y/N) --------------------------------------- This flag allows the sysop to decide whether to perform a username validation on names entered when entering a message. All user names except "ALL" and variations of the word "SYSOP" are validated against the user's file. If a caller is inside a conference, the name of the user to who the message is being addressed is also checked to insure they are registered in the respective conference. If not, the caller is advised of such to help avoid the leaving of a message to another caller who will not be able to read it.
41
Screen 8 - Switches and Stuff -----------------------------
Entry # 1 - Disable Screen CLS After 3 Min (Y/N) ------------------------------------------------ Set this value to "Y" if you do NOT want your "call waiting" screen to clear after 3 minutes of inactivity.
Entry # 2 - Slow Modem Answer Operation (Y/N) --------------------------------------------- Set this value to "Y" if your modem is slow in its recycle operation. This switch will probably only be required by those folks running an older style ARK modem.
Entry # 3 - Perform Initial Modem Reset (Y/N) --------------------------------------------- Set this to "Y" if you want the modem to have a "soft" reset (ATZ) performed on it prior to the sending of the modem initialization string. It is not recommended that you use this switch unless absolutely necessary - since it will markedly slow down the recycle time - as well as possibly generate conflicts with incoming ring detects.
Entry # 4 - Upload Buffer Size (8) ---------------------------------- This variable, in blocks of 128 bytes, allows you to specify the size of an upload memory buffer which must be filled before any disk writes occur. The purpose of this entry is to allow folks running either a high speed modem, or under a network environment, to buffer incoming upload data and to only make actual writes to the disk when the buffer fills up. This variable can substantially decrease disk activity during an upload. The default here is 8 blocks (or 8 times 128 bytes). The minimum entry allowed is 4 and the maximum allowed is 128.
Entry # 5 - Disable Registration Edits (Y/N) -------------------------------------------- If this parameter is set to "Y", no edits will be done on the data entered by the caller at the time they complete their initial data base information. (i.e. Letters could then be entered in one of the phone number fields for example.)
Entry # 6 - Answer on True Ring Detect (Y/N) -------------------------------------------- This allows you to determine whether the code should also answer the phone when it senses true ring detect, as well as the word RING being returned to the software. IT IS HIGHLY RECOMMENDED YOU DO NOT TURN THIS SWITCH ON UNLESS ABSOLUTELY NECESSARY - AS IT WILL CANCEL OUT THE
42
CODES ABILITY TO TAILOR ITSELF TO THE OPERATIONAL SPEED OF YOUR MODEM!
Entry # 7 - Disable Keyboard 5 Min. Timeout (Y/N) ------------------------------------------------- This switch should be used by those folks who wish to disable the automatic logoff feature of the software if a key is not pressed or data received from remote within a 5 minute period. This switch is available for those sysops running a "dumb" node in a network environment who wish to remain on the system at all times.
Entry # 8 - Include User's City in CHAT Display (Y/N) ----------------------------------------------------- This flag, when set to "Y"es, means that the caller's location information as stored in their user record, will be displayed along with their name when a Node CHAT request is made when running version /E or higher of the code.
Entry # 9 - Eliminate Screen `Snow' (Y/N) ----------------------------------------- If your screen displays an excessive amount of "snow" during operation, you can use this switch to eliminate it. This should only be necessary for folks running an older style IBM CGA card or equivalent.
Entry # 10 - Disable High Order Char Filter (Y/N) ------------------------------------------------- With this value set to "Y", the code will NOT perform any line noise filtering of data received. Its purpose here is to provide a means of international systems who are using other than the English language, the ability to allow special high order language characters through to their systems to correspond with their language requirements.
Entry # 11 - Disable CTS Modem Checking (Y/N) --------------------------------------------- If you get a message when running the code which indicates you should disable CTS checking, set this switch to "Y" to disable CTS checking on your system. Please note however, that if you disable CTS checking, you will NOT be able to use any of the new 9600 baud modems, or any modem which requires CTS to be active for proper throughput (such as low speed MNP modems.)
Entry # 12 - `Slide' Event Time as required (Y/N) ------------------------------------------------- If this switch is set to "Y", a scheduled event will not automatically adjust a caller's time if they log on just before the event is to run. Instead, the event will be delayed until they complete their business and log off the system. If the timing of your event function is not critical, you can set this switch to "Y" - which means your event will run when it gets a chance - as close to the specified time as possible.
43
NOTE: There are some conditions under which your EVENT will never run - including, but not limited to, being in Sysop Chat mode at the time the event was to run.
Entry # 13 - Stop Uploads When Free Space < K (0 K) --------------------------------------------------- This entry allows you to set a minimum disk "free" space amount - which, if the disk fills up to that point - will not allow any further uploads to your system to occur. This value, specified as a K value (i.e. 300 would mean 300,000 bytes), can be set if you are short on disk space and wish to prevent your disk drive from becoming completely full - which would of course bring your system down. If you have a large amount of free disk space available, you can set this figure to "0" - which means that no checking of available disk free space will occur.
Entry # 14 - Disable `Quick' Logon Features (Y/N) ------------------------------------------------- This switch allows the sysop to turn off the ability of the caller to perform either a quick logon or quick conference join. By setting this switch to "Y", all caller's will be displayed the appropriate NEWS file as they logon to the system or join a conference.
Item # 15 - Disable Password Check from DOS (Y/N) ------------------------------------------------- This switch allows you to disable the "Return from DOS" password check if you desire. This will allow for a more "transparent" re-log onto your system if the password check is disabled. Please note that most sysops can safely turn this switch on without danger of someone getting into their system accidentally. However, if you elect to set this switch to "Yes", the responsibility for your system security rests entirely in your hands. CDC will assume no responsibility for breaches of security to your system by the activation of this switch.
Item # 16 - Networking Timeout Delay in Seconds (1-99) ------------------------------------------------------ This allows sysops running under a network environment to set the maximum time delay of network "retries" before a network timeout message is executed by the code and the function aborted. If you are running a slow network and frequently get a "Network Timeout" error, set this parameter to a higher value than the default of 20 seconds.
Item # 17 - Make Main Board Messages Private (Y/N) -------------------------------------------------- This switch allows the sysop to determine whether they wish to automatically have all messages left on their system default to "private security" - which means that only the person the message is addressed to, the sysop, and the
44
user who left the messsage can read it.
Item # 18 - Run Board in 'Subscription' Mode (Y/N) -------------------------------------------------- If you will be running a 'Subscription' (registration) board, where you wish to limit a caller's access over a period of time, this question should be answered as "Y"es. See additional notes under "Subcription Operations" later in this manual.
Item # 19 - Prompt for 'User Comment' Field ------------------------------------------- This entry allows the sysop to define the "Question" which will be asked the caller when completing the first of two comment fields which are available for each user record. This field can be used to obtain product information, etc. which is needed to support your system.
45
C O N F I G U R I N G C O N F E R E N C E S ----------------------------------------------
CNAMES is the default file used to store all conference information. The file resides in the "\MAIN" subdirectory location and is maintained by using the program PCBSETUP. In order to add or delete a conference using the program - simply enter the number of active conferences in the "Miscellaneous" screen of PCBSETUP. This will automatically adjust the program to read and write the proper number of conference entries to the CNAMES file. The program can automatically create all subdirectories - including conference subdirectories - on exiting the program.
You must also have two files called CNFN and CNFNG in the "\GEN" drive\subdirectory of your system. These files should contain the menu information which will be displayed when a caller enters the "J" command at the command line. This filename is hardcoded into the program and can not be changed by you.
Only 9 conferences are allowed using this software. This figure was chosen for two reasons. First, using a single digit integer between 1 and 9 made it relatively easy to store and examine conference registration information. And second, since space inside the user's file was limited, only single digit registration characters were to be stored.
Entry # 1 - Name of the Conference (Sysops) ------------------------------------------- This is the name of the conference as it will appear at several points throughout the program. It is recommended that the name be entered with a capital first letter and the rest lower case to enhance program display. NOTE: All conference names should start with a different letter if possible to prevent conflicts if several conferences occupy the same drive location. This is also the name of the message file inside of the conference. The name must be one word with no extension. (8 letters max) In other words, the conference message file would be called SYSOPS in the example shown.
The program uses the first letter of the conference name to dynamically build several other filenames - including the conference bulletin files and directory files.
Entry # 2 - Additional Conference D/L Path ------------------------------------------ This entry allows the sysop to define additional download path information for a respective conference. This provides for a very simple and easy means of protecting conference files - since only conference participants would therefore be able to access those files. When a caller joins a conference, this entry is concatenated to the front of the main board's download path - therefore allowing for quick access to any specific conference files. Likewise, when the caller abandons a conference, the additional conference download path information is removed. Using this technique, it is very easy for the sysop to protect conference files from unauthorized downloading by
46
non-conference members.
This entry allows up to an additional 160 characters to be defined. Please insure that the total number of download paths for any one conference plus the main board does NOT exceed 50 or your system may not function properly!
Entry # 3 - Number of Conference Bulletins (1-99) ------------------------------------------------- This is the number of active conference bulletins. (Similar to the general board information.) Conference bulletins are named and numbered the same as main board bulletins - with the exception that the first letter of the conference name must precede the BLTxx. In other words, the sysop's conference example would have SBLT1, SBLT2 and SBLT3 as its actual conference bulletins. Additionally, you need two more bulletin menu listings for the conference - SBLT and SBLTG - which contain a description of the bulletins available in that conference. All of these files must be located inside the conference subdirectory specified below.
Entry # 4 - Number of Additional File Directory Listings (1-99) --------------------------------------------------------------- This is the number of additional file directories used to store conference file information. The actual directories are named the same as the main board files with the exception of adding the first letter of the name of the conference to the file name. (i.e. SDIR11, etc.) The actual directories should be numbered starting at 1+the number of main board directories up the number specified. In the example(s) listed so far where the main board had ten (10) directories, all conference directories would begin with the number 11 - up to the maximum number of additional files - in this case 4 or SDIR14. The Games conference would only have two additional directories - (GDIR11 and GDIR12).
You must also have a new file directory listing menu called 'DIR' which also has the first letter of the conference prefaced to it. In the case of the sysop's conference, you would need two files - SDIR and SDIRG (color version) which would show the caller the 10 regular board file listings plus the additional 4 conference listings.
Each conference must have its own xDIR and xDIRG files just like the main board. All conference file directory listing(s) must be located in the conference subdirectory indicated below. Remember, the high number conference DIR file will be where all conference uploads are placed if the caller uploads a file in the conference and places conference security on it.
NOTE: If the value of this entry is set to "0", all uploads inside the conference will default to the main board's upload DIR location. In other words, the file itself will be placed in the location specified for the conference, but its description will be placed in the main board's upload directory listing.
47
Entry # 5 - Conference Private Upload Flag (Y/N) ------------------------------------------------ This flag determines whether uploads to the conference will be placed in the sysop's private upload directory or in the conference upload directory. If the caller specifies that a file should have conference security and the conference flag is set to private - "Y", the upload description will be placed in the sysop's private upload directory for that conference (which is a DIFFERENT private file than that used by the general board!) The name of this private file is the word "PRIVATE"+the first letter of the conference name. For example, the sysop's conference private upload directory would be called PRIVATES. The game's would be PRIVATEG.
You can have several combinations of main board/conference 'private' flags to suit your needs. For instance, you can have a private main board upload directory and a 'public' conference upload directory - or visa versa. If the user places a "/" in the file description entry - it too will be placed in the conference private file (if they have specified conference security!). If they do not specify conference security, the description will be placed in the main board's upload directory (private or public) as necessary. The bottom line is this. The file description can be placed in any one of FOUR locations depending on how you have your main board and conference 'private' flags set - and/or whether the caller uses the "/" as the first letter of their upload description! Again, if an upload directory does not exist - it will automatically be created by the program so that no upload information is lost!! To help out with this somewhat confusing structure, the program has been designed to visually show the user where his file description is being placed and its display status (screened or public). Hopefully this will help eliminate some questions from your users (or you) on where their file went! Again, if the value of the previous entry is "0", the upload will be placed in the conference upload drive location - but the description will appear in the main board's upload directory listing.
Entry # 6 - Auto-Rejoin Conference on Next Call (Y/N) ----------------------------------------------------- This flag determines whether a caller will automatically be placed back inside the conference they have hung-up in. If the user hangs up from the main section of the board - they will not be returned to a conference - even though the flag is set at "Y" for yes. Only if the flag is set to "Y" AND the caller hangs up inside the conference will they be returned automatically to it the next time they call. If the flag is set to "N" for no, the caller will not automatically be returned to the conference on their next call.
Entry # 7 - Conference File Upload Directory (C:\PCB\SYSOPS) ------------------------------------------------------------- This is the drive\subdirectory where all files which are specified as having conference security are placed. The drive designation is NOT optional. Uploads on which the caller does not place conference security go to the main board's upload location - not the conference's. Remember to set the value of the Number of Conference DIR's greater than "0" if you wish the uploaded file(s) descriptions to also be placed in the conference along with the file
48
- otherwise the description will be placed in the main board's upload DIR.
Entry # 8 - Conference Drive/Subdir Location (C:\PCB\SYSOPS) ------------------------------------------------------------ This is the physical drive location of all conference files including the conference message file which has the same name as the conference - i.e. SYSOPS in the case of the sysop's conference, and also the files below: (Sysop's conference used for example only!)
Entry # 9 - Additional Conference Security Level (Definable) ------------------------------------------------------------ This is the amount of ADDITIONAL security you wish to give users when they join a conference. If you wish to award them none - enter a zero (0). This additional security is only effective while they are inside the conference. Once they leave - or jump to another conference - they loose that respective conference's additional security level.
Entry # 10 - Additional Conference Time Allocation (Definable) -------------------------------------------------------------- This is the ADDITIONAL amount of time a caller is granted (in minutes) when they join a conference. The program will add the additional time for each conference up to the limit of the highest time allowed for all conferences in which the caller is registered and joins during that call. The time is not taken away from the user if they exit to the main board. If a caller is registered in two conferences, one which gives an additional time extension of 20 minutes and the other gives 10 minutes, they will always benefit from the greatest amount of time which can be granted. For example, if the caller first joins a conference where 10 minutes of additional time is added and then joins one where 20 minutes of time is added, they will receive an additional 10 minutes of time when they join the second conference after receiving their initial 10 minutes when they joined the first conference.
Entry # 11 - Allow Viewing Other Conference Members (Y/N) --------------------------------------------------------- This option allows you to decide whether conference members can view the other members of the conference as they log into the conference. By setting this flag to "N", the names of the other conference members can not be seen.
49
Entry # 12 - Make Conference `Mini' BBS (Y/N) --------------------------------------------- This entry allows you to specify whether you wish to make the conference function as if it were a `Mini' BBS in and of itself. If you respond with a "Y" to this prompt, the code will look for specific conference menus and DOORs files rather than using the main board's menus and DOORs files. The default is to NOT run the conference as a `Mini' BBS and instead use all of the main board's menu files, etc. However, under certain situations, you may wish to restrict either the main board or respective conference commands available. The use of this flag allows you to create command menus which are specific to that conference. Note that each conference can have its own set of menus, or use the main board's as desired. If this flag is set to "Y", four additional files must be present in the conference drive\sub.
They are:
xBRDM xBRDMG xBRDS xBRDSG
which correspond to the main menus, with the exception that the first letter of the conference must preface the name. For example, if you wished to have separate conference menus for the Sysop's conference, the filenames would be
SBRDM SBRDMG SBRDS SBRDSG
and would need to be located in the Sysop's conference area of the drive. If this entry is set to "Y", and you are running DOORS, please refer to the chapter on DOOR operation - since your configuration may also require the creation of separate conference DOOR files as well.
Entry # 13 - # of Conference Message Blocks (1 to 32) ----------------------------------------------------- This entry allows the sysop to specify the number of 1024 message base blocks that will be supported. Each block allows up to 1024 active and inactive messages to be stored - based on the space between the low message number and the high message number. The default here is 32 blocks, or 32767 conference message base messages.
Entry # 14 - Keep Uploads Inside Conference (Y/N) ------------------------------------------------- This entry allows you to specify whether a file uploaded to your system by a caller who is in the conference will automatically go to the conference upload DIR, or whether the caller will have the option of specifying the location of the upload description. If this flag is set to "Y", all upload descriptions inside that conference will automatically default to the
50
conference upload DIR and the caller will NOT be asked if they wish to place conference security on the file. If the flag is set to "N", the caller will have the option of placing conference security on the file, or to allow the upload description to go to the main board's upload DIR instead. If this flag is set to "N", and the caller places conference security on an upload at the time the upload is performed, the file description will be placed in the highest numbered conference DIR file available.
Item # 15 - Make Conference Messages 'Private' (Y/N) ---------------------------------------------------- If this field is "Y"es, all messages left inside a conference will be "recevier" protected - in that only the person the message is addressed to, the sender of the message, and the sysop will be able to read the message.
51
E S T A B L I S H I N G F I L E S E C U R I T Y ----------------------------------------------------
Download File Security (FSEC File) ---------------------------------- "FSEC" is the default name of the file used to store download file security information. The file should be maintained and built using a text editor. It must be located in the "\MAIN" drive\subdirectory location. The format of the file is:
,,,
NOTE: You MUST have an entry for each variable in each line of the file. If you do not have anything to enter, just place a comma in the file to delineate the variable.
For instance - to protect all the 'private' sysop download file(s), you could have a line reading...
,PRIVATE*,100,
Note that if you do not specify a path, all files on the system in the download path passed to the program in the main PCBOARD.DAT file will be included in the check. If the file was found on another drive before getting to the 'D:\' drive, the file security check indicated above would not be used and the file could be downloaded.
You can also specify subdirectory information in the path as well. For example, an entry of:
C:\PCB\SYSOPS,*.*,100,TEST
would mean all files in subdirectory 'C:\PCB\SYSOPS' would require a security level of 100 or higher, and the user would have to enter the password of 'TEST' in order to download the file. Note that the password must be entered in capital letters!
CAUTION!!! THE DRIVE\SUBDIRECTORY INFORMATION IN THE FSEC FILE MUST MATCH YOUR DOWNLOAD PATH STRING EXACTLY IN ORDER FOR FILE PROTECTION TO BE ACTIVE!! IF YOU SPECIFY 'F:\S' IN YOUR DOWNLOAD PATH AND ENTER JUST A '\S' HERE, THE TWO WILL NOT MATCH AND THE FILES YOU ARE TRYING TO PROTECT WILL NOT HAVE PROTECTION PLACED ON THEM!!!
If a password is specified, the user will have to enter the proper password in order to download the file - even though their security level is greater than or equal to that required. If the user's password is the same as the download password, they will not be asked to enter the file's password. If their security level is less than the level indicated, they will not even be asked to enter the password - they will simply be denied access to the file.
When building this file, be sure and place your file security entries in
52
proper order. For example, consider the following:
,PCBOARD.DOC,50, ,PCBOARD.*,100,
The first entry allows the PCBOARD.DOC file to be downloaded by all callers. The second entry restricts all callers except those with a security level of 100 or greater from downloading any of the other PCBOARD files. All entries MUST be in capital letters!
Upload File Security (UPSEC File) (Optional) -------------------------------------------- The software also allows the sysop to control any uploads to their system by drive location, filename, security level, and password protection. The file which contains upload restriction information is called UPSEC and should be created using a text editor and placed in your "\MAIN" drive location. The format of the file is exactly the same as your current FSEC file:
,,,
Here is how it works. Let's say a sysop wants to allow only *.ARC uploads to their system. In that case, they want to prevent any file other than a .ARC file from being uploaded. By placing in the UPSEC file a listing of those files which are NOT wanted, the sysop can allow only the .ARC uploads to occur. For example, in the above instance, the UPSEC file might appear as follows:
,*.EXE,100, ,*.COM,100, ,*.TXT,100,
What this example says is that any file with a .EXE, .COM, or .TXT suffix would only be allowed if the caller's security level was 100 or above. Otherwise, the caller is displayed the message:
Uploads Not Accepted on File Format (*.EXE)
if for example they attempted to upload a filename with the extension of ".EXE". If you include the generic (*.*) format, the caller would get the message:
Uploads Not Accepted on File Format (*.*)
which does not tell them a whole lot about why their upload is not being allowed. Therefore, it is suggested that you do NOT use a (*.*) format in the file. However, you can prevent all filenames which have NO extension from being uploaded by using the entry:
,*.,100,
This example says that a caller must have a security level of 100 (no
53
password), to upload any filename which does not have an extension. Additionally, you can add both password and drive location information to the file if desired to restrict only certain groups of people from uploading certain files. Remember, security level protection has precedence over any password protection. The only time a password will be asked is if the caller's security level is equal to or greater than that of the file requested. If their security level is less than that of the matching file format, they will be displayed the message that the upload file format is not acceptable. However, the majority of sysops will probably only wish to implement the *.XXX and security level information in the file. Note that if the code does NOT find the UPSEC file, all uploads will be allowed.
54
E S T A B L I S H I N G U S E R T I M E A L L O T M E N T S --------------------------------------------------------------------
"PWRD" is the default name of the file used to store the security level, time allowed information, and download byte limitation for callers. It can also include any logon password information you may wish to specify.
CAUTION: You must have a matching security level for every level assigned to a user inside your data base. If the code does not find a matching entry in the PWRD's file, it will write a message to your caller's log indicating such.
Each line of the file consists of the following...