home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Boston 2
/
boston-2.iso
/
DOS
/
HILFEN
/
MODEM
/
COMAND28
/
BBS.DOC
< prev
next >
Wrap
Text File
|
1993-12-01
|
44KB
|
1,595 lines
COM-AND Scripted BBS
------------------------------------------
COM-AND Scripted BBS
Script based Bulletin Board for the IBM PC
------------------------------------------
COM-AND is distributed freely and may be copied by anyone for
any number of machines, for purposes of evaluation. The author
offers COM-AND and its accessory programs as a package, as
"shareware". If you USE the program a registration of $50.00 is
required. The author may be reached:
CABER Software
R. (Scott) McGinnis
P.O. Box 3607 Mdse Mart
Chicago, IL 60654-0607
PLINK, GEnie id: TARTAN
CIS is: 73147,2665
Version 1.1: 910711
COM-AND Scripted BBS
Table of Contents
-----------------
I. Introduction .............................................. page 1
A. What is COM-AND? ........................................ page 1
B. The BBS script .......................................... page 1
II. Installing the BBS ......................................... page 2
A. Create a subdirectory \BBS .............................. page 2
B. Load BBSETUP ............................................ page 2
C. Use BBSETUP ............................................. page 3
D. Exit BBSETUP and load BBMAINT ........................... page 4
E. Execute BBS ............................................. page 5
III. Logon ...................................................... page 6
IV. Bulletins .................................................. page 7
V. Mail ....................................................... page 8
VI. Files (Upload and Download) ................................ page 9
VII. Chat mode .................................................. page 11
VIII. Privileged commands ........................................ page 12
IX. Menu tree .................................................. page 13
A. Connect ................................................. page 13
B. Logon ................................................... page 13
C. Main Menu ............................................... page 13
D. Privileged .............................................. page 16
E. Registration ............................................ page 16
X. BBS-Log .................................................... page 17
XI. Program Requirements ....................................... page 18
XII. Program and Author Information ............................ page 19
XIII. SupportWare BBS ............................................ page 20
Version 1.1: 910711
COM-AND Scripted BBS
Appendices
----------
A. Required and optional files ................................ page 21
1. Required files in subdirectory \BBS ..................... page 21
2. Optional files in subdirectory \BBS ..................... page 21
3. Optional files in subdirectory \BBS\Bulletin ............ page 21
4. Optional files in subdirectory \BBS\Mail ................ page 21
5. Optional files in subdirectory \BBS\FILE ................ page 21
B. File structures ............................................ page 22
1. \BBS\BBS-USER ........................................... page 22
2. \BBS\Bulletin\BBS-BULL .................................. page 22
3. \BBS\Mail\BBS-MAIL ...................................... page 22
4. \BBS\FILE\BBS-FILE ...................................... page 22
C. Maintenance ................................................ page 23
1. Registrations ........................................... page 23
2. Mail .................................................... page 23
3. Bulletins ............................................... page 23
4. Files ................................................... page 23
D. Modem configuration ........................................ page 24
1. DTR ..................................................... page 24
2. CD ...................................................... page 24
3. Modem ESCAPE ............................................ page 25
4. Hangup .................................................. page 25
5. Modem Init .............................................. page 25
6. Other settings .......................................... page 25
E. Sample files ............................................... page 26
1. BBS-USER ................................................ page 26
2. BBS-BULL ................................................ page 26
3. BBS-MAIL ................................................ page 26
4. BBS-FILE ................................................ page 26
Version 1.1: 910711
COM-AND Scripted BBS Page 1
I. Introduction
A. What is COM-AND?
COM-AND for the IBM PC and compatibles is a communications program
that may be used by itself, or with several integrated accessory
programs (which themselves may be used independently of COM-AND).
COM-AND provides standard comm program functions: a dialing
directory, macros, disc logging, binary and ASCII file transfers,
scripted execution and so on.
B. The BBS script
This document details the BBS script provided with each version
of COM-AND. The BBS script supports
o 300/1200/2400 baud autoanswer
o Reliable use whether the modem reports true CD or no
o Access by ID and password
.. SYSOP assigns ID and passwords to grant access
.. two privilege levels
.. time limited access for non-privileged IDs
.. the BBS supports a 'registration' function which could
automatically post a new ID/password, but does not now
o Comments to SYSOP from callers
o SYSOP posted bulletins
o Public and private mail
o File upload and download
.. WXMODEM, XMODEM, YMODEM, ZMODEM, and KERMIT
.. Uploads are not included in time limit computation
o SYSOP-to-caller chat mode (initiated by SYSOP)
The BBS script is interpreted by COM-AND. Therefore, it is not as
fast as a compiled program. However, the speed of the COM-AND in-
terpretor is sufficient for this application on most modern PCs.
The BBS script does not intend to provide a full fledged Bulletin
Board host. It has been, and is now a work in progress. Comments
and suggestions are welcomed.
Version 1.1: 910711
COM-AND Scripted BBS Page 2
II. Installation
Included with the BBS script are two utility scripts, one for BBS
setup and one for BBS file maintenance. The BBSETUP script should be
run BEFORE BBS is loaded, of course. However, it is suggested that
the first step taken is to create a subdirectory for the BBS on disk.
The BBS script (as well as BBSETUP and BBMAINT) default to the sub-
directory \BBS for the main BBS subdirectory. The default name for
the main subdirectory may be overridden through BBSETUP.
A. Create a subdirectory \BBS
From the DOS prompt, from the drive you wish to use for BBS, type:
"d>" MD \BBS
As noted above, ANY name may be used for the main subdirectory.
[In the following discussion \BBS will represent the main sub-
directory, what ever it may be named.] The "d>" above represents
the DOS prompt. Copy the BBS script(s), BBSETUP, BBMAINT,
BBMAINT1, BBMAINT2, BBMAINT3, and BBMAINT4 to this subdirectory,
from the place they were de-archived:
"d>" COPY BB*.* \BBS\*.*
B. Load BBSETUP
At this point, load COM-AND and invoke BBSETUP from the new sub-
directory. For example, from the DOS prompt:
"d>" COM-AND /f\BBS\BBSETUP
loads COM-AND and invokes BBSETUP from the \BBS subdirectory.
It is important that BBSETUP be executed FROM the BBS main sub-
directory the first time, as BBSETUP creates a parametrization
file for BBS that best resides on that subdirectory. The file
BBSETUP creates is named BBSDAT. BBSDAT is placed by BBSETUP:
1) If BBSDAT does not exist on the default subdirectory, on the
subdirectory indicated by the COM-AND= environment variable, OR
on the subdirectory from which BBSETUP was executed, it will be
created on the subdirectory from which BBSETUP was executed.
2) If BBSDAT exists in any of the above mentioned three places,
preference in the order given, it will be overwritten there.
Version 1.1: 910711
COM-AND Scripted BBS Page 3
II. Installation (continued)
C. Use BBSETUP to identify values to be used by the BBS
From BBSETUP's main menu, select the items in numeric order.
1) Identify subdirectories used by BBS; Do this 1st!
a) Identify BBS main subdir; Regardless of the subdirectory
from which BBSETUP was executed, the first time BBSETUP is
used, it will show \BBS. Change this value as needed.
b) Identify BBS Files subdir; This defaults to \BBS\FILES. It
may be placed anywhere. [It does not need to be related to
the main subdirectory, or even on the same disk!] The sub-
directory may not even exist... it may be created (below).
c) Identify BBS Mail subdir; This defaults to \BBS\MAIL. See
notes to 1)b above.
d) Identify BBS Bulletins subdir; Default is to \BBS\BULLETIN.
See notes to 1)b above.
2) Create BBS subdirectories and files; Do this 2nd!
Once the above subdirectories have been identified, select this
item from the BBSETUP main menu. If any of the subdirectories
identified in the first step do not exist, they will be listed,
and you will be asked if they are to be created.
3) Identify modem values Finally...
a) Identify modem port; The default value is the default for
COM-AND. You may wish to change this for the BBS. Whatever
port you indicate here WILL be the BBS's communication port.
b) Identify modem speed; The default value is the default for
COM-AND. You may wish to change this for the BBS. This is
the speed set by the BBS when waiting for a call.
c) Identify modem control string; The default value for this
is appropriate for most Hayes compatible modems. It may
need modification for some modems; if so, refer to the
documentation that came with the modem.
Version 1.1: 910711
COM-AND Scripted BBS Page 4
II. Installation (continued)
D. Exit BBSETUP and load BBMAINT
ESC or successive carriage returns will exit BBSETUP. Back in
COM-AND, invoke BBMAINT through the F2 key. In the script prompt
window, for example, type:
\BBS\BBMAINT
[Execute BBMAINT from the main subdirectory for the BBS.] The
BBMAINT script is used to maintain (and create) the control files
used by BBS. The only file that MUST be altered before BBS is
executed the first time is the User file. There must be at least
ONE user ID for logon!
The BBMAINT script provides the following functions:
1) Update BBS User file
a) Add an ID
b) Delete an ID
c) Modify an ID's values
d) Print User list
2) Update BBS File directory
a) Add a file to the up/download list [NOTE: The file being
listed should reside on the Bulletin subdirectory before it
is added. It does not HAVE to exist there, but it should.]
b) Delete a file from the list
c) Modify a file's listing
d) Print a file list
3) Update BBS Mail listing
a) Clean up mail directory
b) Delete notes older than ...
4) Update BBS Bulletin listing
a) Add a bulletin to the list. [NOTE: The file containing the
bulletin should reside on the Bulletin subdirectory before
it is added. It does not HAVE to exist, but it should.]
b) Delete a bulletin from the list
c) Modify a bulletin's listing
d) Print a bulletin list
Version 1.1: 910711
COM-AND Scripted BBS Page 5
II. Installation (continued)
E. Execute BBS
Two BBS script files are included in each release. The script
BBS.SRC is commented source for the BBS. The file BBS.CMD is a
stripped script; it contains no comments and is not very readable.
BBS.CMD is the script that should be executed (stripped, it exe-
cutes faster than BBS.SRC). BBS.SRC is provided for the intrepid
who wish to modify the BBS.
For example, in COM-AND, from the F2 script prompt window, type:
\BBS\BBS
[COM-AND will not recognize BBS.SRC as a script unless the ".SRC"
is explicit.] Again, execute the BBS from the BBS main subdirec-
tory, so that BBS may find the BBSDAT file created by BBSETUP.
Having loaded BBS, it is suggested you then call in from another
PC and test the setup.
Should the use of BBS become a habit (horrors!), a simple batch
file may be used to invoke it from the DOS prompt:
COM-AND /q/f\BBS\BBS
[The /q inhibits COM-AND's automatic execution of COM-AND.CMD, if
one is found. COM-AND.CMD's that pause for entry are difficult to
use in batch mode.]
Version 1.1: 910711
COM-AND Scripted BBS Page 6
III. Logon
Callers to this BBS must be identified through and ID and password
in the BBS-User file. The posting if IDs and passwords is performed
through the BBMAINT script.
New callers may 'register'... their name, address, telephone and
requested ID/password are logged to the BBS-NOTE file (created by
BBS in the main subdirectory when comments are posted) for review.
Two privilege levels are supported at this time. Non-privileged
callers are granted 60 minutes of connect time per call. Privileged
users are granted unlimited connect. Note that non-privileged users
may call back. The BBS does not record time used across a day.
A non-privileged user has the ability to upload files (to the BBS
files subdirectory) and download files (from the BBS files subdirec-
tory). A non-privileged user may read bulletins that are not marked
'privileged', may read mail addressed to that User-ID or ALL, and may
write mail to any ID.
A privileged user has the ability to upload files to any legitimate
subdirectory and download files from any legitimate subdirectory.
A privileged user may read any posted bulletins, may read mail
address any ID, and may write mail to any ID.
In addition, the privileged user has access to a 'Privileged' menu of
functions (from the main menu). The menu provides:
o Listing of files on any legitimate subdirectory
o Changing the default subdirectory (temporarily... this change
only holds during the 'Privileged' menu)
o Listing the subdirectory tree from any disk (using the TREED
utility, public domain, not supplied with this script)
o Shell to DOS on the host machine and execute single DOS
command lines (BE VERY CAREFUL - this can be fatal to BBS!)
Version 1.1: 910711
COM-AND Scripted BBS Page 7
IV. Bulletins
Bulletins are files displayed to the caller on request from the
B)ulletin menu of BBS. Bulletins are identified to the BBS through
the BBS-BULL file on the BBS Bulletins subdirectory. This file is
maintained through Add/Delete/Modify bulletin functions of BBMAINT.
[Note that a bulletin file should exist on the Bulletins subdirectory
BEFORE it is added by BBMAINT. If a bulletin file is listed but
does not exist, it will not appear in the listing given the caller.]
The B)ulletin submenu supports the following user commands:
o L)ist List available bulletins
o # Read a specific bulletin
The list of available bulletins is taken from the file BBS-BULL.
Comments in the file are not printed for the caller to see. Bull-
etin numbers may be arbitrarily assigned (and may even be alpha!).
Individual bulletins may be restricted to privileged callers only.
The caller selects a bulletin number to view from the list supplied.
The bulletin is transferred using an ASCII send function: control-
S and control-Q may be used to suspend the transfer.
Version 1.1: 910711
COM-AND Scripted BBS Page 8
V. Mail
Letters are files displayed to the caller on request from the M)ail
menu of BBS. Mail files identified to the BBS through the BBS-MAIL
file on the BBS Mail subdirectory. This file is maintained through
Cleanup/Delete-old functions of BBMAINT.
The M)ail submenu supports the following user commands:
o S)can Scan postings for mail 'to' the caller
o L)ist List mail (to,from,date,subject)
o N)ew Read new mail (to caller, and public posts)
o A)ll Read all mail (to caller, and public posts)
o W)rite Write a message (public or private)
BBS does not support editing of postings at this time.
The list of pending mail is taken from the file BBS-MAIL. Comments
in the file are not printed for the caller to see. Mail is only
readable sequentially (at this time). Mail is marked 'private' to
receiver when it is created (unless it is posted to the ID ALL).
The BBMAINT script provides two maintenance functions for mail.
o Cleanup: The clean function reconciles the BBS-Mail listing
against mail files actually existing. Regular use of this
service speeds user access to mail.
o Delete: The delete function will delete letters older than a
given age (prompted). It performs a cleanup function at the
same time. [NOTE: the age of letters to be kept is limited
to the start of the year before the current year.]
Version 1.1: 910711
COM-AND Scripted BBS Page 9
VI. Files (Upload and Download)
"Files" in this context are files displayed to the caller on request
from the F)iles menu of BBS. Files are identified to the BBS through
the BBS-FILE file on the BBS Files subdirectory (or elsewhere, see
below). BBS-File is maintained through Add/Delete/Modify bulletin
functions of BBMAINT, and is also updated by the BBS script upon
successful upload.
[Note that a file should exist on the Files subdirectory BEFORE it is
added by BBMAINT. If a file is listed but does not exist, it will
not appear in the listing given the caller. See also note below.]
The F)iles submenu supports the following user commands:
o L)ist List available files
o S)earch Search the file list for a substring
o U)pload Upload a file (to the board)
o D)ownload Download a file (from the board)
Files may be uploaded and downloaded from this script using:
o WXMODEM (Windowed XMODEM)
o XMODEM (CRC or checksum)
o YMODEM (XMODEM 1-K, CRC or checksum)
o ZMODEM
o KERMIT (Windowed or plain)
Non-privileged callers are not allowed to upload files that duplicate
files on the \BBS\Files subdirectory. Non-privileged callers are
limited to downloading files (1) listed in BBS-File and (2) from the
Files subdirectory (not necessarily just those listed by the L)ist
display, but the caller must know the file is there).
Privileged callers may upload/download to/from any accessible disc
device and subdirectory, by specifically qualifying the file name.
Uploads are added at the end of the BBS-FILE file with a caller sup-
plied description, UNLESS the caller is privileged, AND the upload
was performed to a specific path. When a file is uploaded to a spec-
ific subdirectory, no BBS-FILE entry is made.
Version 1.1: 910711
COM-AND Scripted BBS Page 10
VI. Files (continued)
Files listed through BBS-FILE may actually reside on any path or
drive. By default, a file must exist on the \BBS\FILES subdirectory.
However, if the description field of a BBS-File record begins with ^A
(control-a, not caret/letter-a), and if a second ^A is found after
it, the information in between will be used for pathing the file
specified. In this manner, files listed in BBS-File may point to
from ANY drive or subdirectory.
For example, the description:
xc:\prodxThis is a file description
where 'x' on the screen is a 'happy face' (^A is represented as a
happy face on IBM PC compatible monitors) directs BBS to search for
the file on the "C:\PROD" drive and subdirectory. The pathing will
NOT show to a caller of the BBS - the remainder of the description
(following the second ^A) is what is displayed.
When adding a file to BBS-FILE through BBMAINT, BBMAINT will inform
that the file does not exist, and query if it is to be added anyway.
When a file that BBMAINT cannot 'see' is added to BBS-FILE, its date
and size are set to "******". When BBS sees the "*****"s and has
located the file, it replaces the fields with the file's actual date
and size.
In this manner, too, a file may be listed in BBS-FILE through BBMAINT
and THEN copied to the \BBS\FILES subdirectory. [However, it is
recommended the file be copied there first, as a policy.]
Version 1.1: 910711
COM-AND Scripted BBS Page 11
VII. Chat with SYSOP
The A)larm command at the main prompt sounds a tune on the local
console's speaker. If the SYSOP wishes to respond the SYSOP may
interrupt the caller (whether the ALARM has been used or no) with
the ESCape key.
Pressing the ESCape key during the script's operation will interrupt
the script; however, the caller is not disconnected immediately.
The SYSOP may choose to terminate the script (in which case a HANGUP
is performed). The SYSOP may alternately choose to CHAT with the
caller.
When the SYSOP selects CHAT, the caller is informed of operator in-
tervention. The SYSOP is prompted for a line of text (blank lines
entered by the SYSOP result in a query: "Continue" and are the means
for termination of the CHAT). When the SYSOP presses CR, any text
is sent to the caller and the caller is prompted for text. The chat
continues back and forth, one line at a time, until the caller
disconnects or the SYSOP terminates the chat.
At this time, time spent in CHAT is not added back to the caller's
total time alotment.
Version 1.1: 910711
COM-AND Scripted BBS Page 12
VIII. Privileged access
Users flagged in the BBS-User file with privileged access are
provided an additional main menu subcommand ("P"). The "Privilege"
command gives access to a submenu with the commands:
o L)ist performs a DIR on the current subdirectory
o S)ubdir changes the current drive:subdirectory; This
holds only for the duration of the "Privilege"
menu.
o P)ath provides a graphics display of the tree structure
of the current default disc (This requires the
public domain utility TREED.COM)
o D)os performs a DOS command; BE WARY OF THIS FUNCTION!
A DOS command that does NOT return immediately,
such as, say, 123, will halt the BBS. Redirection
is used to display the results of the DOS command.
Version 1.1: 910711
COM-AND Scripted BBS Page 13
IX. Menu Tree
A. Connect
The Flying Scotsman greets you!
The connect text, above, is issued if the file 'BBS-Welc' is not
found on the \BBS subdirectory. If BBS-Welc is available, it is
transmitted instead (as an ASCII file).
B. Logon
Enter your ID (or enter GUEST):
Enter your password:
The logon prompt, above, is issued after the connect welcome. If
the response to the logon prompt is "GUEST", the caller is shunted
to "REGISTRATION" below (after which the caller is disconnected).
Any non-null response BUT "GUEST" to the logon prompt results in a
password prompt. The password response, too, must be non-null. A
failed ID/Password pair is retried 3 times.
C. Main menu
C)omment, B)ulletins, M)ail, F)iles, A)larm or E)xit:
The main menu text, above, is issued to a non-privileged caller if
the file 'BBS-NpMn' is not found on the \BBS subdirectory. If
BBS-NpMn is available, it is transmitted instead.
P)rivileged, C)omment, B)ulletins, M)ail, F)iles, A)larm or E)xit:
The main menu text, above, is issued to a privileged caller if
the file 'BBS-PrMn' is not found on the \BBS subdirectory. If
BBS-PrMn is available, it is transmitted instead.
Version 1.1: 910711
COM-AND Scripted BBS Page 14
IX. Menu Tree
C. Main menu (continued)
1. Comment
Do you wish to leave a comment? (Y/N, cr=n):
The comment prompt, above, is issued if the file 'BBS-NoMe' is
not found on the \BBS subdirectory. If BBS-NoMe is available,
it is transmitted instead. If the response is "y", the fol-
lowing queries are issued:
Each line, as you enter it will be recorded. No edits, yet...
Enter a line/line(s) of text. A blank line ends the note.
1:
2:
...
2. Bulletin
L)ist, M)ain, E)xit, or a bulletin number:
The bulletin submenu, above, is issued if the file 'BBS-BuMe'
is not found on the \BBS subdirectory. If BBS-BuMe is avail-
able, it is transmitted instead.
a) List: <no subcommands>
b) bulletin number: <no subcommands>
3. Mail
S)can, L)ist, N)ew, A)ll, W)rite, M)ain or E)xit:
The mail submenu, above, is issued if the file 'BBS-MeMe' is
not found on the \BBS subdirectory. If BBS-MeMe is available,
it is transmitted instead.
a) SCAN: <no subcommands>
b) LIST: <no subcommands>
c) NEW: <no subcommands>
D)elete, R)eply, Q)uit (cr=continue):
- or - R)eply, Q)uit (cr=continue):
After each note is read, the above text prompts for
action.
Version 1.1: 910711
COM-AND Scripted BBS Page 15
IX. Menu Tree
C. Main menu (continued)
3. Mail (continued)
d) ALL: <no subcommands>
After each note is read, the same prompts as for 'NEW'
(above) are issued.
e) WRITE:
To:
Subject:
Each line, as you enter it will be recorded. No edits, yet
Enter a line/line(s) of text. A blank line ends the text.
1:
2:
...
Save? (Y/N, cr=y):
Private? (Y/N, cr=n):
4. Files
L)ist, S)earch, U)pload, D)ownload, M)ain or E)xit:
The files submenu, above, is issued if the file 'BBS-FiMe' is
not found on the \BBS subdirectory. If BBS-FiMe is available,
it is transmitted instead.
a) LIST: <no subcommands>
b) SEARCH:
Enter the search string:
c) UPLOAD:
Enter the file name:
W)xmodem, X)modem, Y)modem (X1k), Z)modem, or K)ermit:
Description:
d) DOWNLOAD:
Enter the file name:
W)xmodem, X)modem, Y)modem, Z)modem, K)ermit, or A)scii:
Version 1.1: 910711
COM-AND Scripted BBS Page 16
IX. Menu Tree
D. Privileged
L)ist, P)ath, S)ubdir, D)OS, M)ain or E)xit:
The privileged submenu, above, is issued if the file 'BBS-PpMn' is
not found on the \BBS subdirectory. If BBS-PpMn is available, it
is transmitted instead.
a) SUBDIR:
Enter the drive:subdirectory:
b) PATH:
Pathlist command:
c) DOS:
Warning: this command may be used to invoke ANY COMMAND that
DOS can execute. If you load a program requiring keyboard
entry, you lock yourself out and leave the board unusable.
Enter your command:
d) DIR:
Directory command:
E. Registration
Do you wish to register? (Y/N, cr=Y):
The query, above, is issued if the file 'BBS-Reme' is not found
on the \BBS subdirectory. If BBS-Reme is found, its contents
are transmitted instead. On 'Y' entry:
Enter your full name:
Enter your street address:
Enter your city/state and zip:
Enter a area code and phone number where
you may be reached:
Enter the ID (1-8 chars) you wish to use:
Enter the password (1-8 chars) you wish to use:
Repeating your entry...
Is this correct? (Y/N, cr=n):
Version 1.1: 910711
COM-AND Scripted BBS Page 17
X. BBS-Log
BBS activity is logged to a file BBS-Log on the \BBS subdirectory.
BBS-Log is an ASCII file. It may be printed with the DOS PRINT
command. The following events are logged:
o * BBS script loaded (also to calllog)
o * BBS cycled (also to calllog)
o * BBS script terminated (also to calllog)
o <connect string from modem on connect, carries speed usually)
o Logon <ID> (also to calllog)
o Failed logon (max number of attempts exceeded)
o Logoff <ID> (also to calllog)
o Upload: (x): <name>, Success (x -> method)
o Uload of <name> succeeded, but BBS-FIle open failed
o Upload: (x): <name>, Failure (x -> method)
o Download: (x): <name>, Success (x -> method)
o Download: (x): <name>, Failure (x -> method)
o Comment recorded
o Bulletin <number> read
o Registration aborted - disconn
o Registration declined by caller
o Registration requested
If BBS-Log does not exist when the BBS script tries to write to the
log, the file is created. It is suggested that the log be printed
regularly, and the file deleted afterwards.
Version 1.1: 910711
COM-AND Scripted BBS Page 18
XI. Program requirements
This program can only function on an IBM PC or DOS compatible
machine. COM-AND does direct to screen buffer fetches and stores
(unless BIOS screen updates are directed using the /C switch or the
Alt-O options menu).
COM-AND is TopView aware even without the /C switch or Alt-O option.
COM-AND supports MDA, CGA, EGA and Hercules. COM-AND uses a Micro-
soft Mouse if one is available...
COM-AND disk I/O is done through the 'Handle' oriented I/O routines
added to DOS 2.0. Therefore DOS 2.0 is a minimum requirement.
COM-AND (Version 2.8) requires 256K for itself. You need 384K to
take advantage of the DOS Gateway and to load accessories.
This script requires a 300, 1200 or 2400 baud modem. [Others could
be supported with modification to the script.] This script is most
reliable if the modem is set to report true CD.
And of course, for a Bulletin Board, you need alot of disc space!
Version 1.1: 910711
COM-AND Scripted BBS Page 19
XII. Author information
COM-AND was written using Microsoft Macro-Assembler. The author
likes assembler. Assembly language is an entirely appropriate
vehicle for some of the program, and a not-inappropriate vehicle
for the rest of it. Everything, in moderation...
The author of COM-AND and this script is R. Scott McGinnis of
Chicago, IL. His PLINK and GEnie ID: TARTAN. Comment and
suggestions (and criticism in moderation) are welcomed:
CABER Software
R. (Scott) McGinnis
P.O. Box 3607 Mdse Mart
Chicago, IL 60654-0607
I want to thank Mike Todd (SYSOP of the IBM PC SIG on the late
SOURCE, and then on UNISON) and John Poindexter for their valuable
comments on the 2.1 version of COM-AND script language. This BBS
script was, in fact, created to test the script changes made for
version 2.2 of COM-AND. [The current version of the BBS requires
COM-AND 2.7 or later!]
I also thank my wife, Elizabeth, who laughs often (and smiles almost
always, regardless).
This script (Version 1.1) may be distributed freely (but it isn't a
whole lot of use without COM-AND). Any improvements that are
returned to the author will get attention... errors reported to the
author will be corrected. COM-AND is shareware. If COM-AND is USED
after a reasonable period of evaluation, a registration of $50.00 is
required.
Most of the hardware names and software names in this document are
trademarks or trade names of specific manufacturers.
Version 1.1: 910711
COM-AND Scripted BBS Page 20
XIII. SupportWare BBS
A version of this BBS script (constantly evolving) is maintained for
COM-AND support and distribution by SupportWare in Long Beach, CA.
SupportWare supports, markets and distributes COM-AND (among other
products). The version of this script used by SupportWare provides
instant access, after BBS registration.
Mike Todd, the sysop of the BBS and President of SupportWare always
has the most current release (or beta) of COM-AND available on that
board. Mike also makes the version of the BBS script he uses (con-
siderably extended beyond the functions documented here) available
as a SupportWare product.
Mike was the founder of the Capitol PC User's Group, and the founder
of the IBM SIG(s) on CIS, the SOURCE, and UNISON. His experience
with telecommunications is considerable! COM-AND's script language
itself owes much to Mike Todd's ever pushing the limits of COM-AND.
SupportWare may be contacted:
Voice: (213) 439-6104
BBS: (213) 439-7714 (1200/2400 8n1)
Mail: SupportWare
P.O.Box 14927
Long Beach CA, 90803-1449
UNISON: MIKETODD (PARTI: Mike Todd)
Mike is always in contact with the author of COM-AND and up-to-date
on COM-AND developments. Many innovations in the use of COM-AND and
COM-AND scripts are available first through the SupportWare BBS (and
are Mike's suggestions, embodied, t'boot). Having read this far, the
author recommends you call SupportWare!
Version 1.1: 910711
COM-AND Scripted BBS Page 21
A. Required and optional files
1. Required files in subdirectory \BBS
BBS-USER ID/Password file (created by BBSETUP/BBMAINT)
2. Optional files in subdirectory \BBS
BBS-NOTE Comments/registrations - created if D.N.E
BBS-LOG Log of usage - created if D.N.E
BBS-Welc Welcome message
BBS-NpMn Non-privileged user main menu
BBS-PrMn Privileged user main menu
BBS-PpMn Privileged user privileged submenu
BBS-NoMe Message displayed when NOTE requested
BBS-ReMe Message displayed when REGISTER requested
BBS-FiMe All users: files submenu
BBS-MeMe All users: mail submenu
BBS-BuMe All users: bulletins submenu
3. Optional files in subdirectory \BBS\Bulletin
BBS-BULL Points to available bulletins
(created by BBSETUP; updated by BBMAINT)
BBS-BuMe (may exist here as well) optional submenu
4. Optional files in subdirectory \BBS\Mail
BBS-MAIL Points to existing and deleted messages
(created by BBS if it does not exist)
BBS-MeMe (may exist here as well) optional submenu
5. Optional files in subdirectory \BBS\Files
BBS-FILE Points to files uploaded and downloadable
(created by BBSETUP; updated by BBMAINT)
BBS-FiMe (may exist here as well) optional submenu
Version 1.1: 910711 Appendices
COM-AND Scripted BBS Page 22
B. File Structures
1. \BBS\BBS-User (User IDs/passwords)
The BBS-User file is structured:
0 8 16 17
+---/ /---+---/ /---+--+---/ /---+---/ /---+---/ /---+
! ID ! Passwd ! ! Comments !
+---/ /---+---/ /---+--+---/ /---+---/ /---+---/ /---+
^Privilege flag = P
"<" in column 1 indicates a comment line; comments ignored
2. \BBS\Bulletin\BBS-BULL (Bulletin items)
The BBS-BULL file is structured:
0 5 13 14 26
+---/ /---+---/ /---+--+---/ /---+-------/ /--------+
! Number ! Date ! ! Fname ! Subject (40 char)!
+---/ /---+---/ /---+--+---/ /---+-------/ /--------+
^Privileged access if nonblank
"*" in column 1 indicates a comment line; comments not printed
3. \BBS\Mail\BBS-MAIL (Mail items)
The BBS-MAIL file is structured:
0 8 16 17 25 38
+---/ /---+---/ /---+--+---/ /---+---/ /---+-------/ /--------+
! To ID ! From ID ! ! Date ! Fname ! Subject (40 char)!
+---/ /---+---/ /---+--+---/ /---+---/ /---+-------/ /--------+
^Privacy flag = P
"*" in column 1 indicates a comment line; comments not printed
4. \BBS\File\BBS-FILE (File items)
The BBS-FILE file is structured:
0 12 20 21 28
+---/ /---+---/ /---+--+---/ /---+-------/ /--------+
! Fname ! Date ! ! Size ! Description !
+---/ /---+---/ /---+--+---/ /---+-------/ /--------+
^ Privilege req'd if non-blank
"*" in column 1 indicates a comment line; comments are printed
Version 1.1: 910711 Appendices
COM-AND Scripted BBS Page 23
C. Maintenance
1. Registrations
Registrations are not automatically entered into the BBS-User
file. The registrations exist as comments in the BBS-NOTE file.
BBS-NOTE may be printed with the DOS PRINT or COPY commands. A
registering user is asked for a password and an ID. IDs may not
contain "."s, by the way. The SYSOP must add a record to the
BBS-User file to activate the ID (using the BBMAINT script).
2. Mail
The Mail routines depend on the file BBS-MAIL in the Mail sub-
directory for finding messages. When a letter is deleted the BBS
script deletes the file. BBS does not update the BBS-MAIL file
upon letter deletion; rather, BBS detects a deleted file and
skips the record. BBMAINT may be used to cleanup BBS-MAIL.
3. Bulletins
If the file BBS-BULL does not exist on the Bulletin subdirectory,
the caller will be informed there are no bulletins. BBS-BULL
may be created and modified through the BBMAINT script. Again,
records in BBS-BULL that do not point to existing files are
skipped by the BBS logic.
4. Files (uploads and downloads)
The file BBS-FILE in the subdirectory \BBS\FILES will be auto-
matically created upon the first upload. However, comments in
this file are displayed and may be used for informational pur-
poses. If you want these comments, they must be added manually.
Please note the method described above for files on subdirector-
ies other than \BBS\FILES to be listed in the files directory.
Add files to the listing with the BBMAINT script. Uploads are
always added at the end of the file by the BBS script.
Version 1.1: 910711 Appendices
COM-AND Scripted BBS Page 24
D. Modem Configuration
COM-AND default values do not require your modem to be configured
in any particular manner. However, certain features cannot be used
unless you configure your modem before you use COM-AND.
1. DTR (Data Terminal Ready)
COM-AND, by default, hangs up using the command sequences defined
through the Alt-S setup (hangup and modem escape). However, you
may alternately select 'Drop DTR to hangup' through the Alt-O
options. Dropping DTR is the only way to hangup certain modems,
and is generally much faster than the command sequences.
Most Hayes compatible modems allow configuration of the DTR sense
through a switch-block. If you wish to use DTR to hangup, be sure
that your modem follows the DTR signal. Refer to the documenta-
tion provided with your modem to be sure that option switches are
set appropriately.
2. CD (Carrier Detect)
COM-AND (presently) uses the CD sense line for several purposes.
The 'CONNECTED' test supported in the script language, test for
carrier detect upon exit, and the file transfer protocols all
require that the modem report carrier detect. True carrier detect
is the only way to determine if you are 'on-line' or 'off-line'.
Many Hayes compatible modems are sold with a carrier detect
override (in other words the modem reports carrier detect all the
time). When carrier detect is overridden, COM-AND cannot detect
when carrier is lost during a file transfer or whether to ask if
you want to hangup when you exit.
Be sure that the modem is reporting true CD (instead of it just
saying 'yes'). Most Hayes compatible modems allow configuration
of the CD sense through a switch-block. Refer to the documenta-
tion provided with your modem to be sure that option switches are
set appropriately.
Version 1.1: 910711 Appendices
COM-AND Scripted BBS Page 25
D. Modem Configuration (continued)
3. Modem Escape
COM-AND issues the "Modem escape" defined through the Alt-S setup,
prior to modem initialization and hangup. Be sure this value is
set correctly in Alt-S (or see below).
4. Hangup
COM-AND hangs up using the command sequences defined through the
Alt-S setup (hangup and modem escape) and the drop DTR setting as
discussed above. be sure these values are set correctly (or see
below).
5. Modem Init
COM-AND transmits the modem initialization sequence defined by
Alt-S setup to configure the modem. BBS re-issues this initial-
ization when BBS is exited. If BBS is used, it is suggested that
autoanswer be turned OFF in the Alt-S modem init string.
6. Other settings
The BBS sets its own values BEFORE executing the BBSDAT file (the
BBSDAT is an executable script). Therefore, you may override any
COM-AND default settings by editing the BBSDAT file. Have a care
NOT to change variables already defined in BBSDAT! When BBS is
exited, a RESET statement is performed.
Version 1.1: 910711 Appendices
COM-AND Scripted BBS Page 26
E. Sample files
1. BBS-USER
--------
<------------------------------------------------------------------>
< Comment entries begin '<'; Case is not significant in IDs
< and passwords. ID field begins in column 0.
<
<- ID ->< Pass >P<---------- Comments ----------------------------->
Scott xxxxxxxxP
2. BBS-BULL
--------
********************************************************************
* Comment entries begin '*'; Each entry points to a file (nnn).
* Each entry is numbered explicitly (###).
********************************************************************
1 4/05/88 BULL.1 ISENGARD BBS's ANSI display
3. BBS-MAIL (created automatically)
--------
ALL SCOTT 4/06/88ALL.1 This board
4. BBS-FILE (created automatically, but nice to post initially)
--------
********************************************************************
*
* Board related files
*
BBS.SRC 4/05/88 Source code w/comments for this BBS
*
* Uploads...
*
Version 1.1: 910711 Appendices