Contents of the GHOST.TXT file
GHOST BBS 1.00
Copyright (C) 1992 Toby Simkin & Gregg Hommel - All Rights Reserved
Additional Copyrights (C) 1992 Datastorm Technologies Inc. - All Rights Reserved
RING MONITOR 1.00
Copyright (C) 1992 Bob Blow - All Rights Reserved
GHOST BBS is distributed as Freeware. This means that users are
encouraged, subject to restrictions described in the License Agreement,
to share copies of this program with friends, associates and bulletin
Did you ever really LOOK at the ProComm Plus for Windows Host mode, or
have you just used it for long enough to let a friend get a file from
you? If you've ever actually looked at it, you know why we wrote GHOST
It began as a simple modification of Host to eliminate some bugs, and
try to make it look a touch better.
In the end, the scripts that we were working on were merely a "ghost" of
their former selves, and thus, the name.
GHOST BBS has been tested by using the following applications to log in.....
QModem Pro (DOS)
ProComm Plus for DOS
CrossTalk for Windows
ProComm Plus for Windows
Windows Terminal experiences some slow down of screen draws, and can show
"junk" on screen (if GHOST is set for ANSI screens), due to it's
inability to correctly interpret the ANSI codes sent it by GHOST BBS. All
other applications tested worked perfectly with GHOST BBS.
ZIP file contents :
CONVERT.WAX - a script to convert old PRM and USR files for GHOST use
GHOST.WAX - the main script file
GHOSTRM.WAX- the Ring Monitor script file
GHSTUTIL.WAX- GHOST set up and configuration script
GHOSTLOG.WAX- a compiled script for users to use when logging on to GHOST
GHOSTLOG.WAS- the uncompiled version of above
GHOST.NIL- an icon library for GHOSt to use in dialogs, etc.
GHOST.TXT- a text version of the GHOST BBS documentation
LICENSE.TXT- text version of the GHOST BBS license
GHOST.WRI- documentation - Windows Write format
LICENSE.WRI- GHOST BBS license in Windows Write format
GHOST.BYE- GHOST BBS "support" file samples
Getting ready for GHOST BBS.....
Step 1 - If you have previously run either the ProComm Plus for Windows
Host mode, or an earlier version of GHOST BBS, and want to maintain your
data files, they will have to be converted to the new GHOST format.
Included with GHOST, is a script, CONVERT.WAX. It is this script which
will "convert" your data from Host or a previous GHOST, to the current
Simply place this script in your ASPECT directory (where your older PRM
and USR files should be), and from within ProComm, run it. It will
rename your old data files for safety, then convert the information in
them to the new GHOST.USR format. When it is finished, it will tell you
so, and then delete itself from your HDD. (GHOST tries to be polite )
Before beginning, however, there is something you should consider.
GHOST has a fairly large number of "auxiliary" files. These files can
"clutter" your ASPECT directory, and be harder to edit (for changes)
when mixed among the files already in your ASPECT directory.
For this reason, GHOST BBS allows you to place it's support files in a
directory other than your ASPECT directory. If you would like to do
this, decide on a directory now (I keep mine in F:\PROWIN\GHOST ), and
if it doesn't exist, please create it. When you run CONVERT.WAX, it will
ask you for the name of this directory (defaulting to you ASPECT
directory) while it is setting up the new GHOST.USR file.
Step 2 - Now we're ready for the actual installation of the GHOST files.
Three files MUST be in your default script directory (ASPECT).
These are :
If you used the CONVERT script, GHOST.USR is already installed. If you
didn't, GHOST will create it later, when GHOST itself is "installed".
So, step 2 is to copy GHOST.WAX and GHSTUTIL.WAX to your default script
directory (usually \PROWIN\ASPECT )
Step 3 - Now we come to the GHOST "auxiliary" files. These "auxiliary"
files generally come in two "flavours"... these are indicated by their
name. A file called "GHOST.xxx" will be an "ANSI" version of a support
file. This will use high order ANSI characters for lines, and boxes,
etc. A file called "GHOSTT.xxx" (with an extra T) will be a non-"ANSI"
version, using low order characters for boxes etc.
Furthermore, the extension of the file will indicate it's purpose in
support of GHOST, as follows....
A) NUF - these are New User Files, containing information shown to a new
user once they have completed logging on for the first time.
B) NWS - these are "News" files, where you can post bulletins of
information for your users. These files will be shown to new users
automatically (if they exist), and to regular users if the file date on
the NWS file is after their last log on date (as recorded in the USR
file), i.e. if it is "new" for them.
C) HLP - these are user "Help" files, which can be called from the menu
to offer information on how to use GHOST BBS. (these should not need
D) DNL - this is a file which gives the user a "directory" of files
available for download. There are two ways for a user to "see" this
information. If there is no DNL file, GHOST will show the user an
"actual" directory listing of the files in the defined download
directory. However, if there is a DNL file, the user will be shown this
instead. In this way, it is possible to have "private" files in your
download directory, since the user will only "see" a list of the files
specified in the DNL file.
E) BYE - Surprisingly enough, this is a file shown to the user when he
F) NIL - This is an icon library which contains several icons used in
various dialog boxes.
There is one additional WAX in the ZIP, which should be copied to your
support directory. That is the GHOSTRM.WAX, if you plan on using Ring
Monitor (see below). If not, then this WAX is not needed at all.
There are also files which will be created by GHOST BBS, as and when
needed. These files include :
A) GHOST.LOG - which is a log file of all activity which takes place
while GHOST is active, i.e. who logs on, what they do while online, etc.
B) GHOST.HDR and GHOST.MSG - these two files are the mail message
database for GHOST. They will be created the first time that someone
leaves mail on the system. In addition, two other files related to the
mail functions can be created, HDR.BAK, and MSG.BAK, which are backup
files created as backups when there are changes to the main mail files.
For the initial installation of GHOST BBS, copy these files (basically,
the balance of the files included in the ZIP, exclusive of the TXT and
WRI files) to whatever directory you have decided to keep the GHOST
auxiliary files in.
(with many thanks to Bob Blow for his contribution of the code, and
apologies if we screw up the idea behind it)
Imagine this type of scenario......
You have one telephone line for all of your many needs.... voice, data,
and answering machine, say. You have to go back to the office tonight,
but there are some files on your home system which you may need later.
So you start GHOST BBS, and leave for the office. Later in the evening,
you get the files you need then by calling your home system, and logging
on to GHOST.
However, unknown to you, your Great Aunt Minnie from California has just
won 15 million dollars at Bingo. Since you are her favourite Great
Nephew (or niece ), she decides to send you half of it, if she can
reach you before her money grabbing kids get to her. She calls you, but,
after two rings, she hears a horrible screech on the line, and so, hangs
up. Five minutes later, her kids get there, and ......
Well, Bob Blow figured a way around this dilemna.... Ring Monitor. It is
actually an amazingly simple concept, and soemthing we are happy to
include with GHOST BBS.
What Ring Monitor does is this.... when you start GHOST in Ring Monitor
mode, GHOST doesn't actually initialize. Instead, Ring Monitor does. It
lurks there, waiting for someone to call. In the above scenario, you are
at the office, and decide that you do indeed need those files at home.
You call your home number as if making a voice call, BUT hang up the
line in the middle of hearing the second ring at home. Now you turn to
ProComm, and after waiting around thirty seconds, call your home number
as if GHOST was active. Guess what??? It IS active now, and waiting for
your call. You get the files, hang up, and GHOST immediately goes back
to Ring Monitor mode.
Great Aunt Minnie calls, but since you are not home, the phone rings and
rings and... After 4 rings, your answering machine picks up, takes the
message from Great Aunt Minnie, and you're RICH!!
How is it that the answering machine picked it up, instead of GHOST??
Well, if Ring Monitor detects more than two rings, it says to itself
"That's not for me! Let the machine get it!" (much as you do when you're
However, when Ring Monitor detects two rings followed by silence (as
when you called home and hung up), it says "That one's for me... someone
wants GHOST!" and it initializes GHOST BBS.
Suppose though that you call, ring twice, and hang up, then decide that
you don't want those files. Does this mean that GHOST is once more
monopolizing your system, and Great Aunt Minnie won't be able to get
through?? Nope... if a call does not successfully connect to GHOST
within 90 seconds, GHOST decides the first two-ring call was a mistake,
and drops out, returning to Ring Monitor mode.
One last thing..... suppose you do not want to use Ring Monitor. Are you
going to be bothered by having to click on Bypass in the dialog
everytime you start GHOST?? Nope.... if you don't want to be bothered by
the dialog box, and don't want to use Ring Monitor, just don't put the
Ring Monitor support file, GHOSTRM.WAX, in your support directory. If
GHOST can't find the file GHOSTRM.WAX in the support directory, it says
that Ring Monitor is not installed, and behaves that way. No dialogs,
Installation and Set Up....
Once all of the ZIP files are copied to their appropriate directories,
you are ready to "install" GHOST BBS for operation. The simplest way to
do this is to "run" the script, GHSTUTIL.WAX, from within ProComm.
The first thing that you will see when you run GHSTUTIL, is a BIG dialog
box with quite a few entries to make. Let's go over them, one by one.
1) In the upper left corner, you will see the "infamous" GHOST icon.
Please note, however, that, if you are starting GHOST without having run
CONVERT.WAX first (i.e. this is your first installation of either Host
or GHOST), this will be a blank, grey button if you have placed the
GHOST auxiliary files in a directory other than the ASPECT dir. Once you
have run GHSTUTIL and told GHOST where to find the auxiliary files, this
"anomoly" will disappear, and you'll get to see "ghostie"
If you click on this "button" (either the icon, or the blank, as
appropriate), you will get a dialog giving you some information about
GHOST, and us.
2) The first edit box will either contain your old Host (or GHOST)
"Welcome Message", or a default sample to look at. This welcome message
is displayed when a user logs on to GHOST, so put whatever you find
3) Next, is a box for you to put a "name" for your BBS. You can call it
whatever you'd like of course, using your company name, or something
cute, but it can't be longer than 54 characters. This "name" will appear
in a "logo" box above the GHOST menu, as will the next two items, the
PROMO line, and the TELEPHONE.
4) The PROMO box is for whatever you'd like to appear as the second line
in the "logo" atop the menu.
5) The TELEPHONE box is for a number you'd like to appear in that "logo"
box. It could be your voice number, or your fax number, or even the BBS
number itself. It can be a combination of words and the phone number, as
long as it doesn't exceed 54 characters.
6) GHOST needs to know where you want remote users to upload files. In
the Upload Directory box, you can specify the name of a directory for
GHOST to use when receiving files from your users. Do not finish with a
backslash (i.e. C:\UPLOAD is fine, C:\UPLOAD\ is not)
7) GHOST also needs to know where you will store files available for
remote user downloads. Specify the path for that directory here, under
the same conditions as for the Upload Directory.
8) Guess what?? We finally got here... this box should contain the path
name of whatever directory you have decided to keep your GHOST auxiliary
files in. Again, the same rules as the other directories... no trailing
9) In the lower left of the dialog, you will find four "boxes"
containing radio buttons. These boxes set various parameters for GHOST :
A) New User Level - you can specify here, what level a new user will
default to. There are three choices... Restricted, Limited and Normal. A
Restricted user can read and leave messages, look at the file download
list, and generally look around, but can't transfer files, either up or
down, until you validate them, and change their security level. A
Limited user can also look around and read mail, but he can also
download files. He still isn't allowed to upload until validated by you,
but this option allows for first call cownloads should you want them,
but still maintains system security (since he can't upload). A Normal
user has all of the rights and priveledges of all users of the system
at first log on.
B) System - you can run GHOST as either an Open or a Closed system.
Open behaves much like a "regular" BBS, subject to the restriction set
in the New User Level box. A Closed system will not accept new users
remotely. They have to be set up by the Sysop in the USR file BEFORE
their first log on.
C) Connection - Use Modem if your users will log on remotely, via
phone lines. If you are connecting directly from one system to another,
via a null modem cable, select Direct.
D) Goodbye Option - this tells GHOST what to do when a user logs off,
recycle (set up to wait for another caller), or exit (shut down).
Generally, recycle will be your choice, but if you are using a direct
connection, exit is better.
E) AutoBaud - some modems operate best in answer mode, with auobaud
detect on. Others work fine with it off. Try leaving autobaud detect
OFF. If your users connect at the proper speeds (i.e. high, if you
have a high speed modem), then you are fine. If they connect at 2400
(like they do with a ZOOM 9600), then try setting autobaud detect ON.
10) The last items in the dialog are three push buttons. The top one
will save your settings to the GHOST.USR file, the bottom will exit the
configuration utility, and the middle button will access the GHOST mail
manager when you have mail on line. The mail manager allows you to read
the messages stored, mark any for deletion that you may wish, and then
pack the message base to remove those marked for deletion, and clean up
the message base.
Once you have set up all of the various options, and paths to your
liking, save your changes, and then exit GHSTUTIL.WAX. You are now ready
to begin using GHOST BBS.
Running GHOST BBS....
Although we strove to implement as much in the way of speed improvements
that we could come up with, GHOST is still a Windows Aspect script
application. As such, there are a couple of things that you can do to
improve the speed of screen draws, etc. for the remote user.
First of these is to disable any screen savers in use. When the screen
saver activates, it will "steal" some of the processor time to service
itself. This can slow down GHOST for a remote user. It is not a
noticeable deterioration of speed, but it is there.
Second, unless you are monitoring the BBS for some reason, it runs
fastest as a minimized application. This means that the script is not
slowed down by doing screen draws on your monitor along with the remote
one. Again, it is not a remarkable speed degredation, but every little
What I do, when I am not doing something else in Windows, is turn of my
screen saver, and run GHOST minimized, then turn off my monitor. This
prevents any screen burn in, and allows GHOST to run at maximum speed
for a remote user. Most who have logged on to our systems tell us that
the difference in speed is now barely noticeable, however, if you wish
to afford maximum speed to your remote user, this is one way to do so.
When you first initialize GHOST BBS, it will reset your modem to
autoanswer mode, and do some clean up of the terminal screen. The icon
bar will disappear, as will the menus, to be replaced by a simplified
menu structure suitable for the operation of GHOST. Then, a dialog box
will appear, offering information about your callers, current system
time and date, and the option to log on locally, either as a user or as
sysop (oh yes, and our "infamous ghostie" icon button, giving you access
to the "About" box )
To see how GHOST operates, lets look at a first time caller logging in
to GHOST running as an Open system, with New User Level of 0, or
The first thing GHOST does of course, after the modems have done their
handshaking, is to welcome the user, and tell him the current system
time. Then, GHOST asks for his first name. Like many "real" BBS, GHOST
will accept your first and last name entered separately, or as a single
line in response to the first name prompt. Case is unimportant, since
GHOST will convert it to upper case before checking the user records.
Once the user enters his name, he will be asked to confirm it.
Let's take a small aside here.... in many cases, GHOST will ask a remote
user to respond Y or N to a question. You will note when you see these
prompts, either the Y or the N will be capitalized but not both. The
capitalized response is the default, which results from simply pressing
the enter key. This can make for faster times on line, since if the
default is acceptable, a simple will send it.
Since we are assuming this to be a first time caller to the system,
GHOST won't find his name in the User base, and thus, will ask if the
user wishes to log on as a first "New User". Upon receiving a Y, GHOST
will ask for a password. Since this is a new password, GHOST will then
ask you to verify it. Both of these questions use a masked display to
maintain security of passwords.
Once a password has been entered and verified, GHOST will present the
new user with a "questionaire" screen. Here, he is required to enter his
address, voice telephone, and fax telephone (if he has one). A new user
has three "tries" at completing this "questionaire" (except for the FAX
number, which is optional). If he leaves any of the fields blank (except
the FAX number) after all three tries, he will not be allowed to log on,
and any data about him will not be saved. On my system, I won't validate
a new user without an address, and voice phone number, and thus, for
security, a new user is REQUIRED to fill in the address/phone
questionaire. (A hint.... to validate a user, call directory information
in his area code. Ask for his phone number at that address. DI will give
it to you , or tell you there is no
one by that name listed at that address. Of course, they sometimes will
tell you that they can't give you the phone number, because it is
unlisted or unpublished, b ut eve n THAT is a confirmation, indirectly,
that the information you have is valid. Thus, you confirm the new user's
address and phone at no cost to you, if it is long distance
After the user "settings" are completed and S)aved, the new user will be
shown the appropriate (ANSI or non) NUF (New User File), which should
give him instructions on the purpose of the system, what he can and
can't do until validated, etc. He can't interrupt the display of this
file (the S to Stop portion of the display prompt is disabled), and will
then be shown the NWS (News) file, in the same manner.
Now, he is at the menu. As a "restricted" new user, he can read mail,
leave mail, leave a comment to the sysop, view the file download list,
and view or change his settings. He can't download or upload, and will
be told that if he tries to do so.
After he has looked around, he sends a G to log off, and will be
asked by GHOST if he is sure (I've often hit the G by mistake when
navigating a new system, so we gave the option to continue logging off,
or return to GHOST.) With an affirmative response, GHOST will display
the BYE file (if it exists), and disconnect from him. Then, GHOST will
recycle back to the main dialog, and wait for the next caller. Of
course, now, the last callers name, time on, and time off, will be
displayed in the dialog for you.
That's about it.... GHOST is fairly simple to navigate and easy to
Some Sysop notes.....
Naming of the various files for GHOST BBS was kept as simple as
possible, so that it would be easy to trace what the files are, and
which application they are required for. When you have run GHOST BBS,
you should find the following files, in the listed directories :
In the default ProComm Plus for Windows Aspect sub-directory
(generally, \PROWIN\ASPECT) :
GHOST.WAX - the main script file
GHSTUTIL.WAX- GHOST set up and configuration script
GHOST.USR- the GHOST BBS User and configuration data file (Windows
In whatever directory you have specified during configuration, as the
default GHOST BBS "support" directory (on my system, \PROWIN\GHOST) :
GHOSTRM.WAX- the Ring Monitor script file
GHOST.NIL- an icon library for GHOST to use in dialogs, etc.
GHOST.LOG - the GHOST BBS "activity" log, a text file (use Notepad
or similar to view)
GHOST.HDR- GHOST BBS mail files for the headers and messages. The BAK
GHOST.MSG- files will appear only after you have "packed" the message
HDR.BAK- base for the first time
GHOST.BYE- GHOST BBS "support" files for NEWS, download lists, etc.
In addition, you should have the following files stored somewhere so
that they can be supplied to your users (if you wish) to facilitate
logging on to your GHOST BBS system :
GHOSTLOG.WAX- a compiled script for users to use when logging on to GHOST
GHOSTLOG.WAS- the uncompiled version of above
Lastly, the file CONVERT.WAX should be in the ZIP file. If you used
this file to convert your old HOST or GHOST data files, it will have
deleted itself from the Aspect subdirectory upon completion of the
If you use GHOST BBS as an Open system, with restricted or limited
access for new users, you will need to update their status once you have
validated them. Also, a new user on a system set for "normal" first call
access, will be recorded as a "Non-Validated User". Once validated, you
will want to change this. To do this, simply open the file GHOST.USR (in
the ASPECT directory) with a text editor. Search down the list of users
until you find their name as a heading (e.g. [GREGG HOMMEL]). The third
and fourth lines down from that should read :
user_stat=* New User *
user_stat=* Limited User *
user_stat=* Non-Validated User *
Simply change these to read :
user_stat=* Validated User * (or whatever term you care to use)
and then save the file.
GHOST BBS checks the last_on date from the USR file for each user,
against the file date for the NWS file, each time he logs on. If the
users last_on is later than the file date for the NWS file, GHOST
assumes that he has seen it, and doesn't show it to him. If, on the
other hand, the last_on is earlier than the date of the NWS file, GHOST
assumes that he hasn't seen it, and shows it when he logs on. Of course,
the NEWS bulletin is always available to any user from the menu.
Let's take a quick look at the contents of the GHOST.USR file....
There are two basic sections... the [Start Up] section, and those for
each user. The [Start Up] section follows this basic format...
The only entries here not too obvious are the last two. These record the
file dates for the two flavours of NWS files, whenever GHOST BBS is
initialized. It is this information which is checked against the user's
last_on to determine whether or not he sees the NEWS file.
As far as a user section is concerned, it should follow this format...
Again, most of this should be very straight forward, and not generally
require any editing. Some of these settings are "in advance" of planned
future enhancements, so don't worry if it looks like they aren't
currently used by GHOST (they probably aren't )
Because, as sysop, we knew that you would need to, on occassion, edit
the USR file, we tried to keep all of the settings as clear as possible,
to make it easier and safer to edit the GHOST.USR file.
One thing.... remember that there are SIX security levels... 0
(restricted user), 1 (limited user), 2 (normal user), 3 and 4 are the
same, at present, which is a user who sees the actual file list in the
download directory, rather than the contents of the DNL file, and 5 is
a Sysop or SuperUser. Please be careful with security=5. This will
result in that user being shown the sysop menu, with the matching
ability to change directories, uploading and downloading to/from
anywhere on your system, and also the ability to abort GHOST. Keep
that level for yourself, or those you REALLY trust!
GHOST BBS represents an awful lot of hard work, and time. We think that
it was time well spent, and work that paid off in a reasonably good,
small BBS to replace Host mode. If you agree, feel free to spread it
around, to friends, on your favourite BBS, or whatever. All we ask is
that you keep the original ZIP intact, and that you don't charge anyone
P.S. We have included, in the ZIP file, both the source and a compiled
script for "GHOSTLOG", which is a small script designed for you to give
to your users so that they can automate the process of logging on to
GHOST BBS. It does nothing more than log on, but it will at least
automate that .