Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
Looking for a bulletin board system that's both powerful and
easy-to-use? Take a look at SEARCHLIGHT BBS.
Unlike other bulletin board systems, SEARCHLIGHT BBS is user friendly
with both you (the system operator) and those who call in to your
system. It has an easy to understand menu command system, so users who
call in to your system need no documentation or help from you to use the
bulletin board system. If any help is needed, the program has an on-line
help system. Moreover, it has some significant features, such as
optional ANSI graphics and color selections for the screen,
customized menus, public message boards, private mail, a full-screen
text editor (compatible with WordStar commands), and a file transfer
system with both Xmodem and Ymodem transfer protocols.
SEARCHLIGHT BBS has password protection and 255 levels of security,
letting you control access to your system. Like other bulletin boards,
this one can be left unattended while callers leave messages and
transfer files to and from your board. The program lets you specify an
upload/download ratio for all who use the file transfer system, so there
is a fair trade-off of programs.
There is a complete electronic mail system with up to 24 message
subsections, each with up to 300 messages. SEARCHLIGHT BBS has enough
system operator utilities so you can easily manage the system from a
remote location, and also shell to DOS to run a program or DOS command.
Disk No: 1136
Disk Title: Searchlight BBS (Disk 1 of 2)
PC-SIG Version: S1.3
Program Title: Searchlight BBS
Author Version: 1.31
Author Registration: $35.00 to $95.00.
Special Requirements: Hard drive, a modem, DOS 3.1, and PKUNZIP.
Looking for a bulletin board system that's both powerful and
easy-to-use? Take a look a SEARCHLIGHT BBS.
Unlike other bulletin board systems, SEARCHLIGHT BBS is user friendly
with both you (the system operator) and those who call in to your
system. It has an easy to understand menu command system, so users who
call in to your system need no documentation or help from you to use the
bulletin board system. If any help is needed, the program has an
on-line help system. Moreover, it has some significant features, such
as optional ANSI graphics and color selections for the screen,
customized menus, public message boards, private mail, a full-screen
text editor (compatible with WordStar commands), and a file transfer
system with both Xmodem and Ymodem transfer protocols.
SEARCHLIGHT BBS has password protection and 255 levels of security,
letting you control access to your system. Like other bulletin boards,
this one can be left unattended while callers leave messages and
transfer files to and from your board. The program lets you specify an
upload/download ratio for all who use the file transfer system, so there
is a fair trade-off of programs.
There is a complete electronic mail system with up to 24 message
subsections, each with up to 300 messages. SEARCHLIGHT BBS has enough
system operator utilities so you can easily manage the system from a
remote location, and also shell to DOS to run a program or DOS command.
PC-SIG
1030D East Duane Avenue
Sunnyvale Ca. 94086
(408) 730-9291
(c) Copyright 1989 PC-SIG, Inc.
╔═════════════════════════════════════════════════════════════════════════╗
║ <<<< Disk #1136 SEARCHLIGHT BBS >>>> ║
╠═════════════════════════════════════════════════════════════════════════╣
║ ║
║ Use PKUNZIP to uncompress the files. ║
║ ║
╚═════════════════════════════════════════════════════════════════════════╝
-------------------------------------------
SEARCHLIGHT BULLETIN BOARD SYSTEM
by Frank LaRosa
(c) Copyright 1987,88,89 Searchlight Software
PO Box 640, StonyBrook, NY 11790
BBS Support Line (516) 724-0971 (HST 9600)
-------------[ Version 1.31 ]--------------
Welcome to SLBBS version 1.31!
This file describes the new features found in Searchlight BBS versions 1.29
through 1.31, relative to the original version 1.28 released on 4/1/88.
Additional SLBBS support is now available at The Wise Byte BBS, 212-962-1920
located in New York City (NYNYO dialing code for those with PC-Pursuit). Ron
Chibnik, the SYSOP of Wise Byte, is available to help with most SLBBS
questions; I can be reached at Wise Byte as well if more technical help is
required. For your convenience, both support boards are now using US Robotics
HST modems supporting speeds up to 9600 baud.
Release 1.31 (8/26/89)
-----------------------
In this version we add support for viewing PKZIP files, including Zip-
comments and file comments. The old ArcDir command is replaced with a new
command, VIEW. The View command supports both ZIP and ARC files, but uses
the .ZIP extension by default. To view ARC or PAK files, you must type in
the entire filename including the extension.
Some minor code changes were made and the programs are now compiled with
Turbo Pascal 5.5.
Release 1.30a (4/26/89)
-----------------------
This version was released primarily to update the READ.ME and order form
files, and does not include any significant code changes, although the code
was recompiled with some minor updates. A minor problem which prevented
earlier versions from running under DOS 4.0 has been corrected. If you are
running DOS 4.0, it is suggested that you use absolute pathnames (pathnames
beginning with a drive letter or '\' character), rather than relative
pathnames, in your CONFIG setup screens and *.DEF files.
Release 1.30 (11/03/88)
------------------------
Version 1.30 is a minor update being released primarily to correct some
minor bugs in the code, revise the order form, and to ensure that all of the
early 1.28 and 1.29 users get the latest update. In addition, Searchlight is
now compiled with Turbo Pascal version 5.0, providing faster and smaller code
than the previous release.
The following small changes were made:
- The modem I/O and initialization code has been revised and improved.
- The door handling routines have been updated. Specifically, the code
has been revised so that it will no longer generate ANSI sequences
when non-ansi users are running a door program.
- A bug in the color routines has been fixed (caused incorrect colors to
be displayed for some color combinations)
- The program no longer hangs if LOGIN.EXE cannot be found in the
specified program path. Instead, an error message is printed.
The documentation is unchanged.
Release 1.29b (8/29/88)
-----------------------
A couple of bugs were found in the original version 1.29, and are
corrected by this version:
- The idle time limit did not work.
- The download command always gave 1 minute as the d/l time; besides
just being an annoyance, this allowed users to download way past
their time limits.
- The FILES program ran into an out-of-stack-space condition when more
than 50 or 60 files were loaded.
- The command prompt and other prompts were sometimes out of sync
on the remote terminal.
- The FILES program sometimes allowed unauthorized use of some of the
commands (Edit, Move, etc).
- The NEW message scan worked improperly. This was due not to a bug
in the NEW command but to a bug in the initialization of new users.
Version 1.29b will fix this bug, but your existing users will still
see the problem. To correct it fully, you will need to download the
program NEWFIX and run it on your system. NEWFIX is a new utility
that does some additional message checking beyond what the Check
command does; it will fix out-of-sync new message pointers. I will
be making NEWFIX available as widely as possible.
Release 1.29 (8/01/88)
----------------------
PROGRAM FILES
-------------
Perhaps the most obvious change in SLBBS 1.29 is that the COM, CHN and
overlay files of the previous version are gone, replaced by EXE files.
While the change won't mean a whole lot to most, other than the fact that
the new programs are somewhat smaller and faster, Turbo Pascal freaks will
note that it signifies the upgrade to version 4 of the Turbo compiler. The
EXE format gives us much more flexibility in program format, and at the
very least the EXE files look a lot cleaner on your disk than the various
COMs, CHNs and overlays of the previous version.
To install this version over your old system, delete your old COM, CHN
and overlay (BBS.000 and BBS.001) files and replace them with the six EXE
files of the new system. If starting a new BBS, follow the instructions in
our user's manual but replace all references to "COM" files with "EXE".
Since there are no overlay files, the Overlay Path option has been
eliminated from the CONFIG program.
Please make sure you eliminate all version 1.28 executables before you
begin with 1.29. Mixed program files are sure to cause errors.
SCREEN DISPLAY
--------------
A major new feature is the addition of a BIOS/Direct video output
switch (located on CONFIG menu #2). In the old version, Searchlight used
direct screen writes for many operations (most notably in full screen
editing) and thus could not be run as a "background" task in multitasking
environments such as DesqView or TopView. With the new version, the option
to use BIOS calls is available, and thus will allow you to run Searchlight
in a window or as a background task without interfereing with other tasks.
For those not interested in multitasking, the direct video capability is
retained and will provide much faster screen displays.
A DesqView "PIF" file, SL-PIF.DVP, is provided in the 1.29 archive.
This file describes the settings needed to run Searchlight in a window
under DesqView.
Please note that althought you can now run Searchlight in a multi-
tasking system, you CANNOT use this version of the program to run a
multinode BBS! If you try it (please don't), your system will quickly crash
and your data files will become riddled with errors. To run multiuser, you
must order our multinode version of the program which includes record
locking logic (and many other features as well).
FULL SCREEN EDITOR
------------------
Searchlight 1.29 features a revised full screen text editor. We added
needed new editor commands, added control-key equivalents for others, and
increased the maximum message length to 250 lines. In addition, remote
editing has been improved through the implementation of a new "ANSI
Compatibility" switch.
In previous versions, remote full screen editing required a robust ANSI
terminal or terminal emulator, because Searchlight used many ANSI escape
sequences to control the remote screen. This led to certain incompati-
bilities, since many popular terminal programs claiming to support ANSI do
not, in fact, support a very large subset of the ANSI functions.
Beginning with this version, the full screen editor can be configured
with a three-way compatiblity switch. When set to "Generic" mode, the
editor uses only a few well-supported ANSI escape sequences to control the
edit, and will work with virtually any ANSI terminal. The drawback is that
editing will be slow, since much text will have to be resent. In "Full"
mode, the editor will make maximum use of the available ANSI sequences for
a very fast edit; if this mode is selected, you must use a full featured
ANSI terminal or emulator on the remote end. Finally, a special mode called
"ProComm" is provided for use with the ProComm (TM Datastorm Technologies)
communications software. The ProComm mode is similar to the Full mode, but
takes into account several quirks specific to ProComm.
To select the appropriate mode, execute the Options command. A new
option number 5 will be available. Move the cursor to the highlighed field
and press the spacebar until the desired value is displayed.
The LOGIN program briefly explains the ANSI modes available to new
users and asks new users to select an appropriate mode when logging in for
the first time. Established users will be set for "Generic" mode by default
and should be informed to select an appropriate mode via Options.
USER TIME LIMITS
----------------
By popular demand, the old system of "per-session" time limits, with a
minimum time between sessions, has been replaced by a per-day time limit.
All user time limits are now daily limits; for example, if a user has a
time limit of 45 minutes and she uses 15 minutes when logging on in the
morning, her time limit will be 30 minutes for her next call that day. At
midnight, the full daily time limit is again available.
In addition, time limit checking has been added between messages while
reading public or private mail, and at the close of a DOOR. Thus, it is no
longer possible for users to stay on the system longer than their time
limits when reading mail or messages, or running repeated Doors.
The old "Min. Time Between Calls" parameter has been removed from the
CONFIG menus.
IDLE TIME LIMIT
---------------
An idle time limit feature has been added. Searchlight will now detect
when a certain amount of time has passed without keyboard activity, and
automatically restart the system. The time delay can be found on Config
menu #1 and should be set to between 5 and 15 minutes. A value of zero
disables the idle time check.
In addition, the system now checks the idle time limit while a DOOR is
active in remote mode. Should the caller fail to press a key within the
defined time, the BBS will treat it like a carrier loss, and either attempt
to exit the running DOOR or reboot the computer. However, this will ONLY
work if the DOOR program uses the BIOS INT 16 interrupt for the keystroke
wait loops. For programs that implement their own loops, Searchlight will
not enforce the idle time limit (note, however, that most DOOR programs do
include their own time limit checking).
Finally, the "Hit any key to return to Searchlight BBS" message is now
timed. If no key is hit in 1-2 minutes, the program returns to the BBS
automatically.
ACTIVITY LOG FILE
-----------------
The format of entries in the ACTIVITY.LOG file has been changed. The
new format looks like this:
880629 2243
Y 880629 2243 L - SYSOP
Notice that the date field is now expressed as "YYMMDD" and that both dates
and times now sport leading zeros. Also, the one-character field to the
left of the username now contains "-" for visible login, in addition to "+"
for invisible and "*" for new user.
These changes have been made to make the log file easier to process
with standard utilities such as GREP, AWK and SORT.
OTHER FEATURES AND CHANGES
--------------------------
- A bug in the communications routines that caused the BBS to reset both
COM1 and COM2, regardless of which port was selected, has been fixed.
- General improvements in the communications routines have been included
to help reduce initialization problems with the modem.
- The ALT-H (Hangup) feature has been fixed.
- The new mail scan ("Checking Your Mailbox...") can now be aborted if
desired with ^C.
- If you abort a Mail/List command, the program will now prompt you for a
message number whereas previously the entire command was aborted.
- A bug in the "include" file processing ("@@" and "%%") has been fixed.
- Logoff quotes are now optional. A user can ignore the request for a
quote when logging off by pressing the RETURN key. The "Logged off
improperly" message is replaced by "Did not leave a quote".
- It is now possible to create and edit files with lines longer than 75
characters. Just append an underbar character "_" to the ends of long
lines, and they'll be connected to the next line when printed or written
to disk. Text files loaded into the editor will have "_"s added where
needed automatically.
- The PCBOARD.SYS file format has been updated to reflect version 12.0 of
PCB. This should solve any previous problems with PCB door interfacing.
- Finally, several improvements have been made to the DOORS interface.
Handling of control keys has been improved, and the SLBBS program itself
has been made both smaller and faster. A bug which prevented the remote
screen from scrolling during DOS shells on some machines has been fixed.
For those writing DOOR software, you can now access some of Search-
light's control variables through your program- see our sample program
"Door.Pas" for examples.
---------------------------------------------------------------------------
Frank LaRosa
-------------------------------------------
SEARCHLIGHT BULLETIN BOARD SYSTEM
QUICK INSTALLATION INSTRUCTIONS
by Frank LaRosa
(c) Copyright 1987,88 Searchlight Software
-------------[ Version 1.30 ]--------------
THE FOLLOWING INSTRUCTIONS are intended as a guide for experienced users of
both MSDOS and BBS software. The full documentation for Searchlight BBS is
contained in the file SLBBS.DOC. Use these instructions only if you're in a
hurry to get your BBS up and running; consult the full manual for further
information.
(1) Files List
To begin the installation process, you need the following files:
CONFIG.EXE - Configuration/initialization program
SLBBS.EXE - Startup program/doors manager
LOGIN.EXE - Login/new user program
BBS.EXE - Searchlight BBS main program
FILES.EXE - Searchlight Files system
SYSOP.EXE - Searchlight Sysop program
In addition, the file TEXT.ZIP, containing the online help files, will be
needed if online help is desired, although omitting the online help files is
not an error.
(2) Installation
Begin by creating a directory on your hard disk for Searchlight BBS; usually
this directory is simply called BBS, although you may call it anything you
like. Make your BBS directory active and copy the above six files into it.
(3) File Setup
The program CONFIG.EXE must be run first. It creates the BBS's main data
files and lets you configure your communications and other system options.
Just type CONFIG and press RETURN. CONFIG says,
Searchlight BBS data files cannot be found.
Do you wish to create them in the current directory (Y/N)?
Type 'Y' to proceed. CONFIG creates six data files, as follows:
CONFIG.BBS - SLBBS configuration info
USER.BBS - User file
MESSAGE.BBS - Message file
INDEX.BBS - Subboard file
LOG.BBS - Call log file
QUOTES.BBS - Quotes file
These six files are used and maintained by the BBS system; these are the only
six data files you need to run Searchlight BBS. Of these six files, only
USER.BBS and MESSAGE.BBS grow dynamically as more users and messages are added
to the system. The remaining files are static in length.
(4) Configuration
Continuing with the CONFIG program, you should now see a menu with the items
General Setup, Communications Setup, and Screen Colors Setup. Select each
section and edit the fields as desired. Here is a brief rundown of the CONFIG
options found in each section:
(A) General Setup
This section contains 19 fields for configuring your system's name, access
levels assigned to new and validated users, path and file names, etc. The
most important item in this list is TEXT FILE PATH. This field defines the
path to the directory where SLBBS will look for its online help files, user
defined text files (such as the login screen), custom menus, etc. Type a
pathname here, such as "C:\BBS\TEXT", and be sure to create the directory
with the MKDIR command after exiting CONFIG.
The Program Path option lets you define the path where Searchlight's
EXE files will be found. If left blank, the path defaults to the current
directory. If nonblank, it can be used to allow you to place your
program files on a different drive (ie. RAMdisk) for faster access.
Consult the SLBBS main manual for a description of the other items.
(B) Communications Setup
These options configure your COMM port, modem speeds, and modem init
strings. For the two init strings, use the ! character to generate a
carriage return, and ~ (tilde) to generate a 1/2 second pause. Remote Init
String is trans-mitted to the modem each time the BBS resets itself for
another call. Local Init String is issued during a local login; it
typically contains the string "ATH1!" to make the phone busy while the SYSOP
logs in.
Searchlight uses interrupt-driven input AND it will use interrupt-driven
output if the "Output Buffering Factor" is set to a nonzero value. IF YOU
EXPERIENCE PROBLEMS with modem I/O, try setting your Output Buffering Factor
to zero. Some RS232 adapters or internal modems do not work reliably with
output buffering.
The BBS waits for an "OK" message from the modem after issuing init
strings. If no OK message is received, a warning message is printed.
Please consult the main manual for further information.
The "Direct Video" option found in this section lets you specify whether
direct writes or BIOS calls will be used for screen output. Select BIOS mode
if running Searchlight in a multitasking, windowed environment; use Direct
otherwise.
(C) Screen Colors Setup
These fields define screen colors used by the program on color CRT's. If
your CRT is monochrome, the colors selected will not affect you, but they
will affect those users selecting the Color ANSI mode when logging in.
Colors are expressed as numeric values from 0 to 15; the numbers correspond
to screen colors as follows:
(Dark Colors) (Light Colors)
0: Black 8: Dark Gray
1: Blue 9: Light Blue
2: Green 10: Light Green
3: Cyan 11: Light Cyan
4: Red 12: Light Red
5: Magenta 13: Light Magenta
6: Brown 14: Yellow
7: Light Gray 15: White
(5) Running Searchlight BBS
After exiting CONFIG, you are ready to run SEARCHLIGHT BBS. Simply type
SLBBS on the command line and press RETURN. You must be positioned in the
"current" directory containing the six BBS data files to run Searchlight;
otherwise, an error message will result.
SLBBS.EXE is the startup file which will invoke the main program, BBS.EXE,
login program, and other programs automatically. Always run SLBBS, rather than
BBS.EXE or LOGIN.EXE, when starting Searchlight. You can exit Searchlight BBS
and return to DOS at any time by pressing ALT-X. You can log in to the system
locally by pressing the spacebar or RETURN key. Other "hot keys" are described
in detail in the main manual.
To log in, type the RETURN key, select [C]olor or [M]onochrome graphics, and
enter SYSOP in response to the "Enter Your Name" prompt. SYSOP is a default
account created automatically by the initilization program. Although most
SLBBS operators use the SYSOP account, you can create other accounts for your-
self as neccesary. BE SURE TO ASSIGN A PASSWORD to your SYSOP account with
the OPTIONS command; otherwise, other users will be able to gain access to
your system.
(6) Text Directory Setup
The pathname specified as the "Text File Path" (item #13 on the General
Configuration Menu) determines where Searchlight will look for certain text
files, including online HELP files, menus, ANSI screens, etc. If you left this
field blank earlier, create a directory named TEXT and enter its pathname into
the Text File Path. Install the Searchlight online HELP files by unpacking the
file TEXT.ZIP into this directory (or, if you did not receive your HELP files
in archive form, copy all files with *.MH, *.SH, *.FH and *.TXT extensions into
your text directory).
Other files in the TEXT directory are files you create with a text editor or
ANSI type editor. Text files have the extension .TXT if the file is a general
text file for all users, or .ANS if the file contains ANSI sequences. You can
create seperate versions of a file for ANSI and non-ANSI users; for example,
if you have the files LOGIN.TXT and LOGIN.ANS, the TXT file is displayed when
a user selecting non-ANSI graphics mode logs in, and the ANS file is used when
an ANSI user logs in. If you want to use one file for both, name it LOGIN.TXT.
Here are the files you can create. All are optional.
LOGIN.TXT/ANS : Title screen, displayed with each login
LOGOFF.TXT/ANS : Ending screen, displayed at logoff
NEWUSER.TXT/ANS : File displayed once for each new user
MMENU.TXT/ANS : File to replace the main HELP menu
FMENU.TXT/ANS : File to replace the files system HELP menu
SMENU.TXT/ANS : File to replace the sysop HELP menu
SUBA.TXT/ANS : Subboard message files, displayed once each time a user
SUBB.TXT/ANS : accesses the indicated subboard.
... :
SUBX.TXT/ANS :
In addition, the online HELP files (files ending in .MH, .FH, and .SH) are
ordinary text files and may be edited if desired.
(7) Files and Doors Setup
To use the FILE transfer system and the DOORS system, you first need to
create two files, FILEDIR.DEF and DOORS.DEF. These files should be present
in the BBS's main working directory (same directory as the BBS data files).
These files must follow a strict format. Please consult the main manual
for complete details; check the table of contents under "Files System" and
"Doors System".
(8) General Information
Some general information and oft-overlooked points of interest:
Abort Key: At any time, the ^C key aborts messages, listings, or other
output in progress. It is quite responsive in comparison to much other
BBS software; use this key often.
Access Levels: Access levels go from 0 to 255. In general, access levels
do not have any "absolute" significance, but are relative to the minimum
access levels you set up on subboards, file directories, and DOORS. The
exceptions are access level 255, defining the SYSOP who has ultimate
access to all functions, and 254, defining a Co-SYSOP who has access to
most features except things like changing his/her own access level, etc.
Help Files: Read the online help files if you want a fast overview of the
system without reading the manual. Just select a command on the main
menu and type the '?' key. Press 'H', then RETURN, for a help menu.
Text Editor: Searchlight BBS's full screen, WordStar(TM) compatible text
editor works with most terminal software supporting the ANSI or VT100
terminal codes. A three-way setup switch (accessable via the Options
command) lets you configure the editor's level of ANSI support. In the
"Full" ANSI mode, the editor requires a robust ANSI terminal at the remote
end to work correctly. "Generic" mode is a relaxed ANSI mode, requiring
less support from the remote terminal but more modem I/O. "ProComm" mode
is provided as a special mode for ProComm(TM) users.
* FLASH * Telix 3.0 has been tested and found to work very well with
Searchlight when vt102 mode is selected within Telix. The only bug found,
with Searchlight configured for "Full" ansi mode, was in Telix's
implementation of the insert-character function. However, since ProComm
doesn't support that either, Telix works perfectly in Searchlight's
ProComm mode.
Doors: The Searchlight BBS Doors System is much more powerful than DOORS
systems provided by other BBS software. Rather than simply redirecting
output to the serial device, Searchlight completely replaces the BIOS INT
10 function, allowing ANY software that uses the BIOS to run as a door.
Cursor positioning, window clearing, color/attribute changes, etc. are
supported by translation into appropriate ANSI terminal sequences. On
the input side, F-Keys, cursor keys, and other special keys are trans-
lated from ANSI sequences to IBM extended keyboard codes. What this
means is that you can run not only line oriented programs, but many full
screen programs as Doors. The best way to see if a program will run as a
Door is to simply try it; make sure you use an ANSI compatible terminal
and run in ANSI mode if the door program uses full-screen features.
ShareWare vs. Extended Version: This ShareWare version of Searchlight BBS
is NOT a stripped-down or modified version of our Extended Version. It
is a powerful, flexible program in its own right. We offer the Extended
Version as an advanced Searchlight BBS offering more features and more
flexibility to those who need it. If you are unsure, you can use this
version now and upgrade later. Please consult the READ.ME file contained
in this package for complete details and order forms.
(9) Technical Comments
Finally, here is some information for the technically oriented.
Language: Searchlight BBS is written in Turbo Pascal. Versions starting
with 1.30 are compiled with Turbo 5.0 and are distributed as .EXE files.
Earlier versions were compiled with Turbo 3.0 and included .COM, .CHN,
and overlay (.000, .001, etc) files.
User File: Searchlight's user file (USER.BBS) is implemented as a binary
tree. The tree is not maintained as a balanced or AVL tree, but it may be
balanced on demand with the BALANCE function on the Extended Sysop Menu.
Deleted records are maintained internally on a free record list, and
reused automatically; when no free records exist, the file is expanded.
Message File: Searchlight BBS maintains messages as linked lists of data
blocks in the MESSAGE.BBS data file. Messages do not occupy fixed
amounts of storage but allocate as many blocks as is needed for the
message. Deleted message blocks are maintained in a free block list, and
reused automatically. MESSAGE.BBS contains text of all messages, mail,
and bulletins on the system.
Message texts are compressed before being stored according to one or
both of two simple compression algorithms. Compression reduces the size
of the message file 10-15%.
User mailboxes are implemented as linked lists of messages; thus, there
is no limit on the number of messages that may be in a user's mailbox.
Both the USER and MESSAGE files are totally self-maintaining; no
"packing" type operations need be performed. Deleted file space is
automatically and efficiently reused.
Directory Files: Each .DIR file is stored as a binary tree with an extra
set or pointers forming a chronological list. Thus, all single file
references, alphabetical file lists, and NEW message scans are extremely
efficient; only wild-card searches require the entire file to be
processed.
Limitations: The following values apply ONLY to ShareWare versions of
Searchlight BBS, and are subject to change in future versions:
Subboards: The number of message subboards is fixed at 24.
Messages: The maximum number of messages that may be posted on any
subboad is 290. In Extended Versions, this has been increased to 480.
Message File: The message file is subject to an upper limit of approx-
imately 3.1 megabytes. Searchlight BBS will return an "out of disk
space" message if this limit is reached (this represents thousands of
messages). The size limit is doubled to 6.2mb with Extended Version.
File Directories: The maximum number of entries in each FILEx.DEF file
is 26. However, you can have up to 24 seperate FILEx.DEF files,
giving you thousands of file system options.
Doors: For readability only, it is suggested that each DOORSx.DEF file
contain less than 20 entries. You can chain DOOR menus and you can
have seperate DOOR listings for each subboard.
.R:E
.X:12
.H:...LICENSE STATEMENT AND WARRANTY
.H:
.H:
SEARCHLIGHT SOFTWARE LICENSE STATEMENT
This software and printed documentation are copyrighted products of myself
and of Searchlight Software, and are protected by both United States
copyright law and International Treaty provisions. As the purchaser of this
software, you are allowed to make archival copies solely for your own
purposes and to protect your investment from loss.
You may NOT transfer any copy or copies of this software to any person or
organization UNLESS you transfer ALL of the copies that you own, and there
is NO POSSIBILITY that the software can be used by two or more persons at
different locations at the same time. For example, should you wish to sell
or give away your copy of the software, you may do so provided that you
transfer the original disk(s) and manuals to the new owner, and either
erase any other copies you may have, or transfer these copies to the new
owner as well.
You may not copy this printed manual in any way.
WARRANTY
With respect to the physical diskette and physical documentation enclosed
herein, Searchlight Software warrants the same to be free of defects in
materials and workmanship for a period of 60 days from the date of
purchase. In the event of notification within the warranty period of
defects in material or workmanship, Searchlight Software will replace the
defective diskette or documentation. The remedy for breach of this warranty
shall be limited to replacement and shall not encompass any other damages,
including but not limited to loss of profit, special, incidental, con
sequential, or other similar claims.
Searchlight Software specifically disclaims any other warranties, expressed
or implied, including (but not limited to) implied warranties of merchant
ability and fitness for a particular application. In no way shall Search
light Software be liable for loss of profit or any other commercial,
special, incidental, consequential, or similar damages.
ACKNOWLEDGEMENTS
The following applies to the entire contents of this manual as well as to
the online system documentation:
Turbo Pascal is a trademark of Borland International, Inc.
MS-DOS is a trademark of Microsoft Corporation.
Hayes is a trademark of Hayes Microcomputer Products, Inc.
Wordstar is a trademark of Micropro International Corporation.
IBM and IBM PC, PCJr, XT, AT and PC-DOS are trademarks of International
Business Machines Corporation.
.L:63
.N:1
.F:
.F:
.F:...$$$
.H:...INTRODUCTION
.H:
.H:
INTRODUCING SEARCHLIGHT
The Searchlight Bulletin Board System (BBS) is a program that allows you to
set up and run a remote access message system. Using your computer, a
modem, and the Searchlight software, you'll have a complete bulletin board
system that will
- Allow others to access your PC via telephone and exchange mail and
other messages, even when you are not at your computer.
- Provide password access and multiple levels of security, enabling you
to control exactly who has access to what information on your system.
- Allow unattended, error-free transfer of programs and data to and from
your PC and other PC's via telephone.
- Provide a complete, user friendly environment that's easy enough for
most people to use intuitively, without the need for any printed
documentation or assistance from you.
Those familliar with the BBS community, and especially those who have used
other BBS software, will appreciate the Searchlight's long list of powerful
functions and enhancements:
- Wordstar compatible full screen text editor makes it easy to enter
and edit text and messages, even from a remote terminal.
- Unique user interface with built in Online Help facility gives both
you and your users full access to the system's documentation.
- ANSI graphics support for flexible screen displays.
- Full security system with 255 levels of access.
- Up to 24 message subsections, up to 300 messages per section.
- Complete Electronic Mail system.
- SYSOP utilites allow you to adjust most aspects of the system to your
liking and give you powerful mass deletion commands. You can control
the entire system from a remote location.
- FILES system featuring alphabetical and date sorted directories,
passwords and access levels, XMODEM and YMODEM transfers, archive
directories, etc. FAST file transfers with advanced buffering
techniques.
- DOORS system gives you infinite expandability: run almost any program
from within your BBS, write your own commands (in any language), even
give DOS commands from a remote terminal. Searchlight is compatible
with many of the popular PCBoard(TM) door programs.
WHAT DO I NEED TO RUN SEARCHLIGHT BBS?
The answer:
- IBM PC, XT, AT or true compatible
- Hayes compatible modem
- RS232 serial port and modem cables (for external modems only)
- At least 256K of memory
- DOS 2.0 or higher
Although the program has been successfully tested on many compatibles (and,
indeed, has not yet proved incompatible with any of them), we cannot
guarantee that it will run on every computer. In particular, your serial
ports must be hardware-compatible with IBM's, since neither DOS nor the
BIOS provides adequate RS232 support, and the BBS impliments its own
drivers at the hardware level.
A hard disk drive is strongly recommended. Although the software can be
run on floppy disks, doing so will be cumbersome and leave you with very
little room to store messages and user information.
You will need a telephone line, preferably a seperate line devoted entirely
to your computer. Avoid lines with "call waiting" or other such features.
Although not stated in any manual, also required for running a BBS is a
somewhat fanatical ability to spend your hard earned time and money for the
pleasure of having strangers (often in faraway lands) use your computer
with seemingly little or no gratitude. If you feel as though you don't
have this capacity, don't worry about it because it usually develops soon
after your BBS first goes on line.
DIFFERENCES BETWEEN SEARCHLIGHT BBS
AND OTHER BBS SYSTEMS
Before you begin using Searchlight, we thought we would provide a short
explination of some of the major design features of the BBS and how these
compare to other BBS systems. It seems that all of the common BBS systems
that we can think of are based on a similar set of standards, and we have
noticed a lot of people becoming confused when Searchlight does things they
don't expect. A quick look at some major features of Searchlight might
clear up a lot of things. If you come to a point where you can't figure
out how to do something that you know the program should do, there's a good
chance that you are simply going about it the wrong way.
Message System
Many BBS's have a "flat" message system structure; that is, all the
messages on the BBS are viewed as one long list, with the oldest messages
at the beginning of the list, and the newest messages at the end. Still
others have message sub-sections (often called Conferences, Subboards,
etc.) that provide you with, essentially, several smaller lists of messages
rather than one long list.
Searchlight is, for the most part, similar to these systems. On Search
light the message subsections are called "Subboards" and you can have as
many as 24 of them, each with a different name and access level. In
addition, you can assign a "Subsysop" to each message section who acts as
the mediator for the discussion and has special privlidges to edit and
delete messages under his/her domain.
Electronic Mail
On most systems, sending a private message to another user is possible by
specifying the name of the user to whom the message is directed. Such a
message cannot be read by others, but it still appears on the message
subsection with the other messages. Typically, you can find messages
directed to you by performing an automatic search of all the messages in
the system, looking for ones with your name on them.
Searchlight uses a different approach. Rather than placing private
messages in with the general message base, you send messages directly TO
another person on the system. This operation is called Electronic Mail,
and it is similar to the way real mail works. When you decide to send a
personal message to someone, the system looks up their name and places your
message into that user's personal "mailbox". To read a personal message,
you inquire into your own mailbox to see what mail other people have sent
to you. This method is a lot faster than the traditional approach and
gives you an easy way to manage your own messages, seperate from the main
stream of things.
Incidentally, writing a public message on Searchlight is known as "Posting"
the message, and is done with a command called POST. Sending a private
message is referred to as "Sending" the message, and is done through the
MAIL command.
Message Numbers
Most BBS's assign a sequential message number to each message that is
entered into the system. While this seems like a wholly obvious and
logical way to organize a message base, anyone who's used a well
established BBS has probably encountered the major deficiency in this kind
of design. Even though old messages are deleted, message numbers continue
in sequence, resulting in hard to remember four and five digit message
numbers, even if there are less than 100 messages in the system. While
most BBSs (as does Searchlight) provide you with commands that let you
access the most common operations without having to type numbers, large
numbers are still unsightly and confusing, especially when, for example,
there are only 10 messages between message 3000 and message 4000.
We thought a better idea would be to have "floating" message numbers. On
Searchlight, the number of the highest message is always equal to the
number of messages on the subboard. If, for example, a subboard contains
75 messages, the oldest message is message 1 and the most recent is message
75. What this really means is that messages don't actually HAVE numbers-
because when a message is deleted, all subsequent messages are "renumbered"
one number down. So don't be suprised if what was message 50 one day
becomes message 45 the next. That's the way the system works.
Bulletins
Searchlight BBS has user-definable bulletins. Unlike other systems, where
the bulletin feature is defined by the sysop, users can post bulletins.
The bulletin function is actually a special message base with features that
make it good for posting announcements and urgent messages. Complete
details on how it works follow in the body of this manual.
Quotes
As with bulletins, quotes on Searchlight is not a static file of quotes as
found on some systems, but a function that stores and displays quotes left
by the users of the system.
Flow Control
The term "flow control" refers to the flow of characters between the BBS
and a remote terminal, and it's very important on an interactive system
like Searchlight BBS. During almost all operations, you can pause the
output from the BBS by pressing control-s, and abort a message or listing
by pressing the spacebar or control-c (to enter a "control" character, you
hold down the key marked "Ctrl" on your keyboard and press the desired
character, then release both keys. In this manual, control keys will
generally be indicated with the ^ symbol; in other words, ^C means control-
c).
Most BBSs have, or claim to have, this kind of flow control, but on
Searchlight we designed accurate flow control into every part of the
system. Whereas some programs won't stop sending output until several
seconds after you press ^S, Searchlight will almost always "stop on a
dime". On many BBSs that we've seen, the ^C feature rarely works; on
Searchlight it works so well that it is sometimes the only way to exit from
long listings and printouts. For example, after the screen fills up with
text, most systems will stop and present a prompt such as "More? (Y/N/NS)"
and take the respone. Searchlight's "more" prompt simply says "more", and
it takes any key as the response to continue sending output. There's no
need to explicitly ask if you want more, because you can halt the BBS at
any time by pressing ^C- and keep that thought in mind, because ^C (or
spacebar) is a very powerful and oft overlooked feature of the BBS.
One final word about flow control: in practically every situation where the
BBS requires you to answer an input prompt with a single character
response, you need only type the desired character, NOT type the character
and then press RETURN. You only need to press RETURN after typing a whole
line of input. If you forget, and DO press the return key, it will be
stored in memory (all input is fully "buffered") and used as the response
to the NEXT input prompt. This can be quite undesirable and confusing, if
you do not understand what's going on- so be a little careful at first.
There are many more interesting Searchlight features, but rather than go
into detail here, let's get started with the installation instructions.
These are the major points we want you to keep in mind as your system
unfolds, and we'll get to the rest of the goodies in turn.
.H:...INSTALLATION
.H:
.H:
SEARCHLIGHT BBS INSTALLATION AND SETUP INSTRUCTIONS
Searchlight BBS requires an IBMPC, XT, AT, or compatible, running PCDOS or
MSDOS version 2.0 or higher. You need a Hayes compatible modem and a
serial (RS232) interface (for external modems only).
Your modem should be connected to the computer and configured as either
COM1, 2, 3, or 4. Refer to your modem's documentation for instructions on
how to install and set up the modem. If you are using a new modem or
computer, you should verify that the modem is working correctly by running
the modem software that came with your modem. This way, if you have
trouble setting up your BBS, you'll know whether the modem itself might be
at fault.
Some sort of text editor or word processor will generally be required for
creating/editing text files needed by the BBS. Since most people already
have their favorite, we'll assume you know how to "edit" text files (such
as CONFIG.SYS) on your system. We use the excellent PcWrite(TM) system
which is available as a shareware product from many sources.
THE CONFIG.SYS FILE
Somewhere in the root directory of your hard disk, or on your MS-DOS disk
if you have only floppies, there should be a file called CONFIG.SYS. This
file is used to configure various aspects of your computer as it boots.
Using a text editor or word processor, examine the CONFIG.SYS file and make
sure it contains these three lines:
Files = 20
Buffers = 20
Device = ANSI.SYS
These commands ensure that your computer allocates enough file buffer space
for the BBS, and that the ANSI.SYS driver is loaded. If your CONFIG.SYS
file already contains lines like those shown above, make sure the values
for Files and Buffers are at least as large as those shown above; other
wise, change them to the above values. If your disk does not contain the
CONFIG.SYS file, create it, and add the three lines shown above.
If too few file buffers are allocated when you try to run Searchlight BBS,
the program may crash with an "I/O Error F3" message. If this occurs,
check to make sure your CONFIG.SYS file contains the appropriate commands.
The ANSI.SYS driver is not required by the BBS, but it is neccesary if you
wish to display text files which contain ANSI escape sequences. Note that
we recommend using the DOS ANSI.SYS driver, because other ANSI drivers
which bypass the BIOS may prevent some programs from running as Doors.
More information on the CONFIG.SYS file can be found in your DOS manual.
INSTALLING THE SYSTEM FROM THE DISTRIBUTION DISK
We assume you will be installing your BBS system on a computer with a hard
disk drive that's configured as drive "C:" and a floppy drive configured as
drive "A:". If you will be installing on floppies, please read this
section and the following instructions for "Installing With Floppies".
Begin the installation by placing your original disk in drive A: (NOTE: you
should make a backup copy of your original disk before you begin. You may
do so with the usual DOS command, ie. DISKCOPY. The Searchlight disk is
not "copy protected"- but see the copyright notice at the beginning of this
manual). Your original disk should contain the following files, which you
can confirm by doing a DIR of drive A:
CONFIG.EXE -- Configuration & setup program
SLBBS.EXE -- System startup program & doors manager
LOGIN.EXE -- Login and new user registration
BBS.EXE -- Main BBS system
SYSOP.EXE -- Sysop command menu
FILES.EXE -- File transfer menu
TEXT.ARC -- Archive file containing online help files
If your disk has a file called "READ.ME", it contains some last minute
instructions or information that could not be included in the manual. READ
THIS FILE FIRST. You can display it on your screen with the command
"TYPE READ.ME".
The first step in setting up the BBS is to create a directory for it on
your hard disk. Although you CAN run the system by dumping everything into
the "root" directory, this is strongly discouraged, as it will prevent you
from using some of the system's features as they are intended to be used.
At the least, you will require a "main" directory that contains all of the
data files associated with the BBS, a "text" directory that contains text
files that the BBS will use (for example, help files and custom messages),
and a "program" directorie that contains the program files (the programs
can, and often will, be in the "main" directory- we'll show you how to do
it that way first, and tell you how you can change it later if you want).
As an example, we will create a main directory called "\BBS" and a text
directroy UNDERNEATH the main directory, as "\BBS\TEXT". The commands to
do this from the "C>" prompt would be as follows:
C> MKDIR \BBS
C> CD \BBS
C> MKDIR \BBS\TEXT
Next, copy the executable files from the floppy disk in drive "A:" to the
hard disk. Use this command:
C> COPY A:*.EXE C:\BBS
Finally, the online HELP files should be copied into the TEXT directory.
These files are provided by on the installation disk either as an archive
(TEXT.ARC) or as a group of text files in a subdirectory called TEXT. If
your help is ARChived, you need an archive program (such as PKXARC by Phil
Katz) to unpack it; issue the commands
C> CHDIR \BBS\TEXT
C> PKXARC A:TEXT
If you don't have an ARC file, give these commands instead:
C> CHDIR \BBS\TEXT
C> COPY A:\TEXT\*.*
That takes care of transferring the system to your hard drive. Now,
position yourself in the "main" directory by typing "CD \BBS" from the "C>"
prompt. It's important that you ALWAYS be in the main directory (NOT the
root directory) when attempting to run the BBS. Otherwise, the system will
not be able to locate the BBS's data files, even if it can find the program
you want to run.
If you find the above "DOS" commands confusing, don't worry! You will not
have to issue any DOS commands once you have the BBS loaded and running.
Just type the above commands verbatim, and you should be able to accomplish
the installation job even if you have little or no knowledge of DOS.
You are now ready to configure your system, using the CONFIG.EXE program.
.H:...FLOPPY INSTALLATION
.H:
.H:
INSTALLING WITH FLOPPIES
If you will be running your system with floppy disks only, we recommend the
following setup procedure.
1. Copy the files SLBBS.EXE, BBS.EXE, LOGIN.EXE, FILES.EXE and SYSOP.EXE
onto a blank floppy disk. This disk will be placed in the "A:" drive
when you run the BBS program.
2. If you have two drives: place the Searchlight Distribution Disk in the
"B:" drive and type CONFIG. After CONFIG loads and asks you if you want
to create the Searchlight data files, remove the disk from the B: drive
and replace it with a blank disk. The B: drive will contain the data
files for your BBS system.
If you have only one drive, use the A: drive and replace the distrib
ution disk with the disk containing the .EXE files.
3. Use CONFIG to set the proper pathnames for Program files, as discussed
in the next section of the manual. In this case just enter "A:" for the
program pathname.
4. To start the BBS, place your disk(s) in the drives and type A:SLBBS
while positioned in the drive containing the .BBS data files.
Notice that you do not need to keep the CONFIG.EXE program on the working
diskettes. You can keep it offline while the BBS is running, and run it
only when neccesary. However, we recommend keeping it online at all times,
if you have the room.
It is not necessary to install the online HELP files. These files will
consume much of your available space if used, therefore, you probably won't
want to keep them on your working disks. A "help file not available"
message is displayed by the BBS if a request for HELP files is made and the
files are not available.
Space for messages, files, and DOOR options will be limited. Usually you
will want to opt to support one or another. If you do not intend to have
any file directories at all, FILES.EXE may be removed from your working
disks, giving you a little more room.
Try to leave a little extra room on the disk with the program files. This
way, you won't have a problem upgrading to a future version of Searchlight
BBS if the .EXE files are larger.
.H:...CONFIGURATION
.H:
.H:
SEARCHLIGHT BBS CONFIGURATION
The CONFIG.EXE program creates the BBS's data files (the files that will
hold messages, user names, etc.) and allows you to edit a variety of
available options as needed. To set up Searchlight BBS, you run CONFIG
once to create the data files, and again whenever you need to change a
system configurable option on one of the CONFIG menus. Options include
such things as the BBS system's name, standard access levels, modem setup
commands, and screen colors.
You should always be located in the "main" BBS directory- the directory
where your BBS data files are or will be located- when you run CONFIG.EXE.
Run the configuration program by typing CONFIG at the DOS prompt. If you
have been following our example so far, the command would be:
C> CONFIG
Because you are running the program for the first time, you will receive
this message:
Searchlight BBS system files cannot be found.
Do you wish to create them in the current directory? (Y/N):
Press "Y" to intitialize the new system. CONFIG creates the following
files in the current directory:
CONFIG.BBS -- Configuration, options & current settings file
USER.BBS -- Searchlight's user file
INDEX.BBS -- Subboard definition file
MESSAGE.BBS -- Message text file
LOG.BBS -- Caller log file
QUOTES.BBS -- User quotations file
If you run CONFIG again later on, you should not see the "system files
cannot be found" message. If you DO, it indicates that you are NOT located
in the main directory that contains the files, and you should switch to
that directory and try it again.
Your screen should now show Searchlight's main configuration menu. CONFIG
divides the setup procedures into three categories, as follows:
1. General System Setup - configures almost all of the system's operations
2. Communications Setup - configures modem and serial I/O control
3. Screen Colors Setup - sets colors displayed on the screen
Begin by selecting item #1, General System Setup, by pressing the "1" key
on your keyboard (don't press RETURN- just press "1"). The screen now
shows the General System Setup options, as described on the following
pages.
.H:...GENERAL CONFIGURATION
.H:
.H:
Searchlight BBS General Setup Menu
1. System Name ..................... Searchlight
2. Allow New Users ................. Yes
3. New User Access Level ........... 1
4. New User Time Limit ............. 20
5. Validated Access Level .......... 5
6. Validated Time Limit ............ 45
7. New User Files Access ........... 1
8. Validated Files Access .......... 5
9. Idle Time Limit ................. 0
10. Max. Mail Length ................ 99
11. Max. Bulletin Length ............ 99
12. Program Path ....................
13. Text File Path .................. C:\BBS\TEXT
14. Include File Path ...............
15. Default Log File ................
16. Default Passwd for Uploads ......
17. Maximum Download:Upload Ratio ... 0
18. Activity Logging ................ No
19. DOORS Setup Filename ............
The first field, System Name, is highlighted by a reverse-video bar. To
change the value of the field, you can type over the existing string, or
edit it with the cursor keys. To switch to other fields, press the up and
down arrow keys. Numeric values are entered by typing a number within the
allowable range, which is indicated to the right of the field when a
numeric field is selected; Yes/No fields are changed by typing Y or N.
Here is a detailed description of the functions of each option. As you
move down the list, change the options as neccesary or desired for your
particular system.
1 - System Name
This is an alphabetic field that you can use to enter an identifying name
for your BBS. This name is used at the login message, on the help screen
display, at the top of the Bulletin listing, and in the logoff message.
2 - Allow New Users
This option, normally set to "Yes", determines whether your system will
allow new users to register their names and passwords. When set to "Yes",
new users will be allowed to register by typing "NEW" at the login prompt.
If changed to "No", your BBS becomes a "closed" system, allowing only those
users with passwords already on file to log in.
If you decide to run a closed system, you must still set this option
to "Yes" initially to allow users to register. You can either allow your
users to register themselves or you can register the names yourself by
logging in locally and typing "NEW" at the login prompt.
3 to 8 - Message & File Access Levels and Time Limits
Fields 3 thru 8 allow you to set two levels of default user options. "New
User" values are the values assigned to new users upon registration via the
"NEW" login facility. "Validated" fields contain the values assigned to
users by the "Validation" feature of the BBS. The validation process is
totally up to you; if you set the new user and validated user fields to the
same values, all users will be validated automatically.
Access levels range from 0 to 255. A level 10 user has all the
privileges of level 0 thru 9 users, etc. Level 255 is Sysop level and
should not be assigned to anyone but the owner of the sysetm. 254 is co-
sysop level which provides sysop privleges with two restrictions: Co-
sysops cannot change the SYSOP's password or access level, nor can they
raise their own access level to SYSOP (255).
Access levels determine the extent of a user's access to the message
bases and other features of the system. Use of access levels is described
in conjunction with the commands which refer to it.
"Files Access" is a seperate value that defines access to the file
system directories. Normally, you would set these fields to the same
values as the "access level" fields, but they can be changed for special
purposes later on.
9 - Idle Time Limit
This field contains a value between 0 and 59 and it specifies, in minutes,
the amount of time that the BBS will wait for incoming keystrokes. If the
system is waiting for input and no keys are typed by the user for more than
the specified amount of time, the BBS will hang up the telephone and
recycle to the Login screen.
For best results, a value between 5 and 15 is recommended. A value of
zero disables idle time limit checking.
10 and 11 - Maximum Mail and Bulletin Length
These fields store the maximum length, in lines, of bulletins and of
messages sent via the MAIL facility. Normally, these are set to 250 (the
maximum allowable length) but you can change them if you wish to restrict
the lengths of these types of messages.
12 - Program file pathname
This option determines where the BBS will look for its executable (.EXE)
files. If no pathname is given, it defaults to the current directory.
Use this field if you wish to have your program files located on a
different drive or directory than your data files. You may wish to do this
if you're running a floppy-only system to maximize the amount of data on
your data disk; you can also use this option to place your .EXE files into
a high-speed RAMdisk for faster access.
Note that there are no "Overlay" type files in this version of
Searchlight BBS (some previous versions included overlay files and an
overlay file path option).
13 - Text File Pathname
The Text File path is the directory where the BBS will look for all of its
text files. These include the user-defined login and info files, subboard
and file file directory signon messages, HELP files, and any files
referenced in messages via the @@FILENAME directive. Note: The text
files "FILEDIR.DEF" and "DOORS.DEF" should be located in the "main"
directory, rather than the text directory.
For security reasons, we reccomend that the Text directory be different
from the current directory and the Program File path. This is because the
@@FILENAME command can access any file in the text path, and can lead to
unwanted access to system or other private files (@@FILENAME is discussed
further later in the TEXT EDITING section of this documentation).
If you've been setting up your system according to our tutorial, you
should now enter C:\BBS\TEXT into this field. Do this by pressing the down
arrow key until the field is highlighted, and then typing the string
"C:\BBS\TEXT".
14 - Include File Pathname
This pathname allows you to specify a directory which the users of you BBS
can access for the purpose of "including" text files in messages (via the
"%%FILENAME" directive, as discussed later in the manual). Normally, if
you use this pathname, you'll also have a file transfer directory set to
the same directory. See the FILES system section for more details.
15 - Default Log File
Default Log File is a default name that will be shown whenever a log
(ALT-L) or forward to disk operation is selected. A default name is not
required, and is only a convenience that allows you to log messages and
information to one file without having to enter its name each time.
16 - Default Password for Uploads
This field, if filled in, defines a default password that will be assigned
to each new file that is uploaded to the BBS via the File Transfer system.
The purpose behind having a default password is to allow you to have
control over new files. Once a file is uploaded and assigned the default
password, no one will be able to download the file until you remove the
password, thus giving you the opportunity to check each new file before you
allow it to be downloaded by the users of your BBS.
Most sysops will leave this field blank, allowing all new files to be
downloaded without having to be cleared. If you do set this field,
remember that you, or a co-sysop, must reset the passwords on all new files
before they can be accessed (see the FILES system documentation for more
info).
17 - Maximum Download:Upload Ratio
The value in this field determines the maximum download/upload ratio that
will be allowed. A value of 3, for example, indicates that users may
download three times as much data as they've uploaded. You can use this
field to prevent users from downloading excessively without uploading; when
the dl/ul ratio is exceeded by a user, the program will not allow any more
downloads by that user until he or she has uploaded a sufficient amount of
files to bring the ratio to within the allowed range. Uploads and down
loads are measured in kilobytes rather than as the number of files sent and
received.
Setting field 18 to zero disables the dl/ul ratio check and allows
users to download freely.
18 - Activity Logging
When this field is set to "Yes", the LOGIN program produces a continuous
log of all logins and logouts that occur. This log is written to a file
called ACTIVITY.LOG within the main directory. The format and possible
uses of the activity log are discussed further in Appendix A, Using The
Activity Log, at the end of this manual.
Set this field to "No" if you wish to disable the continuous log.
19 - DOORS Setup Filename
This field can be used to set the filename, including drive and/or path, of
the setup file created by the DOORS system when an external program is run.
The DOORS Setup File is a file containing information about the BBS that
can be accessed by an external program; it is provided primarily for
compatibility with the PCBoard(TM) BBS system. The format and use of this
file is discussed further in the DOORS section of the manual.
This field should specify a full filename, not just a path. If you
leave this field blank, no setup file is generated by the BBS.
.H:...COMMUNICATIONS CONFIGURATION
.H:
.H:
Searchlight BBS Communications Setup
When you're through configuring the general setup options, press the F1 key
to go back to the main menu, then select option 2, Communications Setup.
This menu lets you configure your system to the type of modem and serial
port you have on your computer. PLEASE READ THIS SECTION CAREFULLY; proper
modem setup is vital to the correct operation of your BBS system.
1. Comm Port ..................... 1
2. Support 300 Baud .............. Yes
3. Support 1200 Baud ............. Yes
4. Support 2400 Baud ............. No
5. Support 4800 Baud ............. No
6. Support 9600 Baud ............. No
7. Remote Init String ............ ATH0S0=1!
8. Local Init String ............. ATH1!
9. Modem Msg Baud Detect ......... No
10. Direct Screen Writes .......... Yes
11. Output Buffering Factor ....... 15
1 - Comm Port
This controls which communications port, 1 thru 4, will be used to communi
cate with the modem. Make sure you set this option to the correct value
for the modem in your system.
2 to 6 - Baud Rate
Searchlight provides serial I/O support for speeds of up to 9600 baud,
depending on the modem used. The default setting, as shown above, is
for a 300/1200 baud modem. You must NOT configure the BBS to support any
baud rate higher than your modem actually supports. You can disable or
"lock out" lower baud rates, in particuar 300 baud, if you do not wish to
support them even though your modem is capable of doing so. Users who
attempt to communicate at a "locked out" speed will be not be allowed to
access your BBS in any way.
7 - Remote Init String
This field defines the string of characters that will be sent to your modem
whenever the BBS begins running or resets itself after completing a call.
You can use this string to send whatever initialization commands your modem
requires before being able to accept a call.
Besides ASCII characters, there are two special characters that you
can insert into the modem init string:
~ Causes a 1/2 second delay between characters sent
! Causes a carriage return (CR) to be sent
NOTE that it is important to end the string with a ! character if you want
it to terminate with a C/R. The ! can be used several times within the
string, allowing you to send several commands to the modem.
In the above example, the string ATH0S0=1 followed by a carriage
return is send to the modem for initialization. ATH0 is the command to
tell a Hayes compatible modem to go "on hook", thus ready to answer a call;
ATS0=1 sets modem register zero to a value of 1 (this allows most modems to
answer the phone on the first ring). Various modems may require additional
commands for proper operation. Check the manual that came with your modem.
The init string is sent to the modem at the highest speed indicated in
options 2 through 6. For most modems, it is essential that at least some
command is sent to the modem after each call in order to initialize the
modem to the proper transmission speed. Therefore, we recommend that you
ALWAYS have something in this field, even if it's just the empty modem
command (AT!).
Please read the following section, "Additional Modem Considerations",
for more information about modem configuration.
8 - Local Init String
This string is similar to the Remote Init String, except that it is sent to
the modem whenever you initiate a "local" logon to the system (by pressing
a key at the keyboard while the system is waiting for a call). In the
above example, ATH1 is sent. This command places the phone "on hook", that
is, it tells the modem to make the telephone line busy. This is very
useful, since any users who attempt to call your BBS while you are logged
on locally will receive a busy signal, rather than no answer.
9 - Modem Msg Baud Detect
This option determines how the BBS will determine the baud rate of a remote
call. When set to "Yes", the program will set the baud rate by the Modem
Message method; that is, it expects the modem to send a message that says
"CONNECT xxxx" (where xxxx is the baud rate) upon connecting to the remote.
The BBS reads this message and uses it to set the baud rate.
If this field is set to "No", the program will determine the baud rate
via the Keystroke method. It will cycle through the defined baud rates
until the user presses the RETURN key on the remote end. If you use this
method, you must press the RETURN key several times upon connecting with
the BBS in order to establish the proper baud rate.
This topic is discussed further below.
10 - Direct Screen Writes
This option controls the way Searchlight BBS writes information to your
computer's screen. If set to "Yes", Searchlight will directly access the
computer's video hardware. If "No" is specified, Searchlight will use the
BIOS calls for all output.
Generally, set this option to "Yes" as it provides much faster output.
However, if you want to run Searchlight BBS under a multitasking or
windowing operating system (such as DesqView, TopView, or Microsoft
Windows) you must set Direct Screen Writes to "No" in order to keep Search
light from interfering with other programs. A setting of "No" may also
enable Searchlight to run on some non-IBM compatible MS-DOS machines
(although we cannot guarantee that all aspects of the program will function
correctly on such machines).
11 - Output Buffering Factor
This value controls the size of the BBS's output buffer during interrupt
driven communications. The default value of 15 is adequate for most hard
disk based systems. On slower systems, or when using floppy disks, setting
the output buffering factor to a higher value increases the total through
put speed of the system. On faster systems (such as the newer 286 and 386
based systems), setting the output buffer to a smaller value allows
slightly greater I/O control from the remote end.
The actual buffer sized used is scaled according to the baud rate and
is equal to the output buffering factor * (baud rate/300). Notice that this
value affects the output buffer only, not the (more important) input
buffer, which is fixed in size at 1024 bytes.
Experience has shown that some modems and/or serial ports do not work
well during interrupt driven output. In these cases, output buffering can
be disabled completely by placing a zero in field 11. If you experience
sluggish output or system "lockups" when operating with a nonzero output
buffer, please try using your system with a zero in this field. Interrupt
driven input remains in effect regardless of the setting.
If you are unsure about what value to assign, use the default value of
15. This option is strictly for "fine tuning" the performance of your BBS
and it will not affect performance greatly in either direction.
ADDITIONAL MODEM CONSIDERATIONS
In order for Searchlight to work properly, your modem must be at least
minimally compatible with the Hayes Smartmodem standard. These things are
required:
The modem must assert the Carrier Detect (CD) signal when a carrier is
detected, and remove it when carrier is absent;
The modem must hang up the telephone in response to a negative toggle on
the Data Terminal Ready (DTR) line;
The modem must respond with a "CONNECT" or "CONNECT xxxx" message when
connecting to a remote modem (where "xxxx" is the baud rate). This is
only required if you use the "Modem Msg" method of baud rate detection.
Most modems have options to disable the CD and DTR signals, either via dip
switches or commands. If your modem uses dip switches, you must configure
the switches to show the "true" state of CD, and respond to the DTR signal
from the computer. If commands are required, you must place the commands
in the modem remote initialization string (option number 7 in the comm
unications configuration menu). Remember that you can enter more than one
modem command in the modem initialization string- most modems will accept
several AT commands strung together (ie. ATH0M0S0=1), and if not, you can
use the "!" character to generate a carriage return. If you send several
commands seperated by carriage returns you may also need to place one or
more "~" characters after each command to allow the modem enough time to
complete the command before executing the next instruction.
For most 2400 baud modems, the init string "ATH0M0X4&D3&C1S0=1!" works
well. Try "H" instead of "H0" or "M" instead of "M0" if you have problems.
If your modem has a speaker, you will probably want to disable it while
your BBS is running. You can do this by inserting the command to turn off
the speaker into your Remote Init String (usually ATM0).
If your modem does not answer the telephone, chances are that modem
register S0 needs to be initialized to a nonzero value. While most modems
initialize S0 to 1 when reset, some, particularly internal modems, initial
ize it to 0, preventing the modem from answering any calls. Use the
command
ATS0=1!
in your remote initialization string (this command is present in the
default init string when you first set up your BBS).
If your modem won't hang up the phone at the end of each session (ie. after
the GOODBYE command is executed), it means that the modem is ignoring the
status of the DTR signal coming from the computer. This is a common
situation, and can usually be corrected by setting a dip switch on the
modem. If you can't correct this problem, try setting your modem init
string to:
~~~+++~~~ATH!
This will cause the BBS to perform a soft-reset of the modem at the end of
each call by sending the modem escape sequence, followed by the hangup
command. Since this method takes longer and is less reliable than a hard
ware hangup, it is recommended that you use it only if you can't get the
hardware hangup to work.
When sending a command to the modem, the BBS will wait for the modem to
respond with an "OK" message. If the "OK" is not received, the program
will print a warning message on the screen. If this happens it indicates
that your modem is not responding; usually, this means that your modem is
turned off, connected to the wrong communications port, or improperly
connected. You should check the modem and try to alleviate the problem.
If you receive this message the first time you run your BBS, make sure that
the COMM port selected in option 1 on the configuration menu corresponds to
the port to which the modem is connected, and make sure that the baud rates
selected (options 2-6) correspond to the baud rates supported by your
modem. Finally, some modems have a dip switch that can be set to have the
modem ignore all commands; make sure this switch is turned off. If you
continue to have difficulty, it could indicate that your modem is not Hayes
compatible (or needs to be configured for Hayes compatibility) or that your
communications ports, computer, or operating system are not IBM compatible;
although this is rarely the case.
REMOTE BAUD RATE DETECTION
The BBS can be configured to determine the baud rate of an incoming call in
one of two ways, according to the value of field number 9 on the Communi
cations Configuration menu. When this field is set to "Yes", the program
reads the modem connect message; when set to "No", it samples keyboard
input to determine the baud rate.
The modem message method is usually preferred, since it does not require
that you strike the RETURN key before the BBS recognises you. However,
this method requires a Hayes compatible modem configured to respond with
the proper message (ie. CONNECT 1200, CONNECT 2400, etc). The keystroke
method requires that you press the RETURN key on the remote terminal
several times before the connection is established; however, this method
will work with non-Hayes compatible modems and with other types of
connections, such as local area networks.
If your BBS answers the telephone but connects at the wrong baud rate (for
example, if it registers a 300 baud connection even though a 1200 baud call
has been made), it indicates that the modem is not sending the proper
connect message to the BBS (in this case, "CONNECT 1200"). Some modems can
be configured to send the CONNECT message as numbers instead of words, or
just send "CONNECT" without a baud rate, or not send any message at all.
You will have to configure your modem- either through dip switches or via
commands in the modem init string- to send the proper message when
connecting. Since these operations are nonstandard and vary from modem to
modem, you will have to check the manual that came with your modem for the
proper switch settings and commands for your modem.
If you have this problem and don't have an "ATS0=1" in your init
string, try adding that; "ATX4" also seems to be neccesary for some modems.
It is expected that the "CONNECT xxxx" message will be sent at the highest
baud rate that's been selected for the BBS in options 2 thru 6 on the
configuration menu. Many modems will actually send the connect message at
whatever speed the last command from the computer was sent at. For this
reason, we recommend that you always have a modem init string; if you don't
need to send any commands to your modem, just send
AT!
as this will cause the modem to be reset to its highest operating speed at
the start of each new call.
Remember to add the ! character at the end of your modem init strings.
Leaving off the ! is a common mistake.
If you can't get your modem to connect properly using the modem message
method, use the keystroke method instead.
MODEM OUTPUT BUFFERING
Searchlight BBS normally uses a two-way system of interrupt-driven i/o
buffering. What this means is that both input and output are buffered.
Buffered input means that characters entering the BBS from the modem- keys
typed by the remote user- are stored in a buffer for use by the BBS when
they are needed. This allows you to "type ahead" without losing any
characters; the keys you type appear whenever the BBS is next able to
accept them.
Buffered output is also supported. Output buffering allows the BBS system
to "dump" many characters of output into a buffer, and "spool" these output
characters to the modem at the modem's speed, even while the BBS is
performing other tasks. Modem output is done in the background. Using an
output buffer has an important effect on the speed of the BBS as viewed
from the remote end.
However, we have found that modem output buffering doesn't work properly
with all systems. In a few cases, using an output buffer will cause the
BBS to run much more slowly than it should. If you experience any problem
running Searchlight with an output buffer, it is suggested that you disable
the output buffer. To disable output buffering, simply enter a value of 0
in the "Output Buffering Factor" field (field #11) on the Communications
Setup menu.
.H:...SCREEN COLORS CONFIGURATION
.H:
.H:
Searchlight BBS Screen Colors Setup
The final selection on the Setup menu is used to set screen colors. When a
color CRT is used, Searchlight can display up to ten different foreground
and two background colors, selected from a palette of 16 colors. The
Screen Colors menu looks like this:
1. Normal Text Color ............. 3
2. Normal Background Color ....... 0
3. Inverse Text Color ............ 7
4. Inverse Background Color ...... 1
5. Command Color ................. 5
6. Subboard Highlight Color ...... 14
7. Heading Color ................. 15
8. Input/Chat Mode Color ......... 2
9. Prompt Color .................. 13
10. Special Messages Color ........ 4
11. Error Messages Color .......... 9
12. Alternate Color ............... 5
Each entry is a number from 0 to 15. The numbers correspond to the
following colors:
(Dark Colors) (Light Colors)
0: Black 8: Dark Gray
1: Blue 9: Light Blue
2: Green 10: Light Green
3: Cyan 11: Light Cyan
4: Red 12: Light Red
5: Magenta 13: Light Magenta
6: Brown 14: Yellow
7: Light Gray 15: White
Note that some color monitors do not recognise the "Light" colors; on these
monitors, the light colors will be displayed as their dark equivalents.
The colors you enter into the above fields are used by the BBS when run on
a computer with a color display, or when [C]olor mode is selected by a
remote terminal. In order to see the colors, the remote terminal must have
a color CRT and it must recognise the ANSI escape sequences used to create
colored text (the specific ANSI sequences used to create each of the above
colors can be found in your DOS manual).
"Normal Background Color" (field #2) affects only the background color
of the local PC. The background color of the terminal is always black,
except when highlighting input fields.
The BBS is capable of supplying color or monochrome graphics to the
remote terminal independently of the local PC. That is, if the local PC
(the computer running the Searchlight BBS Software) has a color CRT, but
the logged-in user selects Monochrome graphics, color will still be
displayed on the local screen, even though only monochrome codes are being
sent to the terminal. Similarly, if the system is run on a Monochrome
display, only monochrome graphics are sent to the screen even though color
graphics are being sent to the terminal. Note that while the colors sent
in Color mode can be adjusted, the monochrome mode is fixed and will always
appear the same regardless of the colors selected for Color mode.
If you don't own a color display, it is suggested that you leave the
colors set to their default values. Experience has shown that it is
difficult to estimate how a particular color combination will look without
actually viewing it on a color CRT.
When you are done with the configuration program, exit it by pressing the
RETURN key. The settings you select are saved to disk in the CONFIG.BBS
file. You are now ready to run your BBS system and "log in" to the Sysop
account!
.H:...TEXT FILES
.H:
.H:
SETTING UP TEXT FILES
Searchlight provides you with a way to customize your BBS by defining your
own messages that will be displayed by various parts of the program. You
can define a "greeting" message that will be shown to all users when they
connect with your system, a message to be shown to new users, a general
information message, etc. In addition, you can set up seperate messages
for ANSI and non-ANSI terminals, or use the same message for all.
Setting up text files is not required, but most people will want to do so
before running their system. If you're in a hurry, you can skip this
section of the manual and set up your text files later.
The messages you define will be saved in files. To write them, you must
use a word processor or text editor that can write standard ASCII files to
disk. You can use the Searchlight's built-in text editor for this purpose,
provided that it is adequate for the files you intend to produce.
Files that end in .TXT are "standard" text files. These should contain
only ASCII text. The standard text file will be used when ANSI graphics
capability is not selected.
Files ending in .ANS are ANSI files. These can contain ANSI escape
sequences, as well as IBM character graphics (ie. eight-bit character
codes). The ANSI version of the file is used when ANSI graphics are
enabled.
You do not need to create two versions of a file if you don't wish to send
seperate text to ANSI and non-ansi users; simply create one file with the
TXT extension, and it will be used in all cases.
All text files should be located in the "text" directory, as defined in
your configuration file. The following sets of files are defined:
LOGIN.TXT / LOGIN.ANS
This file is displayed immediately after the "Select Graphics" prompt
during the login sequence. It normally contains a welcome message with the
name of your BBS, etc.
NEWUSER.TXT / NEWUSER.ANS
This file contains information for new users. It is displayed when someone
logs in as NEW and attempts to register their name. You can use this file
to communicate any requirements or rules to new users of your system. Each
user sees this file only once, when first registering with the BBS.
INFO.TXT / INFO.ANS
The "info" file can be used to enter a short description of your system.
It is displayed whenever the INFO command is used.
FILES.TXT / FILES.ANS
This text file is displayed whenever you enter the FILES system. Use it to
provide news and information about your file transfer directories.
LOGOFF.TXT / LOGOFF.ANS
Similar to LOGIN, these files contain a short message to be displayed on
the screen when a user logs off (disconnects).
DEFAULT SUBBOARD ENTRY MESSAGES
For each message subboard A thru X, you can define a text message that will
be displayed upon entry to the subboard. To define a message for a sub
board, create a file called "SUBn.TXT" and/or "SUBn.ANS", where "n" is the
subboard letter (A to X). For example, the files
SUBF.TXT
SUBF.ANS
would contain text messages to be displayed upon each access to subboard
letter 'F' (the .TXT file is displayed if ANSI graphics are not selected,
the .ANS file is displayed if they are).
Since the 'A' subboard is accessed by default each time you log in to the
BBS, a file named "SUBA.TXT" or "SUBA.ANS" will be displayed each time you
log into the system.
You don't have to define text messages for any subboard. If no message
file exists, no message is printed upon entry to that subboard.
DEFAULT FILE DIRECTORY MESSAGES
You can define a default text message to be displayed upon each entry to a
file directory in the FILES section of the BBS. To do so, create a text
file with the directory's name followed with a .TXT and/or .ANS extension.
For example, if you have a directory called UPLOADS, the file
UPLOADS.TXT
would be used to contain the message to be displayed each time the UPLOADS
directory is accessed.
Note that the file directory text messages should be in the text directory,
as with the other text messages; not in the directory containing the
uploaded files for that directory.
MENUS
You can define your own menus to replace Searchlight BBS's main menu, files
system menu, and SYSOP menu (the menus shown in response to the 'Help'
commands). If you choose to do this, make sure you accurately reproduce
the BBS's menu selections in your file. You can capture the system's menus
to disk, or print them out, with the ALT-L (logging) function.
User defined menu files reside in the text directory, as usual, and have
the following file names:
.E
MMENU.TXT / MMENU.ANS replaces the Main menu
FMENU.TXT / FMENU.ANS replaces the Files System menu
SMENU.TXT / SMENU.ANS replaces the Sysop menu
.E
If one or more of the above menu files exists, Searchlight will display the
menu file, instead of the usual menu, in response to a 'Help' command. You
do not need to redefine all the menus; create only those which you desire
to enhance with your own messages or logo.
.H:...LOGGING IN
.H:
.H:
RUNNING SEARCHLIGHT BBS:
LOGGING IN FOR THE FIRST TIME
Once your BBS is set up and configured according to the previous
instructions, running it is a relatively simple matter. Once again, make
sure that you're in the same directory as the BBS data files- the "main"
directory- and also make sure that your .EXE files are available in the
directories you've defined for the program path (or the current directory,
if you left Program Path blank). Run the bbs by typing the command
C> SLBBS
and pressing RETURN. In a few seconds, your screen will clear and you
should see the message:
Waiting. Press any key for local login, ALT-X to exit.
along with the letters "sac l" in the lower right hand corner of the screen
(these are status indicators; we'll get to them later). If the computer
beeps at you and says "Check Modem", do so- it indicates that the modem did
not respond to the modem init string with an OK message. Check to make
sure that
- the modem is turned on
- the modem is connected to the proper comm port
- the BBS is configured for the proper comm port
- the baud rate(s) selected correspond to the modem's capability
If all else fails, please reread the Communications Configuration section
of this manual.
Assuming you now see the "waiting" message, strike the RETURN or SPACEBAR
key on your keyboard to initiate a local login session. At this point the
BBS will display an opening message and present the prompt,
Select Graphics Mode: [C]olor, [M]onochrome, or [N]one ?
(Note: from this point on, most of what we describe will be what you and
the people who use your BBS will see routinely when logging on). The
response to the graphics question depends on the type of terminal being used
when the system is accessed from a remote location. If an ANSI (or vt100)
terminal with color capability is being used, type C in response to this
question. If you're using a monochrome ANSI terminal, type M. Otherwise,
type N to indicate that no ANSI graphics are to be used.
Since ANSI is always available when logging in locally (it will operate
correctly even if you don't boot DOS with the ANSI.SYS driver), answer this
question now by typing C if you have a color system or M if your system is
monochrome. Additional info on ANSI will be provided later on.
Finally, you will see a prompt asking you to "Enter your name". If you are
running a system that allows new users, it will note that you may also type
the word NEW.
The BBS is asking you to type the name of a valid user account. Since
your system is new, there are only two valid accounts on file: one called
SYSOP and one called GUEST. The SYSOP account is provided as the "super
user" account. SYSOP is a permanent part of the BBS, and can't be deleted
from the user file. Many sysops will want to use the SYSOP account as the
account they use to log into the bbs regularly, whereas others will want to
set up an account with a different name for themselves; we recommend using
SYSOP, because most people recognise that as the name they can use to reach
the operator of the BBS.
Respond to the "Enter your name" prompt by typing SYSOP.
You will now be logged into the BBS. First you'll see a greeting message
that displays some information about the system, the previous caller, etc.
After pressing the RETURN key, as prompted, you will enter the BULLETINS
subsystem. Since there are no Bulletins on file yet, press the "Q" key to
exit from the Bulletin menu. Finally, the system will announce that you
have no electronic mail waiting, and deposit you at the BBS system's main
command prompt, which looks like this (the underscore shows your cursor
position):
[A] Command: Help_
You are now ready to use the BBS system.
THINGS TO DO WHEN FIRST LOGGING IN
Here's a quick checklist of some of the things you should do the first time
you log in to your BBS:
1. Familiarize yourself with the user interface. It's quite easy to use.
Try selecting commands, reading the online HELP files, etc.
2. Use the OPTIONS command to assign a password to your SYSOP account.
This is very important! If you forget to assign yourself a password,
others will be able to use the SYSOP account and cause damage to your
system. Don't forget the password you choose; write it down if you have
to.
3. You will want to set up a few message subboards. To do so, use the JUMP
and 1-SUBOP commands (we'll explain these further in a moment).
4. Post a few messages and bulletins. This will not only help you learn
how the text editor works but it will give your first users something to
read when they call your BBS.
.H:...NEW USERS
.H:
.H:
ADDING NEW USERS TO THE SYSTEM
New usernames and passwords are added to the system by typing NEW in
response to the login prompt. In order to use this facility, you must have
the "Allow New Users" option (in the CONFIG program) set to "Yes".
Typing NEW will present the New User menu, which looks like this:
Searchlight New User Menu
[R] - Register as a New User
[G] - Enter the system as a GUEST
[C] - Call the SYSOP to Chat
Command ->_
To register his or her name in the user database, a new user would press
the "R" key to access the Register option. The program will
- display the new user message (NEWUSER.TXT), if it exists
- prompt the user for their name, location, phone number,
system type, password, and ANSI mode.
- enter the user's info into the BBS database
- log the user in to the BBS
A new user is given initial access levels and time limit as defined in the
CONFIG file. Duplicate names are not allowed. If the new user tries to
enter a name that already exists in the user file, a warning message is
printed, and the user must enter another name.
The "G" option allows the user to log in using the GUEST account. If GUEST
is available on your system, it can be accessed via this menu choice.
The GUEST account may be deleted if you do not wish to allow this form
of access to your BBS. If you delete the GUEST account, an attempt to use
the "G" option will simply result in a message stating that the guest login
is not available.
Finally, the "C" option will issue a page to the SYSOP (if the "sysop
available" mode is enabled). You can answer the page by pressing any key
at the keyboard; after you're done chatting, press the ESC key to exit from
chat mode.
You may notice that the tone emitted from the speaker by the CHAT
command is lower than usual when a new or nonvalidated user is paging.
Thus, you can discern a new user's page without having to look at the
screen.
.H:...BBS COMMAND SUMMARY
.H:
.H:
SUMMARY OF MAIN MENU COMMANDS
The following pages contain a command-by-command summary of the major
commands that are available at the BBS's main command prompt. You can view
help text from within the BBS, provided that you have the online help files
copied into your "text" directory; press the first letter of the command
you need an explaination of, and type the "?" key.
In the following discussion, the "remote terminal" refers to the computer
or terminal being used to connect to the BBS from a remote location (if a
telephone call has been placed), and the "local computer" refers to the
computer on which the BBS program is running. In the case of a "local"
login (ie. where you log in to the BBS at the local computer, without using
a remote terminal or placing a phone call), certain operations, such as
paging the SYSOP, serve no useful purpose, but can still be executed. A
"user" is someone who uses your system (usually from a remote terminal). A
"sysop" is yourself, or someone with an access level of 255; a "co-sysop"
is someone assigned access level 254. "Users" are prevented from per
forming certain operations, such as deleting messages that don't belong to
them, or changing the accounts of other users. As the owner, or SYSOP, of
your BBS, you can execute all commands when logged in to the SYSOP account
(or any account with an access level of 255).
ANSI terminal emulation is always available in the local mode. Therefore,
select either [C]olor or [M]onochrome graphics when logging in locally.
To execute commands, press the first letter of the command, followed by the
RETURN key.
QUICK GUIDE TO COMMANDS
The following chart shows which commands are associated with the various
operations that the BBS performs:
Operation Command(s)
Assign Access Levels & Time Limits OPTIONS, 2-SYSOP, also see "hotkeys"
Set Up Message Subboards 1-SUBOP
Access Subboards LIST, JUMP, NEW
Read, Post, & Manage Public Messages READ, POST, EDIT, NEW, KILL
Send & Read Mail MAIL
Use Bulletins BULLETIN
Display & Change Options OPTIONS, TIME
Show User Lists & Info USER
Execute SYSOP Functions 2-SYSOP, also see "hotkeys"
Access Upload/Download System FILES
Access External Programs DOORS
End Session GOODBYE
Searchlight BBS's main menu looks like this:
-----------------[ Searchlight BBS Command Summary ]-----------------
Ansi ...... ANSI Graphics Toggle New ....... New Message Scan
Bulletin .. System Bulletins Options ... User Options/Stats
Chat ...... Page Sysop Post ...... Post Message
Doors ..... External Programs Quotes .... Logoff Quotations
Edit ...... Edit Message Read ...... Read Message(s)
Files ..... File Transfer System Scan ...... Scan Message Titles
Goodbye ... Log Off System Time ...... Time Information
Info ...... System Information User ...... User Lists & Info
Jump ...... Jump To Subboard Version ... System Version No.
Kill ...... Delete Message(s) 1-Subop ... Subop Options Mode
List ...... Subboard List 2-Sysop ... Sysop Command Mode
Mail ...... Electronic Mail
--------------------[ Press <?> For Online Help ]--------------------
HELP
----
The HELP command prints a list of all the available commands, with a short
description of what each command does. Notice that two commands, FILES and
2-SYSOP, contain their own submenus with additional commands; use the HELP
command to get a list of the commands available at a particular menu.
The commands that begin with numbers rather than letters are special
privlidged commands. These commands are only visible on the menu by users
who can access them.
You can customize the HELP menu. See "SETTING UP TEXT FILES" in the
Installation section of this manual.
ANSI
----
The ANSI command is used to select the desired Ansi graphics mode. Color,
Monochrome, or no graphics can be selected. Select "None" when logging into
the BBS from a remote terminal that is non-ANSI compatible; select Color or
Monochrome mode respectively for Color or Monochrome ANSI terminals, or
when logging in locally.
If ANSI is enabled, the BBS will use Ansi escape sequences to control
output, allow eight-bit IBM graphics characters to be sent to the remote
terminal, and enable you to use the full-screen text editor to enter mess
ages.
You can use ANSI when logging in locally, even if you do not have the
ANSI.SYS console driver installed (see your DOS manual). However, if you
use text files that contain ANSI sequences, these will not be displayed
correctly. We recommend installing ANSI.SYS at all times.
BULLETIN
--------
This command displays the system's bulletins. Bulletins are a special
message section that's displayed automatically each time a user logs on. Up
to eight bulletins can be available at one time. Old bulletins, unless
assigned a "protected" status by the SYSOP, are deleted as new bulletins
are posted. Bulletins are always displayed in order from most to least
recent, allowing you to view the latest messages quickly.
To read a bulletin, type a number from 1 to 8. The [P]ost subcommand
is used to post a bulletin (any validated user can Post). [K]ill is used to
delete bulletins; as with messages, only the SYSOP or the person who posted
the bulletin can delete it. Old bulletins are also deleted automatically
when new ones are posted.
A special hidden command, [S]tatus, is available to SYSOPs. This
command lets you "protect" and "unprotect" a bulletin; protected bulletins
cannot be deleted.
The Bulletin facility is designed for important messages of general
interest. Restricting the Bulletins system to 8 messages is a feature
designed to emphasize the importance of the messages posted, and increase
the likelihood that they will be read rather than passed over by the casual
user. Both public messages and private mail also available (see the POST
and MAIL commands); general text file libraries can be created with the
FILES system, which provides a TYPE command for displaying text on the
screen as well as several error-free download protocols.
CHAT
----
This command allows a remote user to page the system operator. If the SYSOP
indicates that he/she is available (via the ALT-A command), paging occurs,
otherwise the message "sysop not available" is displayed.
To answer a page at the local computer, press any key. To exit from
the chat mode, press the ESC key.
DOORS
-----
This command allows you to access features external to the BBS program that
can be provided by adding new programs. To use DOORS, you must configure
define the available programs via the the DOORS.DEF file; see the "DOORS
SUBSYSTEM" section of this manual for details.
EDIT
----
The EDIT command can be used to edit an existing public message on the
current subboard. Users can only edit message which they posted; subsysops
can edit any message on their respective sub-boards, and sysops, of course,
can edit any message in the system.
When editing, you can change the message's title, text, or both. In
addition, the SYSOP can assign a "protected" status to a message. Protected
messages are exempt from all "mass" message deletions (instances where more
than one message is deleted at a time), but can still be deleted indi
vidually.
Consult the "TEXT EDITING" section of this manual for further inform
ation on using the line and full screen message editors.
.E
FILES
-----
This command executes the Searchlight file transfer system, a subsystem
that can be used to send and receive files to/from the bbs. The files
system provides many subcommands and has its own HELP facility which can
be used to get more information on the individual file system commands.
You must define the file directories with a FILEDIR.DEF file. See
"FILES SUBSYSTEM" in this manual for further information.
.E
GOODBYE
-------
Use this command when you are ready to log off, or disconnect, from the
BBS. The computer will prompt you to "Please leave us a quote". Type a
short 1-line message and press RETURN (sysops may just press RETURN).
Note that is is considered good practice to always log off properly by
using the Goodbye command, rather than simply hanging up. However, hanging
up will not cause any damage to the system.
If using the SYSOP account, and logging in locally, you'll receive
this prompt when logging off:
Reset (Y/N)?
Enter 'Y' to reset the BBS for another call. Enter 'N' if you wish to
terminate the BBS program and return to DOS.
INFO
----
The INFO command displays a short message defined by the sysop. It will
simply display the contents of a file called INFO.TXT or INFO.ANS
(depending on whether you are in ANSI mode), if that file exists in the
"text" directory. See "SETTING UP TEXT FILES" in the installation part of
this manual for further details.
JUMP
----
This command is used to access the various message subboards available on
the bbs. Public messages are grouped by subject, and up to 24 seperate sub
sections are available, indicated by the letters [A] thru [X] to the left
of the command prompt. The Jump command will prompt you for the letter of
the subboard you want.
To see the list of available subboards, either type "?" in response to
the Jump command's prompt, or use the List command from the main menu.
To define a subboard, "Jump" to the subboard and use the "1-Subop"
command to give the board a title and adjust the other attributes ass
ociated with it.
KILL
----
The KILL command is used to delete public messages. Unless you are a sysop
or subop, you can only Kill messages you have posted; otherwise you may
delete any message. The system prompts you for the message number, prints
the message heading, and confirms the command before proceeding with the
deletion.
When run by a sysop, the Kill command will continue by displaying the
next message and asking you if you'd like to delete that message, too. You
can press Y to delete it, N to skip it, or Q to abort the command and
return to the main prompt.
You can also mass-delete messages older than a certain date across all
subboards and user mailboxes. The command to do this is on the Extended
Sysop menu and can be accessed through the "2-SYSOP" command.
LIST
----
This command provides a list of the message subboards available on the
system. Up to 24 subboards, indicated by the letters [A] thru [X] to the
left of the command prompt, may be available at any time. The listing shows
the title, number of messages, subsysop, and new message status of each
board.
To access the messages on a particular subboard, enter the sub's
letter in response to the prompt that follows the listing (you can also
press the key while the list is still in progress). If you wish to jump to
a subboard without viewing the list first, you may use the Jump command.
.E
MAIL
----
The MAIL command is used to send private messages to other users, and to
read the private messages that other users send to you. You can only send
mail to someone who's name is registered in the BBS user file (ie. you
can't send mail to "ALL", etc). You can only read mail that's been sent to
you (unless you use the special SYSOP command to read user mail).
To use the mail facility, execute the Mail command. This will present
you with a short menu of mail subcommands. The commands are-
.E
[R]ead - this options lets you read your mail, if you have any. Each
message in your private mailbox is displayed in sequence. After reading a
message, a prompt appears with options to reply to the message, re-read it,
forward it (send a copy of the message to another user or a public message
subboard), and delete it. Please remember that all messages in your mailbox
are private and addressed to you, therefore, mail should be deleted as soon
as you are finished with it.
[S]end - allows you to send a message to another user. You must type
the name of a user who is logged into the system, otherwise the command
cannot proceed. You need not type the user's full name; you may type the
first few characters, and the bbs will locate all users with matching names
and prompt you for the correct one.
[N]ew - this command is exactly like [R]ead, except that only new
messages are presented for reading.
[L]ist - lists the messages in your mailbox, showing the sender, date,
and subject of each. You can choose a message from the list and start
reading your mail from that message on.
[I]nquire - lets you examime the mail you've sent to another user. If
your mail has not yet been received, you can edit it or delete it from the
other user's mailbox.
Notes: Help in using the text editor is available from within the editor.
The Mail command is for private messages only. Refer to the Post
command for information on sending public messages.
NEW
---
The NEW command gives you a listing of those subboards that contain new
messages, ie. any messages posted after the most recent message that you've
read on that sub. You are then prompted for the desired subboard letter;
upon entering the sub, you will receive a scan of the new messages. You
can automatically begin reading the messages by responding with a 'Y' to
the "Read new messages now" query.
Refer to the Scan and List commands for further information.
OPTIONS
-------
This command displays a variety of information about your account on the
BBS. It lists the dates of your first and last logons, your access levels
and time limits, the amount of uploading and downloading you have done, and
the information you gave about yourself when you logged in.
As indicated on the Options screen, you may change your location, type
of system, phone number, and password. If you are using an ANSI compatible
terminal, you can press the up and down arrow keys to select a field (as
indicated by the highlight bar), and edit it with the usual cursor keys
(left, right, DEL, etc.), pressing F1 or <ctrl-z> when done. Non-ANSI users
can change fields by responding to the prompt with the proper field number.
The "location" and "system type" fields have no actual bearing on the
operation of the BBS; they are simply there to provide information about
you to others who use the system. The phone number field is for the SYSOP's
reference only- it is never shown to anyone else.
Notice that, for security purposes, your password is not displayed on
the screen except right after you enter or change it. If you alter your
password, the system will confirm the new password before assigning it to
your account.
POST
----
This is the command you use to enter a public message on the current message
subboard. You are prompted to enter a 1 to 40 character title for the
message, and then placed in the text editor to enter the text (documentation
for the editor's commands is available from within the editor). Upon
completion, your message is saved as the highest-numbered message on the
subboard.
See also: Read, for reading back posted messages, and Mail, for sending
private messages to other users.
QUOTES
------
The quotes command displays, at random, a few of the one-line quotations
left by users in response to the "Please leave us a quote" query that's
presented as you log off the system.
The QUOTES.BBS file is filled with a default message when the BBS is
first initialized. Therefore you'll find this command quite redundant until
a number of calls have been logged to your system.
READ
----
The READ command lets you read messages on the current subboard. You must
enter the number of the first message you want to read. Notice that messages
are always numbered sequentially; ie. if there are active 56 messages on a
particular subboard, the first message is always number 1 and the last is
number 56, regardless of the fact that message deletions may have taken
place in the past.
After reading a message, you have several options. You may type 'N' (or
simply press RETURN) to read the next message. You can re-read the message
by pressing 'A'. You may reply to the message, either publically or
privately; if the reply is public, it is appended to the current subboard,
otherise the Mail facility is invoked to send the reply directly to the user
who wrote the original message.
The message forwarding option can be invoked by pressing 'F'. This
facility allows you to send a copy of the message you've just read to
another place on the BBS: the destination can be a user's mailbox or a
public message subboard (the SYSOP can optionally output the message to a
text file as well). The forward command prompts you for the required
parameters.
For more information, refer to: List and Jump for selecting other
message subboards, Scan for scanning message titles, and New for reading new
messages.
SCAN
----
Use the SCAN command to get a quick summary of the messages on the currently
active subboard. The scan shows the message number, the date the message was
posted, the name of the sender, and the title of the message. You may scan
messages in forward or reverse direction by replying to the Scan prompt with
'F' for forward or 'R' for reverse. Note that you can abort a scan at
anytime simply by pressing <spacebar> or <ctrl-c> keys.
Refer to the Read command for reading messages, New for scanning new
messages only, and List and Jump commands for selecting a new message
subboard.
TIME
----
This command displays the current time and date, as well as the time which
you logged onto the system, your elapsed time on the bbs, and the amount of
time remaining in your current session (for users only; SYSOPs are not
timed when using the BBS).
USER
----
The USER command displays information about the registered users on the
BBS. It has three subcommands:
[L]ist - gives you a list of the registered users, showing the users'
names, dates of last login, locations, and system types (the type of
computer or terminal they use). The list is alphabetical, and you don't
have to read the list from the beginning to the end; you can start at any
particular place by entering the first few letters of the name where you
wish to start. Notice that you can abort the listing at any time by
pressing the <spacebar> or <ctrl-c> keys.
SYSOPs are prompted to enter minimum and maximum access levels when
using this option. You can use this feature to list only those users who
have access levels within the specified range. Press RETURN twice to
default to all users.
[S]earch - allows you to search for a particular name in the user file.
You need not type in the entire name; typing the first few characters is
sufficient. If the name is found, it is listed along with information about
the user.
[C]allog - this displays a list, in reverse order, of the names of the
last 75 users to log into the system, including the times and dates of the
calls. Again, you can abort the list early by pressing <spacebar> or
<ctrl-c>.
The Call Log is initialized to say SYSOP in all 75 locations when the
BBS is first set up, therefore it will be somewhat inaccurate until 75
calls have been logged.
SUBOP (1)
---------
The SUBOP command, which can only be executed by sysops or sub-sysops,
allows you to display and change the parameters for the current subboard.
You use this commnand to initially setup your message subboards and to
change or reconfigure them later. To execute this command, press the "1"
key and then RETURN.
Subop displays four fields: Subboard title, subsysop, access level, and
maximum message length. If using an ANSI terminal, you can change fields by
moving the highlight bar to the desired field, and using the cursor keys to
edit the field contents. In non-ANSI mode, type the number of the field you
wish to change, and enter the new information.
Subboard title is any alphanumeric string defining the name of the
subboard. The subsysop field must either be blank or the name of a valid
user on the system. If nonblank, it defines the user who will have control
over the contents and format of the subboard.
Access level defines the minimum access level that a user will need to
access the subboard. An access level of 254 or 255 makes the board
accessable only to sysops, and effectively "deactivates" the sub. This
feature allows you to have private subs and create different classes of
users. The first subboard (sub 'A') should always have an access level of
zero, since ALL users will be able to access it by default upon logging in
to the system.
Maximum message length defines the maximum length (in lines) of a
message that can be posted. It normally defaults to 99, but can be changed.
SYSOP (2)
---------
The SYSOP command, which is only executable by users with access level 254
or 255, allows you to change and maintain various aspects of the bulletin
board. Press the "2" key to execute this command. Sysop displays a prompt
with four options:
[M]ail, [O]ptions, [T]extEdit, [E]xtended ?
[M]ail allows you to inquire into the mailbox of a specific user. You
are prompted for the user's name, after which you are transferred to the
MAIL command prompt, where you can execute any MAIL operation on the
specific user's account. Note that if you read a user's mail, the "times
read" indicator is not incremented.
[O]ptions is similar to [M]ail but it allows you to change and inquire
into a user's stats and options. In addition to the regular options, you can
change a user's access levels and time limit with this command.
Users with access level 255 are deemed to be full SYSOPs and may
execute any command on the BBS, regardless of access level restrictions. It
is reccommended that you assign this level of access only to the SYSOP
account. Access level 254 defines a Co-Sysop. Co-Sysops may execute most
SYSOP level functions, but are prevented from assigning SYSOP or Co-Sysop
access to other accounts, inquiring or changing the account of a SYSOP or
another Co-Sysop, editing an external text file, executing DOOR programs
with access level 255, and accessing password protected files without using
the password.
Assignment of other access levels is up to you, and the capabilites of
a particular access level depend upon the access levels that you assign to
subboards, file directories, and doors. Non-Validated users- users with
access levels less than the "default" validated user access level that you
define via the CONFIG program- are assigned special restrictions: these
users may not download files or send mail to anyone except the SYSOP.
[T]extedit gives you a way to edit short text files directly using the
system's text editor. At the moment, you can only edit files less than 100
lines long, with less than 75 characters per line, and no control
characters. [T]extedit gives you the option to create a new file, too.
[E]xtended is the command that runs the "extended sysop" menu, which
contains a host of commands relating to BBS maintenance. For a full
description, run the extended sysop command and use the online help facility
to get more information, or see the SYSOP COMMAND SUMMARY in this manual.
.H:...READ SUBCOMMANDS SUMMARY
.H:
.H:
SUMMARY OF MESSAGE READ SUBCOMMANDS
After reading a public or private message, the BBS prompts you with a
number of options, to which you can respond by entering a 1-keystroke
command. Here's a summary of the message disposition options:
[A]gain
The "Again" option is available with both mail and public messages. It
clears the screen and re-displays the last message read. Use this option
when you want to review a long message; it is also useful for redisplaying
a message in case the message is garbled by line noise.
[N]ext
The "Next" subcommand is used to proceed to the next message in your
mailbox or on the currently active subboard. If there is no next message,
the READ command exits.
You may press the RETURN key instead of "N" to execute the next
message subcommand.
[Q]uit
Select this option if you wish to quit reading messages and exit back to
the main system prompt.
[R]eply
This option lets you reply to the message you've just read. If reading
electronic mail, the reply is sent to the mailbox of the person who sent
the message you've just read. If reading a public message, you have the
option of sending the reply privately (as an electronic mail message) or
publicly (as a posting on the current subboard). You are prompted with:
Is the Reply Private (Y/N)?
Type "Y" if you wish to send a private message, "N" if you wish to post a
public reply.
When you reply to electronic mail, and you don't delete the original
message, the fact that you replied is recorded in the original message's
header. The next time you read the message, it will display the number of
times you've replied to that message as part of the header information.
This helps you keep track of which messages have been replied to.
After writing the reply, you return to the read command in progress,
and begin reading the next message in sequence.
[K]ill
This option appears only when reading public messages, and only if the
person reading the message has permission to delete it. Selecting this
option allows you to delete the message just read. It will ask you first
if you really want to delete the message; type "Y" to kill it, "N" to keep
it.
After deleting the message, the next message in sequence is displayed.
[F]orward
The "Forward" subcommand is used to forward a COPY of the message you just
read to another place on the bulletin board. You may forward a message to
a public message subboard or to a particular user's mailbox.
Pressing "F" prompts you with:
Forward to [U]ser or [S]ubboard?
If you wish to forward the message to a public message board, press "S";
the BBS will then prompt you to enter the subboard letter of the board you
wish to forward to. To forward the message to a user, type "U"; you will
then be prompted to enter the name of the user to whom you wish to send the
message.
Forwarding a message to a subboard is the same as POSTing the message
on that subboard. Forwarding to a user is the same as sending the message
to that user via the MAIL command.
If the SYSOP or a cosysop is logged in, a third forwarding option
appears in the menu of destinations:
Forward to [U]ser, [S]ubboard or [D]isk?
Selecting [D]isk allows you to write the message directly to a text file on
your disk. It will prompt you to enter the filename, which may include a
drive letter or directory path. If the file exists, the message is
appended to the end of the file, otherwise a new file is created.
THE DELETE PROMPT
After reading each message in your electronic mailbox, and responding to it
with one of the above subcommands, an additional prompt appears:
Delete this message (Y/N)?
Press "Y" if you wish to delete the message you just read; or "N" if you
don't want to delete the message. Note that if you selected the [F]orward
subcommand before deleting the message, the deletion will occur after the
message is forwarded to its destination.
THE VALIDATION PROMPT
If the SYSOP or a co-sysop reads an electronic mail message that was sent
by a non-validated user, this prompt appears after reading the message:
Validate this user (Y/N)?
If you respond to this prompt by pressing "Y", the user who sent the
message is validated (ie. assigned "validated" access levels and time
limits as defined in the configuration file). If you press "N", the user's
status is not changed.
This prompt gives you a convenient way of validating new users without
having to execute a sysop/options command for each new user. Simply ask
your new users to send you electronic mail requesting validation.
.H:...STATUS LINE & HOTKEYS
.H:
.H:
THE STATUS LINE
Whenever someone is logged into your BBS from a remote terminal, the local
PC screen will display a status line in inverse video at the bottom of the
screen. The status line gives you information about the currenly logged in
user. It looks something like this:
--------------------------------------------------------------------------
Online: USER NAME Access: AAA/BBB Time: XXX/YYY sac l
--------------------------------------------------------------------------
USER NAME shows you the name of the person who is logged in. AAA and BBB
are the user's BBS access level and FILES access level, respectively. XXX
is the amount of time (in minutes) that the user has been logged in, and
YYY is the user's time limit for this session. The lowercase letters to
the right are status flags, as explained below.
HOT KEYS
As the SYSOP, there is a group of operations that you can perform through
the use of what we call "hot keys" at the local keyboard. A "hot key" is a
special key that can be pressed at almost any time the BBS is running,
without disturbing the call in progress. For example, ALT-V is the hot key
for validating users. If you press ALT-V while a new user is logged in,
that user will be instantly validated, and the status line on the bottom of
the screen will be updated to show the user's new status. Pressing ALT-V
while a validated user is online results in un-validating the user, or
returning the user to the defined new user access levels and time limit.
The user at the remote terminal doesn't see any of this happening.
The F9 and F10 keys can be used to adjust a user's time limit. Pressing F9
adds five minutes to the currently logged in user's time limit, and
pressing F10 subtracts 5 minutes. The new time limit is in effect only for
the current call.
The F8 key is a status line toggle. Pressing F8 changes the format of the
status line, alternately displaying the above access level/time limit
display and a display showing the user's name, location, and computer type.
The letters "sac l" on the lower right hand side of the screen are flags,
and they are controlled with hot keys as well. The "S" flag is called the
superuser status flag. When the flag is OFF, a lowercase s is displayed.
When it is ON, an uppercase S is shown. You toggle it on or off by
pressing the ALT-S key on the local keyboard.
When superuser status is ON, any user who is logged in is granted full
SYSOP privliges. Normally, you use this command in order to allow yourself
to execute sysop commands while someone else is logged in. You can also
use it to grant temporary SYSOP privs to the logged in user. Note that if
you turn this switch ON, it remains ON until you turn it off, or until the
current user logs off (or hangs up).
The "a" and "c" flags control the operation of the chat command. The "a"
flag is the Sysop Availability flag. When it is ON, an uppercase "A" is
displayed, and paging is enabled; that is, the system will beep to inform
you of an attempt by a user to call you with the "Chat" command. If
availablilty is turned OFF, the computer will remain silent, and inform all
users attempting to chat that no sysop is available. The sysop availablity
mode is turned on and off by pressing ALT-A.
The "c" flag tells you whether or not the current user has attempted to
page you since logging on. If a capital "C" is displayed, it means the
user attempted to Chat. This is true regardless of the setting of the "A"
flag.
ALT-C is the chat hotkey. At most times when the BBS is running, you can
"break in" to chat with the logged user by pressing ALT-C. This causes you
to go into chat mode immediately, suspending any operation in progress.
When you exit the chat mode (by pressing the ESC key), the user is returned
to the exact place where he or she left off.
If a user is writing a message, especially with the full screen
editor, be aware that using the ALT-C key will interrupt the work in
progress, usually with confusing resuts when it returns (confusing because
the screen no longer reflects the true image of the text being typed). If
you must interrupt a full screen edit, press CTRL-W when you're done.
Output Logging
The "L" status flag and the ALT-L command control output logging. Logging
allows you to capture all of the text being sent to and from the BBS and
output it to a disk file or device. For example, you could use this
feature to record a conversation with a user while in CHAT mode, or to make
ASCII text files containing listings of your upload/download directories,
or to get a printout of almost any listing, message, or display that the
the BBS normally sends to the screen.
To begin logging, press ALT-L; you are prompted to enter a filename.
If you defined a default log file in the CONFIG program, it is displayed,
and you can use it by pressing RETURN. Otherwise, you must enter the name
of the file to capture the log to. Logging begins, and continues until you
press ALT-L again, change from one program module to another (ie. run the
Files or Extended Sysop commands), log off, exit via ALT-X, or execute a
DOOR program. All text normally displayed on the screen is copied into the
log file.
If you wish to obtain a hard copy (printout) of BBS activity, use PRN
as the output filename. PRN is the printer device file, and it will cause
subsequent output to go to the printer.
Note that backspace characters are processed out of the logged output,
and ANSI escape sequences are removed. Also, the "-- more --" prompt is
disabled during logging.
Exit Key
ALT-X can be used to temporarily exit the BBS and return to DOS. When you
press ALT-X (from the local keyboard only), all files are closed, the BBS
program terminates, and you return to DOS. When you rerun the BBS (by
executing SLBBS.EXE), you are returned to the BBS at (approximately) the
same place where you left off.
If you use ALT-X while a remote user is online, the modem will not
hang up the telephone, but the remote user will cease to receive output or
be able to give input to the system until you return to the BBS.
You don't have to return to the BBS after ALT-X: it is safe to shut
your computer off, for example. However, the next time you run the program
it will return to the current session. You must log off (using the GOODBYE
command) in order to allow the BBS to receive further calls.
Hangup Key
The ALT-H key has been provided to enable you to terminate a user's session
immediately. If you press ALT-H from the console while a user is logged
in, the modem will hang up on the user and the BBS system will recycle to
accept another call.
It is, of course, rather rude to hang up on someone this way. ALT-H
is provided for use at your own discretion. If someone is on your BBS and
you need to use the computer, we suggest you use ALT-C first to chat with
the user, and ask him or her to log off politely.
.H:...EDITING
.H:
.H:
TEXT EDITING: INTRODUCTION
The Searchlight programs contain two text editors that are used whenever
you enter a message or send electronic mail. The text editors, while not
full-fledged word processors, contain many features and commands that allow
you to easily compose, enter, and change short to medium length messages.
In addition, you can use the BBS's text editing capabilites to edit text
files on disk, even from a remote terminal.
A line-oriented text editor, similar in nature to the DOS EDLIN editor and
to the editors found on many BBS systems, is provided for use with non-ANSI
terminals. The line editor provides a fast and simple way of entering
messages, with rudimentary editing facilities, and it works from almost any
kind of remote terminal, from IBM PCs to older home computers to printing
terminals.
Searchlight also contains a full-screen text editor that resembles the
types of editors most people are used to working with on the IBM PC. It
gives you an exact representation on the screen of what your message will
look like when read back, and it allows you to move the cursor anywhere on
the screen and insert, change, or delete text with simple keystrokes. The
commands used are a subset of the popular WordStar(TM) word processing
program, so chances are you already know how to use Searchlight's editor.
The main disadvantage of the full screen editor is that it's not
compatible with all terminals- you must have an ANSI (or VT100) compatible
terminal (or terminal emulator) to use it in remote mode. Fortunately,
software to emulate ANSI terminals is available for most microcomputers-
for the IBM PC, we recommend the excellent ProComm communications package
(TM Datastorm Technologies Inc). In addition, you'll find that certain
operations, such as PageUp and PageDown, are inherently slower when running
from a remote terminal than when executed on a normal word processor-
that's because the BBS can only send text at the speed of the modem being
used, and cannot manipulate the screen at high speeds the way regular text
editors can. However, Searchlight makes extensive use of ANSI control
sequences to minimize the amount of text that must be retransmitted to the
remote screen. In local mode, it operates at speeds comprable to most full
screen text editors.
Searchlight determines which editor to use based on the status of the ANSI
graphics mode. When ANSI (color or monochrome) is enabled, the full screen
editor is used; otherwise, the line editor is used. You can change the
status of the ANSI flag from the main menu with the ANSI command.
.H:...USING THE LINE EDITOR
.H:
.H:
USING THE LINE EDITOR
When ANSI mode is not selected, the line oriented editor is used by the
BBS. The editor is invoked whenever you POST a message or bulletin, EDIT
an existing message, or send a message via the MAIL command.
When the line editor is running, you'll see the message
Enter text; type a period (.) when done. Max NNN lines.
followed by the number "01". NN is the maximum number of lines that you
may enter into the message (it can be anywhere from 5 to 250, as defined on
the subboard definition screen and in the CONFIG file).
You would now begin typing your message. As you type, you can correct
errors by pressing the BACKSPACE key. There's no need to press the RETURN
key when you reach the end of a line; instead, the editor automatically
performs "word wrapping", that is, it breaks the line at the nearest word
boundry and moves the last word on the line down to the next new line. As
you type, you'll see the line numbers to the left of your text increase.
When you are done entering text, press the RETURN key once (so that the
cursor is directly to the right of a line number). Then type a single
period (.), and press RETURN again. This takes you out of the text
insertion mode and places you at the line editor's subcommand prompt, which
looks like this:
Cont Edit Ins Del List Abort Save -?
You can now enter an editor subcommand by typing the first letter of one of
the above command words at the prompt. The commands work as follows:
Save
This is the command that saves the message you just entered (or edited)
onto the disk. You use this command when you are done with the message,
unless you've changed your mind and decided not to send the message at all.
Abort
The abort subcommand can be used to throw away the message in case you
decide you don't want to send it. It will prompt you to make sure that's
what you really want to do, in order to insure that you don't abort the
message by mistake.
Cont
The cont, or continue, subcommand lets you continue entering lines at the
end of the message. It places you back into the text entry mode at the
next highest line number.
List
This command can be used to list, or review, the message just entered. It
will prompt you for a line number; if you enter 1, or simply press RETURN,
the message is listed from line 1 to the end. If you wish the listing to
start at a specific line number, you can enter that line number.
You can pause the listing with ^S, and cancel it with ^C.
Ins
This is the insert command. It lets you insert one or more new lines of
text in between two existing lines. You are prompted to enter the number
of the line that you want to insert BEFORE; for example, to insert between
lines 11 and 12, you'd give line 12 as the target of the insertion.
Once in insert mode, you can type as many new lines as you like. To
exit back to the subcommand prompt, once again enter a period at the
beginning of a new line.
Del
The delete command lets you delete one or more entire lines of text from
the message. It prompts you to enter the starting and ending line numbers
of the range of lines that you want to remove.
Edit
This command gives you a way to edit the individual characters on a line.
It prompts you for the line number of the line you wish to edit, and gives
you a choice:
Change or Retype?
Respond by pressing "C" to change the line, or "R" to retype it.
Retyping simply lets you re-enter the entire line of text from scratch.
You can only retype one line at a time.
Change gives you the opportunity to edit portions of the line without
having to re-key the entire line. It works by prompting you for a "source"
and a "replacement" string. The "source" is a portion of the text, exactly
as it appears in the line. The "replacement" is a string of text that will
replace the source string. As an example, suppose we typed this into our
message at line number 7:
07 Beethoven was bitten by a communist roach when he visited New York.
08 .
Obviously, we meant to type the word "salmon" instead of "roach". To
correct it, we would edit the line and enter "roach" as the source string,
and "salmon" as the replacement:
Cont Edit Ins Del List Abort Save -? E
Line Number: 7
Change or Retype? C
Source String: roach
Replacement : salmon
Although the corrected line is not displayed on the screen, we could view
it by using the "List" subcommand. The new version of the line would look
like this:
07 Beethoven was bitten by a communist salmon when he visited New York.
Notice that you can replace a string with a string of a different
length (or even a null string, in which case the original text is deleted
entirely). However, the total length of the line cannot exceed 76 char
acters.
EDITING EXISTING MESSGAES
The line editor can also be used to edit existing messages via the "Edit"
command on the main menu. When used in this fashion, it operates
identically to the above description, except that you'll go right to the
"Cont Edit List..." prompt rather than to the "Enter Text" prompt.
Saving the message results in the edited version of the message replacing
the old version on disk. If you abort the edit, the changes you've made to
the message, if any, are not saved; the original message is left intact.
.H:...USING THE FULL SCREEN EDITOR
.H:
.H:
USING THE FULL SCREEN EDITOR
When using an ANSI compatible remote terminal, or when logged in locally,
you'll be able to enter and edit text via Searchlight's full screen editor.
The screen editor signs on by displaying an inverse video bar near the top
of the screen that contains this message:
Editing, max NNN lines. Press F1 or ^Z to exit, F2 or ^J for HELP.
If entering a new message, the lower portion of the screen will be clear
and the cursor will be positioned at the top of the text entry "window" on
the screen. If editing and existing message, you'll see the first few
lines of the message, with the cursor positioned at the first character in
the first line. You are now ready to enter or edit text.
To enter text, simply begin typing. As with the line editor, you can
correct single character mistakes as you type by pressing the BACKSPACE
key. As you approach the end of a line, the text will "word wrap" down to
the next line, so there's no need to press the RETURN key at the end of
lines (unless, of course, you wish to type lines shorter than the width of
the screen).
Unlike the line editor, which has subcommands for performing editing, you
can edit text in the full screen mode interactively, using the cursor
position keys and control keys. As you change the text, your screen is
updated instantly to reflect exactly what the file looks like. If you've
ever used a word processor on your IBM PC, you're probably very familliar
with this method of editing: you'll need only learn a few of the commands
and keystrokes that are specific to Searchlight's editor.
WORDSTAR COMPATIBILITY
When we say Searchlight's editor is "WordStar Compatible", what we mean is
that, in most cases, we've used the same key sequences to perform the same
editing tasks as the WordStar word processor. We picked WordStar because
it's a well-known standard, and because its use of control key sequences
(rather than menus or function keys) is particularly suitable for use with
modems and remote terminals.
Searchlight doesn't support ALL of WordStar's commands; in fact, it
uses only a small subset of them. In addition, we've incorporated a few
special commands and keystrokes that are unique to our editor.
SCREEN EDITOR SUBCOMMANDS
If you press either F2 or ^J (control-J) while in the editing mode, you'll
see one of two help messages at the top of your screen. Press F2 again to
see the second message. The help text looks like this:
------------------------------------------------------------------------------
Left/^S - Cursor left ^A - Word left DEL/^G - Delete character
Right/^D - Cursor right ^F - Word right ^T - Delete word
Up/^E - Cursor up ^V - Insert mode ^Y - Delete line
Down/^X - Cursor down CR/^N - Insert line ^B - Reform paragraph
------------------------------------------------------------------------------
------------------------------------------------------------------------------
PgUp/^R - Page up ^QR - Top of file ^QY - Truncate line
PgDn/^C - Page down ^QC - End of file ^QL - Restore line
Home/^QS - Begin of line ^L - Redraw line ^W - Redraw screen
End/^QD - End of line
------------------------------------------------------------------------------
These are the main editing commands. Many are self-explanitory, some need
further study as we'll devulge below.
The ^ character means CONTROL. To generate a control key, you hold down
the key marked "Ctrl" on your keyboard, then press the indicated letter
key, then release both keys.
Notice that some commands have two ways of being entered, either via a
control key or via a function key. This is done because some remote
terminals don't configure the function keys the same way they're supposed
to be set up on the true ANSI terminal. If a key such as F1 or HOME
doesn't work on your terminal, you can always use the control key instead.
Remember to press F1 (or ^Z) to exit the full screen editor.
CURSOR MOVEMENT
To edit text, you must first move the cursor to the character, word, or
line that you want to change. The cursor movement keys accomplish this.
The four arrow keys (left, right, up, down) move the cursor one character
in the indicated direction. If you move up or down past the top or the
bottom of the screen, the screen will scroll to display the previous or
next line of text. You cannot move the cursor past the beginning or end of
the file, but you can append text to the end of the file.
Press the HOME key to move the cursor to the beginning of the current line.
The END key takes the cursor to the end of the line.
The ^A and ^F keys move you left and right a word at a time. They don't
move you off of the current line, however.
You can scroll a long message forward and backward one full screen at a
time. Press the PgUp and PgDn keys for this. On a remote terminal, you
must use ^R for pageup and ^C for pagedown.
Finally, you can move directly to the beginning or end of the text. Press
^QR to get to the top of the file, ^QC to go to the bottom.
DELETION
You can delete text by characters, words, or lines.
To delete the character under the cursor, press either DEL or ^G. Pressing
the BACKSPACE key deletes the character to the left of the cursor. When
you delete text, the text to the right of the cursor moves left to fill the
gap left by the deleted characters.
Text can be deleted a word at a time. Place the cursor on the first char
acter in the word and press ^T.
You can delete all the text on the current line from the cursor position to
the end of the line. Press ^QY to perform this function.
To delete an entire line, position the cursor anywhere in the line you wish
to delete, and press ^Y. When you delete a line, the remaining lines in
the message move up to fill the gap left by the deleted line.
INSERTION
The Searchlight editor supports either insert or ovestrike mode. In insert
mode, text you enter in the middle of a line causes the text to the right
of the cursor to shift, making room for the new characters. In overstrike
mode, text overwrites any text underneath it, and no scrolling occurs. The
editor is in insert mode each time it starts up, but you can toggle between
modes with the ^V key.
When insert mode is active, an attempt to insert characters into a full
line causes the line to be split in half at the cursor position. The
message "Press ^B to reform paragraph" appears at the top of the screen.
After typing your new text, press the ^B key and the subsequent text will
move back up and reformat into a paragraph. In overstrike mode, press ^N
to force a line break before entering new text.
You can also press the RETURN key to enter a new line in the text. In this
case, the cursor moves down to next line, rather than remaining stationary
as it does with ^N.
ERROR RECOVERY
If you make a mistake, you can restore the contents of the current line
provided the cursor has not left the line. Press ^QL for this function.
REFORMATTING TEXT
After performing many insert and delete operations, your text will no doubt
have lost its original format: you'll have some lines that are shorter than
others. Never fear; you can reformat any continuous piece of text back
into neat paragraph form by using the ^B command. Simply move the cursor
up to the first line in the paragraph and press ^B. The editor will format
all the subsequent text into a paragraph, until it reaches a blank line or
a line that begins with a space or another non-alphabetic character.
REDRAWING THE SCREEN
One of the pitfalls of using a full-screen editor via modem is that modems
often generate spurious characters due to excessive noise on the phone
lines. Even with good modems and clean lines, you're bound to experience
modem garbage at least once in a while. If it happens while you're using
the full screen editor, the results can be devistating: you'll see extra
characters on the (remote) screen, your cursor will move, but the editor
won't know about it, and will continue to operate under the assumption that
your screen still looks the way it did before the "line hit" occured.
Fortunately, the Searchlight editor provides ways to recover the screen
display when this happens. If a modem error effects only the current line
you're typing on, press ^L. This command will resend the line to your
terminal, and clear any garbage that might be present at then end of the
line. If there are a lot of errors on several lines, you can redraw the
entire screen. Simply press ^W. The editor will clear the remote screen,
resend the text window, and position the cursor in its rightful location.
If you experience a lot of noise on a particular call, using the full
screen editor can become extremely frustrating. In this extreme case, you
can always fall back to the line editor; simply disable ANSI graphics, and
enter the message again.
ANSI COMPATIBILITY
Searchlight's full screen editor actually has three modes of operation,
designed to allow it to interface with a variety of popular terminal
software. When editing remotely using an ANSI terminal, certain operations
(such as inserting and deleting lines) require that the terminal software
implement the appropriate ANSI escape sequences that will cause the remote
screen to scroll appropriately. Unfortunately, many terminal programs are
geared for more traditional BBS systems without full screen editors, and
thus do not support the required commands. To work with such terminals,
Searchlight includes a "Generic" ANSI mode. To select the editor's mode of
operation, type the "Options" command (on the BBS main menu) and adjust
option number 5, called "Ansi Compatibility Mode". There are three
possible settings: Generic, ProComm, and Full.
In Generic mode, the Searchlight editor minimizes the types of ANSI commands
sent to the terminal to a small subset of the most widely supported ones.
Instead of scrolling the screen and performing inserts and deletes directly
on the terminal, Searchlight redraws portions of the screen when a change
needs to be made. Of course, the time it takes to continuously redraw the
screen can range from long to unbearable, depending on the speed of the
modem used; but all of the supported features will work correctly.
In Full mode, Searchlight will edit with the full set of ANSI commands for
the fastest possible output, and will require a full featured ANSI
terminal. The remaining mode, ProComm, is similar to Full but takes into
account several quirks found in the ProComm (TM Datastorm Technologies)
terminal software.
The New User Registration procedure displays information about ANSI modes,
and prompts each new user for the correct mode as they log in.
ADDITIONAL THOUGHTS ON FULL-SCREEN EDITING
Notice that, when you're using the BBS in ANSI mode, the above full screen
editing commands are actually available everywhere in the system where a
line of input is required. This includes entry of message subjects, user
names, etc.; you can edit the line of text being typed with all of the
commands that pertain to editing of the current line, including the ^L
command to redraw the line.
.H:...USING PREPARED TEXT FILES
.H:
.H:
USING PREPARED TEXT FILES
Sometimes, instead of typing a message by hand, you'll want to insert a
previously written file of text into a message, bulletin, or electronic
letter. There are several ways to accomplish this with the Searchlight's
editors.
UPLOADING
The simplest way to insert a text file into a message is to log on from a
remote location using a terminal that's capable of sending lines of text
from a file (this is sometimes referred to as "ASCII Upload" by the
terminal's software). The editor doesn't know that you aren't really
typing the message; it simply accepts the text coming from the terminal as
if it were keyboard input, regardless of the fact that the terminal is
really sending text from a file. The message editor is able to accept text
at the fastest rate it can be sent by the terminal.
There are a couple of things to look out for when using this method of
sending text. First, the text file should not contain lines longer than 76
characters; if it does, the BBS will try to wordwrap the text, resulting in
a sloppy format. Also make sure the text doesn't exceed the maxium line
length of the message.
Some communications programs won't show a correct display when you upload
text to the full screen text editor. In particular, ProComm(TM) shows an
excessive amount of control characters on the screen, even though the
upload proceeds normally. The solution is to press ^W after the text has
been sent.
You can't send text that contains embedded ANSI escape sequences, such as
text that moves the cursor around on the screen or effects color changes
(although eight-bit IBM graphics characters CAN be used). Since the full
screen editor interprets these sequences as commands, not as part of the
message, it will cause undesirable things to happen to the message. If you
want embedded control codes, use one of the other methods for inserting
text into messages.
LOADING FILES DIRECTLY
The text editors feature a special function, executable only by SYSOPs,
that lets you load a text file directly into a message. To use it, press
F1 and then "L" for the full screen editor, or press "F" at the subcommand
prompt of the line editor.
The editor will prompt you for a filename, and load the text of the
specified file into the message. You can give a full pathname and drive
letter if you want.
THE '%%FILENAME' DIRECTIVE
A third method of including text in messages is to use the '%%FILENAME'
directive inside of a message. It's the most efficient and most flexible
method, and should be used in most cases.
This method involves placing a special line within the message. It doesn't
matter which editor you use to create the message. Let's suppose we have a
text file called "PHONE.TXT" that we wish to include in a message we're
sending to someone. We could write the following:
01 Bill,
02 Here's that phone number list I promised you:
03
04 %%PHONE.TXT
05
06 Enjoy.
When we list, save, or edit this message later on, it looks exactly like
the six lines shown above. However, when the message is read by the BBS
system's read routines, something special happens when line 4 is encoun
tered. Instead of printing line 4 verbatim, the BBS looks into a special
directory for a file called PHONE.TXT, and displays the contents of that
file on the screen. When the PHONE.TXT file is done, the BBS goes back and
prints out lines 5 and 6.
The '%%FILENAME' directive is convenient because the included file doesn't
take space in the BBS's message file, doesn't have to be less than 250 lines
long, and can contain any ANSI sequences that you desire. Notice, however,
that you may give ONLY a filename with this directive, NOT a drive letter
or pathname. The text file must reside in the directory you designated as
the "include" directory when configuring your system via the CONFIG
program. This is done for the purpose of security; since anyone can enter
a '%%' directive into a message, you want to ensure that users don't try to
read files which they don't have access to. It is assumed that anything in
the "include" directory is public knowledge.
The '%%' characters must be in the first column on the line, and the line
must not contain any other text after the filename. You can have more than
one include file in a particular message, however.
If you only use file inclusion yourself, it doesn't matter what you choose
as your "include" directory, as long as you store all the files which you
want to include in messages there. However, if you want your users to be
able to upload files to the system and include them in messages, make the
"include" directory acessable via the FILES system; that is, define a file
directory in your FILEDIR.DEF file that uses the include directory to store
the uploads. This way, your users will be able to upload files to the
include directory, and access them in messages they post or send. Using
include files this way, for example, is the only way to allow users to post
messages containing ANSI escape sequences on your BBS.
THE '@@FILENAME' DIRECTIVE
In addition to including files in the "include" directory, we've also
provided a way to access files in your "text" directory from within a
message. It's similar to the "%%filename" construct used above, but you
type "@@filename" instead.
This directive lets you access any of your system's text files- including
custom menus, help files, login screens, etc.- from within a message. We
don't recommend letting your users have upload access to your TEXT
directory, however, since these text files are used by Searchlight BBS and
you'll want to remain in total control of their contents.
.H:...EXTENDED SYSOP COMMANDS
.H:
.H:
SUMMARY OF EXTENDED SYSOP COMMANDS
The following pages contain a summary of the commands available on the
Extended Sysop Command menu. SYSOPs can access this menu by entering the
"2-Sysop" command on the BBS main menu, and typing "E" to enter the
Extended Sysop mode.
While at the "Sysop:" prompt, you may enter any of the commands listed
below by typing the first letter of the command followed by the RETURN key.
To read the documentation for a command while on-line, use the "?" (online
help) command.
----------------[ Searchlight Sysop Command Summary ]----------------
Balance ... Balance User File MsgPurg ... Old Message Purge
Check ..... Check Message File Quit ...... Return to BBS
Delete .... Delete User SwapSub ... Swap Subboards
Free ...... Show Free Space UserPurg .. Inactive User Purge
--------------------[ Press <?> For Online Help ]--------------------
BALANCE
-------
The BALANCE command can be used periodically to "rebalance" the user file
search tree. Rebalancing optimizes the search path to each name, and results
in faster searching of the user file. Rebalancing can also be used to repair
a user file that's been corrupted due to power failures, etc.
Upon completion, the Balance command determines if your USER.BBS data
file can be made smaller by truncating unused records from the end of the
file. If unused records exist and can be removed, the program informs you,
and asks you whether you wish to truncate the file. If you press "Y", the
excess records are deleted; otherwise, they are kept in the file (notice,
however, that free records within the USER.BBS file are reused by the
program; the purpose of truncating the file is to allow you to free up disk
space to DOS rather that have the BBS hold on to it until it is needed).
It is reccomended that you use this command once every few months, or
more often if you add and delete many user names. If you run a "closed"
system and do not add or delete users, you will only have to run this once,
after all your usernames have been entered. The best time to run BALANCE is
right after purging a large number of names from the user file.
CHECK
-----
The CHECK command performs a complete check and repair operation on the BBS
message file, including subboards, mailboxes, and bulletins. Its purpose is
to verify the integrity of the message file and to repair a "crashed" file.
Such a file might result from
- Power failure during critical disk write operations
- Disk errors (damaged portions of the disk)
- Improper modification of the BBS files by other programs
- Hardware malfunctions, glitches, etc.
If you notice messages that do not save or display correctly, "garbage" in
messages, or any apparent malfunction of the message system, you should take
the following steps:
1. Run the CHECK command
CHECK will automatically repair any errors that it finds.
2. Return to the BBS and delete any messages that appear incorrect
If you consistently have errors or if you trace the cause of an error to an
apparent bug in the BBS program, please contact Searchlight Software for
further assistance.
As an additional feature, the Check command looks for free message space at
the end of the MESSAGE.BBS file which can be truncated and returned to DOS.
If such space is available, you are given the opportunity to truncate the
file (thus reducing the size of your MESSAGE.BBS file on disk).
.E
DELETE
------
This command allows you to delete a single username from the user file. The
user's name, along with their logon information and any mail in their mail
box, are removed from the system.
To delete multiple users, refer to the USERPURG command.
.E
FREE
----
This command will display the total number of records and number of free
records available in the system's User and Message files (USER.BBS and
MESSAGE.BBS).
MSGPURG
-------
The MSGPURG command allows you to automatically purge old messages from the
system. When you run the command, it will prompt you for a cutoff date, a
cutoff access level, and will let you choose to delete mail, public
messages, or both.
The cutoff date is the date which defines an "old" message. All
messages posted on or before this date are considered for deletion.
The cutoff access level is used to screen out messages from the delete
mail scan. Only users with access levels equal to or less than this number
will have their mail considered for deletion.
Protected public messages are not deleted under any conditions. Public
messages can be protected by the SYSOP by using the EDIT command from the
main menu.
The system will warn you before it begins the delete scan. You must
press Y to continue, or N to abort the scan. When completed, the command
will report the number of messages deleted. You can abort the command early
by pressing Spacebar or ^C.
.E
QUIT
----
The QUIT command returns you to the Searchlight BBS Main Menu.
.E
SWAPSUB
-------
The SwapSub command is used to exhange the contents of two subboards. Enter
the subboard letters of the first and second subboards; the titles, messages
and other information of the first subboard is interchanged with those of the
second subboard. You can type '?' to get a subboard listing, or press the
<return> key to quit the command without making any changes.
Any external files associated with a subboard, such as opening text
messages, door definition files, or file directory definition files, are
NOT renamed or altered in any way. It is up to you to manage these files if
desired.
USERPURG
--------
The USERPURG command effects a purge of the user file. It automatically
deletes users, along with their mail, based on the date the user last
logged in and the user's access level.
You must specify the cutoff date and cutoff access level. The program
will scan the entire user file. Those users who have not logged in since the
cutoff date, and who have access levels less than or equal to the cutoff
access level, will be removed from the system (note: the GUEST and SYSOP
accounts are exempted from the scan).
Before the deletion begins, the program will warn you of what it is
about to do. You must press Y to confirm the deletion, or N to abort the
purge command. In addition, you have the option to confirm all deletions
before they occur; you are prompted with:
Confirm each deletion (Y/N)?
If you respond with "Y", each username being considered for deletion is
printed, and you are prompted to enter a Y to delete the user, N to not
delete the user, or Q to quit the entire command.
If you choose NOT to confirm each deletion, the command will progress
without any further prompts until the entire file is processed; however,
you can still abort the command by pressing the ^C key.
.H:...FILES SUBSYSTEM
.H:
.H:
SEARCHLIGHT BBS FILE TRANSFER SYSTEM
Introduction
One of the most valuable features of the Searchlight BBS is its file
transfer system. With file transfer, Searchlight gives you the ability to
transmit files of any type from one computer to another over the telephone,
with the capability to check for errors. It lets you set up multiple
directories where users can "upload" a file or choose from a selection of
files to "download". You can have as many as 26 directories active at
once, and a different set of directories for each message subboard on your
system, giving you thousands of possible directory setups. As the sysop,
you can assign different access levels to control what users have access to
what files.
The Searchlight's file system has many useful features: alphabetical
and chronological directory listings, wildcard directories, global
directory scans, Xmodem, CRC Xmodem, and Ymodem file transfers, password
protection, and private file transfers. Users can view the internal
directory of an ARChive file while online. SYSOPs can delete files, move
files between directories, and import filenames from existing files on disk
quickly and easily. You can even edit file descriptions after they've been
entered. Plus, the Searchlight's file transfer programs are the fastest
available, due to advanced two-way interrupt driven RS232 handling.
SETTING UP DIRECTORIES
Now that the hype is out of the way, let's get down to the business of
setting up your system to send and receive files. If you tried to run the
file system (by issuing the "Files" command from the BBS main menu) you
probably received a message saying that "no file transfer directories are
available". You must set up some directories before you can begin.
First, a word about what we mean by "file transfer directories". You are
undoubtably aware that the MSDOS operating system uses directories and sub
directory structures. For the purposes of the BBS, however, we will be
defining our own directory structure, partly to afford a greater level of
security than is available with DOS, partly to extend the functionality of
the directory beyond what DOS provides. Still, your upload/download
directories can, and should, be constructed so that they correspond to
actual DOS directories- it makes a lot of operations much easier.
The first step should be to create DOS directories on your disk to hold the
files that will appear in the file transfer directories. You can have as
many as 26 directories. Most SYSOPs set up directories according to
various topics such as utilities, communications, word processing, games,
graphics, etc. The topics you choose, of course, are totally up to you.
One directory that almost every BBS has is called UPLOADS, and it's used to
contain all the "new and recently uploaded" files on the system. As an
example, we will create this directory in the "root" directory of the C:
drive. The proper command, from the DOS prompt, would be:
C> MKDIR C:\UPLOADS
Next, we have to configure the FILES program to use the new UPLOADS
directory. The FILES program is configured via a text file called
FILEDIR.DEF, and/or a series of text files called FILEn.DEF, where "n" is a
letter from A to X, designating a particular message subboard. These files
must be present in the BBS's main working directory.
File system .DEF files contain lists of available file directories, one per
line, written in the format shown below. FILEDIR.DEF is the "master"
directory list, which is used when no subboard-specific directory list is
available. FILEn.DEF files are used to create file directory lists for
individual subboards. For example, if you create a file named FILEC.DEF,
it is used as the file system definition file when entering the FILES
section from the [C] subboard on the main menu. If FILEC.DEF did not
exist, FILEDIR.DEF would be used instead. Thus, you can have individual
file directories for particular subboards, and a default set of directories
for the rest.
Use a text editor to create your .DEF files. Parameters are typed in with
semicolons to seperate them. The format is as follows:
NAME;Access;Path;Description
NAME is the name for the directory. It must be a one to eight character,
legal DOS filename, with no extension. NAME is used as the filename for
the file that will hold the directory information.
ACCESS is a number from zero to 255, and it defines the access level for
the directory. This is similar to subboard access levels; users who's
Files Access level is greater than or equal to this number can have access
to the files in this directory, and others may not (note that additional
security is available with the "Password" option).
You must set the access level of the FIRST directory in your list to
zero. This is because all users will be placed into directory 'A' initi
ally.
PATH is the pathname to the directory that will contain the files.
Description is a discription of the directory's contents. For our example,
the line entered into the FILEDIR.DEF file might look like this:
UPLOADS;10;C:\UPLOADS;New and Recently Uploaded Files
Don't leave any blank lines, or extra spaces between items or at the
beginning or end of the line. If you wish to create more directories,
simply add more such lines to your FILEDIR.DEF file, or create additional
files as noted above to provide subboard-specific directory lists.
SETTING A DEFAULT TEXT MESSAGE
You can create a message that will be displayed automatically each time the
FILES program is run. This message can contain any instructions or
comments that you wish to give each time you enter the file transfer
system.
The FILES default message is a text file called FILES.TXT and/or FILES.ANS.
It must be located in the user-defined "text" directory. As with BBS text
files, you can either provide both a .TXT and an .ANS version of the file,
or just the .TXT version, which will be delivered to everyone. The FILES
text message is optional; if you don't provide one, no error message will
be generated.
USING THE FILE TRANSFER SYSTEM
To use the file transfer system, log in to the BBS and execute the FILES
command from the main menu. You'll see a message indicating that the files
system is active, followed by your text message (if you created one), and
finally a command prompt similar to the BBS's main menu prompt. From here,
you can execute the FILES system commands, as we'll describe in a moment.
If no subboard-specific .DEF file exists for the subboard you're using when
you execute FILES, the FILEDIR.DEF file is loaded. If a particular
subboard's .DEF file is available, it is loaded, and the message "Loading
Subboard Directories" appears, informing you that a special group of file
directories, available only from that subboard, is becoming available.
IF YOU RECEIVE AN ERROR MESSAGE ...
If you receive an error message when entering the FILES system for the
first time, it's probably because you made a mistake when creating the
FILEDIR.DEF file, or because you specified the name of a directory or
directory path that does not exist (perhaps you misspelled something).
Check the FILEDIR.DEF file and try it again.
FILES SYSTEM COMMANDS
Accessing the FILES system presents you with a new command prompt and a new
set of commands. The new prompt works the same way as the BBS's main
command prompt; it allows you to enter commands by typing the first letter
of the command or by scrolling through the commands with the SPACEBAR and
BACKSPACE keys, it will list available commands via the "Help" command, and
it will display an explination of each command when the "?" key is pressed.
The name and letter of the currently active file directory is displayed to
the left of the prompt. To return to the BBS, you use the "Quit" command.
PROTOCOLS
You can select an upload/download protocol using the Xproto command.
Xmodem, CRC Xmodem, and Ymodem protocols are currently available.
UPLOADING
Use the "Upload" command to upload files to the BBS. "Uploading" means to
send a file FROM the remote terminal TO the BBS. The remote terminal must
support one of the file transfer protocols used by the BBS.
Before an upload begins, the program checks all directories to see if
a file of the same name already exists on the BBS. If the file is a
duplicate, the message
File already exists. Thanks anyway.
is displayed, and the upload aborts. If the file doesn't appear in any of
the BBS directories but a file of the same name exists on the disk in the
directory where the upload will be placed, the message
Filename exists
appears, and the file transfer is similarly aborted.
Don't attempt to use the Upload command when logged in to the system
locally. Instead, you can use the Get command to load existing files into
your BBS's list of files available for downloading.
.E
DOWNLOADING
Files in the currently active directory can be downloaded, or sent FROM the
BBS and TO the remote terminal, via the Download command. Don't use
Download during a local login.
If a user's download/upload ration exceeds the maximum value as
defined in the CONFIG program, no downloading is allowed until the user has
uploaded enough to reduce his or her ratio to within the allowed range.
Users who are "non-validated" (those who's access level is no larger than
the default new user's access level) are prevented from downloading.
The approximate time for the download is computed before the file
transfer begins. If the time to download the file exceeds the amount of
time left in the current user's session, the download is not allowed.
.E
DIRECTORY LISTINGS
There are several types of directory listings that can be gotten using the
Files and New commands. Wildcard, alphabetical, and date-sorted listings
are available.
To switch from one download directory to another, use the List command
for a list of available directories, and Jump to move between them.
FILE MAINTENANCE
Sysops and co-sysops can delete files, move files from one directory to
another, and change the description associated with a file. The commands
to execute these functions are Kill, Move, and Edit. These operations can
also be performed by the user who uploaded the file.
PASSWORD PROTECTION
Passwords can be assigned to files on an individual basis using the Passwd
command. Once a file is assigned a password, it cannot be downloaded or
deleted without giving the password. Even cosysops must know the password
of a protected file to download it; only the SYSOP can access the file
without using the password.
A typical use of the Passwd option would be to allow two users to
exchange a file privately. The sender would upload the file and assign a
password to it. He or she would then communicate the password to the
intended receiver (by sending a private message), who would then use the
password to download the file. If more than one user needs to access the
file, the sender gives the password to each person who needs to be able to
download it.
Another way password protection can be used is via the "default
password for uploads" field in the CONFIG file. If this field is filled
in, each new file that is uploaded to the system is assigned the default
password. Thus, newly uploaded files cannot be accessed by the general
user population; only the SYSOP, and those who know the default password,
can access a new file. Typically, you'd use this option to give yourself
the opportunity to check all new files before they can be downloaded by the
users of your BBS. After confirming that the file is OK to download, you
would remove the password (by using the Passwd command).
A "+" sign appears in the directory listing of a password protected
file. This allows you to identify such files easily.
.H:...FILES COMMAND SUMMARY
.H:
.H:
SUMMARY OF FILES SYSTEM COMMANDS
Here's a printout of the File System's main menu of commands, followed by
an explanation of what each command does.
----------------[ Searchlight Files Command Summary ]----------------
ArcDir .... View Files in Archive New ....... New Files by Date
Chat ...... Page the Sysop Owner ..... Show Add'l File Info
Download .. Download File Passwd .... Assign/Change Passwords
Edit ...... Edit File Descriptions Quit ...... Return to BBS
Files ..... Directory of Files Space ..... Show Free Upload Space
Get ....... Get Disk FIlenames Type ...... Read Text Files
Jump ...... Jump to Directory Upload .... Upload File
Kill ...... Delete File WideDir ... Brief File Listing
List ...... List of Directories XProto .... Change Xfer Protocol
Move ...... Move File to New Dir
--------------------[ Press <?> For Online Help ]--------------------
ARCDIR
------
This command displays the internal directory of an ARChive file (a com-
pressed library file created with one of the popular archive utility
programs). You are prompted for the filename; you may leave off the .ARC
extension. The ARC file's directory is displayed in a format similar to that
of the "verbose" list option found in the archive utility programs.
CHAT
----
This command allows a remote user to page the system operator. If the SYSOP
indicates that he/she is available (via the ALT-A command), paging occurs,
otherwise the message "sysop not available" is displayed.
To answer a page at the local computer, press any key. To exit from
the chat mode, press the ESC key.
DOWNLOAD
--------
The Download command is used to transfer files from the BBS to the remote
terminal. The remote computer or terminal must be capable of receiving the
file using one of three possible transfer protocols: Xmodem, CRC Xmodem, or
Ymodem. If no protocol has been previously selected when you give the
Download command, you will be prompted for a protocol; otherwise, the
protocol used last is used.
To begin downloading, enter the name of the file you wish to receive.
You must enter the full filename. ONLY FILES IN THE CURRENT DIRECTORY may be
downloaded; if you wish to download a file from a directory other than the
one that's current, you must Jump to that directory first. When the BBS
displays the message "Ready to send", the file transfer is ready to begin.
However, before you can receive the file, you must give your terminal the
proper command. Usually, this is done by selecting an option to receive
files on a menu.
A file may be password protected. If you attempt to download such a
file, you will be prompted for a password, and the download will proceed
only if you provide the correct password.
To get a directory of the files available for downloading, use the
Files and New commands.
EDIT
----
This command allows you to change the 40-character description associated
with a file. You can only change a file that you uploaded, unless you have
sysop status, in which case you may edit any file's description.
.E
FILES
-----
The Files command displays a listing of files available for downloading. It
prompts you to enter the "Starting Filename or Wildcard" of the directory
you wish to view. There are three ways to respond to this prompt:
.E
Pressing RETURN without typing anything gives you a list of all files
in the current directory. The list is in alphabetical order and shows the
filename, date uploaded, size in Kilobytes, and a description of the file.
Typing a filename, or the first few characters of a filename, WITHOUT a
wildcard, lists files in alphabetical order starting with the filename
entered. For example, if you enter "L", you will get a list beginning with
the files that start with the letter L, and continuing to the end.
Finally, you may type a wildcard (a filename containing one or more
"*" or "?" characters). In this case, only those files that match the
wildcard specification are shown. In addition, the prompt "Search all
directories (Y/N)?" appears. If "Y" is selected, the program will list all
files in all directories that match the wildcard; otherwise, only files in
the current directory are listed.
A "+" sign displayed in the file listing indicates a password protected
file. You can only be download such a file if you know the password.
You may abort any file listing at any time by pressing the <spacebar>
or <ctrl-c> keys. Also, refer to the "New" command for information about
date-sorted file listings.
GET
---
The GET command is used (by the SYSOP only) to load the names of existing
files into the BBS's directory, without having to upload them.
To add files to a directory, use DOS commands to copy the files to the
appropriate disk and directory. When you execute GET, the BBS reads the disk
directory of the active drive and compares the filenames it finds to the
filenames in its own internal directory list. When a new file is found, its
name is printed and you are prompted to enter a 1 to 40 character
description of the file. If you enter no description, the file is skipped;
otherwise, it is added to the BBS's list of files.
You must enter a filename or wildcard mask for GET to use. The
command will search the disk's directory for files matching the filename or
wildcard that you entered.
.E
JUMP
----
This command is used to access the various file directories available on
the system. Up to 26 directories are available, indicated by the letters
[A] thru [Z] to the left of the command prompt. The Jump command will
prompt you for the letter of the directory you want to access. You can only
download files in the "current" directory.
To see the list of available directories, either type "?" in response
to the Jump command's prompt, or use the List command.
.E
KILL
----
The KILL command deletes a file. If you have Sysop or Co-Sysop access, you
may delete any file; otherwise, you can only delete a file if you uploaded
it.
SYSOP ONLY: You may delete the file from the BBS's list of files
without actually deleting the file from the disk. You will be prompted for
this option.
LIST
----
The LIST command gives you a list of available directories. In order to view
or download files in a specific directory, you must make it the current
directory; you do this by responding to the List command's prompt with the
directory letter, [A] thru [Z], or by using the Jump command (see Jump).
MOVE
----
Use the MOVE command to transfer, or move, a file from one directory to
another. Actually, the file is copied into the destination directory and
then the original file is deleted.
Users with Sysop access can move any file. Otherwise, you can only move
your own files (files you have uploaded) into directories that you have
access to.
NEW
---
The NEW command allows you to get a listing of "new" files since the last
time you logged on, or since any specified date.
To use the New command, answer the prompt with the desired target date.
The date shown in brackets, which is the date you last logged on, is used
as the default date if you press RETURN. A second prompt appears, "Scan all
directories (Y/N)"- if you enter Y, all directories will be searched for
new files, otherwise only the current directory is searched.
Dates are entered in the form month-day-year. You can use dashes,
slashes, or any nonnumeric seperators. If you don't include the year (eg.
"9/21"), it defaults to the current year.
The new file listing appears in reverse date-sorted order. It is often
useful to run the NEW command with a very early target date, as this gives
you a chronological file listing rather than an alphabetical listing as
with the FILES command.
.E
OWNER
-----
This command prompts you for a filename and it displays the file's owner
(the name of the person who uploaded the file) and the number of times that
the file has been downloaded.
.E
PASSWD
------
The PASSWD command lets you assign a password to a file. Once a password is
assigned, only users who know the password are able to download the file.
You can only assign a password to a file that you have uploaded. If
the file already has a password, you can only change it if you can give the
old password. Note that the SYSOP can assign an automatic password to all
newly uploaded files, thus preventing anyone from downloading a new file
until it has been cleared by the sysop.
QUIT
----
The QUIT command returns you to the Searchlight BBS Main Menu.
SPACE
-----
This command displays the amount of free space, in bytes, available on the
disk for uploading files, as well as the total capacity of the disk drive.
TYPE
----
The TYPE command allows you to read a text file. The output will pause every
24 lines and can be controlled with pause (^S) and break (^C) keys, just
like when you read messages and other text.
You should only try to TYPE files that contain text. Typing other files
will (usually) result in "garbage" characters being sent to your terminal.
If this happens, press ^C to abort the file.
UPLOAD
------
The Upload command is used to send files from a remote computer to the BBS.
The remote computer or terminal must be capable of sending the file using
Xmodem, CRC Xmodem, or Ymodem protocol. If no protocol has been previously
selected when you give the Upload command, you will be prompted for a
protocol; otherwise, the previously selected protocol is used.
To begin uploading, enter the filename of the file you wish to send.
You must enter a legal MSDOS filename (8 character filename with optional 3
character extension). Do not include drive letters or directory pathnames.
You cannot upload a file that already exists on the BBS (delete the file
first).
If less than 200K of disk space is available, the BBS will display the
amount of space left and ask if you wish to continue. Press "N" if your file
is larger than the amount of space available, or "Y" to go on.
When the BBS is ready to receive your file, it will display the message
"ready to receive". What happens next depends on the terminal software that
you use. In most cases, you must give a command to your software that tells
it to load the file and begin sending it using the proper protocol.
When the file transfer completes successfully, you will be prompted to
enter a 1 to 40 character description of the file to be displayed so that
others will know what information the file contains. When uploading a file
as a SYSOP, you have the option of NOT giving the file a description. In
this case, the file is not entered into the download directory, although it
remains on the disk.
If the SYSOP has assigned a "default" password to the files system,
your file will be password protected until it is cleared by the sysop.
The system "gives back" the amount of time it took you to upload the
file by increasing your time limit by the time it took, so that you lose no
time on the system for uploading.
WIDEDIR
-------
This command gives you a "wide", four-across file listing which shows only
the filename and file size in Kilobytes. It is similar to the DIR/W command
in MSDOS. There is no parameter for WideDir; all files in the current
directory are listed. You may abort the listing with ^C.
XPROTO
------
This command lets you change the transfer protocol used for uploading and
downloading files. The available protocols are Xmodem, CRC Xmodem, and
Ymodem. If you attempt to upload or download a file without first selecting
a protocol, the program will prompt you for one before continuing.
Once a protocol is selected, it is used by default for all subsequent
file transfers until you change it with the XProto command.
.H:...DOORS SUBSYSTEM
.H:
.H:
SEARCHLIGHT BBS DOORS SUBSYSTEM
Introduction
The Searchlight BBS DOORS system provides a method for linking external
programs to your BBS. You can add additional features and capabilities to
your system, such as games, user polls, extended sysop features, etc.
DOORS can be programs provided by Searchlight Software, programs you write
yourself, or programs written by others. In addition, many general purpose
MSDOS programs and utilities can be used as DOORS.
Most popular bulletin board systems provide only a means of executing a
subprocess as the DOORS mechanism. This has led to a plethora of external
programs, drivers, and other methods of directing a Door program's input
and output to the COM port for use by a remote caller. By contrast,
Searchlight BBS fully supports the COM port during Door operation; you can
use almost any program directly as a door, without having to alter the
program, load a serial port driver, or use a BATCH file. Even programs
which use full-screen cursor manipulation, color, IBM type character
graphics, and simple sound effects will work, as long as these programs use
either the BIOS or DOS for their input and output. In addition, the
Searchlight DOORS system monitors and handles loss of carrier; optionally
write-protects disk drives while the Door is active; and consumes only 30K
of memory above DOS, freeing the rest of your RAM for use by the Door.
We've also included features that help make Searchlight compatible with
many of the Door programs already written for other BBS systems. Search
light's COM port support can be fully disabled, allowing you to run pro
grams which provide their own COM support, and Searchlight will optionally
generate a configuration file (normally called PCBOARD.SYS) which is
compatible with the configuration file created by the PCBoard(TM) bulletin
board system when running a Door.
IMPORTANT NOTE: If you use an ANSI.SYS replacement which bypasses the BIOS
level of I/O, you will be unable to run DOS shells and other programs that
output through DOS on your system. We recommend switching back to the
original DOS ANSI.SYS driver when running Doors under Searchlight.
SETTING UP DOORS: THE DOORS.DEF AND DOORSn.DEF FILES
Setting up a list of Doors is done by creating a text file called
DOORS.DEF, which must be present in the bbs "main" directory (the directory
that's active when you run the BBS). You can use any text editor or word
processor that writes standard ASCII text files. The Searchlight's built
in text editor can be used for this purpose via the "TextEdit" option on
the Sysop's menu.
DOORS.DEF contains a list of available Doors, one per line. As with the
FILEDIR.DEF files, you can define a seperate DOORS menu for each message
subboard on your system, for a total of up to 24 seperate DOORS menus (each
with up to 40 choices). To designate a DOORS list for a particular sub
board, you create a file called DOORSn.DEF, where "n" is a letter from A to
X (corresponding to subboards A thru X). If a particular DOORSn.DEF file
does not exist, the general file, DOORS.DEF, is used instead; therefore,
you need create only one file if you don't want seperate DOORS menus for
each subboard. If no .DEF file exists at all, the BBS will display the
message "No Doors Available" when you try to execute a Doors command.
To define doors, enter one line of text for each door program, up to 40
lines per file. The format of a door definition entry is as follows:
type;writeprot;abort;access;description;dir;command
TYPE is a number, either 0, 1, 2 or 9. Zero specifies that NO modem i/o
support will be provided for this program; the program is expected to
interface with the serial port itself. 1 indicates that the program does
not contain serial i/o support, and serial support will be provided by the
BBS.
Use type 1 with most programs. Type 0 can be used with programs that
use the serial port themselves, such as door programs written for use with
other BBS systems which do not provide serial i/o support. Usually, type 0
programs will require parameters to tell them which serial port and baud
rate to use; they may read this information in the doors system con
figuration file, Searchlight CONFIG file, or via explicit command line
parameters.
The type 2 switch is provided to allow Searchlight to correctly handle
Door programs using color on a monochrome system. Normally, Doors
determines whether you are using a color or monochrome CRT on your system,
and interprets the door program's request to change screen attributes
accordingly. However, with some programs, notably games written in BASIC,
you will want to use color regardless of the fact that the local CRT is
monochrome. Specifying "2" as the door type allows you to do this.
Finally, type 9 is a special type that allows you to create multilayer
DOORS menus. This option is discussed further below.
WRITEPROT is a value that determines whether the disk drives will be write
protected during the execution of the door. If set to 0, write protection
is not in effect, and all disk i/o proceeds as usual. If set to 1, soft
ware write protect is enabled on all disk drives. No disk writes will be
allowed while this door is running.
Write protection is useful when you wish to run a program that allows
users to specify filenames to which data will be written. For example, a
game program might have a "save game" option that asks the user to enter
the name of the file to hold the saved game. If the user were to type the
name of an existing file, he or she could easily destroy important data on
your disk. The software write protect guards against this. Any attempt to
write to a disk while write protect is in effect will result in the
standard DOS "Write protect error writing drive" message.
ABORT specifies the action to be taken if the Doors system detects a
carrier signal loss (ie. if the user hangs up the telephone) during the
operation of a door. If set to 0, the carrier is not monitored, and no
action is taken. If set to 1, the door system will attempt to terminate
the running program via the DOS terminate procedure. If set to 2, the
doors system will reboot the computer when a carrier loss occurs.
Abort type 0 should only be used with programs that do their own
carrier loss checking, or with programs that must not be interrupted during
processing. Abort type 1 is the standard abort method; it will work with
programs that abort normally through the DOS TERMINATE process. Type 1 is
the preferred way to abort a program.
Some programs, notably COMMAND.COM, will not abort via the standard
DOS call, because they replace the return vector with a pointer back to
their own code. Many games and other ill-behaved programs fall under this
category. If a program will not return to the BBS via the TERMINATE call,
an alternative is to set abort type 2, which will initiate a warm boot of
the computer if a carrier loss is detected during the operation of the door
program. If you use this method of abort, you must have a DOS disk in
drive A:, or a hard disk and no floppy in the A: drive, and you must
include in your AUTOEXEC.BAT file the commands neccesary to start up the
BBS program after the system boots itself up. Since it will be an
unattended bootup, you must eliminate any programs from your AUTOEXEC that
prompt you for input when they run.
ACCESS defines the minimum access level that a user will need to be able to
access the program. Only users with BBS Access levels greater than or
equal to this number will be able to run the door; other users will neither
see nor be able to execute this program.
DESCRIPTION is a short description of the external program. Don't use the
";" character as part of the description, since this character is used as a
field seperator.
DIR is the drive/directory specification for the directory that will be
made the "current" directory before the program is run. Since many
programs require data files that reside in the current directory when they
are run, you can specify the directory to switch to before the program is
executed. The BBS automatically switches back to its own directory when
the door "closes".
If you do not need to change directories when running an external
program, or you wish to use the current directory, type a single period
(".") as the directory name.
COMMAND is the name of the program that will be run. It should look
exactly like the command line you'd normally type when starting the program
from DOS, including any parameters, with one exception: if the program is a
COM or EXE file, you should specify the .COM or .EXE extension in the
program's name (for example, use COMMAND.COM instead of just COMMAND). If
you DON'T specify an extension of .COM or .EXE, the BBS assumes the program
you wish to run is a batch (.BAT) file or a DOS command such as DIR, TYPE,
etc. In this case, the BBS will first load a copy of COMMAND.COM, and then
execute the command. If the command is really a .COM or .EXE file and you
don't say so, it will still run, but you'll have an extra copy of
COMMAND.COM in memory which serves no purpose.
If COMMAND.COM must be loaded, the BBS will try to find it by
examining the environment table for the line "COMSPEC=". Failing to find
this, it will attempt to load COMMAND.COM from the current directory. If
COMMAND.COM (or the DOOR program itself) cannot be found, an error will
occur, and control returns to the BBS.
Don't type any extra spaces at the beginning or end of the lines, or before
or after the semicolons.
Finally, you can add comment lines to the DOORS listing by prefacing the
line with a '#' character. Comment lines are displayed along with the list
of available Doors when you enter the "Doors" command from the BBS.
Here is an example of a DOORS.DEF file:
# Games and Entertainment:
#
1;1;2;2;NEWTREK by R.H. Johnson;C:\GAMES\NEWTREK;NEWTREK.EXE
1;1;1;10;Infocom's Leather Goddesses of Phobos;C:\INFOCOM\LEATHER;LEATHER.COM
#
# SYSOP and System Programs:
#
1;0;2;255;DOS Command Shell;.;C:\COMMAND.COM
1;0;0;255;BBS Configuration Program;.;C:\BBS\CONFIG.EXE
Lines beginning with '#' are comments, displayed along with the doors list.
The first example Door specifies that the program NEWTREK.EXE is to be run.
The numbers 1;1;2;2 specify that (a) the program does not support its own
serial i/o; (b) the disk drives will be write protected while the program
is running; (c) the computer will reboot itself if the user drops carrier
while the program is running; and (d) users with access levels of 2 and
above will be able to access this program. Before the program begins to
run, C:\GAMES\NEWTREK becomes the current directory.
The second entry, for running the program LEATHER.COM, is similar except
that the normal DOS ABORT call is used in case of carrier loss, and access
level 10 is required to run the program.
NOTE: THE USE OF COMMERICAL AND COPYRIGHTED SOFTWARE AS DOORS MAY BE
SUBJECT TO THE APPROVAL OF THE MANUFACTURER. If in doubt, contact the
manufacturer before using a program as a door. LEATHER and Leather
Goddesses of Phobos are copyrighted products of Infocomm, Inc.
The third entry in this file defines a COMMAND.COM door. Using COMMAND.COM
as a door is an extremely useful practice, as it allows you to enter the
DOS command level from a remote terminal, and issue commands just as if you
were sitting in front of the remote computer. Zero is specified in the
write protect field, allowing us to write to the disk while in this door.
An access level of 255 prevents all but SYSOP level users from having
access to this door (a good idea, since access to the DOS shell allows you
to do anything, including erasing files and even reformatting the disk!).
Abort type 2 is used, since DOS normally returns to itself when a normal
abort is attempted.
The final entry shows the CONFIG.EXE program being used as a door. Adding
CONFIG to your DOORS menu lets you access the system configuration menus
from within the BBS, even when logging in from remote. If you do this,
however, you must use caution: don't change vital parameters such as the
baud rate or COM port while on line, or you won't be able to return to the
BBS after exiting CONFIG.
As with the DOS shell, an access level of 255 is assigned to this door
to prevent it from being used by anyone except the SYSOPs.
CREATING MULTILEVEL DOORS MENUS
As with the Files command, Doors lets you have a seperate menu for each of
the 24 possible message subboards, if you desire. However, unlike Files,
Doors offers as an additional menu management function the ability to
create multilevel DOORS menus.
By multilevel, we mean that you can have a choice on the DOORS menu which,
when selected, instead of running an external program, presents you with
another menu of DOORS selections. You can divide your available Door
programs into sections such as Games, Utilites, etc. As an example, you
might have a DOORS menu that looks like this:
Searchlight External Programs Menu
1. Searchlight Games Menu
2. Searchlight User Utilites
3. Searchlight SYSOP Utilites
4. DOS Command Shell
When a user presses "1", another menu might appear that looks like this:
Searchlight Games Menu
1. Online Adventure Games
2. Ron Chibnik's Slot Machine
3. PC-Hack
Some menu selections might run actual programs; others might bring up yet
another menu with additional choices.
As mentioned breifly above, multilevel menus are created with the special
"Type 9" designator in the DOORS.DEF file. A line in DOORS.DEF that calls
another menu looks like this:
9;0;0;10;Searchlight Games Menu;.;GAMES.DEF
The "command" name, GAMES.DEF, is actually the name of the menu file that
contains the menu selections for the GAMES menu (in the same format as the
DOORS.DEF menu). The access level, 10, makes this menu accessable only to
those users with access level 10 or above.
The other fields in this line- aborttype, writeprot, and default
directory- are not used, but they must be filled in. Just fill them in
with zeros and "." for the directory, as we've done above.
You can extend the layered menu system by having submenus chain to other
submenus, etc.; you can even chain back to the original menu. Thus, you
have complete flexibility in designing the DOORS interface for your BBS.
IF YOU RECEIVE AN ERROR MESSAGE ...
If you give the name of a non-existent program in your DOORS.DEF file, or
if you make an error in the file format as shown above, you'll get an error
message when you try to execute the DOORS command from the BBS. Check your
definition file and try to correct the error.
COMPATIBILITY: WHAT PROGRAMS CAN BE USED AS DOORS?
The goal of the DOORS system is to enable you to run any program that uses
the standard BIOS calls on a remote terminal. Since there are many ways of
using the BIOS calls, and each program has its own quirks, we could not
possibly test them all, so you will probably encounter programs that don't
run correctly when used at a remote terminal. However, we will continue to
refine our program and improve it to handle new exceptions as we discover
them.
Programs that do not use the BIOS, but access the screen directly, will not
work under the DOORS system (this includes most word processors, games, or
other programs that provide fast screen displays). Progams that use high
resolution graphics can't be used as DOORS, either. Some programs use the
BIOS some of the time, and directly access the screen some of the time.
These programs may run, but produce confusing results on the remote end.
Finally, a few BIOS calls can't be adequately emulated on a terminal, and
programs that use these calls won't be able to run correctly as DOORS.
If you write your own DOOR programs, be sure to use the BIOS for all input
and output. For example, in Turbo Pascal 3.0, use the $P and $G compiler
directives to have Turbo use the standard input and output; in Turbo 4, set
the DirectVideo variable to "false". The easiest way to write DOORS com
patible programs is to output only straight text, without using any cursor
positioning, colors, attributes, etc. Such programs will be suitable for
use on any remote terminal. Programs that use cursor positioning, etc.
will work correctly only if an ANSI terminal is used at the remote end.
Similarly, eight-bit IBM graphics characters can be used, but only if the
remote terminal is expected to be an IBMPC.
Using COMMAND.COM as a Door
If you use COMMAND.COM as a Door, as shown in our example above, you'll
receive a DOS command prompt (ie. "C>") at the remote terminal, and you
will be able to enter DOS commands, such as DIR and CHKDSK, as well as
execute other programs. Be careful when using this door; if you execute a
program that uses strictly BIOS I/O, it should run at the remote terminal;
if you attempt to run a program that ignores the BIOS, the program will
still run, but you may be unable to see the output or provide input from
the remote. In this case, all you can do is hang up the phone and wait for
the BBS to recover.
Abort type 2 is normally used with a COMMAND.COM door, since the new
DOS shell points the abort return pointers back to itself and not back to
the BBS. Make sure you have your system configured to run the BBS when it
is booted up (ie. as part of the AUTOEXEC.BAT file) whenever you use a type
2 abort.
To exit back to the BBS from the command shell, give the command EXIT.
Using BATCH Files as Doors
The use of BATCH files (files with the .BAT extension), as well as MSDOS
direct commands (such as DIR and COPY), is supported by the DOORS system
through the execution of a COMMAND.COM door. When you give a command line
in the DOORS.DEF file which does not specify a .COM or .EXE file to be run,
Searchlight loads a COMMAND.COM shell and passes your command to it; this
is neccesary for the execution of DOS commands and Batch files.
In order to run COMMAND.COM, of course, it must be available on the
disk. Searchlight finds COMMAND.COM by looking for the "COMSPEC=" line in
the environment table. If no "COMSPEC" entry is found, it attempts to load
the command processor from the current directory. If this fails, the
message "Error running command" appears, and control returns to the BBS
(you also get this error message if the command or program you're trying to
execute is invalid or does not exist).
If you use a hard disk, COMMAND.COM will usually always be available
in your root directory. If you use floppies, make sure a copy of
COMMAND.COM is on the floppy if you plan on running DOS commands or batch
files as doors.
Notice that the BBS will assume that any command without a ".COM" or
".EXE" extension is a batch file. Therefore, when executing commands that
are executable files, always include the extension in the command line.
HOW THE DOORS SYSTEM WORKS
The code that enables you to run programs "online" is contained within the
file SLBBS.EXE. SLBBS is the program you normally run to start up the BBS.
When it runs, SLBBS, which takes only about 30K of memory, actually loads
and runs the program BBS.EXE "underneath" it as a subprocess. While BBS is
running, the SLBBS program simply sits in memory above it, doing nothing,
until a request to run a DOOR program is received.
When you execute a DOOR, the BBS records the request in the CONFIG.BBS
file, and simply terminates, returning control to SLBBS.EXE. At this
point, SLBBS determines that a request for a door is in effect, and it does
two things. First, it installs its own serial i/o routines on top of the
BIOS i/o routines. Specifically, BIOS interrupts 8, 10, 16, and 21
(hexadecimal) are intercepted by SLBBS and augmented with additional
processing to handle the serial port. If software write protect is
requested, interrupt 13 is also intercepted.
Finally, the DOOR program is initiated as a sub-process underneath the
SLBBS process. When the DOOR attempts to use the BIOS functions to do
input and output, the SLBBS routines come into play, interpreting calls for
input and output and linking the remote terminal into the system. The
local screen and keyboard are still available; you can view the operation
of the door while it is running, and you can type commands at the keyboard
even while the remote user is typing commands. Exiting from the door
returns control to SLBBS, which removes its code from the BIOS and restarts
the BBS program.
Notice that this method of running the door off of a small "driver"
program, rather than as a sub-process of the BBS itself, provides you with
a maximum amount of free memory in which to execute external programs.
Since all of the memory needed to run the BBS is deallocated before a door
is run, the net amount of overhead is only the amount of code needed for
the driver program. This amounts to about 30K, so you'll have about 30K
less memory available when running programs as DOORS than you would if
running them normally.
If you use TSR (Terminate and Stay Resident) programs, such as SideKick (TM
Borland Int.), in conjunction with your BBS, these programs may cause
problems for the DOORS system. If you have trouble, eliminate the TSR's
when running DOORS on your BBS.
Note that in the case of a type 0 door, ie. a door which is presumed to
handle its own serial I/O, no BIOS calls are intercepted, no additional
processing is added to DOS, and the program executes exactly as it would
normally. In this case it is up to the door program itself to make use of
the serial port, if serial i/o is required.
Output
Not all calls to the BIOS interrupts are interpreted literally. An attempt
is made to provide the most efficient output at low baud rates. For
example, many programs will issue a "cursor position" request after each
character is output. Since this would cause the BBS to transmit an extra 6
to 8 characters for each output character, a check is made for this
condition, and no characters are output. Similarly, requests to move the
cursor to the next line or to column zero of the current line are
transmitted to the remote as linefeeds and carriage returns.
If a cursor position request cannot be resolved with control characters, an
ANSI cursor position sequence is issued. This presumes you have an ANSI
terminal at the remote end. No check is made; if you use door programs
that require absolute cursor positioning or other ANSI features such as
text highlighting, an ANSI terminal is required at the remote. If you have
many non-ANSI terminal users, it is suggested that you use comment lines in
the DOORS.DEF file to identify those DOORS which require ANSI terminals.
In some cases, satisfactory performance of a full-screen DOOR cannot be
achieved unless the remote ANSI terminal is adjusted properly. Specific
ally, such parameters as Destructive/Non-Destructive Backspace, Line Wrap,
and Screen Scroll should be experimented with.
Be aware that some programs which use the BIOS calls that output to the
screen without moving the cursor will not work. Also, some BIOS commands,
such as those for horizontal screen scrolling, cannot be emulated on the
remote, and programs that use them won't run properly.
Input
The DOORS system attempts to convert ANSI escape sequences from the remote
terminal into the IBM character codes that are generated by the BIOS.
However, ANSI terminals don't support all of the keys provided on the PC
keyboard, and some terminals handle control keys differently than others.
This will mean that some programs won't interpret keystrokes from the
remote terminal correctly.
Access To Original BIOS Vectors
When Searchlight is in control of a door program's I/O, all standard BIOS
output is sent to the modem, and all modem input is made to look like
standard BIOS input. However, you may, on occasion, wish to write programs
which write some output only to the local screen, or can distinguish
between local and remote keyboard input. To allow for this, Searchlight
provides access to a block of memory containing the original BIOS vectors
and other useful information about the state of the SLBBS routines.
To access the SLBBS information, call the MS-DOS interrupt dispatch routine
(ie. INT 21) with a value of $C7 loaded into the AH register. $C7 is an
invalid DOS function and will have no effect if Searchlight is not loaded.
If Searchlight is active, however, the register pair AX:BX will be returned
with a far memory pointer to the SLBBS data block. You can use this far
pointer to access the data, which will be in the format given below:
.E
Field Name and Type Contents
------------------- --------
PROGID: string[6]; { Program ID }
carrier: boolean; { true if carrier check enabled }
writeprotect: boolean; { true if disk write protected }
aborttype: byte; { 0=no abort, 1=terminate, 2=reboot }
rsactive: boolean; { set if rs232 port is active }
ansi: boolean; { user ANSI mode }
color: boolean; { user COLOR mode }
directvid: boolean; { system DirectVideo mode }
curratt: byte; { current video attribute }
commtype: byte; { run parameter (0, 1, or 2) }
idletime: word; { idle time limit (seconds) }
lastkey: boolean; { TRUE = last key from local kbd }
OldVector: array[$00..$FF] of pointer; { old user int vectors }
.E
Notes: A 'boolean' variable is a one-byte variable which will be set to
binary 1 if true, zero if false. Words are two-byte unsigned integers, and
pointers are four-byte far pointers.
The PROGID field contains the string 'SLBBS' to identify the presence of
Searchlight (byte zero contains the string length, bytes 1-5 contain the
characters, and byte 6 contains a binary zero [for the convenience of C
programmers]). If the string SLBBS is not found here, Searchlight is not
loaded and all other data should be considered invalid.
If 'rsactive' is true, then interrupts 8, 10 and 16 (hex) will point to the
Searchlight code. If false, then these interrupts remain at their original
BIOS addresses. Int 13 belongs to Searchlight only if 'writeprotect' is
true. Int 21 always contains Searchlight code.
If you wish to restore any interrupt belonging to Searchlight back to its
original value, the original vectors can be found in the 'OldVector' array
(which actually contains space for up to 255 pointers). Be sure to read
the existing vector first if you plan to restore it. Don't set interrupts
8, 10, 13 or 16 unless they actually belong to Searchlight.
The 'lastkey' variable can be read to determine if the last keystroke
entered came from the local keyboard or the remote terminal. 'Lastkey' is
true if the last keystroke was local.
Other variables can be read to obtain the information listed. The above
table is not meant to be used to provide information such as the current
user's name or baud rate to the DOOR; other methods for passing these types
of parameters are given in the next section.
Finally, although we advise against it, some of the above fields can be
usefully written to. However, setting or resetting 'rsactive' and 'write
protect' will NOT have any effect on the door's behavior.
A sample program, DOOR.PAS, is provided to demonstrate the use of the above
data. Refer to this program for additional information.
PASSING PARAMETERS TO A DOOR PROGRAM
Often, a program running as a DOOR will need to know something about the
status of the BBS system at the time the program is run. Many programs
will need to know the name or access level of the person who is using the
door; others will need information such as the user's time limit or the
active COM port and communications speed being used. Searchlight provides
several methods for communicating this information to the Door process.
USING THE COMMAND LINE: METACHARACTERS
The easiest way to pass parameters to a program is via the command line.
Searchlight provides 11 system variables, or "metacharacters", which you
can include on a command line in the DOORS.DEF file. When Searchlight
executes the door, the metacharacters are replaced by specific information.
Here is a list of the characters available:
%N Current User's Name
%U Current User's Name, with spaces replaced by underbars
%K Current User's First Name
%A User's BBS Access Level
%F User's FILES Access Level
%G ANSI Graphics Mode (C, M, or N)
%T User's time limit, in minutes
%M Amount of time left in current session (in minutes)
%L Time the user logged in (HH:MM)
%B Current Baud Rate
%P Active Communications Port (0-4)
%C Sysop 'Chat Available' status (Y or N)
%S BBS System Name
%O Node Number (Multiuser systems only)
The time parameter, %L, is given in the format "HH:MM", as a 24-hour time.
All other parameters appear as strings of characters or decimal numbers in
the range 0 to 255. Baud rates appear as "300", "1200", etc. The %N and
%U parameters differ in that %N returns the user's exact name, including
any spaces, while %U replaces spaces with underbars. Since the space
character normally delimits command line parameters, many programs won't
interpret a name containing spaces properly; you can use %U to send the
full name as one word. %K returns the first name with all but the first
character converted to lowercase.
%P returns a value of zero if the current user is logged in locally; other
wise, it returns the value of the active COMM port, 1 thru 4. If %P
returns zero, the value returned by %B is undefined and should be ignored.
As an example of how to use metacharacters, let's say you have a game
called SLOTS that you want to run as a door. SLOTS takes as a command line
parameter the name of the person running the program; it uses your name to
keep a high scores table. The command line sytax is SLOTS <name>.
To make SLOTS accept the first name of the logged in user, without the user
having to type his or her name, enter SLOTS %K as the command line in the
DOORS.DEF file; for example,
1;0;1;10;Ron's Slot Machine;\SLOTM;SLOTS.EXE %K
Now, if a user named MICHAEL TOBKES executes this door selection, the
actual command line sent to DOS will look like this:
SLOTS Michael
The SLOTS program would run, and use "Michael" as the user name.
Similarly, a %N parameter line would have produced "SLOTS MICHAEL TOBKES",
using the entire name, and %U would return "SLOTS MICHAEL_TOBKES".
USING THE DOORS CONFIGURATION FILE
A second way to pass parameters to a DOOR program is through an inter
mediate file. Option number 19 on the "General Configuration" menu of the
CONFIG.EXE program allows you to enter a filename for the DOORS system to
write information to before a DOOR is invoked. If you do not specify a
filename, no file is created.
The file that the DOORS system writes is compatible with the file created
by the PCBOARD (TM) bulletin board system when executing doors; this file
is normally called "PCBOARD.SYS" on PCB systems. Searchlight provides this
file primarily as a means of achieving compatibility with door programs
written for PcBoard. We recommend using this method of parameter passing
only if you must use existing PcBoard programs, or if you are developing
programs which you wish to be usable with PCB.
For your reference, here is the format of the DOOR parameter file:
Field
Length Format Contents
------ ------ --------
1. 2 Ascii Display on/off (always "on")
2. 2 Ascii Printer on/off (always "on")
3. 2 Ascii Page bell on/off ("A" on status line)
4. 2 Ascii Caller page on/off ("C" on status line)
5. 2 Ascii Sysop next on (always "off")
6. 4 Ascii Current baud rate (" 300", "1200", etc.)
7. 27 Ascii User's name (padded with spaces)
8. 15 Ascii User's first name (padded with spaces)
9. 2 Ascii ANSI status (on/off)
10. 12 Ascii Password (always blank; see note below)
11. 2 MKI$ User's record number
12. 4 MKS$ Time user logged in, in seconds from midnight
13. 4 MKS$ User's time limit, in seconds
14. 4 MKS$ Current time, in seconds from midnight
15. 5 Ascii Time user logged in, as HH:MM
16. 2 MKI$ Current subboard number
17. 20 --- Unused (padded with binary zeros)
18. 8 MKD$ Download limit in Kbytes
19. 2 --- Unused (padded with binary zeros)
20. 4 Ascii Language version (not used; padded with spaces)
21. 2 Ascii Error correcting modem (always " 0")
22. 1 Ascii Chat Status (always "A" in single-user systems)
Notes:
Two-byte ASCII fields for the on/off options contain the string "-1" for
the on condition, or " 0" for the off condition. Fields that contain
options not supported by Searchlight BBS are set to the default condition
as shown above.
Baud rates are given as " 300", "1200", etc. For a local login, the baud
rate field contains the string "Loca".
Fields indicated as MKI$, MKS$, and MKD$ correspond to the integer, real
number, and double-precision real number format as found in Microsoft
BASIC. Since PCBOARD is written in BASIC, it uses BASIC real number
formats; if you want to access these values from a different language, you
will have to perform a conversion. The BASIC real number format is given
in Microsoft's reference manual.
Field 10 is not supported. Passwords are stored by Searchlight BBS as
hash codes, not as strings; therefore, they cannot be passed to a Door
program in ASCII format.
Field 11 provides the user's physical record number in the USER.BBS file.
This information will not be useful to a PCBOARD specific program, however,
since the Searchlight user file is not in the same format as PCB's.
If no upload/download ratio is in effect, a value of 32000 is assigned as
the download limit (field 19). Otherwise, the actual download limit is
computed from the user's upload and download credits and the system's
maximum ratio.
DIRECT USE OF SEARCHLIGHT FILES
As a final method of obtaining information, a DOOR program can access
Searchlight BBS's binary data files (files ending in .BBS). Since Search
light closes all of its files before DOOR processing begins, and reopens
them when processing resumes, DOORS are free to read and/or write to these
files, provided the proper data formats are retained. A program that reads
Searchlight's data files can obtain everything the BBS knows about its
current state, including the ID of the current user, baud rates, configur
ation information, etc.
The exact formats of the SLBBS data are provided on disk in the files
FILEDEF.LIB and READ.LIB. Please refer to these files for commented type
definitions and code examples.
SOME DOOR PROGRAMMING TIPS
Here are some tips for programmers writing DoorWare:
- Use DOS or BIOS calls for all input and output; don't write directly
to the screen. Programs that do direct screen writes won't run as
remote Doors, and also won't work with windowing or multitasking
operating system software. Most compilers default to or can be set for
BIOS I/O.
- Don't access the serial port. Searchlight will handle all modem I/O
automatically when the door runs online. If you must access the local
console independently of the remote, use the methods outlined above for
accessing the original BIOS pointers from your program.
- Use command line parameters to pass information to your program. Don't
access Searchlight data files directly. Command line parameters are
much faster and easier to use, and provide the advantage that your
program can be distributed to and use by others who don't have a BBS.
- Door programs should be as easy to run from the command line as they are
to invoke from the BBS. Make parameters optional where possible;
default username to SYSOP, baud rate to LOCAL, etc.
- If you write a utility program that uses SLBBS files directly, bear in
mind that the data file format is subject to change. Your program
should document which version of Searchlight it is to be used with.
.H:...APPENDIX A
.H:...USING THE ACTIVITY LOG
.H:
APPENDIX A
USING THE ACTIVITY LOG
Searchlight's LOGIN program can be configured to generate a continuous log
of all logins and logouts to the system. The generation of the activity
log is controlled via option 18 on the General Configuration menu of the
CONFIG program.
When logging is active, the BBS generates a file called ACTIVITY.LOG. Each
time a user logs into the BBS, and each time the BBS resets the modem after
a call, one line of data is added to this file. The file is a text file;
you may view it with the TYPE command or with a word processor, for
example.
The data in ACTIVITY.LOG consists of lines of two types. The line gener
ated when a user logs in to the BBS contains six pieces of information,
arranged in fields, and looks like this:
Y 871015 1745 12 * MICHAEL KLEIN
The leftmost character, Y or N, shows the status of ANSI graphics when the
user logged in; N means no graphics, Y means color or monochrome graphics.
This is followed by a six-character field containing the date of the login,
in YYMMDD (year, month, day) format. The next four-space field contains
the time of the login in the format HHMM (hour, minute). The time is given
as a 24-hour time. The next field gives the baud rate for the logon; 3
means 300 baud, 12 is 1200, etc. An 'L' in this field, right-justified
(ie. preceded by one space) indicates that the login was from the local
terminal rather than via modem.
Immediately following the baud rate is either an asterisk (as shown
above), a "+" sign, or a "-" sign. An asterick indicates that this is
the first logon by a new user; a "+" sign indicates an "invisible" login
(by a Sysop or CoSysop), and a "-" indicates a regular visible login by
an established user.
The remainder of the line contains the user's name, terminated by an
end of line character sequence (CR/LF).
Each of the fields is followed by a single blank space, as shown in
the example line above. In the date and time fields, numbers less than 10
will appear with leading zeros.
Upon resetting after a call, the BBS logs a termination line to the
activity file. The terminate line contains only the time and date fields,
in the same format as above:
871015 1822
The data is preceded by three blank spaces. This serves to align the date
and time with the dates and times in the login lines, and to mark the line
as a terminating log entry.
.E
These two lines together:
Y 871015 1745 12 * MICHAEL KLEIN
871015 1822
indicate that a new user named MICHAEL KLEIN signed on to the BBS at
5:45pm on October 15th, 1987. He called at 1200 baud and selected ANSI
graphics mode at login, and he logged off at 6:22pm.
.E
Here's a printout of what a small section of an activity log file might
look like:
------------------------------------------
Y 871015 1745 L + SYSOP
871015 1757
Y 871015 1855 24 - ALADDIN SANE
871015 1924
N 871015 1943 12 * ROBERT CHURCH
871015 1947
Y 871015 1952 24 - FNORD
871015 2009
871015 2015
N 871015 2039 3 - GUEST
871015 2042
Y 871015 2046 12 - ADAM GLASS
871015 2104
N 871015 2113 3 * THE IRON MAIDEN
871015 2144
------------------------------------------
Note that it's perfectly possible, as shown in the example, to have two
(or more) terminate-type lines in a row. Since the line is written
whenever the BBS resets, it can occur twice if a caller connects but hangs
up before logging in. Terminate type lines not immediately preceeded by
login lines may simply be ignored.
USING THE ACTIVITY LOG FILE
There are many ways in which the ACTIVITY.LOG file can be used. As you've
probably guessed, the format of the file is designed to allow it to be read
by programs rather than humans, although it's not quite so cryptic that you
can't read it directly.
Programs which read the ACTIVITY.LOG file could compute many statistics
about the operation of your BBS. Once you've accumulated several weeks or
months worth of information, you could compute such things as:
- total number of calls within a given period of time
- number of new users added
- percentages of callers calling at specific baud rates
- average duration of calls
- average number of calls per day or week
- peak and off-peak calling hours
- average number of users requesting ANSI graphics
Programs which read the ACTIVITY.LOG file will be available from
Searchlight Software; you may also write such programs yourself, using the
above information as a guide for reading the log file.
ACTIVITY.LOG also gives you a permanent record of all calls made to your
system. The DOS FIND command, or a similar utility, can be used to locate
specific information in the log file. For example, the DOS command
C> FIND "MIKE DONOVAN" ACTIVITY.LOG
will search the ACTIVITY.LOG file and print out all lines which contain the
name MIKE DONOVAN (this would be all the times that MIKE DONOVAN logged in
to the system). The command
C> FIND "*" ACTIVITY.LOG
will show the first logins of all new users (since the last time the log
file was cleared). FIND is a program that comes with MSDOS/PCDOS; it
should be available on the DOS disk you received with your computer.
Since the log file will grow continuously, you'll need to delete it
every once in a while. The best scheme, if you wish to keep an ongoing
record of calls, is to make a backup copy of ACTIVITY.LOG periodcially
(every month, six months, etc.) and store the backup on floppy disks or
tape. Then simply delete the ACTIVITY.LOG file from your disk; a new file
will be created with the next login.
.H:...APPENDIX B
.H:...GUIDE TO ERROR MESSAGES
.H:
APPENDIX B:
GUIDE TO ERROR MESSAGES
In general, there are two kinds of error messages that you can get when
running Searchlight BBS: Friendly and Unfriendly. Friendly errors are
those which we've anticipated and for which the program provides a means of
recovery; these are the types of error or warning messages you will
encounter most often. "Unfriendly" errors are those generated by the
compiler used to create the program (Turbo Pascal, in this case)- with a
little patience you should be able to avoid errors of this kind totally,
but we've provided this error guide just in case.
Since compiler generated errors (also known as crashes) are usually the
most difficult to deal with, we will list these errors first. When one of
these messages appears, the BBS program will halt and return you to DOS;
you must type SLBBS to restart the program (hopefully after correcting the
problem).
Errors 2 and 3 (File/Path does not exist)
This error indicates that the BBS is trying to read a file on the disk,
and the file does not exist. There are several possible causes:
1. The Program Path specified in the CONFIG program points to an invalid
pathname, or the program files do not exist in the specified directory.
2. A pathname or filename specified in the FILEDIR.DEF file does not
exist, or is an illegal name.
3. An illegal or nonexistent pathname was specified in the DOORS.DEF
file.
Please make sure to test all FILEDIR.DEF and DOORS.DEF entries before you
put your BBS system on-line.
Error 100 (Disk read error)
This error will occur if a data file on disk is corrupted or otherwise
damaged. It may also occur if you make an error in a .DEF type file; check
all of your DEF files before using them on your BBS.
If I/O Error 99 occurs when trying to log in, read a message, or access a
user record, it indicates a problem with one or more of the BBS data files.
Usually, you can recover your data files by taking the following steps:
(1) Exit from the BBS, and type CHKDSK/F at the command prompt;
(2) Run the BBS, and execute the SYSOP program;
(3) Run the CHECK and BALANCE commands in the SYSOP module.
Refer to the SYSOP COMMAND SUMMARY in this manual for further information
on recovering bad data. If you cannot run the BBS program, log in, or
access the Sysop menu, you can run the sysop program directly by typing
SYSOP from the DOS prompt.
Error 101 (Disk or Directory is full)
This error occurs if the BBS must create a file (a .DIR file in the case
of the FILES program, or the .BBS data files in the case of CONFIG) and the
disk or directory is full. The solution is to delete some files or create
a new directory.
Error 4 (Too many open files)
This message will occur the first time you try to execute the BBS or the
CONFIG program if your system doesn't have enough file handles available.
The solution to this problem is simple; you must insert the line "Files=20"
(or higher) into your CONFIG.SYS file, as discussed in the installation
instructions. Be sure to reboot your system after editing your CONFIG.SYS,
in order to install the new configuration.
Error 202 and 203 (Heap/Stack Overflow)
This message indicates that the program ran out of RAM memory when trying
to allocate more memory. To correct the problem, you must make more RAM
available to the program: reduce the size of RAM-disks, disk caches, etc.
or remove any RAM-resident programs you may have installed, until you have
enough memory available. This error is rare; the BBS does not need very
much memory to run.
Other Errors
Other errors in the range 5-6, 16-17, and 150-162 are MSDOS errors
indicating disk or device access errors. Check your disk, files, and
directories and try the command again.
If other errors occur, please write down the exact error message as well
as the exact conditions that caused the error, and contact us. Be sure to
include your SLBBS version number, DOS version number, and the equipment
you use. We will try to diagnose the problem as quickly as possible.
SEARCHLIGHT BBS GENERAL HELP FILE
Commands --> Commands are executed by selecting the command and pressing the
<return> key. To select a command, type the first letter of the
command, or scroll through the commands by pressing the space-
bar and backspace keys. Use the 'Help' command for a brief
list of available commands.
Help --> To read a detailed description of a command, select the command
as described above, and then press the question-mark <?> key.
Flow --> Output can be paused and/or aborted at most times by pressing
Control-S (^S) to pause output, ^Q to resume paused output, and
spacebar or ^C to abort output. Listings longer than 24 lines
are paused every screenful with the message "-- more --"; press
any key to clear the message and continue output.
Graphics --> Users of ANSI-standard terminals may enjoy ANSI graphics
support, including text highlighting, cursor positioning, and a
full-screen text editor for message input. Use the Ansi command
to select the desired ANSI graphics mode.
Volume in drive A has no label
Directory of A:\
SLBBS31A ZIP 176801 3-02-90 1:00a
SLBBS31B ZIP 132364 8-26-89 6:50p
SLBBS LST 22987 2-05-90 12:34a
SLINFO ZIP 5576 3-02-90 1:11a
GO BAT 38 9-08-88 3:22p
GO TXT 542 7-09-90 1:24a
FILE1136 TXT 2961 7-09-90 9:42p
7 file(s) 341269 bytes
17408 bytes free