WWIV Sysop Documentation
(c) copyright 1993
by Wayne Bell
P.O. Box 720455
McAllen, Tx 78504
This documentation rewritten and revised for WWIV v4.23
by
Filo
September, 1993
Chapter 1 -- Introduction
WWIV is BBS software written by Wayne Bell and distributed by WWIV Software Services and authorized
Source Distribution Sites (SDS). It is the BBS system of
choice for thousands of sysops world-wide who appreciate
having a rock-solid BBS system to rely upon and who like
the fact that it is dynamic and evolving software having
at least one major release each year.
WWIV is available in two basic forms. One version is
shareware which permits the user to "try" WWIV for a period
of 60 days. If the user likes the software, he should
register it. The other version is the registered version
which includes (in current versions) the source code to the
program as well as the pre-compiled version. Neither version is crippled in any way. Both are the full-featured
BBS. However, beginning with v4.23 it is possible to
"upgrade" the capacity of the BBS to handle more than two
"instances." The new multi-instance software refers to the
ability of the software to have several copies of the
BBS.EXE access the same USER.LST at the same time. This
multi-instance ability permits systems to be multi-node and
multi-line.
The software offers many features commonly found in BBS
softwares selling for many times as much. It also retains
the ability to be easy for a sysop to install and operate.
Thus the combined features of versatility, power, and ease
of use make WWIV one of the most prominent BBS programs
available.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Using This Documentation º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
The documentation for WWIV in v4.22 and earlier was
contained in several different documents:
WW4SYSOP.DOC
WW4SETUP.DOC
WWIVMODM.DOC
CHAIN.DOC
WWIVUSER.DOC
and registered sysops also had a WWIVSOUR.DOC. The software
also contained a READ.ME file and a README.4xx file. The
two READ ME type files have been retained as supplements to
the documentation. However, beginning with v4.23, the other
documents have been combined such that the precompiled and
source versions use the same set of documents. The unregistered sysop will have little or no use for the chapter
dealing with the source code, except it provide some
insight into options that are available upon registration.
The documentation for 4.23 is available in an executable
format which we hope you will find to be of use. Those who
desire printable documentation will find it available for
downloading on Support Boards and SDS Systems as
WWA1-423.ZIP.
READUSER.EXE is the WWIVUSER.DOC in reader format. You
may make this available to your users to download. We hope
that they will find it useful and a means of getting
acquainted with WWIV and its functions. The printable
version is available as WWA2-423.ZIP and may also be made
available for downloading.
If you have enough memory available, you may be able to
shell out of the BBS and read the documents; otherwise you
may have to read them separately. We hope that you will
find the reader format useful. Please let us know your
comments about having the documentation in this form.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Organization of Documentation º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
The chapters of the documentation are generally organized
around the area of the BBS that you are in. For example,
commands that work in the message base are generally
together and commands for use in the Defaults area are
generally together. Thus, you can find the area of the
documentation that you need to consult be looking at the
contents area based upon the area of the bbs that you are
wishing to know more about.
New commands and so forth have been integrated into the
documentation throughout. For a complete list of new
features available in v4.23, you should consult the
README.423.
The executable readers have a contents chapter at the
beginning. The printable version also provides the table
of contents, put the pagination shown there is for the
executable documentation and will not reflect the pages in
the printable docs.
Even experienced sysops are encouraged to browse through
the table of contents and to read about those features that
are new in the 4.23.
Chapter 2 -- Historical Developments
WWIV was created when Wayne Bell was a teenager. It was
first written in BASIC on a TRS-80. Wayne soon recognized
the limitations of the BASIC language for BBS operations
and he re-wrote the program in PASCAL. At that time, the
BBS program could be registered by donations of $25. The
last PASCAL version was v3.21d. Version 4.xx is now written
in C. Under the C language, WWIV has developed into a many
featured BBS system supporting one of the largest and most
trouble free networks in the world.
WWIVnet, the network founded by Wayne Bell, began as a
local based network in Los Angeles, California with 25
charter members. The network has now grown to over 1,500
members located around the world. Because many sysops
wanted to run their own networks for various reasons,
Wayne Bell added a feature which allowed the BBS system
to participate in multiple WWIV-based networks and developed
the networking software to support such multiple network
usage. Now there are over 60 WWIV-based networks offering
a range of topics and supporting a multitude of various
interests. The WWIV networking software is shareware which
is included in the registered packet distributed by WWIV
Software Services. A registered WWIV sysop does not have
to pay any additional fee to utilize the network software.
Some other BBS software also use the WWIV networking software. Sysops of those softwares are expected to register
the WWIV networking software since they are not registered
WWIV sysops.
The documentation for WWIV has also developed overtime.
It began as a short 3 page document written by Wayne Bell.
Later, with v4.10, William Daystrom wrote a complete set
of documentation for use with WWIV. Beginning with v4.20,
Filo added additional comments to some of the documentation
files written by Will and completely rewrote others. The
documentation was again completely rewritten by Filo for
v4.23.
Beginning with v4.23 the documentation is now available
in two separate formats: the "reader" format and the
printable format. The reader format utilizes a program
written by Chuck Walden of UCS which was made available
to WWIV Software for such usage. The address for UCS is
contained in REFERENCE APPENDIX to this documentation.
Chapter 3 -- License Agreement
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ WWIV v4.23 License Agreement ³
³ Your use of 4.23 Source
³
³ indicates your agreement
³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
In prior releases, the information contained in this
explicit agreement was found in the WWIVSOUR.DOC and in the
headers to the parts of the WWIV source code. Beginning
with version 4.23, this agreement is being made explicit.
If you do not agree to the terms herein, you should not
unzip the source code version. Unzipping the source code
version will be taken as an explicit indication that you
agree to adhere to the terms contained herein.
Some changes in the operation of the BBS under v4.23
require that the license agreement be changed. Those
changes are called to your attention below. If you do not
agree to the change, do not unzip v4.23. These changes do
not alter your prior rights and you may continue to use
older versions of the software.
CHANGES in License Agreement:
OLD:
Registration of WWIV entitles you to use the WWIV
software beyond the 60-day trial period, and access to
and use of the WWIV v4 source code, for use on a single
BBS phone line. (If you have more than one phone line
connected, you need a separate registration for each
phone line.)
NEW:
Registration of WWIV v4.23 and subsequent versions
entitles
you to use the WWIV software beyond the 60-day
trial period, and to have access to and use of WWIV v4.23
source code, for use with one or two phone lines. The
initial registration entitles you to have either one phone
line and one local work station (ie keyboard) or two phone
lines, or two work stations (with no phone lines) provided
that ALL of them access the same USER.LST. If they access
different USER.LST files, then a separate registration is
required for each.
You may purchase the right to have additional phone lines
and/or work stations. Each additional use is termed an
"instance". Information on upgrading to additional
instances is found in the enclosed documentation and on
the UPGRADE.FRM.
OLD:
You are allowed to view, modify, and use the source code
for your BBS. (This means you can modify the source code
to suit your needs/desires, compile that, and run your
modified executable as your BBS.) You may not give out
the source code, or give out a copy of the BBS which you
have compiled (only the version of the BBS, compiled by
WWIV Software Services, may be distributed).
NEW:
You are allowed to view, modify, and use the source code
for your BBS. You may not give out the source code, or
give out a copy of the BBS which you have compiled (only
the version of the BBS, compiled by WWIV Software
Services, may be distributed).
You may allow a non-registered individual to modify your
source code provided that the source code is not copied
to another computer and provided that it never leaves
your own computer. If you need assistance in the modification or compilation of your source code, you may obtain
it from another registered WWIV user provided that you
notify Wayne Bell of your intention to do so and obtain
his permission prior to doing so. In asking for permission, you should identify the other registered sysop
by name and registration number.
OLD:
As can be seen in the notice at the beginning of all the
source files, DISTRIBUTION OF THE SOURCE BY ANYONE EXCEPT
WWIV SOFTWARE SERVICES OR A SOURCE DISTRIBUTION SYSTEM
(SDS) AUTHORIZED BY WAYNE BELL IS PROHIBITED. Even if
your best friend mails a registration check right before
your eyes, he must get the source from WWIV SOFTWARE
SERVICES or from an SDS BBS, you may not give him a copy.
If you have somehow gotten ahold of this WITHOUT either
downloading it from an SDS BBS, or having WWIV SOFTWARE
SERVICES send you a copy, then you are hurting the cause
of good software. If it turns out that it is not
possible to control distribution of the source by
reasonable means, you will probably find that the source
WILL NOT BE AVAILABLE for future versions.
NEW:
As can be seen in the notice at the beginning of all the
source files, DISTRIBUTION OF THE SOURCE BY ANYONE EXCEPT
WWIV SOFTWARE SERVICES OR A SOURCE DISTRIBUTION SYSTEM
(SDS) AUTHORIZED BY WAYNE BELL PROHIBITED. Even if your
best friend mails a registration check right before your
eyes, he must get the source from WWIV SOFTWARE SERVICES
or from an SDS BBS, you may not give him a copy.
If you have somehow gotten ahold of this WITHOUT either
downloading it from an SDS BBS, or having WWIV SOFTWARE
SERVICES send you a copy, then you are hurting the cause
of good software. If it turns out that it is not
possible to control distribution of the source by
reasonable means, you will probably find that the source
WILL NOT BE AVAILABLE for future versions.
If you distribute WWIV source code without authorization,
you will lose your registration priviledges and be
subject to both criminal prosecution and civil liability.
Wayne Bell and WWIV Software Services will prosecute to
the fullest extent of the law.
SUMMARY of Agreement:
1.
Wayne Bell and WWIV Software Services agree to:
a.
make the current (v4.23) and future versions of
WWIV v4.xx available to registered users at no
additional fee for BBSes having either one phone
line and one local work station (ie keyboard)
or two phone lines, or two work stations (with
no phone lines).
b.
accept additional Upgrade registrations from
registered users to enable additional phone lines
or work stations.
c.
test the current and future releases before
releasing them to registered users. Such testing
may not reveal all bugs, and thus no explicit
or implied warranty exists; however, users can be
assured that reasonable care has been used to
test the workability of the program.
2.
d.
protect our copyright and your registration by
prosecuting violators of this agreement to the
fullest extent of the law.
e.
maintain a list of registered users and to
utilize various methods to check the registrations of those using WWIV software.
The registered user agrees to:
a.
refrain from distributing the source code to any
one who is not registered. Distribution to a
registered user may only come about if (a) you
are an authorized SDS system or (b) you have
obtained Wayne Bell's permission to have a
registered user help you modify your source
code.
b.
refrain from making modified copies of the BBS
available to others. The single exception to this
is that a registered user may modify and/or
compile the source code on his computer and make
it available to one other person provided that
Wayne Bell's permission has been secured in
advance (see 2.a. above).
c.
adhere to Wayne Bell's admonitions regarding the
distribution of modifications as discussed in the
documentation which states, "If your modifications
would require you to distribute over 100 lines of
the initial BBS code, you should contact Wayne
Bell before you distribute it, sending him a copy,
and asking if it's OK. Most likely it will be."
If individuals abide by this agreement, Wayne Bell and
WWIV Software Services will be able to continue to make
WWIV source code available to registered individuals.
If you become aware of anyone who is distributing WWIV
source code without authorization and who is damaging
your right to continue to receive source code by so
doing, please report this to Wayne Bell and/or WWIV
Software Services.
Questions regarding this license agreement may be sent to
Filo care of WWIV Software Services, P.O. Box 720455,
McAllen, TX 78504-0455.
Chapter 4 -- Setup Information
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º FAST SETUP INFORMATION º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
NEW INSTALLATION:
Setting up WWIV for the first time is very simple and
should only take a matter of minutes. The first thing to
do is to create a directory for the BBS. This should be a
directory created off of the root directory of any drive.
To create such a directory, you can use the DOS MD (make
directory) command. Most people name their main bbs
directory as either WWIV or BBS.
Make Directory:
cd\
md wwiv
(change directory) slash gets you to the root
directory of the drive.
creates the WWIV directory.
Unzip Archive:
The next step is to unzip the bbs files into the WWIV directory that you just created. Assuming that your
WWIVxxx.ZIP file is on drive "A", the appropriate steps
would be:
cd\WWIV
(change directory) to WWIV
pkunzip a:\wwiv4xx.zip
this will unzip the archive
into the current directory
(ie the WWIV directory).
must
You must have PkZip (tm) somewhere in your path in order to
use the command.
Files included:
You should check the FILES.LST contained with the archive to
determine the complete files list shipped with the current
version. If any files are missing, your BBS may not run
properly or perhaps not run at all. To check that
FILES.LST, you can use the DOS type command:
type files.lst
which should cause you to see a listing of the included
file names.
Run Init:
If all files are present, your next step is to run the
program called INIT.
Once you run INIT (for the first time), you will be told
that CONFIG.DAT wasn't found, and you will be asked if you
wish to perform the initial installation. You should answer
Y. INIT will then proceed to install the necessary files
and directories for WWIV to run. You should note that all
directories will be made as sub-directories of whatever
your current directory is, so be SURE that your current
directory is the one you want to use as your main WWIV
directory, when you first run INIT.
This program will automatically create some directories
for you on the hard drive and put certain files in some of
these directories. Although each version of WWIV may have
slightly different files, you should expect to see something like this as the directory tree that is created:
:\WWIV
\DATA
\GFILES
\MSGS
\TEMP
\DLOADS
\SYSOP
\MISC
A number of files will be placed in DATA when you
finish the INIT program, and a number of *.msg files will
be moved to the GFILES directory. Several of those may be
edited to suit your convenience. Editing those files is
discussed later in the documentation. Be sure that your
primary language string is named BBS.STR.
Configure Modem:
The first time that you run INIT, the program will
attempt to detect your modem type and configure it for use
with the BBS. If the modem type that is selected does not
work well, you can select the SELECT MODEM TYPE from the
menu and chose the one that most closely represents your
own modem. There is also more detail about modem selection
and modem use in the section of the documentation dealing
with modems.
After your modem has been configured, there are certain
items of information requested by INIT that you will
definitely want to fill in immediately; other items may be
left at their default values until you are more familiar
with WWIV.
You will be told that your system password has defaulted
to SYSOP. The system password is a password that should
only be known by the primary system operator. The system
password should be entered whenever you see the "SY:"
prompt. You will need to enter the system password whenever
you run INIT, or run more sensitive sysop functions from
the BBS. After you are told what the system password is,
you will be given the "SY:" prompt, and you will need
to enter the system password, SYSOP.
After correctly entering the system password, you will
be in the WWIV v4 initialization/configuration program. You
will have a list of 14 options. These options will be
described later in order. If you don't fully understand
some of the options, just leave them as they are, and their
use will probably become clear after playing with the
system a bit, or reading the WWIV sysop manual.
For a fast setup, change the following items in Option 1
to fit your system: System PW, System Name (the name you
want to call your BBS), and Sysop Name. The rest of the
settings can be altered later after you learn more about
how WWIV operates.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º FAST MULTI-INSTANCE º
º SETUP INFORMATION
º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Beginning with v4.23 it is possible to run more than one
instance of WWIV. This may be done in situations where you
are using multitasking software and/or a LAN. This permits
more than one user to be using an "instance" of the BBS at
the same time. In order to utilize more than one instance,
you must do the following for EACH instance (other than the
first).
1.
Create an additional TEMP directory for each instance
to be run. You may do this with the DOS MD command
discussed earlier. For example,
cd\wwiv
md temp2
would create the TEMP2 for the 2nd instance. If you
have purchased capacity for more than 2 instances
(two instances are permitted in the normal distribution version), you would make additional TEMPx
directories for each additional instance.
2.
Run INIT using the following command:
INIT ,2
which enables you to create the "second instance"
If the second instance is only for local keyboard use
(ie no modem attached), then the only changes to
be made are in option 3 for PATH information: show
the path to TEMP2 for the TEMP directory and the
Batch Directory.
If the second instance is attached to a modem, then
it will be necessary to define the COM port for that
modem and select a modem type for it.
3.
For a local logon, you need a batchfile that can be
used to logon to the second instance. This will be
invoked by your multi-tasking software in a multitasking environment or may be used over a LAN. The
batchfile should look like this (do not type the
comments):
c:
cd\WWIV
SET WWIV_INSTANCE=2
bbs -m -i2
:
:
:
:
:
:
:
:
put drive appropriate to your
system or LAN
change directory to where WWIV
is located
set environmental variable
for 2nd instance
-m = do not use modem
-i2 = instance 2
If the second instance is attached to a modem also,
then the -m is used only for local logons. The i2 is
necessary to tell the BBS that it is instance 2 that
is being run.
4.
You will need to install SHARE.EXE or be using some
form of "share" via your network software if you are
on a LAN in order to have multi-instance capability.
If you are using OS/2 as your multi-tasking software
you will NOT need share.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Setting Up a New Version º
º
of WWIV
º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
If you are already running a version of WWIV and you
wish to install a new one, the following procedures will
normally work. Note that you could enter this information
into a batch file with the drive letters and paths changed
for your machine.
1)
2)
3)
4)
5)
6)
7)
8)
Unzip the new version of WWIV into a directory of its
own.
Copy *.exe c:\wwiv
[note: change drive\path for
your setup]
copy *.com c:\wwiv
copy *.msg c:\wwiv\gfiles
copy *.str c:\wwiv\gfiles
rename the ENGLISH.STR to BBS.STR
copy REGIONS.DAT c:\wwiv\data
OPTIONAL: Copy MODEMS.DAT c:\wwiv\data
9)
change directories to the C:\WWIV directory and run
INIT
Normally the procedures above will be all that is
necessary for you to install a new version over an older
version. If English is not your primary language, then
rename the appropriate language string. NOTE: MODEMS.DAT
is released with each version of WWIV; since the setting
for your modem may be different than that which you have
been using, you may wish to save your old MODEMS.DAT to
avoid overwriting your settings. This is precautionary
until you discover whether or not the new settings work
well for you.
Chapter 5 -- INIT to Initialize the BBS
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º PRIMARY CONFIGURATION º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
5.1
Using INIT
Once INIT is run, and after you have correctly entered
the system password, you will be presented with a menu
listing fourteen options. This section will describe each
of them, giving examples of how to use and modify your
configuration.
5.20
Option 1. System info (name, passwords, newuser
info, etc)
This section allows the sysop to change general system
information. The things you can change are:
5.20A
System password
The system password defaults to SYSOP, but you should be
sure to change it to something else, hopefully something
that other people will have a difficult time guessing.
Selecting your own personalized system password helps
prevent other people from gaining unauthorized access to
your BBS. When you type the password it will show on
screen as XXXXX.
5.20B
System name
This should be set to the name of your BBS, but if it
isn't set correctly, nothing bad will happen. You should
give considerable thought to selecting a name for your BBS.
To avoid duplication of other names that might be in use on
BBSes, you are encouraged to check the network listings for
the various WWIV based systems and perhaps FidoNet systems
as well.
5.20C
System phone
This should be set to the phone number of your BBS. This
isn't critical information UNLESS your board is a member of
a WWIV network.
5.20D
WWIV Reg Num
If you have registered your BBS, you will have a
registration number. This is where you enter that number.
This information is shown to callers when they log on to
the BBS.
5.20E
Newuser PW
This is the password people will have to enter in order
to log on as new users. If there is no newuser password,
anyone may log on as a new user. This should only be used
if you wish to operate a "private" system.
5.20F
Newuser restrict
This sets the restrictions that all new users are given.
This should probably be left as-is until you fully understand what the restrictions are used for. See
"Restrictions" for more details. The default restriction
of M means that any messages that the user posts, will not
be seen by anyone else until you have validated the
messages.
5.20G
Newuser SL
This sets the security level that all new users are
given. The default is 10. This should also be left alone
until you understand what the different security levels do,
and even then, most sysops will probably want to leave
this set to 10.
5.20H
Newuser DSL
This sets the download security level that all new users
are given. The default is zero. New users are severely
limited in what they can do on the BBS until you have
'validated' them which usually involves an increase in
their SL and DSL as well as possibly the assignment of some
ARS and DARS.
5.20I
Newuser gold
WWIV keeps track of an amount of "gold" for use in
on-line games, if needed. This sets the default amount new
users are given. The regular distribution version of WWIV
does not use gold for anything. If you have registered your
BBS and obtained the source code, modifications are
available which can allow you to use gold, for example, to
regulate downloads or game use by requiring that the caller
"earn" a certain amount of gold by posting.
5.20J
Sysop name
At a few points in the BBS, the system will need to
print out the name of the system operator. This is where
you can set what that name will be.
5.20K
Sysop low time
The sysop low time and sysop high time set the time
limits that the sysop is available to be chatted with. If,
for example, you don't want people to be able to request a
chat between 11pm and 7am, then your chat hours would be
7am to 11pm. The low time (when chat hours begin) would
then be 7am, and the high time (when chat hours end) would
be 11pm. You enter the time in the standard 24-hour format,
where 7am is 07:00 and 11pm is 23:00.
Normally, the scroll lock key determines when the sysop
is available for chat. If sysop hours are defined, the
system ignores the status of scroll lock during the hours
the sysop is supposed to be unavailable. In other words, if
you followed the above example and chose available hours to
be from 7am to 11pm, callers will not be able to request
chats with you from 11pm to 7am, regardless of the scroll
lock setting.
During the sysop hours (7am to 11pm), scroll lock IS
monitored, and will determine whether or not the sysop
available for chat. If the scroll lock is on, callers
be told you are available, and if they request a chat,
chat alarm will be sounded (unless you have turned the
off. See "Beep for chat" for details.
5.20L
is
will
a
beep
Up/Download ratio
Many sysops want to have up/download ratio requirements.
This allows you to set them. A caller's ratio is defined to
be the number of k (1024 bytes) of files uploaded divided
by the number of k of files downloaded. So, if you want a
caller to be able to download 5k for every 1k uploaded, the
required ratio would then be 1/5=0.2, so you would set the
ratio required to be 0.200. This way, when a caller has
violated the ratio (downloaded over five times what he/she
uploaded), the caller would not be allowed to download
again until the caller uploaded enough data to clear the
ratio.
5.20M
Post/Call ratio
Similar to the Up/Download ratio, this restricts users
from downloading if they do not meet the minimum ratio
established.
5.20N
Max waiting
Each caller may have a number of pieces of mail waiting.
This allows you to set the maximum number of pieces of mail
a caller can have waiting. NOTE: The sysop (sl=255) can
have 5 times this number of mail waiting. So, if, for
normal callers, 20 is the maximum, then 100 would be the
maximum for the sysop.
5.20O
Max users
The BBS requires you set the maximum number of users that
can be on the system. This defaults to 500, but you may
increase or decrease it. The absolute maximum is 32,767,
but 2,000 is probably about the limit for performance
reasons (ie, the system slows down the more users you
have).
5.20P
Caller number
If you have converted to WWIV v4 from another BBS
(possibly an earlier version of WWIV), you may set the
current caller number with this option. This counter is
increased by one each time the system receives a nonnetwork call unless the remote caller is the sysop.
5.21
5.21A
Option 2. More system info (net, status, etc)
System number
If your system is a member of a WWIV network, the node
number is entered here. A node number is something that is
assigned to you by a network administrator and is the means
by which others can address your system with e-mail and/or
send you a networked sub.
In v4.21a and higher, if your network software is NET31
or more, the option for Node Number is moved to option N.
If you do not have NET31 or higher AND v4.21a or higher,
you will still configure your node number here. In these
other versions, you will see option N which is discussed
below.
5.21B
Net low time
You can specify hours during which your BBS will only
accept network connections. Anyone else calling at that
time will be asked to call back later and be disconnected.
The net low time is the time from which your BBS will stop
accepting regular calls. The time is entered in 24-hour
format, just like the sysop hours (ie, 4pm = 16:00).
5.21C
Net high time
This parameter, used in conjunction with the net low
time, specifies the time at which regular calls will be
accepted again.
5.21D
Closed system
If you don't want to allow new callers on at all, set
this option to "Y," and no new callers may log on remotely.
5.21E
Local system
It is possible that you may want to run the BBS on a
computer that you don't have continual access to. Setting
local sysop to "N" will: a) disable all function keys,
b) disable the top of screen data, and c) disable sysop
functions while the BBS is waiting for a caller.
5.21F
Beep for chat
Normally, the BBS will make a horrid beeping noise in an
attempt to attract your attention when a caller requests a
chat. If you would prefer not to be such annoyed, simply
set this to "N," and the BBS will no longer beep at you for
chat requests.
5.21G
Phone off hook
When the sysop wants to check up on his system locally,
remote callers can not log on. If you would prefer people
calling while you are on to get a busy signal (instead of
ringing), set this to "Y," and the BBS will pick up the
phone while you log on locally, or read feedback, or use
any other WFC command that is likely to take some time.
5.21H
Two color chat
Normally, in chat mode, all text will be the same color.
If you would prefer text typed locally and remotely to be
two different colors (if the caller supports ANSI
graphics), set this option to "Y."
5.21I
Two way chat
Under normal conditions, two way chat mode will be used
when the caller has ANSI and is calling at 1200 bps or
higher. This option allows you to disable two-way chat
capability. Chat is discussed in detail in the Sysop Guide
To WWIV.
5.21J
Allow aliases
If you would prefer to disallow the use of aliases on
your BBS, set this option to "N."
5.21K
Close transfers
This option will allow you to close the transfer section
of your BBS. This means that no one will be able to upload
or download from your BBS. This option may be very useful
if you have limited disk space available for the board.
5.21L
All UL to sysop
This option forces all uploads to be placed in your
sysop directory. Directories are discussed in detail in
the Sysop Guide To WWIV.
5.21M
Sysoplog to printer
If you would like the sysoplog to be printed out to the
printer as events occur, then set this option to "Y."
Please note that you must have a printer connected and
ready on LPT1: in order for this to work.
5.21N
Use list utility
If you have a text file viewing utility, you may use it
to view your sysop logs from WFC. The utility must be named
"LIST" and be placed in the DOS path (or main BBS
directory). If the list utility is not used, sysop logs are
always printed to screen as if TYPE were used (i.e. they
are listed continuously from top to bottom).
5.21O
Free format phone
This option allows "non-standard" telephone numbers to
be entered. "Standard" format being what is used in the
United States and Canada, which is ###-###-####. Other
countries may have a different format that may have more
or fewer numbers. This allows systems to operate in other
countries as well as allowing callers from other countries
to call BBS's in the United states and Canada.
When this option is set to "Y", users are not prompted
for their last 4 digits when logging on.
5.21P
If
short
files
so it
Notify user of DL
this is set to "Y", when a user logs onto the BBS, a
message is displayed advising who downloaded any
they uploaded. This option only checks user numbers,
is possible a user may be notified of an download
that was uploaded by the person who previously had that
same user number.
5.21Q
Extended Information on Users
Toggling this option will ask your old users for the
address information and so forth that has been added to
v4.22.
5.22
Option 3. Paths (messages, gfiles, data, etc)
If you have more than one hard disk, you may wish to
split up the BBS files among your hard disks, in order to
better use the space. Using this option, you may change the
directories that the BBS looks to for certain things.
Please note that changing any of the options here will only
change where the BBS looks for the data; IT WILL NOT
ACTUALLY MOVE ANY FILES OR DIRECTORIES.
5.22A
Messages dir
Information regarding all e-mail and posts is stored
here.
5.22B
Gfiles dir
The Directory where the bbs text files are stored.
These files can be read by users while they are on line.
See GFILES in the User's Guide To WWIV and GFILEEDIT in
Chapter 12.
5.22C
Data dir
Data files used by the BBS are storesd here.
5.22D
Dloads dir
This directory is used to set the default directory for
new file sections.
5.22E
Temp dir
This area is used to temporarily store files for the
BBS. Because this area is "deleted" each time that a user
logs off, you should not store anything in this directory.
In multi-instance WWIV you will need a separate TEMPx
directory for each instance that you have. See the section
of FAST SETUP FOR MULTI-INSTANCE in chapter 4 for more
information.
5.22F
Batch dir
This directory is used to temporarily store files that
are batch uploaded (defaults to Temp dir--should have
adequate disk space for files being batch uploaded; at
least 2 megs recommended).
You may freely change the dloads dir, temp dir and batch
dir to whatever you want without hurting anything. HOWEVER,
the temp/batch directories MUST exist. If you can, have the
temporary directory exist as a ramdisk. If the temp dir is
a sub-dir of a ramdisk, MAKE SURE that the directory is
created BEFORE the BBS is run. In other words, run the BBS
in a batch file that first creates the temp directory.
Please note also that any files found in the temporary
directory when the BBS is run will be DELETED. If you
point the temporary directory to your root directory, or
the BBS directory, ALL THE FILES IN THAT DIRECTORY WILL
BE ERASED. Therefore, have the temporary directory be one
that doesn't contain any files you care about.
After batch uploads are completed, the BBS will automaticaly move the files into the appropriate drive and
directory.
The others (messages, gfiles, data), however, will have
files in them that the BBS needs to find in the appropriate
directories. Use the following guidelines for selecting and
naming new directories (if you wish to use any):
1. Never use the root directory of any drive to store
BBS files; the root directory can only hold a fixed
number of files, while any sub-directories may hold
an unlimited number of files in them.
2. Always have a backslash on the end of the path/directory name. The software will normally add this
backslash for you.
3. The directory may be specified relative to the main
BBS directory, or as a full pathname. In other
words, "msgs\" is recognized as a sub-directory of
the main BBS dir. In most instances, however, you
won't need to change the default directories. If you
choose to have directories located on another drive,
remember to include a drive letter in the pathname.
If you change the messages, gfiles, or data directory,
you must then:
1. Go to DOS and create the new directory.
2. Move all files from the old to the new directory.
3. You should then probably erase the old files and old
directory, to ensure you aren't confused by multiple
copies later on.
If you have any gfile sections (described later), you
will have sub-directories of the gfiles directory, ie,
"gfiles\section1\". You will then need to create
sub-directories, of the new directory, with THE SAME NAME,
and copy all files from the old sub-directory to the new
one.
5.23
5.23A
Option 4. Com port info (port, IRQ, base address, et>
Com Port
This sets the com port number that your modem is
connected to. If this is set to zero, the result is that
the BBS will not use a modem at all (same as /m parameter).
Initially, the com port is identified and set with the
auto-detect features of the INIT program.
5.23B
Interrupt
This allows you to manually change the interrupt used by
the BBS. You will probably not need to modify this.
5.23C
Base address
This sets the com base address used by the BBS, and is
dependent upon the com port number. It is set automatically
when you change the com port option, and you will not need
to change this, unless necessary.
5.23D
Slow UART
The INIT program automatically detects the presence of
the 16550 buffered UART chip for the com port listed. "Y"
indicates INIT has detected a 'slower' UART chip and the
"Unbuffered UART on COMx" message will be displayed.
5.24
Option 5. Select modem type
This option allows the manual selection of the modem
type to be used by the BBS. Using up/dowm arrow keys,
scroll to the modem type that most closely describes your
modem; press enter, and a new MODEM.DAT file will be
compiled and placed in the DATA directory. It is this
file that contains all modem information the BBS needs.
MODEM.DAT is a data type file that cannot be altered or
changed. The source for the MODEM.DAT file is a configurable text file called MODEMS.MDM. MODEMS.MDM is one of
the files that now comes with WWIV. When you run INIT for
the first time, this file is moved to the DATA directory.
It is very unlikely that you ever need to change the
data stored in MODEM.DAT, but if it ever became necessary
(changing a result code or such), the place to do so is in
MODEMS.MDM, then re-select that modem type and a new
MODEM.DAT file will be compiled. For more information on
this, consult chapter 17.
5.25
5.25A
Option 6. External programs (zip, terminal, etc)
Terminal program
This should be set to the name of a batch file to run a
terminal program. If, for example, you want to run Qmodem,
and your Qmodem files are in the directory c:\qmodem, you
should then set the terminal program option to QMODEM.
Then, in your main BBS directory, you should create a file
to run Qmodem, such as:
copy con qmodem.bat
c:
cd \qmodem
qmodem
^Z
You don't need to worry about changing back to the BBS
directory when done, the BBS will do that for you. One side
note: Due to the size of Qmodem, and the size of the BBS,
you probably can't actually use Qmodem unless you "shrink"
the BBS out of memory during the time you are using the
comm program. Also, you don't necessarily have to run a
terminal program with this option. It simply allows you to
run an external program from WFC. You could, for example,
run a file management utility from the BBS by running
it instead of a terminal program. The only limitation in
that instance is, again, the memory remaining.
5.25B
BeginDay Event
This is a batch file or program that the BBS will automatically run after the first caller logs on after
midnight, every night. You can write a batch file, for
example, to run the maintenance program of an on-line game.
Or, you can write a batch file to backup some BBS files.
5.25C
Logon Event
This is just like the BeginDay Event, except that it is
run every time a caller logs on. This option may be used to
run a program that gives the caller a "quote for the day"
or other similar utility.
5.25D
Newuser Event
This is also like the BeginDay Event. This time, though,
it is executed immediately after a new user has saved the
validation letter.
5.25E
Upload Event
This is similar to the BeginDay Event, and will execute
after a user uploads file(s). This is a good opportunity
to "virus scan" uploads, change the archiving method or
even change/add zip comments, just to name a few
possibilities.
Parameters that can be used in this event are:
%1 chain.txt path and name
%2 directory
%3 filename
5.25F
External Event
Again, this is not too different from the above-listed
events. This one, however, can be set to run at any predefined time. See the next section for details.
5.25G
Time for Event
This is how you can set the time that the External Event
will run. Any caller that logs on before the external
event is set to run will have his/her time on-line
shortened so that the caller will be off the BBS before the
event runs.
5.25H
Archive Extension
This option is listed four times, as are the other
extension-related settings. This is because WWIV can
support up to four different archiving programs. In the
transfer system, you or a caller may view the files
within an archive, extract individual files from archives,
and add those extracted files to a new archive. Archive
Extension is simply the filename extension of the
archive program you want to support. For example, ZIP, ARC,
PAK, and LZH are all popular archive extensions. NOTE: The
first archive listed is the most important in one respect:
it is the only archive that will be used when the Add to
archive option is selected. For example, if a caller
extracts a file from within a LZH archive, and then wants
to add the file to a temporary archive to download
later, ZIP would be used to create the new archive if ZIP
were listed first in INIT. Select which archive you want to
use for this role, and enter its extension first in order.
5.25I
List Archive
This is the archive command used to see a listing of the
files within an archive. Some sample commands are:
(for ZIP):
(for PAK):
(for LZH):
PKUNZIP -V %1
PAK V %1
LHARC V %1
The %1 is a parameter which the BBS uses to pass the
filename of the archive to be viewed.
5.25J
Extract Archive
This is the archive command used to extract a file from
within an archive. Some sample commands are:
(for ZIP):
(for PAK):
(for LZH):
PKUNZIP -E -O %1 %2
PAK E %1 %2
LHARC E %1 %2
Again, %1 is replaced by the BBS with the filename of
the archive to be worked on, and %2 in this instance is
replaced by the path of the temporary directory (discussed
earlier).
5.25K
Add to Archive
This is the archive command used to add a file to the
temporary archive. As stated earlier, only the first "Add
to Archive" entry is important; you may leave the other
three blank. Some sample commands are:
(for ZIP):
(for PAK):
(for LZH):
PKZIP -A %1 %2
PAK A %1 %2
LHARC A %1 %2
In this case, the BBS replaces %1 with the filename of
the temporary archive to be created, and %2 is replaced by
the path and filename of the file(s) to be added to that
temporary archive.
5.26
Option 7. External protocols (other than X,Ymodem)
Using this option, you will be able to insert, delete,
and modify external protocols for the BBS to use. Following
are some examples of commands to use for various external
protocols:
Description
: Zmodem
Xfer OK Code
: 0
Require MNP/LAPM : No
Receive command line:
dsz port %2 speed %1 est 0 %4 rz %3
Send command line:
dsz port %2 speed %1 est 0 %4 sz -r %3
Receive Batch Command Line:
dsz port %2 speed %1 est 0 %4 restrict rz %3
Send Batch Command Line:
dsz port %2 speed %1 est 0 %4 sz @%3
Bi-directional transfer command line (not implemented
yet):
The return code is only checked for sending files. Also,
if you leave either the send or receive command line blank,
that protocol will be disabled for the function omitted. In
other words, if you didn't specify a command for sending
with Zmodem, callers would only be able to use Zmodem when
uploading to you.
HS-LINK is covered in one of the appendices to this doc
file. Under v4.22 and up, you may override the built-in
protocols of Xmodem and Ymodem by entering alternative
parameters to them. For example, you might wish to
replace those functions with those found in DSZ by Omen
Technologies. However, if you do this, be aware that the
BBS will consume about 3k more of memory. The command lines
for HS-LINK in use by Moon Valley Triangel (1@6211 WWIVnet)
are:
Description
: HS/Link
Xfer OK code
: 0
Require MNP/LAPM
: N
Receive command line:
HSLINK -P%2 -E%4 -U%3
Send command line:
HSLINK -P%2 -E%4 -NU %3
Receive batch command line:
HSLINK -P%2 -E%4 -U%3
Send batch command line:
HSLINK -P%2 -E%4 -NU @%3
Bi-directional transfer command line:
HSLINK -P%2 -E%4 @%3
5.27
Option 8. External editors (full screen)
Full screen editors allow you and your callers (with
ANSI) to write email and posts using an editor that is
not restricted to the line-by-line approach used by WWIV's
built-in text editor. Some editors allow the use of
function and arrow keys to move the cursor about the
screen, in much the same manner as a regular word
processor. Full screen editors tend to be awkward for
callers to use, however, as while the sysop might use the
arrow keys to move the cursor, the caller must almost
always use control-key combinations to achieve the same
thing -- not very easy. Still, there are some great
advantages to using a full screen editor, especially from
the sysop's point of view, and so provision is made in WWIV
for their use. The full screen editor must do all I/O
through DOS calls. A well-known full screen editor because
it has been used in many versions of WWIV is FSED, written
by Sagredo. The command lines to use FSED could be:
remote: fsed +dosansi.cfg +wordstar.cfg -w%2 -h%3 -l%4 %1
local: fsed +console.cfg %1
Other well-known full-screen editors for WWIV include
WWIVEDIT, ZEDIT, MEREDIT and FEDIT.
If you utilize FSED, you can experiment with the
commands provided in the FSED documentation to find a
combination that you like best, but the above is probably
the best for general use - especially from the sysop's
perspective.
Command lines to use in WWIV for FEDIT are:
Description
Filename to
FEDIT %1 %2
Filename to
FEDIT %1 %2
: FEdit 1.1
run remotely
%3 %4
run locally
%3 %4 %5
Some editors, such as WWIVEDIT, will do automatic
configurations. Because of that ability, the command lines
for WWIVEDIT are not shown here.
5.28
Option 9. Seclev data change
For each security level (0-255), there is a set of data
that determine what a caller with this SL may do. This
option will allow you to change that data.
Using {,},[,], you can scan through until you find an SL
you want to change. Then, hit enter to edit the data. You
can then alter:
5.28A
Security level
Changing this changes to that security level. The
other data on the screen is appropriately changed. Any
data changed for the previous SL is saved.
5.28B
Time per day
This gives the time, in minutes, that a caller with
that SL is able to be logged on the system per day,
regardless of the number of calls.
5.28C
Time per logon
This gives the time, in minutes, that a caller with
that SL is able to be logged on to the system per call.
Normally, the time per day is 2.5 times the time per logon.
Normally, the time allowed on is limited by the time per
logon, but after the second call that day, the time per
day may cut down the total amount of time on. Of course,
the time allowed on may be affected by uploads, chat time,
and extra time allowed by the sysop.
5.28D
Messages read
This sets the number of messages that can be read
(per call) by a caller with that SL.
5.28E
Emails per day
This sets the maximum number of pieces of mail that a
caller with that SL can send, per day. NOTE: Email excludes
feedback. A caller is allowed to send up to 5 pieces of
feedback per day.
5.28F
Posts per day
This sets the maximum number of posts a caller with
that SL can post per day.
5.28G
Post anony
If set, this means that a caller can post a message
anonymously on any message base.
5.28H
Email anony
If set, this means that a caller can send anonymous
e-mail.
5.28I
Read anony posts
If set, a caller with this SL can read the names on
anonymous posts.
5.28J
Read anony email
If set, a caller with this SL can read the names on
anonymous e-mail.
5.28K
Limited co-sysop
If set, a caller with this SL can validate and delete
messages from any caller. Normally, callers can only delete
messages they themselves have written.
5.28L
Co-sysop
If set, a caller with this SL has access to all co-sysop
functions.
5.29 Option
10. Auto-Validation data change
The sysop can set the Alt-F keys (Alt-F1 through
Alt-F10) to set certain data for a caller. This function
allows you to change that data. You may set the SL, DSL,
AR, DAR, and restrictions. Then, when a caller is on-line,
you may press any ALT-function key combination to
immediately change that caller's security levels, AR, and
restrictions. This may be useful for validating a caller you can, for example, just hit Alt-F1, and if you have that
configured to give the caller standard access, the caller
will immediately receive said access. It all happens very
quickly, and there is no immediate indication on the
caller's side that anything has happened, save perhaps a
dramatic increase in the time-left display.
Be careful, though. If you are logged-on locally, and
hit an Alt-key combination, your stats will be altered as
well. This would do no permanent damage, but it will cause
an annoyance as you have to go to the indignity of
validating yourself again.
ALT-F10 also has a special usage for registered sysops.
If the OPT_SIMPLE_AUTOVAL is selected before compiling the
BBS, a visiting sysop being automatically autovalidated
because YES was entered in response to the question, "Are
you a WWIV Sysop?", will have AR, DAR, SL, and DSL set to
the parameters entered for F10 subject to the contraints
that the value must exceed that for new users and must be
less than 100.
5.30 Option A.
Auto-Detect modem type (if possible)
This option, if selected, will have the software try
to match your modem to one of the types as best it can.
5.31 Option N.
Update Network info
If you have both v4.21a or higher of the BBS software
AND NET31 or higher, you will see Option N and it will
enable you to configure your system for more than one
network. When selected, you will see the selfexplanatory prompt:
Networks: M:odify, D:elete, I:nsert, Q:uit :
If you select I:nsert, you will be prompted to provide
information on the network name, the node number of your
system in that network and the directory where the data
files for that network are to be found.
Each network should have its own data directory so that
bbslists and so forth may be updated properly.
The network software will look first to this directory
for network files, so if some files for a particular
network are different, they should be placed here as should
the BBSLIST and CONNECT information for that network.
5.32 Option U. Userrec (WWIV v4.21a) Max # Subs/Dirs
(WWIV v4.22+)
If you have not modified your userrec, then this option
will adjust your userrec for the increased message base
size (32 to 64 subs) available on v4.21a. If your userrec
has been modified, this option will do nothing.
In v4.22, you may use this option to increase the number
of message bases and/or directories that are in use. The
software will increment these in blocks of 32 each. You
should NOT select more than you think that you will
actually need, for more memory is required as the number is
increased.
If you are counting for the 14 options, the 14th is Q to
quit.
5.33
General Text Files -- Especially Default Messages
The GFILES directory contains a number of text files
which the BBS will use to accomplish various tasks. You can
change any of them to suit your desires. For files with a
MSG extension, you can use any text editor you want as long
as the editor saves the files in standard ASCII format. For
files with a B&W or ANS extension, you need to use an ANSI
editing program. A note about MSG, B&W, and ANS files: ANS
files are printed when the caller has color ANSI selected
in his/her defaults. B&W files are printed when the caller
has ANSI, but no color. MSG files are printed to callers
without ANSI. MSG files are the default. In other words, if
the caller is capable of seeing a ANS file, but it doesn't
exist, the BBS will look for a B&W file. If that doesn't
exist either, it will print the MSG file. So, you don't
necessarily have to create ANS or B&W files. If you don't
have one or the other, the BBS will use MSG.
5.34A
WELCOME.MSG [ANS]
This text file is printed out right after a caller
connects, but before he logs on. You will probably want to
change this so that it tells the name of your system, and
perhaps gives a logo for your system. If you have a
WELCOME.ANS file, the software will attempt to auto-detect
whether or not the caller has ansi; if he does, then
the Welcome.ANS message will be displayed; otherwise the
system will show the Welcome.MSG.
5.34B
LOGON.MSG [ANS, B&W]
This file is printed out after a caller logs on, but
before he gets to the main menu. This usually describes
recent news that may affect the system. Once a caller is
on the BBS, he can also access this file with an I at the
Main Menu.
5.34C
SYSTEM.MSG [ANS, B&W]
This file describes your system. It should probably tell
what type of system you run, what its purpose is, what
hardware it is run on, and any other information you think
necessary. This is the first text file printed out to new
callers. It is also printed when the caller hits 'I' for
system info.
5.34D
NEWUSER.MSG
This is the second text file printed out to new callers,
and is printed out before they enter any information. It
should describe what you expect from new callers.
5.34E
FEEDBACK.MSG
This text file is printed
entered his information, but
feedback to the sysop. This
you expect to be told in the
5.34F
out after a new caller has
before he sends validation
should tell the caller what
validation letter.
LOGOFF.MSG [ANS, B&W]
This file is printed out just before a caller is logged
off.
5.34G
HELP.MSG
This is a large file which holds the context-sensitive
help information which is printed when the caller hits
control-O. You probably will not need to change anything in
it.
5.34H
TRASHCAN.TXT
This is a text file listing names (aliases) which you do
not want your callers to be able to use. Usually, this file
will contain a list of profane words, one per line, so that
you won't have anyone using certain names on your board
that you don't like.
5.35I
Other standardized files
In version 4.23 several other files were added which the
sysop may elect to show to the user. These are discussed in
more detail in Chapter 16 Section 2.
5.35
Menus
5.35A
MENUS.MSG
This is a file which contains the menus WWIV may display
at various times. If a MENUSANS.MSG file does not exist
(and it should), callers will see the menus in this file.
5.35B
MENUS40.MSG
This file contains a list of menus shown to 40-column
callers only. You don't really need to have this file.
5.35C
MENUSANS.MSG
This file contains menus displayed to callers who
have ANSI selected. It may have true ANSI or WWIVansi
codes. What does this mean? WWIV does not use true ANSI
codes to display color to you or your callers. It uses
what is called WWIVansi, which is a different system of
encoding colors in text. When WWIV displays a file
written with WWIVansi, it interprets the color codes and
translates them to standard ANSI format. WWIV will still
display standard ANSI files correctly, of course. WWIVansi
is just a system you can use which doesn't force you to use
ANSI editors or strange escape codes. At any rate,
MENUSANS.MSG may have either format of ANSI in its menus.
5.35D
MENU[0...14].MSG [ANS]
Each menu has a number attached to it by WWIV. You can
see these numbers listed at the beginning of each menu in
the MENUS.MSG file. The BBS will first look for a file
named MENU*.MSG [ANS], where * is a number from 0 through
14. If the caller has ANSI, the BBS will print the ANS
version of the MENU file if it exists. Following are the
numbers for the menus:
0
1
2
3
4
5
6
7
-
Main Menu
Message Base Commands
Editor Commands
File Transfer Menu
Mail Menu
Sysop and CoSysop Menu
UEDIT Menu
WFC Menu
8
9
10
11
12
13
-
Sysop File Transfer Menu
Batch Transfer Menu
User Restriction Menu
Sysop Editor Menu
Multimail Menu
Message Base Commands for Cosysops and
Sysops
14 - Archiving Commands Menu
Rather than editing menus within the MENUS.MSG or
MENUSANS.MSG files, you can simply create the menu you want
to change, name it with the format described earlier, and
the BBS will print that menu instead of the one listed in
one of the large menu files. For example, if you want to
change what your main menu looks like, you can create a
file with an ANSI editor (for color) or a text editor (for
plain ASCII), name it MENU0.ANS (or MENU0.MSG), and place
it in your GFILES directory. The BBS will print that menu
when required. For more information, see chapter 16 on
customizing your BBS.
5.40
EXECUTING THE BBS
5.41
Startup
Now your system should be initialized, and you are ready
to go about configuring it. To begin configuring your
system, you first need to run the BBS. There are several
command-line switches you may select when running the BBS.
At the DOS prompt, the command format is:
C> BBS [/Brate] [/Srate] [/Nlevel] [A/level] [/O] [/H] [/M]
/B - someone already logged on at rate (specify 300, 1200,
2400, etc)
/S - com port baud rate to use (if locked at 38400, etc)
/N - normal exit level
/A - abnormal exit level
/O - quit WWIV after one caller done
/H - don't hang up on caller when he disconnects
/M - don't access modem at all
/F - Used only with Hi-Speed Modems in conjunction with /B
and /S
/C - Echo controls (CTS/RTS)
/R - Limit users remaining time to the integer followinr R.
/Ix- The instance of multi-instance that is enabled.
Most of the commands above are self-explanatory. Use /B
if somebody is already connected to your modem and you want
to run the BBS. If you don't, the BBS would attempt to
initialize the modem upon startup, something you wouldn't
want to happen if somebody was already on-line. /N and /A
are normally used as a pair in a batch file. The following
is an example of such a batch file:
copy con wwiv.bat
:bbs
BBS /N0 /A1 %1 %2 %3 %4 %5
if errorlevel 4 goto event
if errorlevel 2 goto quit
if errorlevel 1 goto bbs
if errorlevel 0 goto bbs
:event
REM: enter the name of the program or batch file that
you wish to run for an event.
goto bbs
:quit
echo
Quitting the BBS
^Z
This batch file would run the BBS, allowing you to enter
other switches if necessary. If the BBS aborted abnormally
for any reason (you did NOT hit Q at WFC), the batch file
would automatically reboot the BBS. If the BBS was
terminated normally (you hit Q at WFC), the batch file
would end.
Switches may be preceeded with a / and a - sign. The /M
switch may be very useful to you as you initially set up
your BBS. It causes the BBS to totally ignore the modem.
So, you can run the BBS without a modem even attached to
the computer. If you were to try that without the /M
switch, the BBS would lock-up in it's attempt to initialize
the modem.
The /S, /F, /C, and /R parameters are normally only
used when you are running a front end mailer like FrontDoor
or Binkley Term or when you are running WWIV as a door from
another BBS system.
The /Ix command must be entered for all instances other
than instance 1. Replace the "small x" with the integer
for the instance that you wish to use.
The bbs treats an exit code of 0 as a "normal" exit.
The software has the following abnormal exit codes that
it recognizes:
Not okay = 1
Quit
= 2
Event
= 4.
Once you've entered the BBS command to execute the BBS,
you will see a copyright notice, the screen will clear, and
"Waiting..." will flash on the screen for a moment.
The "Waiting..." message means that the BBS is trying to
initialize the modem. If after 30 seconds, the Waiting...
message is still on the screen, you have a problem with
your modem, or the BBS doesn't have the right information
about your modem. If Waiting... is still on your screen for
over 30 seconds, you will need to reboot your computer, and
should then recheck the modem information in the INIT
program. If that all looks correct, you should check your
modem itself, perhaps running a terminal program to make
sure everything is working correctly.
Sometimes numbers will be observed after the
"Waiting..." such as "Waiting...(0)...(0)...(4)..." These
numbers have specific meanings. The (0) means that the
modem did not acknowledge the codes which were sent. The
(4) means that the modem returned an error response. When
your modem is configured correctly, you should not see any
numbers following the "Waiting..."
After Waiting... disappears from the screen, the screen
will be blank. The system is now waiting for a caller.
This mode is termed WFC, for quick reference.
5.42
Creating the Sysop Account
Your first task will be to log on with the sysop
account. To do this, you will hit the spacebar at WFC. You
will be asked if you want to log on. You do, so hit Y. You
will be presented with the welcome message, and will be
asked for your name or number or new. You will be new, so
type "NEW" and hit [Enter].
You will be prompted for: your name/alias, real name,
phone number, callsign, sex, birthdate, computer type,
screen size, and ANSI support. The BBS does internal
ANSI decoding, so you can always see ANSI locally.
After entering this information, you will be presented
with a list, and asked if you want to change anything. Make
sure all is correct, and press Q.
After verifying your password, you will be logged on and
taken to the main menu. You now need to validate the sysop
account. To do this, hit F1. A window will pop up in the
middle of the screen which displays the current info about
the account. You will want to set the SL and DSL to 255,
and the AR and DAR to include the following
"ABCDEFGHIJKLMNOP". To do this, enter 255 for SL, and hit
[Enter]. You will now be at the AR prompt. Hold down Z
until all letters appear. In the future, you can toggle
letters by typing them. You can remove a letter by
pressing the spacebar while the cursor is over the letter
to be removed, and you can add consecutive letters by
holding down any key that is not an AR setting itself
(ie, not A-P). Hit [Enter], and repeat for DSL and DAR. If
there are any restrictions highlighted, move the cursor to
that character (with the left & right arrow keys), and hit
the spacebar to remove that restriction (you can also press
the letter which is indicated to toggle it on or off, just
like with the AR and DAR).
When done, hit escape (or F1 again) to quit back to the
main menu. The procedure that you have just followed is
known as on-line validation. If you should ever want to
validate a caller that is on line, you will follow the same
procedures although you would not give the user all ARS and
DARS nor would you want to give him a 255 SL.
The sysop account is now logged on and validated. Type
/O to log off, and you will be returned to WFC. Please note
that there are a few differences between logging on locally
and logging on remotely. First, and most obviously, the
ANSI welcome message (if present) and logon message are
not printed out when you log on locally, because the system
assumes you already know what they are.
Furthermore, when logging on locally, you will not need to
enter the system password. When you log on in the future
locally, you can simply press F after pressing the
spacebar. That will immediately log you on, without need
of typing your password or phone number. It will also
bypass the welcome message and information screen.
You have completed initial setup of your bulletin board.
However, you are far from going on-line with a fullfeatured BBS. What you have now is a rather barren bulletin
board with one user account - your's. Your BBS will have
one message base already installed, General, and two file
directories, Sysop and Misc. There are no g-file sections,
no on-line programs, no files for transfer, and no
messages. Chances are, you do not have most text files
prepared (for news, new callers, info, etc.). Make no
mistake - you have a great deal of work ahead of you. Your
next stop is the Sysop Guide To WWIV. It will show you in
detail what your main BBS sysop options are. You will learn
how to create and modify message bases and file
directories. You will also see how on-line programs are
installed, and how g-file sections are added. Your bulletin
board as it is now is a shell, waiting for you to
personalize with your own interests.
5.43
Uedit
Uedit is the user account editor function which allows
the sysop to maintain the user list and alter accounts as
needed.
5.43A
Toggling the Uedit Display
There are two possible displays in Uedit - the short
display, and the long display. If there is a remote caller,
it will default to the short display. Otherwise, it will
default to the long display. Typing a period at the Uedit
prompt will toggle between the long and short displays.
In the short display, typing a comma will expand to the
long display FOR THAT ACCOUNT ONLY.
5.43B
[ and ] to move in Uedit
You use [ and ] to move down and up accounts in the user
list. "]" will move to the next higher account in the user
list, and "[" will move to the next lower account.
5.43C { and } in the Search Option
"{" and "}" search through the user list, using the
options set with "/", to the next (or previous) account
which satisfies the selected criteria. Entering "U" and
then entering a (full or partial) name will go directly
to that account, or you can access a particular account by
entering "U" and then the user number.
5.43D
Other options in Uedit are:
? - Menu of options
: - Force user to re-enter birthdate upon next logon.
~ - Reset ass_pts to zero. Not currently implemented
elsewhere.
A - Change user's AR.
C - Change user's callsign.
D - Delete the current account, erasing any mail
to/from that user and discounting any votes made
by that user.
E - Change user's exemptions
0=no exemptions
1=exemption from transfer ratio
8=exemption from post/call ratio
9=exemption from both transfer and post/call ratio
G - Change user's birthdate.
I - Change user's DAR.
L - Change user's real name.
M - Change user's computer type.
N - Change user's name.
O - Change note about user.
P - Change user's phone number.
Q - Quit out of Uedit.
R - Restore a deleted user. This doesn't re-create any
mail, or add back in votes made by that user before
deletion.
S - Change user's SL.
T - Change user's DSL.
X - Change Registration/Expiration Date (registered ver
only)
Y - Change user's sysop sub. Set to 999 to clear the
sysopsub value.
Z - Change user's restrictions.
% - Change user's address data.
5.43D1
Available restrictions are:
A - Automessage : The caller cannot change the
automessage.
C - Chat
: Caller won't be able to request
chats with you.
E - E-Mail
: The caller cannot send e-mail.
L - Logons
: Limits the caller to 1 logon per
day.
K - Chat
: Restricts the user from chat room
N - WWIVnet
: The caller cannot use the WWIV
network
P - Posts
: The caller cannot post messages.
V - Voting
: The caller is not permitted to
vote.
* - Anonymous
: The caller cannot post anonymously.
U - Upload
: All uploads by this user will go to
the sysop dir.
M - Messages
: Posts by the caller will not be
accessible by your other callers
until either yourself or a co-sysop
have read and approved the message
for public viewing.
The X option works only for registered sysops who have set
the toggle for OPT_REGISTRATION to on. This permits a sysop
to set an expiration date for a user with respect to certain
preferred status. It should be useful for those who have
"pay" or "donation" type BBSes. If the sysop hits CR at
the registration date, today's date is entered.
5.43E
Long Information on User
The long information printed about a user account
consists of:
Name:
RN :
Call:
PH :
Age :
PW :
Comp:
Last:
Random #1 (name/alias of user, number of user)
Wayne Bell (real name of user)
N6PLU
(amateur radio callsign)
213-208-6689
(Voice phone number)
22 M
(age, sex)
AAA
(password)
IBM AT (80386)
(user's computer type)
07/12/89
12/15/87
(last date on, first date
on)
Msgs: P=123 E=148 F=125 W=64
(posts, emails, feedbacks,
mail waiting)
Log : 802 4 I=0
UpDn: U=17-989k
D=3-43k
Note: This is a note
DATAPH: 310-218-7766
SL : 255 DSL=255
AR : ABCDEFGHIJKLMNOP
DAR : ABCDEFGHIJKLMNOP
(total calls, calls today,
illegal logons)
(uploads, downloads)
(user note)
(user's dataphone number)
(SL, DSL)
(user AR)
(user DAR)
The comments on the right are not printed in Uedit.
Some of the lines are not always printed unless they have a
value. For example, if the user did not have an amateur
radio callsign, the callsign line would not be present in
the Uedit listing. This rule also applies to restrictions,
AR, DAR, and sysopsub.
Passwords are ONLY printed for 255 SL's. If a co-sysop
goes into Uedit, passwords will not be displayed (although
they will be printed locally on your computer screen).
5.43F
Using Uedit Search Ability
Since many sysops have been somewhat baffled by the
search options in UEDIT, this appendix has been included
to provide more information on the function and how to use
it.
This functions very similar to an 'if test' if a program;
that is, you specify a condition according to the
appropriate format, and then when the search finds a user
meeting that condition, it stops. Generally, you will have
a condition such as sl, dar, ar, etc., and a comparison.
For example, the setup to look for a user with an sl
greater than 50 would look like this:
sl>[50]
Note that the number is included in brackets. You can use
either > or < that is, greater than or less than. Greater
than is the default.
These conditions can be modified as follows:
! meaning NOT
& meaning AND
| meaning OR
and you can use parens (parentheses) to group them
together. Precedence (ie order) is determined from left to
right. There is no default of & over | as there is in C.
A search string such as the following might be used to
purge users who have not been on during the last 80 days
and who do not have an AR of A.
!DAR[A] & LASTON>[80]
A more elaborate example is the following which would
search for everyone having an AR of C and who is either
Male or over 21 years old:
AR[C] & (Sex[M] | AGE>[21])
Current searchable variable include: last-on, baud-rate,
real name, number of logons, area code, sl, dsl, ar, dar,
sex and age.
After entering the search criteria, the } will search in
ascending order and the { will search in descending order.
Chapter 6 -- Network Setups
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º SETUP WWIV BASED NETWORKS º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
WWIV supports both WWIV based Networks and FidoNet based
networks. The latter requires that you have a Front End
Mailer installed and that you have a utility installed to
convert WWIV to Fido and vice-versa. Currently, the
utilities which will do this are: 4DOG, NETSex, and WWIVgate
which were written in that order. WWIV Software Services
plans to have its own utility for this purpose in the near
future.
WWIV based networks and FidoNet based networks are
installed by selecting N from the INIT menu. The information requested is:
Network Name
Network Data Directory
Node Address
Net Type (toggle WWIV or FidoNet).
The Network Data Directory is where your network
executables that are unique to that network should be
placed and where the data files for that network are
maintained. For more information on this, consult the
documentation for the latest version of NETxx. The Net
Type refers to whether it is WWIV compatible or Fido
compatible.
Information on how to join WWIVnet is included in the
WWIVNETP.DOC distributed with NETXX. Information on
joining other WWIV based networks may be obtained by
consulting NETWORKS.LST which is distributed about once
a month on the three major WWIV networks (major based
on size: WWIVnet, IceNET, and WWIVLink).
Chapter 7 -- Email & Message Base Commands
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º E-Mail Commands º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
7.0
The following commands are available for use in e-mail.
All but the last five of them are listed in the e-mail menu
that you get by entering ? at the e-mail prompt.
7.1
A
The A response is for answer and delete. It should be
used for responding to mail when you do not need to keep the
original message. If you should want to keep a copy of the
mail but NOT have it in your mailbox, you can use the
Extract command discussed elsewhere in this document. The A
response will delete the mail from your mailbox after you
have finished responding.
7.2 D
The D response will delete the mail that you have just
read. The D response does inform the sender that you have
read the message. You might compare this with the Z
response discussed later in this section.
7.3 F
The F response forwards the mail to another user. This
is particularly useful if you receive a question which you
think someone else is better qualified to answer.
7.4 G
The G response causes you to receive a prompt "Go to
which?". You may go to another piece of mail that is either
before or after the mail that you are reading. You respond
with the number of the e-mail that you wish to go to.
7.5 I
The I response is to ignore that piece of mail. This
allows you to skip a piece of mail for answering later.
7.6 Q
The Q response is to quit reading mail.
7.7 R
The R is to Re-read the mail you have just read.
7.8 S
The S response allows you to answer the message you have
just read, but it also retains the copy that is in your mail
box without deleting it.
7.9
-
The - moves you back to the previous piece of mail.
7.10 +
The + moves you forward to the next piece of waiting
mail.
7.11 V
The V response allows you to validate the user who sent
the mail. It is handy to use when you are reading new user
feedback letters.
7.12
U
The U response allows you to change certain fields in the
USER.LST for the user who sent you the mail. This feature
is very handy if someone asks that you change their handle,
password, phone number, etc. This loads you into uedit and
returns you to the messages when you quit uedit.
7.13
C
The C response is the same as the U response; the only
difference is that U clears the screen when uedit is loaded
whereas the C response does not do a clear screen first.
7.14
O
The O response allows you to send a form letter to the
person who sent the message. You are prompted for which
form letter to use. Under v4.23 and later, if you have
your form letters in GFILES with the file extension of FRM,
you will get a listing of these available form letters when
you enter the O.
7.15 Z
The Z or Zap response deletes the waiting piece of mail
but does not notify the sender that you read it.
7.16 P
The P or Pest response asks if all mail from that user
should be deleted. A Yes response will delete all mail in
your mailbox from that particular user.
7.17 N
Add node to subscriber list for networked sub. This
command is new to v4.23 and should be useful to those who
host networked subs.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Message Base Read Commands º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
7.20
Most of the message base read commands (ie those usable at
read prompt on a message base) are explained in the menu
that is available when you hit a ?.
7.21 Any number
Entering a number at the read prompt will cause the
software to move you to that message number if it exists.
If you enter a number greater than the number of messages on
the message base, nothing will happen.
7.22
- and +
The - moves you back one message on the message base and
the + moves you forward one message.
7.23
A
The A response allows you to make a private response to
the person who wrote the post that you are reading. This
private response is NOT kept in the message base messages as
it is on some softwares; instead, if it is to a local user,
it goes in that person's mailbox. If it is a reply to a
post on a networked sub, it will be sent as private mail to
that person.
7.24
B
The B response causes you to by-pass the remaining
messages on the message base and go to the next message
board in your q-scan.
7.25
C
The C reponse puts you in continuous read mode so that
you are not stopped at the end of each message.
7.26 D
The D response allows you to delete a post on a message
base.
7.27 E
The E response is for extraction. You will receive (if
you are using the new extract under v4.23), a prompt of
"1-4, Q, ?" which permits you to select the directory in
which to store the extracted file, to quit, or to get a
small menu of options. The directory choices are:
1)
The transfer directory. If this option is selected,
you will be prompted to identify the directory by
number. A question mark instead of a number will
produce the directory listing for you to select the
number from. After this option is selected, the
file that is extracted is compressed using the first
archive method listed in INIT and you are then asked
if you wish to UPLOAD it. If you chose to upload, the
file is put into the listing of files in that
directory and you are prompted for a file description.
2)
This option prompts you for filename. If
ONLY a filename, the file will be stored
under the name you gave; however, if you
and filename, the file will be stored in
designated directory.
3)
This option will store the file in the DATA directory
under the filename given.
4)
This option will store the file in the TEMP directory
under the filename given. Since the TEMP directory is
automatically erased when you logoff, you must
remember to do something with the file before logging
off.
you enter
in GFILES
give a path
the
7.28 L
The L response is for Load and it allows you to LOAD a
file from disk to post as a message. Although you are
prompted for a filename, you may enter both a path and a
file name.
7.29 M
The M command allows you to move a message to a different
message base and/or conference.
7.30 P
The P response enables you to POST. The P response does
not make use of the RE: or anything else that suggests that
it is a response to a particular message.
7.31 Q
The q response is to quit reading messages.
you to the Main Menu prompt.
This returns
7.32 R
The R response is to reread the message that you have
just read.
7.33 T
The T response shows you the titles of the next ten
messages. In v4.23, you are also shown the names and user
numbers of the person who posted the messages.
7.34 U
Makes an anonymous post NOT anonymous.
7.35 W
The W response allows you
sub-title is RE: followed by
you are responding to. This
that you are responding to a
to write a message where the
the title of the message that
helps to make clear to others
particular message.
7.36 X
The X response toggles the net validation status of the
message. If the status was not pending net validation, it
changes it to pending net validation.
Chapter 8 -- Waiting for Call (WFC)
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Sysop and Co-Sysop Information ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
This section contains information useful to the Sysop
and/or co-sysop commands that can be used to run and
maintain the BBS. Some of these commands you will use on a
daily basis whereas others will be used rarely. You should
learn these commands through using them rather than by
trying to memorize them.
WAITING FOR CALL (WFC) Commands
8.1
8.11A
WFC Commands
? - list WFC commands
The question mark brings up a WFC Screen of commands
available to the operator from the local keyboard. Although it is not a good practice to leave this screen up
all of the time because it could "burn" or etch a pattern
on the screen, sysops who are new to WWIV will find this
a good source of information, and they are encouraged to
study it and experiment with the commands.
8.11B
[Spacebar] - logon from the keyboard
Occassionally a sysop will find it necessary to log on
to the BBS. The purpose may be to upload files, make posts
on the message bases or perform other maintainance. The
spacebar informs the software that the sysop or other user
at the local keyboard wants to log on. If "Phone off
hook" has been set in INIT, the BBS will pick up the phone
for the time you are logged on, and callers will get a busy
signal. At the prompt after pressing the space-bar, the
sysop may press 'F' to logon quickly as the sysop without
entering logon information, or 'Y' to logon as any account,
with the need to enter password and phone number. Note
that the phone is not picked up until you have entered "Y"
or "F". If you do not actually wish to log on, just hit
the spacebar again.
Beginning with v4.23, any user having a user number of
10 or less and who has a 255 access level, may log on fast
from the key board by hitting the spacebar followed by a
number from 1 to 10 that is the same as his user number.
Also, because v4.23 is multi-instance, a sysop or cosysop may logon to the board while a remote user is also on
the board. This may be done by defining a second instance
and logging into it. If there is no modem on the second
instance, then you should use a batchfile for accomplishing
this logon and then use the batchfile over a LAN (local
area network) or via a multi-tasking software such as
Windows (tm), Deskvue (tm), or OS/2 (tm). If there is no
modem connected to the second instance, use the following
command:
bbs -m
8.11C
A - Answer phone
If you are talking to someone (voice) on the BBS phone
line, and want to allow that person to log on, hitting "A"
will cause the BBS to pick up the phone and send a
carrier, just as if the phone had rung.
8.11D
B - Boardedit
This command allows the sysop to change/add/delete
message bases. This command is explained more fully in the
section dealing with the //BOARDEDIT command which may be
issued when the sysop is logged into the BBS.
8.11E
C - Chainedit
Using this command allows the sysop to change/add/delete
on-line programs (games). A more complete explanation of
this command is found in the section dealing with
//CHAINEDIT which may be given by the sysop when he is
logged onto the board.
8.11F
D - Diredit
With this command, the sysop can change/add/delete file
directories. The command when the sysop is logged onto the
board is //DIREDIT which may be given as either the Main
Menu Prompt or the Transfer Menu Prompt, and a more
complete explanation is provided when that command is
discussed below.
8.11G
E - Edit text file
By using this command, the sysop can edit any text file.
This can be handy if, for example, you are using LOGON.MSG
as a type of news bulletin. You can edit the file from WFC
and enter new information or delete old announcements.
8.11H
F - DOS functions
This command allows the sysop to temporarily drop to DOS
so the SysOp can do something. If you have the "Phone off
hook" set in INIT, the BBS will pick up the phone during
the time you are in DOS. Type "EXIT" to quit the dos shell
and return to the BBS. Do NOT attempt to run a terminal
program from this dos shell.
8.11I
G - Gfileedit
This command allows the sysop to change/add/delete gfile
sections. The equivalent command when the sysop is logged
on to the board is //GFILEEDIT or simply //GE.
8.11J
I - Init votes
This command permits the sysop to add/delete voting
questions for callers in the voting section.
8.11K
L - Log of the day
This command provides a detailed account of what the
callers did while on-line today. If the "Use List
Utility" has been toggled on in INIT and if the List.com
program is available either in the main bbs directory or
the path, the sysop will be able to have complete control
of the cursor while reading this log; that is, the sysop
will be able to page up or page down, jump to the end of
the file, scan for a particular name, etc. Sysops are
strongly urged to obtain the excellent shareware program
called LIST and to utilize it in this fashion.
8.11L
M - Read all mail
This command allows the sysop to read any mail that has
been sent on the system, and to delete any of it as well.
NOTE: This should not be used for reading feedback; use
the R function for that.
8.11M
N - Net log
If the BBS is a member of a WWIV network, this command
will show a list of the past 77 network connections,
including information such as connect times, data sent and
received, systems connected, etc. This listing will also
operate under the LIST utility if it has been installed in
INIT.
8.11N
P - Pending Files
If your system is a part of a WWIV network, this command
presents a list of pending files to be sent, along with
various information such as system numbers, bytes to send,
and how many hours and minutes have elapsed since the board
last connected.
8.11O
Q - Quit and terminate the BBS program
This command stops the execution of the BBS program and
removes it from memory. This is the proper way to
terminate the execution of your BBS.
8.11P
R - Read your mail
The sysop can read all mail sent to the number 1 account
just as if he had logged onto the BBS. If "Phone off hook"
is set in INIT, the phone will be picked up while the mail
is read. The sysop is permitted to read mail and perform
any of the normal mail related functions (answering,
deleting, etc.) that are available when logged onto the
board.
8.11Q
S - Status display
This command displays a quick listing of total system
usage, disk space remaining, total number of callers, and
several other items.
8.11R
T - Terminal program
If a terminal program has been setup in INIT, hitting
"T" will run it, and then return execution back to the BBS
when it is completed.
8.11S
U - Uedit
This command allows the sysop to delete/modify caller
accounts/information. When the sysop is logged into the
BBS the equivalent command is //UEDIT or simply //UE.
8.11T
Y - Yesterday's log
This command displays the Sysop log for the previous
day. This log will also operate under the LIST utility if
it was installed in INIT.
8.11U
Z - Zlog
This displays a short listing of daily activity for
about the past 3 months, including posts sent, uploads,
downloads, time active, etc.
8.11V
/ - Force callout
If you are a part of a WWIV network, this command
forces the bulletin board to call another network board.
That board's node number must be listed in the CALLOUT.NET
file in the DATA directory for this to work. For more
information on this feature, refer to WWIVnet
Documentation.
8.11W
. - Force "War Dialing" of net connection
IF you are a part of a WWIV network, this command will
allow you to force a callout to a board that you connect to
and allow you to specify the numbers of retries that you
wish to make in case that board is busy.
8.11X
=
Run RESETF
This command is same as typing //RESETF at main menu.
8.11Y
` - Obtain network information
This command is the same as //NET at main menu.
8.11Z
J - Conference Editing
This command is the same as //JE or //CONFEDIT at main
menu.
8.12A X - Check environment settings.
SET command at DOS level.
8.2
Same as issuing
Dos Macros
Beginning with v4.22, the Dos Macros are now available
from WFC as well as from the board itself. DOS Macros
are explained more fully in the WWIVnet documentation.
In order to create a DOS macro, you must have a file
in your DATA directory named MACROS.TXT. This file
should have the following information, one line per
macro, for each macro that you wish to use.
Key command
Key should be any key that you can use ALT with and the
command should be the executable that you wish to run. For
example, if you wanted to access these executable docs with
a DOS MACRO using M, you would put:
M WWIVREAD
THE WWIVREAD program should then be located in the main BBS
directory and would be accessible with CTRL M.
8.3
Diredit
The directory editor may be accessed as D at WFC, //DE or
//DIREDIT from the board. The first thing that is seen when
the directory editor is accessed is a listing of the
directories that exist:
NN DAR Name
FN
=== --- ================ -------0 A
Sysop
UBSYSOP
1
Miscellaneous
MISC
2
Test Directory
TEST1
DSL
===
100
20
40
AGE
--18
0
10
FIL
===
50
50
50
PATH
--------DLOADS\SYSOP
DLOADS\MISC
DLOADS\TEST1
Dirs: D:elete, I:nsert, M:odify, S:wapDirs, Q:uit, ? :
The commands are relatively straight forward and work in
a fashion similar to BOARDEDIT. Swap directories is a new
command that lets the sysop change the order in which
directories are listed.
When a particular directory is selected for modification,
the following is seen:
A.
B.
C.
D.
E.
F.
G.
H.
I.
J.
K.
L.
Name
Filename
Path
DSL
Min. Age
Max Files
DAR
Require PD
Dir Type
Uploads
Arch. only
Drive Type
8.3.A
:
:
:
:
:
:
:
:
:
:
:
:
Miscellaneous
MISC
DLOADS\MISC\
20
0
50
None.
No
0
Allowed
No
HARD DRIVE
Name
The name would be the name that you want the users to
see. Sysops generally find it useful to create categories
that will have like type of files grouped together in the
directory.
8.3.B
Filename
This should be a dos legal (ie 8 characters or less)
filename. The BBS software will append the DIR extension to
it, store it in the DATA directory and use it to keep
information in binary format for the board's use.
8.3.C
Path
The path is the path to the directory. The path may be
specified complete or in relationship to the main bbs
directory. The example shows one where DLOADS would be a
subdirectory of the BBS. If you wanted to put the directory
on a different drive, you might have something like:
C. Path
8.3.D
: D:\DLOADS\MISC
DSL
The DSL is the download security necessary to have access
to the directory. Anyone with that level of DSL or higher
will have access to the directory unless an upper limit is
placed on the DSL in the Conference editor by the sysop.
8.3.E
Minimum Age
This lets you restrict access to people of a certain age.
8.3.F
Maximum Files
This sets the maximum number of files that can be held by
this directory.
8.3.G
DAR
This setting allows you to set an Access Requirement on
the directory so that the person must have that DAR in order
to see or access the files in that directory.
8.3.H
Require PD
This setting asks the user if the file about to be
uploaded is Public Domain. If they answer No, it will not
permit them to upload the file.
8.3.I
Directory Type
This setting allows you to set a directory type for this
directory. At the present time, WWIV itself does not make
use of this variable, but some of the utilities written by
third parties do make use of it.
8.3.J
Uploads Allowed
This setting may be toggled to indicate that uploads are
not permitted. Many sysops will leave this as allowed and
require in INIT that uploads go to the sysop directory.
8.3K
Archive Only
Setting this will allow you to require a certain type of
file extension and no other type may be uploaded.
8.3L
Drive Type
This permits the sysop to toggle between HARD DRIVE and
CD-ROM as permissable types. If a CD-ROM is used, its use
will be optimized (ie the board will work better and faster)
if it is identified as a CD-ROM.
Chapter 9 -- Main Menu Commands
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º COMMANDS FROM THE MAIN MENU º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Main Menu SysOp Commands
9.0
Normally, commands entered at the main prompt in the BBS
will be executed immediately after they are typed, without
the need of hitting the [Enter] key. Typing // at the main
menu, however, will allow you to enter a complete line of
input. So, if the command you want is Uedit, you would type
//UEDIT. After most of these commands, you will be
prompted "SY:" and you should enter the Sysop password that
you established in INIT. In v4.23, you may enter the short
form command which is //UE. Commands which are available to
sysops and users alike are found in the READUSER.EXE reader
program and/or the WWIVUSER.DOC.
The following commands may be used by co-SysOps and SysO>
9.1A
LOG - Displays today's SysOp log
Same command and function as L from WFC. This provides
a log of daily activities and will work in conjunction with
the LIST utility if that utility was setup in INIT.
9.1B
NLOG - Displays network activity log
This displays the network activity log and is the same
command as the N at WFC. This feature will also utilize
the LIST utility.
9.1C
YLOG - Displays yesterday's SysOp log
At WFC, the command is Y; however, when the sysop is
logged on to the board, the command is YLOG. LIST can be
used in connection with this log.
9.1D
ZLOG - Displays log of past system usage
Same command as the
9.1E
Z command entered at WFC.
UEDIT - Runs the Uedit procedure
This is the same command as U from WFC. It enables the
sysop to edit the user list. After the uedit command has
been entered, the information in the user list for the
individual who is logged on the board will be displayed.
Usually this information is for the #1 account unless the
sysop has logged on as another user. A question mark
entered at this time will provide a UEDIT Menu of options.
9.1F
IVOTES - Runs voting initialization program
This command, like the I from WFC, enables the sysop to
add/delete/change the voting questions.
9.1G
STATUS - Displays current system status
The same information is presented after this command is
issued as would be displayed after the S from WFC. Basic
system status information is displayed.
9.1H
VOTEPRINT - Creates VOTING.TXT in the GFILES
directory
This command does not have a counterpart at the WFC
screen. It causes a file, VOTING.TXT to be created in the
GFILES Directory. The file contains a summary of how each
caller voted in the voting section.
9.1I TEDIT - Edit a text file located in the GFILES
directory only
This command functions basically the same as E from WFC.
9.1J ? - This command will provide an on-line menu of Sysop
and Co-Sysop commands.
9.2
Sysop Commands
The following are SysOp commands, which require an SL of
255. Most require the system password to be entered.
Beginning with v4.23, these commands may also be accessed
by the short command indicated in parentheses after the
long form. These commands, when issued at the keyboard,
should have a leading double slash (ie \\BE):
BOARDEDIT (BE) - Runs Boardedit procedure. Same as B
from WFC.
DIREDIT (DE) - Runs Diredit procedure. Same as D from
WFC.
CHAINEDIT (CE) - Runs Chainedit procedure. Same as C
from WFC.
GFILEEDIT (GE) - Runs Gfileedit procedure. Same as G
from WFC.
CONFEDIT (JE) - Permits Sysop to define and edit
conferences.
INSTEDIT (IE) - Permits Sysop to have limited editing
of Instances.
ALLOWEDIT (AE) - In Transfer area, allows editing of
ALLOW.DAT.
DOS - Drops to DOS. This will allow the SysOp, locally
or remotely, to temporarily drop to DOS for system
maintenance. Type "EXIT" to return to the BBS. Same
as F from WFC.
CHAT - Toggles the scroll-lock key, thereby toggling the
sysop- available switch. This is used when the sysop
is calling remotely and wants for some reason to
either turn sysop available on or off. If the sysop
is on the board on a different "instance", this also
makes him available for the internode chat.
STAT - Stack and Heap Info. This tells the sysop how
memory is being managed by the BBS.
RELOAD - This reloads the bulletin board's menus into
memory, in the event that you find it necessary.
RESETF - Reset NAMES.LST. The NAMES.LST file contains a
short list of all user names. At times, when accounts
are changed or deleted, this file is not changed
accordingly. So, in a user listing, you might see the
same name appear more then once. In that event, use
RESETF. It re-creates NAMES.LST, removing all names
that have been deleted from the main user list. The
FIX program distributed with v4.22 and later versions
of WWIV does the same thing for USER.LST and NAMES.LST
as the RESETF command along with also checking for and
correcting other types of problems.
REBOOT - Reboot the computer. This command will do just
what it says - reboot your computer - NOT the BBS. Use
with caution.
EDIT - Runs the SysOp editor (or full screen editor if
selected); allows the text files to be located anywhere on the hard disk, instead of just in the GFILES
directory as with TEDIT.
LOAD - Loads a file from anywhere on the system into a
workspace. Then, for the next post or e-mail the
SysOp does, that text file will be used as if the
SysOp had typed the entire file into the editor.
CHUSER - Allows the SysOp to temporarily change to
another account.
MAILR - Allows the SysOp to read all mail. Same as M
from WFC.
, - List Network Logs
If you are part of a WWIV network, this command causes
the netdatx.logs to be listed. With v4.22 and NET32,
the logs have been revised to reflect which network
the information relates to.
9.21
Boardedit
The BBS, when first initialized, creates a single
default message base called General. Sysops normall will
want to create additional message bases and/or modify the
names of those that may exist. WWIV can handle up to 999
different message bases although it starts with 32 message
bases as a default. The number of message bases and
directories may be increased in the INIT in blocks of 32.
Because the more message bases and directories that you
create, the more memory is required for pointers and so
forth, it is advisable to set the number of message bases
to the next highest multiple of 32 over the number that you
actually intend to use. This will conserve memory.
A message base, sometimes called a sub or sub-board, is a
place where persons with the appropriate SL (security level)
can read and/or post messages. B from WFC, or //BOARDEDIT
from the main prompt, accesses the Boardedit procedure.
In the Boardedit procedure, you can delete, insert, and
modify subs. WWIV defaults with one sub-board, General.
Any topic you can imagine may be used for a sub. Common
examples include politics, science fiction, entertainment,
sports, trivia, etc.
For each sub-board, the following information is
necessary:
9.21A
Name
Each sub-board needs a name, describing what type of
messages are expected on that sub-board. If your BBS is a
member of a WWIV network, the software will insert either
<Net> or [Net] preceeding the sub-board name when the sub
listing is obtained. The difference between these two uses
of NET is discussed below under the Network Validation
Option.
9.21B
Filename
Each sub-board also needs a DISTINCT FILENAME. If two
subs have the same filename, BOTH SUBS WILL REFER TO THE
SAME MESSAGES. The filename can be whatever you want (up
to 8 letters in length), but it must not contain an
extension. For example, MODNET would be a legal name to
enter, but MODNET.SUB would be illegal because it uses an
extension.
9.21C
Key
Normally, all sub-boards are assigned a number (in
ascending order, starting at one for your first sub-board)
which callers can press to immediately access them. If you
would prefer that a sub-board be referred to by a key (such
as %,&,#, etc) instead of a number, setting the key to that
character will do so. In most cases, this option will not
be used.
9.21D
Read SL
This setting determines the minimum SL required to allow
a caller to read messages on the sub-board. If the read SL
for a sub is 40, and a caller's SL is 39, that caller will
never know that the sub-board exists.
9.21E
Post SL
This setting determines the minimum SL required for a
caller to post on the sub. The post SL should be greater or
equal to the read SL. Having the post SL greater than the
read SL would allow callers to read messages on the sub,
but not post any. This type of setting is often useful on
some network subs where anyone may be permitted to read the
sub, but posting may be only by certain persons (perhaps
the sysop and/or the co-sysops.)
9.21F
Anony
Setting the anony (no, yes, forced, dear abby)
determines whether or not messages posted on that sub can
be anonymous. No means no anonymous (unless the caller has
a security level which permits it); yes means the caller
has the option of posting anonymously, regardless of
security level; forced means the post is always anonymous;
dear abby means that the caller will be presented a choice
of "signatures" for his/her post: their name (alias),
Abby, or Problemed Person. In effect, the "dear abby"
option does the same thing as setting anony to yes, but it
gives the caller two options on which name will represent
the author of the post.
9.21G
Min age
This will allow you to set the minimum age of callers on
that sub. If, for example, you set the minimum age to 18
(years), anyone under 18 would not know the sub existed.
Usually used for adult-oriented subjects.
9.21H
Max msgs
This sets the maximum number of messages that can be on
the sub at one time. This is usually set to 50 or 100, but
can be up to 249. When the maximum number is reached, the
oldest post in the sub is rotated off (deleted) as each new
post is entered, unless a post has been given permanent
status.
A post with permanent status means that it will not be
erased. This is useful if you have posted the sub rules or
something as the first message on the sub. To give
permanent status to a post, you hit N after reading the
post. You will see the message, "This post will NOT be
auto-purged.
9.21I
AR
This allows you to set the AR for that sub. AR is used
to allow specific people to access specific subs when other
sub limitations (age, post SL, etc) are not sufficient for
your needs. As an example, suppose you have a group of
Amiga callers on your BBS. You want to give them their own
area to talk about Amigas. Age and SL restrictions would be
cumbersome and inefficient. That's where AR comes into
play. There are 16 different AR flags that can be used, A
through P. To give the Amiga callers their own sub, you
would use BOARDEDIT to create a sub for their use. Set the
AR to whatever you wish, as long as it isn't in conflict
with another sub which doesn't concern the Amiga people
(you can use the same AR on different subs, but realize
that anybody with the same AR flag set would be able to
access all subs with the identical AR). For this example,
set the AR flag to A. Then you would go into UEDIT and
activate each Amiga caller's A flag. Now, all Amiga
callers would be able to access the Amiga sub (as long as
SL and age requirements, if any, were met) and nobody else
would know the sub exists.
9.21J
Net info
Used with WWIV network software on network subs to
properly allocate messages. If the sub you are editing is
not a WWIV network sub, leave this blank. Under v4.22, if
you select this option, you will get a sub-menu asking for
information regarding Network, Type, Host, and Flags. As
you enter the information, you will receive helpful
prompts. The Networks that are recognized are those that
you have setup in the INIT program.
TYPE refers to the SubType. Under WWIV v4.21a and NET31
or earlier, these subtypes had to be integer values; under
NET32 and WWIV v4.22, you may use 7 letter character names
for the subtype. This option is referred to in WWIV
literature as "sub-by-name".
HOST refers to the network host of the sub; if you host
it, the information will display HERE; otherwise, the
host's network node number will be shown.
FLAGS refers to whether the sub is auto-requestable and
whether or not the information about the sub should be
reported in the SUBS.LST distributed on each network. For
more information on this, refer to the WWIVnet
Documentation that accompanies the NetWork Software.
9.21K
Storage type
There are 2 main ways messages can be stored, either
with each message in its own file, or with all messages in
that message base in one large file. 0 means each message
will be in its own (text) file, 2 means all messages in
that sub will be in one large (non-text) file.
9.21L
Val Network
This option may be toggled on or off. If toggled on,
sub-board that are network subs, will have [NET] in front
of the name and the sysop will need to validate the
messages received there before the messages will be sent
over the network. If the option is toggled off, the sub
will have <Net> in front of the Sub-Board name. Because
many network subs have various restrictions (such as no
ansi posts, or ansi posts only, or post by #1 on the board
only, etc), network validation is a means of insuring that
posts originating from this BBS are in compliance with the
sub-host's rules.
9.21M
Req. ANSI
The sysop can require that the user have ansi enabled in
order to view this sub. This option is particularly useful
if the sub is one of ansi pictures drawn with THEDRAW or
some other ansi editor. An example of an all ansi sub is
the WWIVnet Sub known as The Ansi Art Gallery.
9.21N
Disable Tag
This option, if toggled on, will disable taglines in the
messages. This may be useful if a network sub host does not
permit posts which have taglines added to them.
9.21O
Description
This option is to permit you to provide a description of
subs that you host so that the description will be used in
the SUBS.LST file. The addition of this field makes it
possible for your subs to be reported in the SUBS.LST
without your having to do anything special; the only
requirement is that the auto-info option in FLAGS be set.
There will also be a place for category. If this is
chosen, a list of available categories (distributed by the
NC for the network) will be given. The purpose of this is
to allow the sysop to select the most appropriate category
(for that sub information) for listing in the Subs List
that is distributed by each network.
9.22
Conference Editing (JE)
Conferences and conference editing were added in v4.23
of WWIV. This enables sysops to set up conferences (up to
26) and to define what boards or subs will appear in each
conference. As will be seen later in some of the examples,
a sub may appear in more than one conference. To enter
the conference editor, enter //CONFEDIT or //JE. You will
see the following:
Edit which conferences:
1) Subs
2) Dirs
Select [1,2,Q]:
Selecting 1 for editing subboards, you will then obtain a
listing with a header. The header below has been shortened
in order to fit the margins of these docs. Subsequent
examples omit the LSL, HSL, LDSL, HDSL columns in order to
make the example fit the margins.
Des Name LSL HSL LDSL HDSL LAge HAge LoBPS ARs DARs S A W
ÉÍÍÍÍ ÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍ ÍÍÍÍ ÍÍÍÍ ÍÍÍÍ ÍÍÍÍÍ ÍÍÍ ÍÍÍÍ Í Í =
Des is short for designator and it refers to the letter
used to designate the conference. Name, of course, refers
to the conference name. The next set of information refers
respectively to:
LSL
HSL
LDSL
HDSL
LAGE
HAGE
LoBBS
ARs
DARs
S
A
W
=
=
=
=
=
=
=
=
=
=
=
=
Low Security Level
Hight Security Level
Low Download Security Level
High Download Security Level
Low Age
High Age
Lowest Baud rate to permit access to conference
Access restrictions
Download Access Restrictions
Sex
Ansi Required
WWIV Registration Number required
The following is a short example of a few conferences on
the board that I operate.
Des Name
ÉÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
LAge HAge LoBPS S A W
ÍÍÍÍ ÍÍÍÍ ÍÍÍÍÍ = Í Í
ÌÍ
º
º
ÌÍ
º
º
º
º
ÈÍ
D WWIV Mods & Technical
0
255
0 A N Y
ÃÄÄÄ Sub #9
: WWIV Modifications Net Sub
ÃÄÄÄ Sub #10 : Mod Talk & Requests
B WWIVnet Sysop Subs
10
255
0 A N N
ÃÄÄÄ Sub #0
: Messages from The Management
ÃÄÄÄ Sub #4
: S.A.L.T. (National Sysop Sub)
ÃÄÄÄ Sub #5
: National Sysops and Co-Sysops
ÃÄÄÄ Sub #6
: Alternative #1 Sysop Sub
A General
0
255
0 A N N
ÃÄÄÄ Sub #0
: Messages from The Management
ÃÄÄÄ Sub #1
: The Valley Connection
ÃÄÄÄ Sub #39 : Trade Wars 2002 Discussion Board
ÃÄÄÄ Sub #40 : Celebrating Diversity !
ÃÄÄÄ Sub #42 : Deep Thought
ÃÄÄÄ Sub #43 : WWIVnet World-Wide Link
ÃÄÄÄ Sub #44 : International Politics
ÃÄÄÄ Sub #48 : Person-to-Person (Chit chat)
ÃÄÄÄ Sub #51 : Hi-Speed Modem Sub
ÃÄÄÄ Sub #65 : FidoNet DoorWare Echo
ÃÄÄÄ Sub #66 : FidoNet Quick Basic Echo
ÃÄÄÄ Sub #67 : FidoNet--SmallWare
Note that Sub #0 appears in several lists as I want
everyone to read it when doing a New Scan. Also note that
setting the security levels for the conference does NOT
change any of the ARs, SLs, etc. that you may have set in
BoardEdit for the individual boards.
The positioning of your conferences is easy. That is,
you may insert a conference before any other conference,
or you can select to position it before $ which will place
it at the end of all conferences. However, the sysop is
urged to plan first, for the board will letter conferences
sequentially. That is, if you have existing conferences-ABC and you add a fourth conference, that conference will
be lettered D even though you can put it anywhere.
Although it is easy to change conference identifiers,
you may be able to avoid having to frequently change those
identifiers if you plan your conferences in advance.
Conference ARS, unlike those in SUBs may be stacked.
That is, you may have more than one AR associated with
a conference. For example, a conference having an AR of IJ
would require that a person have both of those enabled in
order to participate in the conference. If you indicate
DARs and/or DSLs then the user must all have all settings
indicated in order to participate in the conference.
If you decide that you do not want to have conferences,
you should still set up one conference and put all of your
subs into it. The user will never be aware that there is
a single conference; however, by having the single conference you will easily be able to change the order in
which your subs are listed if you should decide to do so.
The next thing that you see after selecting that you
want to edit subs and getting a list such as the one above
is the prompt:
I)nsert, D)elete, M)odify, Q)uit, ? :
If you select I or M, you will get a menu such as the
following once you have entered the conference designator:
A)
B)
C)
D)
E)
F)
G)
H)
I)
J)
K)
L)
M)
N)
S)
Q)
X)
Designator
Conf Name
Min SL
Max SL
Min DSL
Max DSL
Min Age
Max Age
ARs Required
DARs Required
Min BPS Required
Sex
ANSI Required
WWIV Regnum Required
Edit Subconferences
Quit ConfEdit
Abort Changes
:
:
:
:
:
:
:
:
:
:
:
:
:
:
A
General
10
255
30
255
0
255
0
A
No
No
The numbers shown above are filled in because I selected
to modify the A conference; however, if you selected to
insert a new conference then you would have to fill in the
numbers yourself to suit your wishes. The Sex option
allows choices of M)ale F)emale and A)ll.
After you have set the items in A) through N), you should
select item S) in order to select what subconferences (sub
boards) to include within the conference. When you do
this, you will get a prompt such as the following:
ConfEdit: S
A)dd R)emove C)lear F)ill Q)uit S)tatus : S
C would clear all * designators from this conference and F
would fill in *'s for all subs that you. These two
commands make it easy to ADD everything and then remove
what you wish, or to REMOVE all and then add only what you
want.
S)tatus provides a list such as the following:
NN Name
Inc
--- ======================================= ---
0
1
2
3
4
5
Messages from The Management
The Valley Connection
South Texas Free Trade Zone
Valley Sysop Association
S.A.L.T. (National Sysop Sub)
National Sysops and Co-Sysops
*
*
*
The list there is shortened for this example, but you
would see all the subs that you have. Note that if an * is
not in the Inc (include) column, then that sub would not
show up in that conference. To toggle a sub on for the
conference, you would select A)dd. To remove an * merely
select R)emove and indicate the number of the sub when
prompted to do so.
The user who hits J at the main menu will obtain a
prompt similar to the following:
Select Conference:
A) General
B) WWIVnet Sysop Subs
C) WWIVlink & IceNET Sysop Subs
D) WWIV Mods & Technical
Select [ABCD, <space> to quit] :
Those sysops having more than 20 or so subs may find it
convenient to use conferencing as it facilitates the
operation of the BBS and it makes it easier for users to
configure their Q-scans. The operation of the DIR part
of Confedit is discussed in a different section of the
documentation, but it operates in a similar fashion to the
Confedit for Subs.
9.23
ALLOWEDIT (AE)
This option applies to registered sysops only and is
associate with the OPT_FAST_Search setup. A program is
provided called WWSORT.EXE which should be run first.
This program creates your original ALLOW.DAT file which
will permit a fast search for duplicate file names. The
ALLOWEDIT option gives the sysop the ability to add or
remove file names from the binary file. A sysop might
want to add the name of a non-existant file if he did
not care to have that file uploaded to him. For example,
sysops frequently get a "scam" uploaded to them called
FASTCASH. This "scam" is like a chain letter for BBSes.
Putting FASTCASH as a file name would prevent someone's
uploading a file by that name. By the same token, if
the sysop needs to remove a filename from the binary
list, he has the option to do so by using the ALLOWEDIT
option.
9.24
INSTEDIT
(IE)
This option give the sysop limited editor ability over
instances and permits the sysop to shut down all instances
immediately if necessary. This can be handy in a LAN type
operation where all instances may not be visible. Since
certain types of maintenance (such as that affecting qscan
pointers or new scan pointers) should not be run if a user
is on-line, this gives the sysop the ability to give users
a 10 second warning and then shut down the system.
Chapter 10 -- Transfer Area Commands
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Transfer Section SysOp Commands ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
The following section has two parts. First, the
individual commands are discussed and then the confedit
as applied to Subs is discussed briefly. A more thorough
understanding and explanation of the confedit (JE) command
is found in the discussion of Main Menu Commands. The
following are all sysop commands that may be used in the
transfer area. You can get a list of these commands while
in the transfer section by entering /? at the tranfer menu.
10.1 Sysop and/or Co-Sysop Commands
UPLOAD - For the current directory, the appropriate DOS
directory is is searched to see if there are any files in
the DOS dir, but not in the BBS dir database. If there are
any, the sysop is prompted for the description. This
command is often used when sysop's are first starting the
BBS although it is useful at other times as well.
UPLOADALL - Same as UPLOAD; acts on all BBS file
directories.
REN - Allows a filename, or its description, to be
changed, or an extended description to be entered.
MOVE - Allows a file (or files) to be moved from the
current directory to another one. Same as M from the
transfer system prompt.
SORT - Sorts the current directory (or all dirs) by
filename.
M - Move a file. Same as //MOVE.
R - Remove any file entry from the file listing, with
the option to actually delete the file from disk and
revoke upload credit from the person who originally
uploaded the file.
UPLOADFILE - Take file descriptions from a description
file created by another BBS software. Supported
description files are those from QBBS, RA, RBBS and
PcBoard. This command can be particularly useful if
you utilize CD-ROMS that provide file descriptions in
one of these formats. It will read extended descriptions if they are available.
RSORT - Sort files in order of oldest first.
ALLOWEDIT (AE) - edit the ALLOW.DAT file. That file is
maintained under the "fast search" option which may
be enabled by registered sysops in the #defines.
That file keeps a list of file names which allows a
rapid search for duplications. The sysop and a cosysop may edit the file to add or remove a file name.
Inserting a file name, even though the file is not
actually there, will prevent someone's uploading an
unwanted file.
10.2 Conference Editor
JE (Confedit) refers to the editing of conferences.
Conferences may be setup only for Subs, only for
Dirs, or for both. When you enter JE you will be
asked if you wish to edit subs or dirs. Select dirs
and you will see a listing such as the one that
follows. Note that part of the header has been
eliminated to fit the margin requirements. For a
more complete explanation of the header and its
meaning, check the Confedit discussion in the Main
Menu Commands section.
Des Name
LSL HSL LDSL HDSL LAge HAge LoBPS S A W
ÉÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍ ÍÍÍ ÍÍÍÍ ÍÍÍÍ ÍÍÍÍ ÍÍÍÍ ÍÍÍÍÍ = Í Í
ÈÍ A General
10 255
30 255
0 255
0 A N N
ÃÄÄÄ Dir #20 : BBS Programs & Non-WWIV Utilities
ÃÄÄÄ Dir #21 : Front-End Mailers & Other Net Utilities
ÃÄÄÄ Dir #22 : Zippers & Other Compression Utilities
ÃÄÄÄ Dir #23 : Terminal Prgs. & Protocols
ÃÄÄÄ Dir #24 : Virus Protection
ÃÄÄÄ Dir #25 : Miscellaneous Files
ÃÄÄÄ Dir #26 : Text Files
ÃÄÄÄ Dir #27 : Graphics -- Files & Utilities
As with JE for subs, this permits you to include or
exclude a directory, or to use C)lear to remove all
directories listed in the conference or F)ill to include
all directories in the conference.
Chapter 11 -- Information on Chains (On-Line Programs)
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Chain Information º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
11.0
Chainedit
The Chainedit function is also quite similar to the
Boardedit function. The chainedit is a means of adding
/deleting/modifying on-line programs. The information
presented here should be sufficient to enable the sysop
to setup many on-line programs.
The designation of chains originated in Turbo Pascal
versions of WWIV when the BBS literally "chained" to the
program. Although WWIV no longer operates in that fashion
and is no longer written in Pascal, the CHAINEDIT terminology has remained.
Not all files can be run as external programs from WWIV.
Only those files that do all I/O through DOS calls can be
run. This means that Wordstar, WordPerfect, the Norton
Utilities, and most other graphics programs can NOT be run
from WWIV.
When Chainedit is run, a summary of the chains currently
available, if any, is presented as a listing. Available
options are: Insert, Delete, Modify and Quit. When a new
chain is inserted an old entry is modified, the sysop is
given a chance to change the following data:
11.1A
Description
The description of the chain, printed out for callers.
For example, you might have something like Food Fite--The
Ultimate Challenge, or merely Food Fite. Many sysops put
the version number of the game after its title so that
users will know whether or not a "new" version that they
may have seen elsewhere is running on this bbs. Many
users will upload the "latest" version to the Sysop if
that version is not currently running.
11.1B
Filename
The filename actually executed. The program to be used
can have either an EXE, COM, or BAT extension. Programs
with a BAS or CHN extension cannot be run from WWIV. If you
put a "%1" anywhere in the filename, before the chain is
executed, the %1 will be replaced with a full path and
filename of a text file the bulletin board creates holding
data about that caller, such as the caller's name, security
level, time left, etc. For most programs explicitly
written for WWIV v4, the %1 should be placed after the
filename. If you do not, you will see a "Parameter file not
found" error message. If you see that message when running
a chain, add the %1, as in "tw2001 %1".
If the program is not specifically made for WWIV, it
may be necessary to run it from a batch file which you
create and the batch file may first need to run a
chain.txt converter. Chain.txt is the file that the
BBS creates with the user information in it. The
converter processes the information and creates a
new file in the format required by the game that you are
running. For example, a game designed for QBBS or RBBS
would require a DORINFO1.DEF file.
There are several popular converters which will make
such a file from the information in chain.txt. Beginning
with v4.23, the BBS software will make DOOR.SYS,
DORINFO1.DEF, and CALLINFO.BBS in addition to the
CHAIN.TXT.
11.1C
SL
The SL (security level) required in order to run the
chain. Most sysops will set this at the level of
validated users or higher.
11.1D
AR
The AR required in order to run the chain. The sysop
can allow only certain people to play the game by adjusting the AR. This may be particularly useful if the game
is limited to a certain number of players. People can
sign up to play the game and those chosen for the first
round can be given the appropriate AR. When the game ends,
a different group of players can then be given the AR.
11.1E
ANSI
If ANSI is required in order to run the chain. Because
some games or on-line programs make extensive use of Ansi
screens, those users who do not have ansi may experience
significant problems with the game. This feature allows
you to screen out the people who do not have ansi capabilities.
11.1F
Intercept DOS calls
Many programs run remotely will not have built-in code
for accessing the modem. For these programs, the BBS
should be set to intercept the DOS calls, and "re-direct"
the output to go to the modem, as well as the screen. It
is possible, however, that you will have a program that
will do its own modem access, in which case it should be
set so that the BBS won't intercept DOS calls. In most
cases, you WILL want the BBS to intercept DOS calls. If
the game does not seem to operate properly, you may need to
experiment with this setting. As a general rule, you
should try having the BBS intercept DOS calls for those
games designed specifically for WWIV and try having the
BBS not intercept DOS calls for those games designed to
be run on other systems. These settings may still need
to be changed, but the general rule is sound advice for
what to try as the initial setting for this variable.
11.1G
300 Baud
Some programs use ANSI graphics to such an extent that
the display rate with 300 baud connections would be intolerable. With this setting, the sysop can prohibit 300 baud
callers from using the chain.
11.1H
Shrink
The Shrink feature was introduced in WWIV v4.10. This
option handles memory very differently from the way it is
handled if this feature is not used. With Shrink set to
off, the BBS remains in memory when you run an external
program, thus restricting the maximum size of the program
you can use. With Shrink set to on, the BBS will
essentially unload from memory, allowing larger externals
to be run. Shrinking reduces the amount of memory the BBS
occupies to around 4k. Other than this different way of
handling memory, chains run with Shrink operate just as
they do without Shrink - except for a slight delay when
entering and exiting the program. If memory is a problem
on your system, use Shrink. Otherwise, it isn't necessary
to use it. Generally, the larger the program to be run is,
the more desireable it will be to use the shrink feature.
11.1I
Disable Pause
This feature was added in v4.20.
Some games, such as
the on-line program TETRIS, do not work well when the BBS
attempts to pause the screen. If the user has pause
toggled ON in the defaults, then the bbs will attempt to
pause after the number of lines of vertical height that
the user had specified. This option allows the sysop to
disable the user's pause option as he enters that
particular program. When the user exits, the pause status
will be reset as it was before the program was run.
The information that follows was contained in a separate
document called CHAIN.DOC. Some of it may be repetitive of
information found earlier in the documentation.
11.2
WWIV Games
Games can be characterized as WWIV games if one of two
conditions occur. First, if the game is written to
specifically make use of the drop file known as CHAIN.TXT.
By drop file, is meant a file that is created by the BBS
software either at the time of logon or when a door (chain)
is entered. This file typically contains information about
the user and/or the system. A commented CHAIN.TXT, written
by MrBill is included later in this document. Some games
are written to make specific use of the information
contained in the CHAIN.TXT file. These games, although
perhaps not specifically written for WWIV alone, are
discussed in the category of WWIV games because they have
been written to work with WWIV.
The second condition that causes a game to be known as a
WWIV game is that it makes use of the special dos color
codes contained in the WWIV software. These games are
characterize by use of the DOS color commands (pseudo-ansi)
found in WWIV. These colors are discussed in the DEFAULT
section of the software and are configurable by the user.
WWIV will interpret the
symbol as a color command when it
is followed by a number. Because WWIV is one of the few
BBS programs that can use these color commands, games
containing them are almost always written for the
exclusive use of WWIV boards. These games are also most
often characterized as games where the CHAINEDIT option of
USE DOS INTERRUPTS should be left at the default setting of
Y.
11.3
Games for Other Software
Games that may be considered as being written for
other software are those which do not use CHAIN.TXT and
which instead use one of the drop files of another bbs
software. These usually include games which use
DORINFO1.DEF (RBBS, QBBS, REMOTE ACCESS), games which use
PcBOARD.SYS (PcBoard versions 12 and 14), games which use
DOOR.SYS (Wildcat 3.0, GAP, and PcBoard 14.5+), and games
which use CALLINFO.BBS (pre-version 3.0 of Wildcat). These
games can often be made to work with WWIV provided that a
'converter' is also used. The use of converters and so
forth will be discussed later.
11.4
Setting up WWIV games
Most WWIV games have relatively good documentation and
therefore setting them up and getting them to work is
usually very straight forward. However, if there is no
documentation and/or the documentation seems insufficient,
then there are a number of things that you can experiment
with by trial and error to see if you can get the game to
run.
11.5
Placement of Game Files
If the game does not tell you where to place the files,
you can try each of the following setups to see if one of
them causes the game to work:
a.
In its own directory
Example:
b.
In a directory called CHAINS (especially for older
WWIV games)
Example:
c.
C:\WWIV\CHAINS\MWAR
In the main BBS directory
Example:
11.51
C:\WWIV\CHAINS
In a directory off of CHAINS (also popular place
for older WWIV games)
Example:
d.
C:\WWIV\MWAR
C:\WWIV
Relationship to CHAIN.TXT
If you get a 'parameter file not found' or other type of
error message from the game, then it may be that it is not
finding CHAIN.TXT correctly. You may try incorporating a
batch file and copying the CHAIN.TXT to the directory where
the game is located.
Example:
Use
DOS commands as follows:
copy con MWAR.BAT
@echo off
copy chain.txt c:\wwiv\chains\mwar
cd chains\mwar
mwar
cd\wwiv
then press CTRL Z or F6 (ie function key 6) to save the
batch file.
11.6
DOS Interrupts
Some games written especially for WWIV will let the BBS
handle the DOS INTERRUPTS. This is especially true of many
games written in PASCAL for use with WWIV. A sign that
sometimes the DOS interrupt option is set incorrectly is
when the game echos double characters.
If the game is viewable from local mode but not from the
remote mode, then you may want to experiment with setting
the DOS INTERRUPTS option differently.
11.7
SHRINK Option
Many games do not necessitate the BBS to shrink out in
order to run them; however, if you experience a "lock up"
or freezing of the computer when you try to run the game,
this may be an indication that there is insufficient
memory available and that you should shrink the BBS. Also,
in my experience, it may be helpful to set the BBS to
shrink out if the game is large (ie the file size is big).
11.8
Setting up Non-WWIV Games
Because these games are not specifically made for WWIV,
the first step is to determine what software they support.
You will know what CHAIN.TXT CONVERTER to run by noting the
types of drop files supported. The more popular converters
currently in use by WWIV Sysops are:
WWUTIL5 by Phil DeWitt. This utility will convert
CHAIN.TXT to DORINFO1.DEF, CALLINFO.BBS, and PcBOARD.SYS.
WWUTIL6 by Filo. This utility is based upon Phil
DeWitt's code, but it offers two additional parameters
which may be useful. A command line parameter of H will
pass the user's handle rather than his real name to the
door and an F will pass a locked comport speed rather than
the user's baudrate.
The latter is sometimes helpful in getting a game to work
where you are running a hi-speed modem with a locked
comport.
QKDOOR by Christopher Hall. This utility provides the
ability to convert the drop file from anyone of the
following types of BBS software to any of the others:
GAP
Genesis Deluxe
GT PowerComm
Osiris#
OsirisSE###
PCBoard v12xx
->
->
->
->
->
->
PCBoard v14xx
->
QuickBBS
RBBS#
WildCat
Remote Access
SpitFire
WWIV
->
->
->
->
Door.Sys
CallInfo.BBS
GTUser.BBS
ExtInfo#.QBS
Out###.QBS
PCBoard.Sys
PCBoard.Dat
Users
PCBoard.Sys
PCBoard.Dat
Users
DorInfo1.Def
DorInfo#.Def
CallInfo.BBS
Dorinfo1.Def
-> Chain.Txt
Syntax used for QKDOOR is:
QkDoor [Path\]From_Door_Type [Path\]To_Door_Type
[Locked_Baud_Rate]
11.81
Batch files using converters
You will want to call the non-WWIV game with a batch file
that uses a converter. For example, let us say that you
are going to run a QBBS game (one that requires
DORINFO1.DEF using Filo's converter (WWUTIL6) with user
handle's being passed to the game and the game (MWAR) is
located in C:\WWIV\MWAR, then the batch file to call the
game would be:
@echo off
WWUTIL6 H
cd C:\WWIV\MWAR
MWAR
(the H is for Handle)
(plus any command line
parameters)
cd\WWIV
If that does not work, then it may be necessary to add a
line to the batch file immediately after WWUTIL6 H which
copies the DORINFO1.DEF to the game directory:
(ie. copy dorinfo1.def C:\WWIV\MWAR
11.82
Fossil Drivers
WWIV does not require a fossil driver in order to run
because Wayne Bell has written all of the I/O calls to the
comport; however, some BBS software requires a Fossil
Driver in order to operate because the authors have written
their program to use the Fossil. Thus, some games may
expect a fossil to be present even though that is not
mentioned in the documentation of the game. This is
particularly true for games written for QBBS, RBBS, and
OPUS.
WWIV should operate just fine even when a fossil driver
is loaded. Most of these fossil drivers take 5-10k of
memory, so if your system is tight on memory, you may wish
to load the fossil only when shrinking out and unload it
when you finish the game. This may be accomplished by
using the EXE or COM version of the fossil and having it
loaded and unloaded in the batch file that calls the game.
The better known fossil drivers are X00, BNU, and
OPUSCOM. I personally use BNU170, but many WWIV system
operators report excellent results from X00. I do not have
experience with OPUSCOM and so make no claims for it.
However, using BNU I have been able to get many games to
run that would not otherwise do so.
11.83
Batchfiles in the Multi-Instance Environment
The batchfile below shows an example of having a game in
a different directory for each "instance". It uses TradeWars as an example. Whether or not the setup shown below is
necessary depends upon the chain and how it is written.
The example is theoretical. I have not checked TradeWars
to determine whether or not it requires such a setup.
Lines beginning with REM are "remark" lines and are meant
to help you understand what is transpiring in the batch
file.
@Echo Off
REM --> Check to see if instance 3
if %WWIV_INSTANCE%==3 goto Inst3
REM --> Check to see if instance 2
if %WWIV_INSTANCE%==2 goto Inst2
REM --> Example only has three instances; got here, must be
REM --> instance 1
goto Inst1
REM --> Subroutine for Instance 1
:Inst1
Copy C:\WWIV\CHAIN.TXT C:\WWIV\DOORS\TW\1
C:
Cd\WWIV\DOORS\TW\1
TW2002
Goto Done
REM --> Subroutine for Instance 2
:Inst2
Copy C:\WWIV\CHAIN.002 C:\WWIV\DOORS\TW\2\CHAIN.TXT
C:
Cd\WWIV\DOORS\TW\2
TW2002
Goto Done
REM --> Subroutine for Instance 3
:Inst3
Copy C:\WWIV\CHAIN.003 C:\WWIV\DOORS\TW\3\CHAIN.TXT
C:
Cd\WWIV\DOORS\TW\3
TW2002
Goto Done
REM --> Cleanup area, exits batch file in proper dir, or
REM --> whatever necessary.
:Done
C:
Cd\WWIV
11.9
Other Comments regarding CHAINS
Some of the games written for WWIV in Pascal are
presented in uncompiled form by the authors. This is often
done so that the pascal code may be altered or customized
for your board. Usually these authors have made use of
something called a COMMON.PAS file which interfaces the
game with WWIV. If a particular game has not been
compiled, you must first compile it with the appropriate
version of the Turbo Pascal compiler using the appropriate
version of COMMON.PAS. Most of the versions of
COMMON.PAS are available for downloading on the WWIV
Support Boards.
11.91
BRUNxx
Some games written in QuickBASIC have been compiled to
utilize an intermediate program called BRUN (Basic RUN time
module). Such games require the BRUN module specific to
the compiler. Current versions of BRUN are BRUN20, BRUN30,
BRUN40, and BRUN45. Again, these programs are available on
most WWIV Support Boards. The BRUNxx file may be placed in
your path and used by all programs that require it. One
advantage of the Basic RUN time compilers is that the
resulting EXE's require significantly less space
(approximately 35k less per program).
11.92
A Commented Chain.txt
CHAIN.TXT Definition File
by MrBill
Note: Some of the original information about Mr. Bill and
MrBill's Abode has been shortened to accomodate the 60
character margin format of these docs.
-----------CHAIN.TXT----------------------------------1
User number
MRBILL
User alias
Bill
User real name
User callsign (HAM radio)
21
User age
M
User sex
16097.00
User gold
05/19/89
User last logon date
80
User colums
25
User width
255
User security level (0-255)
1
1 if Co-SysOp, 0 if not
1
1 if SysOp, 0 if not
1
1 if ANSI, 0 if not
0
1 if at remote, 0 if local console
2225.78
User number of seconds left till logoff
F:\WWIV\GFILES\
System GFILES directory (gen. txt files)
F:\WWIV\DATA\
System DATA directory
890519.LOG
System log of the day
2400
User baud rate
2
System com port
MrBill's Abode
System name
MrBill
System SysOp
83680
Time user logged on/# of secs. from midn
554
User number of seconds on system so far
5050
User number of uploaded k
22
User number of uploads
42
User amount of downloaded k
1
User number of downloads
8N1
User parity
2400
Com port baud rate
7400
WWIVnet node number
----------EOF------------------------------
Chapter 12 -- GFILES Information
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Gfiles Information º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
12.0
Gfileedit
Gfiles in this instance are just text files that are
available to callers to read; in other words, they are
similar to bulletins. With Gfileedit, the file
directories for gfiles may be created and the particular
gfile areas which callers can access can be designated.
Most WWIV Sysop functions behave in similar ways. This
enables a sysop to learn how to use each of them very
quickly, without having to know many different commands and
parameters. As with the previous commands already
presented, Gfileedit displays a summary of gfile
directories currently in place, if any. The insert, delete,
modify and quit options are again available. When
inserting a new gfile section or changing an old one, the
following data can be modified:
12.1A
Name
This is the name of the section shown to the user. This
name should describe the kind of files to be displayed in
that directory, such as humor, communications, ANSI, etc.
12.1B
Filename
The filename for the section. In this instance, however,
the filename is ALSO the directory where the gfiles for
this section will be stored. The directory chosen will be a
sub-directory of the main GFILES directory. After the
filename is entered, you will be asked if you want to
create the directory. If you say no, you will have to
create it yourself (i.e. manually). In either instance,
once the directory exists, the files or bulletins to be
displayed must be moved to it.
12.1C
SL
The sysop can set the SL required for section access.
Callers cannot add their own gfiles to the section, so
there is no "post" SL involved.
12.1D
Min. Age
The sysop can set the minimum age necessary for
section access. This feature is sometimes used if the
gfiles section contains some "adult" material.
12.1E
Max Files
The maximum number of gfiles in the section (can be up
to 99) is set here. Once the maximum number is reached,
additional gfiles cannot be added unless this setting is
increased. The section cannot be increased beyond 99
files per separate directory unless the source code is
modified. Such modification is only available to
registered sysops.
12.1F
AR
AR required for section access is established by the
sysop with this parameter. This option works exactly the
way it does in Boardedit.
12.2
12.2A
Gfile Commands in the Gfile Section
A - Add Gfiles to All Sections
When the Sysop enters the gfiles section (command G at
the main menu), hitting A at the SECTION prompt (first
prompt given) will add gfiles to ALL sections.
Hitting A within a section will add files for that
section only. When the add files to a gfile section option
is selected, the BBS will search that section's directory
for files to add. For every file it finds, it will prompt
for a description. Once a description has been entered,
that file will be accessible to anyone who is capable of
using that gfile section.
12.2B
R - Remove Gfiles for a Section
Selecting R within a section will allow a co-sysop to
remove gfiles.
Chapter 13-- Top of Screen Information
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
13.1
º Top Of Screen Information º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Top of Screen Data
The local sysop's screen can show two screens of
information, which may be toggled with the F2 key. The
first screen is system status.
13.2A
Caller's Status for Top of Screen
The second screen shows the current caller's
statistics. The second screen has the following
information.
The first line contains the user's name (alias) and
number, mail waiting for user, uploaded files and
kilobytes, security level, total logons, and posts. The
second line contains the user's real name, phone number,
callsign, downloaded files and kilobytes, download
security level, total time on, and e-mail sent.
The third line contains the user's AR and DAR, restrictions, exemption, logons today, and feedback sent. The
fourth line shows the user's note, sex, age, computer,
time left, and feedback waiting for the sysop. A fifth
line may appear after a caller requests a chat. This line
would give the reason the caller entered for wanting to
chat. The border line at the bottom of the topscreen
information may also show Temp Sysop, Capture, Alert,
Comm Disabled, and/or Available and provide information
about the baud rate of the caller.
Temp Sysop appears when the sysop has toggled temporary
sysop status with F9. Capture appears when the sysop has
toggled the global capture with Shift-F1. Alert appears
when the sysop has pressed F6 to be informed when the
caller hangs up. When Alert has been toggled on, the
computer will beep after the current user logs off, and
will not return to WFC so that the sysop can log on
locally. Comm Disabled appears when the sysop has pressed
F3 to prevent the caller from typing. Available appears
when the sysop has toggled the sysop available for chat
option with scroll-lock. More information about function
keys is provided later in this guide.
13.2B
Abbreviations used in the TopScreen Information for
Caller
To summarize the abbreviations used in the TopScreen:
W
R
- Mail waiting for caller
- User restrictions
AR - User AR/DAR
LO - Total number of logons
SL - Security Level
DL - Download Security
Level
PO - Total # of posts
ES - Total e-mails sent
TO - Total minutes on
FW - Feedback waiting for
sysop
FS - Total feedback sent
EX - User exemptions
UL - Files uploaded/kilobytes uploaded
DL - Files downloaded/kilobytes downloaded
13.3
System Status Information for Top Screen
The system status topscreen information shows the
following data about the status of the system. The first
line contains the BBS name and today's date. The second
line indicates the total number of users, total calls to
date, calls today, and number of posts today. The third
line displays the current user's name (alias) and number,
time the system has been active today, percent of time
today the system has been used, and amount of e-mail
sent today. The latter statistic as well as the number
of posts today includes both local and network information,
if the board happens to be participating in the network.
The fourth line shows the current user's security level,
download security level, time left, feedback waiting for
the sysop, files uploaded today, and feedback sent today.
Chapter 14 -- Protocols
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ External Programs for WWIV ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Some of the external programs described below were
written for use with WWIV and others were written with more
general applications in mind. WWIV will work without any
of the programs discussed below; however, since many sysops
do find them to be useful, the parameters used to
incorporate them into WWIV are discussed below.
ÉÍÍÍÍÍÍÍÍÍÍÍ»
º PROTOCOLS º
ÈÍÍÍÍÍÍÍÍÍÍͼ
14.1
Zmodem (DSZ)
Zmodem Protocol, written by Chuck Forsberg and distributed
by Omen Technologies, Inc. is an often used transfer
protocol. The setup below reflects the settings used at
The Dragon's Den. These settings may not be optimal for
your use. You are encouraged to read DSZ.DOC (supplied
with the protocol) and adapt the settings below for your
use.
Description
: Zmodem -- The Protocol of the Gods
Xfer OK code
: 0
Require MNP/LAPM
: N
Receive command line:
dsz port %2 speed %1 ha on rz -r %3
Send command line:
dsz port %2 speed %1 ha on sz %3
Receive batch command line:
dsz port %2 speed %1 est 0 %4 ha on rz %3
Send batch command line:
dsz port %2 speed %1 est 0 %4 ha on sz @%3
Bi-directional transfer command line:
14.2
HS-LINK
HS-Link is written by Sam Smith and also works on many
different bulletin board systems including WWIV. HS-Link
is capable of operating as a bi-directional protocol. The
setup used at The Dragon's Den is:
Description
: HSLINK Bi-Directional Protocol
Xfer OK code
: 0
Require MNP/LAPM
: N
Receive command line:
hslink -P%2 -E%4 -U%3
Send command line:
hslink -P%2 -E%4 %3
Receive batch command line:
hslink -P%2 -E%4 -u%3
Send batch command line:
hslink -P%2 -E%4 @%3
Bi-directional transfer command line:
hslink -P%2 -E%4 -@ @%3
Because HS-Link is also supported by WWIV networking
software, you are encouraged to consult the appendices to
WWIVNET.DOC which show the best settings for using HS-LINK
in the WWIV networking environment.
14.3
GSZ
GSZ is also produced by Omen Technologies and is a more
colorful protocol than Zmodem. It uses the Zmodem Command
Set. The settings below are those in use at The Dragon's
Den.
Description
: GSZ -- DSZ with Color Display
Xfer OK code
: 0
Require MNP/LAPM
: N
Receive command line:
gsz p %2 s %1 rz %3
Send command line:
gsz p %2 speed %4 sz %3
Receive batch command line:
gsz p %2 s %4 rb @%3
Send batch command line:
gsz p %2 s e%4 sb @%3
Bi-directional transfer command line:
14.4
MpT
MpT is a protocol developed by Matt Thomas. The p
stands for Puma. The following settings are in use at The
Dragon's Den.
Description
: MpT
Xfer OK code
: 0
Require MNP/LAPM
: N
Receive command line:
mpt R %3
Send command line:
mpt S %3
Receive batch command line:
Mpt S @%3
Send batch command line:
Mathew (Puma) Thomas
Bi-directional transfer command line:
Chapter 15 -- Archiving Programs
ÉÍÍÍÍÍÍÍÍÍÍÍ»
º Archivers º
ÈÍÍÍÍÍÍÍÍÍÍͼ
Archivers also known as compression utilities are handy
utilities for BBSes to use because they permit you to store
files in a compressed format so that they take up less
space on your hard disk and so that they require less time
to transmit via the modem when users are downloading them.
There are many popular archiving utilities. The settings
below reflect a few of the more popular ones.
None of these utilities were written specifically for
WWIV. Each has a much broader application, but you may
find them (or others) in use at a bbs near you, by your
users, etc. Thus you may wish to have them.
You should also note that the E(xtract) command when
reading messages provides you with the option to store a
file as a downloadable, compressed file in your transfer
directories. If you select this option, WWIV will use the
FIRST archive method listed in INIT.
The INIT settings and the archivers in use at The Dragon's
Den are as follows:
Archive Extension
List Archive
Extract Archive
Add to Archive
Archive Extension
List Archive
Extract Archive
Add to Archive
Archive Extension
List Archive
Extract Archive
Add to Archive
Archive Extension
List Archive
Extract Archive
Add to Archive
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
.ZIP
pkunzip -v %1 >nul
pkunzip -e -o %1 %2 >nul
pkzip -a %1 %2
.ARC
pkunpak -V %1
pkunpak %1 %2
pkpak -A %1 %2
.LZH
lha v %1
lha e %1 %2
lha a %1 %2
.ARJ
arj v %1 >nul
arj e %1 %2
arj a %1 %2
The use of "nul" in the command lines above is because
some of the archivers have written directly to the bios
rather than to the console. By using the redirection to
NUL, you force the information to the console so that it
can be seen by the user. With PkZip, you may also set
an evironmental variable "PKNOFASTCHAR." For this
approach, consult the PkZip documentation. If you are
short on environment space, using the >nul approach will
same a small amount of environment space.
PkZip is a product of PKWARE(tm). Pkunpak is an
outdated version of archiving software produced by PKWARE.
It is backwards compatible with other forms of archivers.
LZH is one form of LHARC(tm) which is used in may places.
ARJ is a relatively new archiver produced by Jung. These
archivers are available for download on many bulletin
boards including most of the WWIV support boards.
Chapter 16 -- Customizing the BBS
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º Customizing your BBS º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
16.0
There are numerous things that may be done to customize
WWIV. Some of these things require that you be a registered
sysop and that you modify your source code and recompile the
BBS.EXE. Since when you modify the source code, you are
limited only by your own imagination and the confines of the
"C" language, this portion of the documentation does NOT
address source code changes; instead, this part of the
documentation addresses those things that you can do without
having to recompile your BBS.
16.1
Prompts
The printed strings (other than menus) that a user sees
are found in ENGLISH.STR or in whatever foreign language
string you may have available. These are modifiable by use
of MINIESM which is supplied with the BBS or by use of any
of several "external string" editors that are available from
authors who write utilities for WWIV. Several of these
programs are listed in the UTILITY section of this
documentation. Modifying the strings that the user sees is
one way to provide uniqueness for your board. You are
cautioned to not "overdo" this type of change as the changes
that you make should be pleasant for the user.
16.2
Standardized files
There are several "standard" files supplied with WWIV that
are identified simply as "This is Welcome.MSG", "This is
LOGOFF.MSG", etc. You SHOULD change these as soon as
possible. WWIV in its unmodified form will handle three
types of file extensions very readily. These are ANS for
ansi with color, B&W for ansi without color, and MSG for
non-ansi type messages. Thus, for example, you could have
a WELCOME.ANS, WELCOME.B&W and a WELCOME.MSG to show to your
users.
Versions prior to v4.23 had the following standard files
which sysops were encouraged to change:
Welcome
Newuser
System
Feedback
logon
logoff
16.3
-- shown to all users who call the bbs
-- shown to a first time caller only
-- shown to a newuser and thereafter shown when
the user hits I for system information
-- shown to a newuser as he prepares to write
the newuser feedback message
-- shown to all users logging on
-- shown to all users logging off
Optional "Standard" Files
Version 4.23 adds some additional standard files which
will be shown to the user ONLY if they exist. That is, the
files must be created and must be in the GFILES directory,
otherwise the user will not see them. These files are:
defaults
xfer
download
upload
gfiles
chains
-- shown to the user when entering the default
area of the board
-- shown when the user hits T at main menu
-- shown when the user downloads a file in XFER
area of the board
-- shown when the user uploads a file to XFER
area of the board
-- shown when the user accesses the Gfiles area
of the board
-- shown when the user accesses the chains area
of the board
Like the other standard files, these files
B&W, or MSG file extensions. You can make
a standard ascii text editor, with an ansi
THEDRAW (tm), or with an editor like Qedit
capable of using "WWIV heart codes."
16.4
may take on ANS,
these files with
editor like
(tm) that is
Random Welcome Screens
WWIV v4.23 also adds the feature of allowing you to use
up to 1000 ansi welcome screens (ie versions of
WELCOME.ANS). In order to use these random screens, you
should create WELCOME.0, WELCOME.1, WELCOME.999. The
software will randomly select from whatever welcome screens
you have named in this way if the user has identified that
he wants to use ansi in color.
16.5
Menus
Although care has been taken in designing the "standard"
menus provided for use with WWIV, many sysops prefer to
customize their board by providing their own custom menus.
WWIV software easily permits two ways of doing this.
One way is to study the format of the MENUSANS.MSG and
MENUS.MSG files and to replace them with files of your own.
You should note that within those messages, there are "tear"
lines, each of which begins with a backgrave (`) followed
by a number. The number indicates what menu number follows
and the software prints out the appropriate menu at that
place on the board. You can create your own replacements
for MENUSANS.MSG and MENUS.MSG by following a format similar
to that of those files but using your own designs or color
schemes.
A second way to customize your menus, is to create
separate menus naming them with file names like: MENU0.ANS,
MENU1.ANS, etc. Then when the software needs to print out
menu # 1, it will use the MENU1.ANS file if the user has
selected to use ansi with color. If you use THEDRAW (tm) or
another similar program to save your menus, you are urged to
save them with BLOCK SAVE rather than full-screen save so
that the top of the menu does not scroll off of the screen
when the bbs prints the prompt. Use of approximately 22
lines or less for each menu is recommended.
If you have difficulties with this form of menu
customization, you are encouraged to contact one of the
support boards.
Chapter 17 -- Modem Information
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º WWIV v4 Modem Documentation º
º
by Wayne Bell
º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Because so many people have problems with their modems,
and having the BBS use them, I am writing a separate .DOC
file to attempt to better describe modems, and how they
need to be configured in order to run optimally with WWIV.
Additionally, this describes how WWIV v4.20 and later
handles the modem, and how to add support for additional
modem types.
17.1
Hayes Compatability
The first thing you need to be aware of is that just
about every modem manufactured for the IBM claims to be
"100% Hayes compatible." This doesn't actually mean that
it is 100% compatible, but only that it is relatively close
(would you buy a modem that is advertised as 99%
compatible?). With 9600 and faster modems, Hayes compatibility means very little. Each modem handles high speed
differently, and special support may be needed for each
brand modem.
17.11 Modem Cables
For external modems, one important feature is your
modem cable. In order to work correctly with WWIV, the
following pins need to be connected from the modem to the
computer (all are pin numbers on the DB-25 connected to the
modem): 2,3,7,8,20. If any of these are not connected,
the modem probably won't work correctly, so you'll need a
new modem cable. Fortunately, just about all straight
serial cables manufactured correctly connect these pins.
If your modem cable has sealed connectors on the ends,
don't tear it apart; it is probably fine. However, If you
made up your own cable (or had someone else make you up
one), you might want to check it out.
17.12
Carrier Detect (CD)
For both external and internal modems, the first
important setting you need to have on your modem is the
carrier detect. Most modems have two settings for carrier
detect (or CD). Either CD is ALWAYS ON, or CD tracks the
state of the carrier. Using the second setting, WWIV is
correctly able to tell if a remote caller is connected by
checking the CD lead. But, for some damned fool reason,
most modem manufacturers set it to default to the always on
state.
17.13
Dip Switches
On some modems, there will be a physical switch that
you will need to check (and probably change). On some
modems (such as Hayes external), you'll need to pop off the
face-plate and use a pencil or something to flip the DIP
switch. Other external modems may have the DIP switches
located on the back panel. So, pull out your modem manual,
and check which switch affects the CD or DCD lead, and have
it set so that it ISN'T ALWAYS ON. Internal modems that
have DIP switches place the switches on the modem card.
With some modems, there are "logical" (changed via the
keyboard) switches that determine the CD status. The
keyboard command for the Prometheus 2400G, for example, is
&C1. The WWIV modem configurations default to &C1 for
all 2400 or faster modems.
17.14 Data Terminal Ready (DTR)
The second important setting is the data terminal ready
line (DTR), which is like the CD lead. The DTR lead is
what WWIV uses to send a 'hang up' command to the modem.
Usually, the DTR lead is ON until WWIV turns the DTR lead
OFF, at which time the modem should hang up. Most modems
can be set so that the modem will completely ignore the DTR
status. Also, by some quirk in the Universe, it is also
usually set by the manufacturer to ignore DTR status
instead of correctly looking at it.
So, if you have physical switches on your modem, whip
out your manual again, and find which switch you need to
check so that the modem will hang up when DTR is dropped.
For the modems without physical switches, you need to
find the command for that setting. For the 2400G, the
correct command is &D2, which is described as, "Modem goes
on-hook, assumes command state and disable auto-answer with
ON-to-OFF transition." Fortunately, (again), the WWIV
modem configurations default to setting &D2 for all 2400 or
faster modems.
17.15
Options Available if MODEMS.MDM does not work
Contained in the WWIV software ZIP file is a file named
MODEMS.MDM. This file contains setups (or configurations)
for most modems. The .MDM file is what INIT reads to
create a modem data file, which is what the BBS uses. If
none of the standard configurations in the MODEMS.MDM seem
to work for your speed/ make/type modem, you have several
options:
1.
You can 'tweak' an existing configuration in the
MODEMS.MDM file
2.
You can build your own configuration and add it to
the end of the MODEMS.MDM file
3.
You can create your own .MDM file (file name can be
named any legal DOS file name, but MUST have the
.MDM extension
4.
Write me for help
Modem configurations are placed in the BBS data
directory, and the data itself is stored in text format
(for easy editing with any ASCII editor). Only the file
MODEMS.MDM can contain more than one configuration. Any
other *.MDM file can contain only one configuration,
and does not require a "FILE:" line, as the file name
(before the .MDM) is the name. Don't worry, that will be
explained later. Also, the MODEMS.MDM file is the only file
that can contain auto-selection lines.
Described below are examples of the above options.
Additional information can be also be found in Chapter
5.
WWIV defaults to the optimal setup for most non-MNP 300,
1200 and 2400 baud modems. These are the "H0300", "H1200"
and "H2400" configurations, which are described below.
Some modems are a bit slow to respond after they send the
RING result code, and do not properly answer the phone
when it rings (despite WWIV saying that it has answered the
phone). If the BBS does not answer the phone when it
should, try one of the "S" configurations - "H1200S" or
"H2400S". This should take care of the problem. The only
difference between the "S" configurations and the normal
ones is that the "S" configurations have a different ANSR:
string, which as a "~" (tilde) at the beginning. The tilde
causes about an 0.5 second delay, giving the modem some
time before the "ATA" is sent. If this still doesn't work,
try editing the appropriate configuration file, and adding
an additional tilde on the beginning.
If one of the 300, 1200 or 2400 configurations does not
work for your modem, you have two choices: 1) read about
the WWIV modem configuration file, located below, and
modify (tweak) the appropriate section to get it to work,
or 2) contact me via one of the methods in the 'READ.ME'
file, and see if I can get it to work for you (or if I
already have an updated configuration file that supports
your modem). If you have a good understanding of how
modems work, I'd suggest trying to figure it out on your
own first.
In any case, if you have to modify a part of the default
configuration file to get your modem to work, please send
the updated configuration section (be sure to update the
modem name and description also) to me, so that I may
include that configuration in future releases of WWIV.
This will help other sysops who purchase the same model
modem.
Some MNP and 9600+ modems require special configuration.
Fortunately, most of the high-speed modems on BBS's (that I
know of) are USRobotics modems, and WWIV already knows how
to handle the USRobotics high-speed modems.
If WWIV does not currently support the type of highspeed modem that you have, you can try building your own
configuration section for it. However, unless you are VERY
familiar with how the modem works, I'd suggest not trying
that. Even if you are able to use your high-speed modem
perfectly with your terminal program, the same configuration will NOT work for the BBS. The reason is, in the
terminal program, you (the user) are sitting there, and
are able to interpret the result codes and fix things if
problems occur. There is nobody around to help a BBS if
it gets confused. Also, the BBS needs very specific
information on the modem (including flow control,
buffering, baud rates, result codes, etc.) in order to
work properly for the variety of callers and modems
that connect with it.
If you are unable to get your own configuration to work
(or don't want to try), you'll pretty much have to contact
me directly. There is a good chance I will already have
the configuration file for your modem, and can forward it
(e-mail) it to you. When contacting me, BE SURE to include
as much information about your modem as possible. Telling
me only that it's supposed to be a Hayes compatible modem
just won't do it. I need manufacturer, model number,
maximum speed and what the modem returns when you enter
'AT'<enter> and 'AT0'<enter> when in a terminal program.
If I find I DON'T already have a configuration file for
it, then I will need a fair amount of information on the
modem to get it to work. In all liklihood, if you call up
technical support for your modem manufacturer, and ask them
to send me (a developer) a copy of the manual, they
probably won't mind. With a manual, I can probably work it
out from there (at no cost to you). If you send me YOUR
copy of the manual, don't expect me to mail it back. I
just don't have the time to be running to the post office
every few days.
If your modem type is not currently supported, I
REALLY WOULD like to get a configuration setup for that
modem and support it in WWIV. Please do not think that I
am unwilling to support all types of modems. I do want to
support them, and will put in the time necessary to get
your modem working. But remember: I will need quite a bit
of info on your modem type.
17.20
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º About MODEMS.MDM º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Creating a new section of the modem configuration file
does not require any programming knowledge; it only
requires in-depth, intimate knowledge of how the modem
works. I would not suggest that anyone try to set up
their own modem configuration section from scratch; rather,
take one of the existing configurations, and tweak it as
necessary.
Modem configurations are stored in text format (for easy
editing with any ASCII editor), in *.mdm files in the data
directory. The file 'modems.mdm' contains the default
configurations (multiple configurations). Any other *.mdm
file can contain only one configuration, and does not
require a "FILE:" line, as the file name (before the .mdm)
is the name. Don't worry, that'll be explained later.
Also, the 'modems.mdm' file is the only file that can
contain auto-selection lines.
17.21
Explanation of a sample 2400 baud modem file in
MODEMS.MDM
Let's start out with a sample configuration (for a 2400
baud modem), and explain the various parts of it (this
configuration is from the MODEMS.MDM file).
##########################################################
#
# Hayes compatible 2400 baud modems.
#
FILE:
NAME:
NOTE:
NOTE:
SETU:
INIT:
ANSR:
PICK:
HANG:
DIAL:
SEPR:
DEFL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
"H2400"
"Hayes compatible 2400"
"If the BBS doesnt answer the phone, try the H2400S"
" configuration."
"AT&C1&D2Q0V1{"
"ATC1E0F1H0M0Q0V1X4S0=0S2=1{"
"ATA{"
"ATH1{"
"ATH0{"
"ATDT"
""
MS=2400 CS=2400 EC=N DC=N AS=N FC=N
"OK"
"Normal"
NORM
"RING"
"Ring"
RING
"NO CARRIER"
"No Carrier"
DIS
"ERROR"
"Error"
ERR
"NO DIAL TONE"
"No Dial Tone" NDT
"NO DIALTONE"
"No Dial Tone" NDT
"BUSY"
"Busy"
DIS
"NO ANSWER"
"No Answer"
DIS
"RINGING"
"Ringing"
RINGING
"VOICE"
"Voice"
DIS
"CONNECT"
"300"
MS=300
CS=300
CON
"CONNECT 1200"
"1200"
MS=1200 CS=1200 CON
"CONNECT 2400"
"2400"
MS=2400 CS=2400 CON
[Editor's Note: The spacing of the last three lines was
altered to fit the margin requirements of this doc. The
original had three more spaces between the baud rate
designated in quotes and the MS= information.
17.22
Three Groups
As you can see, the modem configuration is made-up of
three groups: The STRING lines (FILE, NAME, NOTE, SETU,
INIT, ANSR, PICK, HANG, DIAL, SEPR), the DEFAULT SETTINGS
(DEFL), and the RESULT CODE lines (RESL).
The "FILE" line gives the "file name" of the
configuration. If you took the configuration above (minus
the FILE: line), copied it from the modems.mdm file, and
put it in a "H2400.MDM" file in the data directory, everything would work exactly the same. The "FILE" entry just
allows you to put multiple configurations into the
'modems.mdm' file, and not clutter up your data directory
with lots of *.mdm files that you don't need.
Each of the strings allows control characters and delays
to be specified. A "{" is converted to a carriage-return.
A "~" is converted into an 0.5 second delay. Any string
such as "^J" is converted into the specified control
character (here, control-J, or a linefeed). Any string
such as "\^" or "\~" quotes the character after it,
allowing you to put a ^ or a ~ into the string. Also, each
string is terminated by either a single or double quote.
If you need to actually have a ' or " in the string, you
will need to 'quote' the quote, as in \' or \".
"NAME:" gives a textual name/description of the modem,
which is displayed in INIT section 5, along with the file
name, which is used to help select the correct configuration.
"NOTE:" A note that is printed out for the user when the
specific modem configuration is selected, giving any
caveats for the configuration.
Multiple NOTE: lines may be specified, however you will
need to end each line with "^M^J"
(carriage-return/line-feed), so it looks nice for the user.
"SETU:" gives the setup string for the modem. This
string is sent out once each time the BBS is loaded and
run.
"INIT:" gives the initialization string for the modem.
This is sent out to the modem when the BBS is first run
(but after the SETUp string), and after each caller hangs
up.
"ANSR:" gives the string sent to the modem to tell it to
answer the phone (such as after the RING result code is
received).
"PICK:" gives the string to pick up the modem (take the
phone off-hook), to prevent users from calling and getting
a ring (thus thinking the BBS is down).
"HANG:" gives the string t hang up the phone (after the
PICK string is sent).
I believe every modem in the world will probably use the
same strings for ANSR, PICK, and HANG. (Except, some
modems (as noted earlier) are slow, and need the answer
string to be "~ATA{" (pause 1/2 second before sending the
answer string).
"DIAL:" gives the dial prefix. If your phone line does
not support tones, then changing it to "ATDP" will use
pulse dialing. Putting "ATB1DT" will cause a USR Dual
Standard to dial out with the HST protocol (instead of
V.32, since "B0" is in the init string).
"SEPR:" gives separation characters for the result
codes. This will be discussed later, under the high-speed
modem section.
"DEFL:" gives the default modem setup.
It gives,
essentially, modem result configuration info.
"RESL:" gives modem result code info. There are two
strings, then the result configuration info.
The first string is the actual "result code" received
from the modem. Here, verbose result codes are used.
(All result codes are converted to uppercase).
The second string is the description of the result code,
presented to the user.
The result configuration info gives information
describing the modem result code. The possible strings in
this area are:
NORM
RING
RINGING
ERR
DIS
NDT
CON
MS=
CS=
AS=
EC=
DC=
FC=
normal state of modem
phone is ringing
remote phone is ringing
error encountered
disconnected (No connection)
no dial tone (same as DIS)
connection established
modem speed
com port speed
asymmetrical baud rates (Y/N)
error correcting (Y/N)
data compression (Y/N)
flow control (Y/N)
For 2400 or slower modems, you'll pretty much just have
"MS=2400 CS=2400 CON" (or whatever the baud rate is). The
other flags are used for high-speed modems.
So, how do you modify this information? You pretty much
take it as-is, and modify it. Say your modem had a result
code indicating connection at 600 baud. You'd then just
add a line saying:
RESL: "CONNECT 600"
"600"
MS=600
CS=600
CON
And that would be it. If you needed additional
initialization strings sent to the modem, then you'd just
add that into either the setup or init strings (depending
on if you needed it sent only once, or for each caller).
Beware, though: Most modems only have a 40 character
buffer, so if you make the strings too long, it might not
work.
Thus, modifying a 2400 or lower modem configuration
should be fairly simple (if you know what you need it to
do). 9600's, however, are much more complicated.
If/when you need to modify a modem configuration, you
should first take the configuration you are starting with,
and copy it out of the 'modems.mdm' file into a separate
file. If, say, you need to tweak the H2400 configuration
for your Prometheus modem, you'd copy the H2400 configuration (minus the FILE: "H2400") into a file, say,
"PROMETH.MDM" in your data directory. Then you'd modify
the NAME: and NOTE: lines for the new modem type. Then,
when you're done, you can easily distribute the new
configuration (as the file PROMETH.MDM) to other people who
might need it (and also send a copy back to me, so I can
include it in future versions of the modems.mdm file).
17.30
Explanation of sample hi-speed modem in
MODEMS.MDM
The configuration for the latest USRobotics high-speed
modems is:
###########################################################
#
# Newest version of USR HST/V.32bis/DS modems
#
# This really returns the optimal information.
# Editor's note: The SETU line in the actual MODEMS.MDM is
# a single line; it has been broken into SETU1 and SETU2
# in this doc due to margin considerations.
FILE: "USRC31"
NAME: "USR Courier (Newest, With rectangular LEDs/V.32bis)"
CONF: "ATZ{~~~~~~~AT{~~AT&W{"
SETU1: "ATC1E0F1H0M0Q0V1X6&A3&B2&C1&D2{~~AT&H1&I0&K2"
SETU2: "&N0&R2&S0S0=0S2=1{" /* See Editor's comment above*/
INIT: "ATB0H0M0{"
ANSR: "ATA{"
PICK: "ATH1{"
HANG: "ATH0{"
DIAL: "ATB1DT"
SEPR: "/"
DEFL: MS=38400 CS=38400 EC=N DC=N AS=N FC=Y
RESL: "OK"
"Normal"
NORM
RESL: "RING"
"Ring"
RING
RESL: "NO CARRIER"
"No Carrier"
DIS
RESL: "ERROR"
"Error"
ERR
RESL: "NO DIAL TONE"
"No Dial Tone" NDT
RESL: "BUSY"
"Busy"
DIS
RESL: "NO ANSWER"
"No Answer"
DIS
RESL: "RINGING"
"Ringing"
RINGING
RESL: "VOICE"
"Voice"
DIS
RESL: "CONNECT"
"300"
MS=300
CS=300
CON
RESL: "CONNECT 1200"
"1200"
MS=1200 CS=1200 CON
RESL: "CONNECT 2400"
"2400"
MS=2400 CS=2400 CON
RESL: "CONNECT 4800"
"4800"
MS=4800 CS=4800 CON
RESL: "CONNECT 7200"
"7200"
MS=7200 CS=7200 CON
RESL: "CONNECT 9600"
"9600"
MS=9600 CS=9600 CON
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
RESL:
"CONNECT 12000"
"CONNECT 14400"
"ARQ"
"HST"
"V32"
"MNP"
"LAPM"
"MNP5"
"V42BIS"
"NONE"
"SYNC"
"12000"
"14400"
'/HST'
'/V.32'
'/MNP'
'/LAPM'
'/MNP5'
'/V.42bis'
MS=12000 CS=12000 CON
MS=14400 CS=14400 CON
EC=Y
CS=38400
AS=Y
AS=N
EC=Y
EC=Y
DC=Y
DC=Y
EC=N
[Editor's Note: The CONNECT lines should have the MS
information and so forth lining up under the DIS of the
previous line.]
As you can see, much of it is the same.
One of the differences is that the setup string is
divided into two portions, to get around the (stupid) 40
character buffer in the modem.
Another major difference is the "CONF:" line. This
configuration line is sent out from the INIT program, when
the specific modem configuration is selected. It is sent
out at the maximum baud rate the modem runs at. For the
USRobotics here, it sets the baud rate in the NRAM to 38400
baud. This is important, as this stored baud rate is used
by the modem when an error-correcting connection is made.
Modems such as the Compucom (which does not have any NRAM)
will not need a CONF: line.
A subtle, but important, change is that the SEPR: is now
set to "/". The USRobotics result codes are sent out in
strings such as "CONNECT 9600/ARQ/V32/LAPM/V42BIS". The
SEPR: "/" tells the BBS to split up that big result code
into several "partial result codes", at the separator
character. Thus, the above result code will be split into
"CONNECT 9600", "ARQ", "V32", "LAPM, "V42BIS", which is
much easier for the BBS to handle. Each one of the partial
result codes is then processed independently, in order.
All of the partial result codes are processed before any
connected/disconnected decision is made by the BBS.
Now, the "DEFL:" line here says that, by default, the
state of the modem is (in order) running at 38400 bps,
non-error-correcting, no data compression, not
asymmetrical, and flow control IS needed. When a result
code is received, all the modem settings are assumed to be
at the DEFL state. The result configuration info for each
partial result code modifies each field independently,
starting from the DEFL state.
Each of the "CONNECT" partial result codes simply sets
both the modem speed (MS=) and the com port speed (CS=) to
the baud rate specified, same as for 2400 baud modems.
Suppose we got the result code
"CONNECT 14400/ARQ/HST/HST/V42BIS".
We start out at the default:
Partial result code
At beginning, DEFL
"CONNECT 14400"
"ARQ"
"HST"
"HST"
"V42BIS"
modem settings after processing
MS=38400
MS=14400
MS=14400
MS=14400
MS=14400
MS=14400
CS=38400
CS=14400
CS=38400
CS=38400
CS=38400
CS=38400
EC=N
EC=N
EC=Y
EC=Y
EC=Y
EC=Y
DC=N
DC=N
DC=N
DC=N
DC=N
DC=Y
AS=N
AS=N
AS=N
AS=Y
AS=Y
AS=Y
FC=Y
FC=Y
FC=Y
FC=Y
FC=Y
FC=Y
Which means:
MS=14400
CS=38400
EC=Y
DC=Y
AS=Y
FC=Y
The user's throughput is 14400 bps
The BBS should talk to the modem at 38400
bps. (Due to the &B2 setting)
Error correction is active (LAPM/MNP2-4)
Data compression is active (V.42bis/MNP5)
Asymmetrical baud rates. This is because,
with the HST connection, it is only 14400
bps in one direction. The other direction
is only 450 bps.
Flow control is still active.
The "CON" at the end of each of the "CONNECT" lines means
that the user is connected. Even though the "CON" is
processed in the first partial result code, the remaining
partial result codes are still processed.
Note that, for the HST, V32, etc, partial result codes, the
description of the partial result code is in single-quotes
(vs double-quotes for the CONNECT descriptions). If the
description is in double-quotes, then any previous
descriptions is OVERWRITTEN. If the description is in
single-quotes, then the description is APPENDED to any
previous partial description. For the result code above,
the description would end up being "14400/HST/HST/V.42bis"
For the ARQ partial result code, there is no
description, and so the description (so far) is unmodified
by the "ARQ".
How do you make your own modem configuration file? A
lot of it will probably be the same as other configurations
(ANSR, PICK, HANG, DIAL, the first few RESL), however you
will certainly have to completely re-write the SETU and
INIT strings. You will also almost certainly have to
modify the DEFL line, and the RESL lines for the connecting
result codes.
There are also length limits on the strings:
file: 8 chars
name: 80 chars
note: 4096 chars TOTAL (for however many NOTE: lines you
have)
conf: 160 chars
setu: 160 chars
init: 160 chars
ansr: 80 chars
pick: 80 chars
hang: 80 chars
dial: 80 chars
sepr: 9 chars
result code from modem: 40 chars
result code description: 30 chars
Also: the sepr: string may contain multiple chars. It
is not really a "string" as a "list of chars". If you know
C, this string is passed to strtok().
Auto-selection:
WWIV maintains a database for automatic modem type
detection in the MODEMS.MDM file. The data comprise a sort
of "state machine". When trying to detect a certain type
of high-speed modem, it starts out in state 1. If/when it
gets to state 0, then it has detected the modem type. If
it passes through the entire list without passing any of
the rules, then it determines that it cannot determine the
modem type.
The first column is the "start" state. The second is
the "end" state. If the current state is equal to the
"start" state, then the string in the fourth column is
sent to the modem. If the response is equal to the string
in the fifth column, then the state transition is made,
and the current state is set to the "end" state, and the
currently detected modem type is set to the string in the
third column.
Note that the auto-selection data is used ONLY if the
modem responds at 9600 baud or higher.
Also note that it is not important for you to put in
auto-selection data to detect your modem type. The autoselection stuff is only a nicety, and you can always go
into init section 5 and pick whichever modem data you
want.
Chapter 18 -- Frequently Asked Questions
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Frequently Asked Questions ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Q:
I wish to mod my BBS but I find the external strings
confusing. Do you have any advice?
A: With WWIV 4.22's string-externalization, some things
are now possible that were not possible previously:
changing the look-and-feel of the board can be done by
simply editing data files rather than modifying and
recompiling; memory is freed up for more productive use;
and multi-language support is on the way (v4.23).
However, with the strings external now, some things
become somewhat more complicated, especially modifications.
For instance, let's say you add a modification that uses
some strings. Where do you put those strings? If you put
them right after the "stock" strings, what happens if a
later version of WWIV uses those same string index numbers?
You have inadvertently shot yourself in the foot unless you
renumber all the following strings (a major hassle).
Because of this, it would be wise for modification
writers to take some precautions so as not to interfere
with expansion of stock WWIV. There are a couple of ways to
do this. If the modification is basically a self-contained
unit, the strings it uses can be put into their own
completely separate string datafile. This also makes
porting the modification from version to version a very
easy thing to do; thus the creation of a separate string
datafile for the mod is the recommended apprach.
If you must add the strings into WWIV's string datafiles,
then I would highly suggest adding at least several hundred
blank "pad" strings first, and then working your way
backward, so that the index numbers do not later collide
with any in use (or potentially in use in the future). For
example, let's say WWIV uses strings 1-1200. You add a
modification that uses 100 strings and for some reason you
do not wish to put it in its own separate datafile. You
should >not< simply use strings 1201-1300 because WWIV may
itself use those numbers as it is improved and expanded.
Instead, pad the string datafile out to, say, 3000 strings
and use strings 2901-3000, leaving 1700 "dead" strings in
between for WWIV to allocate in later versions. Obviously
this method will be more wasteful on disk space than
simply allocating a separate datafile.
In addition to these concerns, modification writers will
also need to be aware that it won't be difficult to really
foul up the multi-lingual support. As long as you are
modifying for your own use, you only affect yourself, but
if you are "publishing" your mods on the various networks
for use by others, you should give some thought to how such
things as multi-language versions will be affected.
However, because some people >do< care about such support,
it would be best if those who write modifications wrote
them so as to minimize causing problems for multi-lingual
support.
The language each user sees is stored as a field in the
userrec. A zero value means English, and this will be all
there is for 4.22. Later versions will have other options
available. Now let's say you add a modification.
Unless you know how to translate that modification to
several different languages, you should code your modification so that it will simply "hide itself" from anyone not
using your default language (assuming that the
modification uses strings other than symbols).
The following is sample code (that doesn't really exist),
to illustrate what a piece of code might look like before
and after a modification, insuring that problems for
multi-language support are not created up:
/* logon code */
..
..
..
/**/
You want to change it so that if the user's security level
is 60 or higher then it welcomes the user as a sysop:
/* logon code */
..
if ((thisuser.sl>=60) && (thisuser.language==0))
pl("Welcome Visiting Sysop!");
..
/**/
First it checks to see if their security level is 60 or
greater (that's what you wanted). But it also checks to see
if their language is 0 (English). The sentence would be
gibberish to anyone not speaking English anyway. The
string is still in the code this way (though it would not
need to be). However, if the string were externalized,
then unless you created multi-language versions of that
string in each datafile, the string wouldn't even >exist<
in anything other than the English datafile, which
would cause problems.
This may sound complicated but it's not; generally all
that is necessary is the addition of an "if" statement to
trap strings for a specific language (or the addition of a
trap to an existing "if" statement, as above). Follow
these guidelines and there will be no problems.
Q:
I once initialized an instance 3 but I am no longer
running it. Yet when a user uses the //WHO command, he
still sees the last person on instance 3. What can I
do to reflect that instance 3 no longer exists.
A: You can deleted CONFIG.OVR and then reinitalize instance
two. This will take care of the elimination of instance 3.
Q:
I have copied a file having a file_id.diz into a
directory but I do not know how to get the file
description displayed. //UPLOAD does not seem to pick
it up.
A: Use U instead of //UPLOAD and it will pickup the file
description and display it.
Q:
How can I get the daily maintenace (beginday event) if I
run a front end mailer or other program instead of the
BBS?
A: The daily maintenance has been changed so that it runs
when the first user logs on. If you wish to have a beginday
event and have it run at that time, it will. If you run
another program, like a front end mailer, you can define an
event there which will load the BBS and allow it to run the
event. For example, try:
bbs -b2400 -o
which should load the bbs as if a 2400 baud caller has
called and should quit the bbs after that user is on. Since
there is no user, it should run the beginday event and
return to the front end mailer. Note that since the
beginday event will run for the first caller after midnight,
you should schedule the front end mailer to perform this
task at midnight.
Chapter 19 -- Managing Multi-Instances
19.0
The Instance Concept
Some BBS software's are strictly multi-line and some are
multi-node (meaning more that one keyboard accessing the
BBS); WWIV is capable of being both multi-line and
multi-node. Instead of using that terminology, we have used
"instance" to indicate more that one "instance" of the BBS
accessing the same user.lst. Some applications of WWIV are
"no line" in the sense that all users are on a LAN with no
outside phone lines; others are multi-line with only the
single computer with one keyboard being the local
"instance." The new multi-instance software available in
v4.23 will accomodate both of these situations and many
points in between. The purpose of this section of the docs
is to address some of the issues involved in handling the
multi-instance bbs from a sysop's point of view.
19.1
INIT EACH INSTANCE
INIT must be run for each instance that you wish to use.
You are able to identify which instance you are working with
by the following command to INIT:
INIT ,x
where x represents the number of the instance you wish. If
the instance has a modem attached to it, you should define
the comport and select the modem type. If there is no
modem attached, you may ignore the comport and other modem
options.
You must define the path to a temp directory, and if
batch downloads are permitted for this instance, you must
define a batch directory. To avoid confusion, you might use
directories like TEMP2, TEMP3, etc.
INIT.EXE will permit you to run it with any number
following it; however, it will only create a viable setup
for you if you have upgraded your software (See
UPGRADE.FRM), to have that number of instances enabled.
Although an unregistered sysop may have two instances,
only one of them should have a phone line attached until the
sysop has registered the software.
19.2
CAUTION MUST BE USED
Caution must be used when a user is on the board and the
sysop is performing certain maintenance. The general rule
is that the sysop should not do anything which will cause
the user's qscan or newscan pointers to be updated and
should not do anything which would force the network data
to reanalyze. If something is done that forces either of
these two events to occur, the results may be unpredictable
and it is possible that harm will come to your USER.LST or
to other files. Thus the
else is on the board when
maintenance. The methods
instances is discussed in
19.3
sysop should insure that no one
performing this type of
of shutting down the other
the next section.
Shutting down Instances
There are several ways of shutting down the other
instances:
a) //INSTEDIT or //IE while the sysop is on the BBS
will permit limited manipulation of other instances
and will allow the sysop to view the status of the
other instances.
b) TAB at WFC will invoke the instance editor and allow
the sysop to use these functions:
1.
2.
3.
View the status of all instances
Shut down one instance
Shut down all instances
The sysop may create OFFLINE.MSG which will be printed out
if the sysop has selected to shut down one instance or all
instances. If the file does not exist, the instances will
simply be shutdown the same as if someone had used Q at
WFC.
These methods of shutting down instances may seem unnecessary to the sysop who may have 2 or 3 computers in the
same room and who could shut them down by hand rather
quickly; however, in an office situation where many
computers may be involved and where the computers may be
located in many different offices, it is handy to have a
means thru which the system can be shut down for
maintenance if necessary.
19.4
Multiple Simultaneous Logons
A person with 255 access is allowed to be logged into
more than one instance simultaneously. That is, the 255
access level allows the sysop to be on several instances
at once if necessary (ie for testing or whatever). However, a person who does not have 255 access and tries
to log onto more than one instance, a message (color 6)
is printed:
"You are already online on instance x!"
and the logon attempt would fail, counting as one of the
three tries at logging on. NOTE: If you, as sysop,
use //CHUSER or //CU to change to someone else's account,
they will not be able to logon until you have completed
"being them."
Chapter 20 -- Multi-Tasking and LAN Operation
20.0 General Comments about Multi-Tasking
Multi-tasking on DOS based systems requires that share
be loaded in the AUTOEXEC.BAT. Failure to do this will
cause you to have "share violations." Also, on all
multi-tasking systems (except OS/2), it is a good idea to
write protect the bbs executables. You can do this for
BBS.EXE, for example, by entering the command:
attrib +R BBS.EXE
To remove the share attribute, which will be necessary if
you wish to delete or overwrite that copy of the BBS.EXE,
you merely change the "+" in the above command to a "-".
To run multiple instances of WWIV on one computer, a
multitasking operating system is needed. One of the most
important factors in choosing a multitasker is how
efficiently it schedules processes. A poor multitasker
will result in "character loss", when characters come in
through the serial port faster than the operating system
can process them.
There are two types of multitasking: "preemptive" and
"cooperative".
Preemptive or "True", multitasking means that the
operating system will control how much processor time a
program receives. When several processes are running
simultaneously, preemptive multitasking results in much
smoother operation, as no single program can hog all the
CPU time. Preemptive multitasking is used in OS/2,
Desqview, UNIX, and Windows NT.
Cooperative multitasking is found only in Windows 3.1
and the Macintosh. It has this name because programs must
"cooperate", by giving up timeslices during long
operations. Many programs fail to do this, resulting in
hourglass cursors and an entire system waiting for one
program to finish its current task. Although DOS programs
are multitasked pre-emptively, the rest of the OS is
cooperative, resulting in poor performance in the area of
interrupt handling (vitally important for all programs
accessing the serial port). A cooperative multitasking
operating system can usually run a single-line BBS in the
background if the hardware is fast enough, but is not
sufficient for multiple lines.
(The next versions of MS
Windows and the Macintosh operating system will supposedly
use preemptive multitasking.)
Another important issue is memory protection. With
memory protection in effect, a program can only access its
own area within the system memory. If it crashes, the
session can simply be closed and restarted, without
requiring a reboot or disturbing the other running
programs. Without memory protection, a crash within one
program might affect the entire system, as garbage is
written into areas owned by other programs, or by the
operating system itself, resulting in a locked system.
MS Windows is the only major multitasking OS not providing
memory protection.
20.1 OS/2
OS/2 2.1 can provide an extremely stable platform for a
multi-line BBS. IBM OS/2 is a 32-bit operating system that
provides preemptive ("True") multitasking, memory
protection, virtual memory, and highly configurable DOS
sessions. OS/2 runs OS/2, Windows 3.1, and DOS applications
and requires a 386 or 486 with at least 8 megs of memory.
(The stated minimum is 4 megs, but 8 will provide much
better performance).
Under OS/2, a WWIV session can be started in several
ways. A program object can be created pointing to BBS.COM,
or to another program which handles answering the phone
(such as Front Door or Binkleyterm), or WWIV can be run
from a DOS session.
20.1.A
Creating a program object for WWIV
This approach allows you to click on a desktop icon
representing WWIV to execute the BBS. To create the
object, begin by dragging a program template to the
desktop (or a folder), or by selecting "Create Another
Program" from the pop-up menu of another program object.
The Settings notebook should now appear. On the
"Program" page, give the full pathname to BBS.COM, such as
D:\BBS\BBS.COM. It is important that you include the .COM
extension. In the "Working Directory" field, give the
directory that WWIV is installed in, such as D:\BBS.
If you have a front-end program like Front Door, substitute
the appropriate command line and directory.
20.1.B
DOS Settings
On the Session page of the Settings notebook, DOS
fullscreen or DOS window should be selected. Then click
the "DOS Settings..." button. You will see a list of all
the settings that may be changed. The following are some
recommended values:
DOS_BACKGROUND_EXECUTION
On
This allows the program to continue running when
something else is in the foreground. It is absolutely
essential.
IDLE_SECONDS
IDLE_SENSITIVITY
1
10
When the BBS is not active, its processor timeshare can
be reduced in order to make other programs multitask more
smoothly. Many sysops use different values, so feel free
to experiment and see what works best on your system.
DOS_HIGH
On
VIDEO_MODE_RESTRICTION CGA
These settings will greatly increase the memory available
for the BBS, by loading COMMAND.COM into high memory and
using video memory as if it was conventional memory. This
prevents graphics programs from running in that session,
but raises the 640k limit to 736k.
INT_DURING_IO
On
This allows interrupt processing during disk operations,
and may slightly increase serial port performance.
DOS_AUTOEXEC
This setting allows a file to be specified that is run on
startup, in the place of AUTOEXEC.BAT. You may wish to use
a different autoexec file for the session containing the
BBS - it may have fewer device drivers, or a MODE COMx
statement.
20.1.C
SIO and VSIO
SIO and VSIO are serial port drivers, written by Ray
Gwinn, the author of the X00.SYS which is one of the fossil
drivers used by Fidonet systems. They are meant to replace
the COM.SYS and VCOM.SYS included with OS/2, and are much
faster and more stable than IBM's drivers. SIO will even
emulate a 16550a UART chip if one is not present.
the file SIO1xx.ZIP. SIO and VSIO are invoked by
CONFIG.SYS:
Look for
rem device=sio.sys (port, addr, irq) (port, address,
irq) ...
device=C:\BIN\SIO.SYS (COM2,2f8,IRQ3) (COM3,3e8,IRQ7)
device=C:\BIN\VSIO.SYS
If you have any chains that require a fossil driver,
look for VX00.SYS by the same author, which adds extremely
fast X00 functionality to SIO.
20.1.D
Multiple modems
OS/2 works well with several modems installed, with the
limitation that IRQs cannot be shared. (If two devices
have the same IRQ, and each one has a program running, and
the interrupt is generated, how will the OS decide which
program to notify of the IRQ? This is why sharing is not
allowed.) If you want to have a multiline system, new IRQs
must be selected for some modems.
Typically COM1 uses IRQ4, COM2 uses IRQ3. IRQ5 is
usually vacant, and therefore a good choice. IRQ7 is used
by the printer, but printers don't often generate
interrupts, so it can be assigned to a modem as well. Note
that 5 and 7 are popular choices for sound cards and
ethernet, so be sure to check for conflicts there. Once a
port number and IRQ are selected, modify the call to SIO in
config.sys to indicate the nonstandard setup.
On some systems, DOS programs have trouble recognizing a
modem with a nonstandard IRQ. This can be solved with a
MODE COMx: line in the autoexec file. You may wish to
create several program objects to launch WWIV separately for
each modem, with different DOS_AUTOEXEC settings.
20.1.E
The 16550a chip
The most important component of a serial port is the
UART chip - Universal Asynchronous Receiver/Transmitter.
Older UART chips have only a single-byte buffer. Because
of this, if a program does not read a character fast
enough, it will be lost as the next character coming in
overwrites it. This is a common problem on multitasking
systems, because interrupt servicing is generally slow. The
newer 16550a chips have a 16-byte buffer, making character
loss an extremely rare happening. On a multiline system,
or a single-line 386, 16550a chips are essential. If your
serial card has its UART in a socket, a 16550a can be
purchased and used as a replacement. Some of the better
internal modems, such as US Robotics and Intel, include
16550a chips.
20.1.F
Compiling WWIV
Borland C++ can run under OS/2, provided that the
DPMI_DOS_API option in the settings notebook is set to
"Enabled". I recommend setting this option for the DOS
command prompt object, so you can run BC, BCC, or MAKE
from the command line.
20.1.G
Chains
Any DOS chain program should work fine. OS/2 programs
cannot be run from within a DOS session, so you won't be
able to launch OS/2 chains from WWIV.
20.1.H
Slow screen drawing
On slower machines, the time it takes to draw the screen
when WWIV is running within a window can be noticeable. To
eliminate this problem, run the BBS in full-screen mode, or
as a minimized icon.
20.2
Desqview
Desqview is a small, powerful multitasker distributed by
Quarterdeck Systems. It is purely text based and does not
have the graphical overhead that is required by Windows or
OS/2. It is conservative in its use use of memory, and it
does not require much hard drive space (relative to OS/2
or Windows), taking up approximately 500k of space.
There are several versions of Desqview availible. The
most common and useful version is Desqview 386, currently
in version 2.62. There is also a Desqview 286, and
Desqview-X, which is graphical and is suited primarily for
network situations.
20.2.A
Memory Management
A good memory manager is necessary to run Desqview
properly. Although many different memory managers will
work satisfactorily with Desqview, QEMM may be the best
suited, as it was developed by the Quarterdeck as well.
Optimization of your memory is recommended as this will
free up the maximum amount for usage by the board. If
you do not use VGA graphics often, there is a utility
called VIDRAM which frees up about 100k of graphics memory,
putting the top end of your conventional memory to around
740k. Using this program will prevent you using VGA
graphical programs without temporarily deactivating VIDRAM,
but it will make a definite difference in the amount of
memory availible for each window in Desqview.
When setting up Desqview, go into the DV Setup program
and choose the performace option. Set clock ticks to 2/2
for maximum performance. If your BBS is running on a
386/16 or less, you may wish to try 3/3 if 2/2 doesn't work
well.
To set up the PIF for running WWIV, these are the
settings you will need. This is under Open Window/Change
Program. Note that the spacing has been changed to conform
to the margin requirements of the reader format.
---------------------------------------------------------Change a Program
Program Name............: Your BBS Name
Keys to Use on Open Menu: BB
Memory Size (in K): 580
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Program...: c:\BBSNODE1.BAT
Parameters:
Directory.: c:\
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Options:
Writes text directly to screen.......: [Y]
Displays graphics information........: [Y]
Virtualize text/graphics (Y,N,T).....: [Y]
Uses ports
(Y,N,1,2)..........: [Y]
Requires floppy diskette.............: [N]
Press F1 for advanced options
Press Ù when you are DONE
----------------------------------------------------------Then, under Advanced Options, these are the necessary
settings
---------------------------------------------------------Change a Program Advanced Options
System Memory (in K).......:
0
Maximum Program Memory Size (in K)..: 800
Script Buffer Size.......:
1
Maximum Expanded Memory Size (in K):
Text Pages: 1 Graphics Pages: 1
Initial Mode:
Interrupts: 00 to FF
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Window Position:
Maximum Height: 25
Starting Height:
Starting Row...:
Maximum Width.: 80
Starting Width.:
Starting Column:
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Shared Program
Pathname..:
Data......:
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Close on exit (Y,N,blank)......: [N]
Uses its own colors..............: [Y]
Allow Close Window command.....: [Y]
Runs in background (Y,N,blank)...:
Uses math coprocessor..........: [N]
Keyboard conflict (0-F)..........:
Share CPU when foreground......: [Y]
Share EGA when foreground/zoomed.:
Can be swapped out (Y,N,blank).: [N]
Protection Level (0-3)...........:
[Y]
[0]
[Y]
[0]
Press F1 for standard options
Press Ù when you are DONE
---------------------------------------------------------Save the PIF, and you're basically done.
For each instance you wish to run, you'll need an identical
PIF except for the program name and the keys to use on open
menu selection. Depending on your memory situation and the
number of instances you are running, you MAY run into a
problem with the memory allocation for each pif. Try
lowering the memory size in small increments until the
problem goes away.
20.2.B
BatchFiles for Multiple Instances
In addition, for each instance, you'll need a different
batch file. The batch file needs to set the WWIV_INSTANCE
environment variable, and then run the BBS.EXE with the
appropriate parameters. This is the basic batch file that
you may want to use.
REM Load WWIV Instance #1
set WWIV_INSTANCE=1
d:
cd \wwiv
bbs.com -i1
exit
NOTE: You may use additional command line parameters if
you wish, but each instance must be set in the environment
and the command line must contain the -ix or /ix where x is
the instance number.
One more word regarding memory. To run WWIVEdit, you
MUST have at least 150k, preferably 175k free when you do
//STAT from the BBS. If you don't have this much
availible, then WWIVEdit will not work correctly, and you
need to play around with your memory manager and your
system setup to try to get this memory available.
20.2.C.
Startup Script
To have Desqview startup the BBS automatically when it's
booted, you need to create a startup script. Details of
this can be found in the Desqview manual. It's quite
simple, although it may take a few tries to get the bugs
worked out. Once you create the script and name the script
!STARTUP, then every time you start Desqview, it will
automatically load all instances that you have told it to
in the script.
One final thing you will have to do...before you can run
multiple instances under DESQView, you will have to make
the BBS.EXE Read-only...otherwise you will get a share
violation. This is accomplished by typing
ATTRIB +R BBS.EXE.
Desqview works really well as a multi-tasker for WWIV
4.23. There is very little noticeable slowdown when 3
instances are running at once. It's fast, efficient, and
very easy on the hard drive space.
If you have any questions on running WWIV 4.23 under
DESQview, please feel free to email Morgul 1@8315
(WWIVnet).
Chapter 30
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º
WWIV Source Documentation
º
º Copyright (c) 1988-1991 by Wayne Bell º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
30.1
Source Distribution
Although this chapter is being included with the precompiled (shareware) version, its primary use is for those
sysops who have registered. Unregistered sysops may also
learn from it and may some of the advantages of being
registered--advantages which include but are not limited
to the availability of certain options discussed in this
chapter.
The source code is ONLY available to people who have
registered; IT IS NOT FOR ANY OTHER PEOPLE. As can be seen
in the license agreement in Chapter 3 as well as by the
notice at the beginning of all the source files,
DISTRIBUTION OF THE SOURCE BY ANYONE EXCEPT BY ME OR A
SOURCE DISTRIBUTION SYSTEM (SDS) AUTHORIZED BY ME IS
PROHIBITED. Even if your best friend mails a registration check right before your eyes, he must get the source
from ME or from an SDS BBS, you may not give him a copy.
If you have somehow gotten ahold of the WWIV source code
WITHOUT either downloading it from my BBS, downloading it
from an SDS BBS, or receiving it in the mail from WWIV
Software Services, then you are hurting the cause of good
software. If you continue to possess and use this source
code, you may place yourself and the person from whom you
received it in legal jeopardy. If it turns out that it is
not possible to control distribution of the source by
reasonable means, you will probably find that the source
WILL NOT BE AVAILABLE for future versions.
The source is provided to registered sysops so that it
may be modifed to suit their own needs and desires.
You may not give out a copy of your modified program to
anyone (either the source or compiled).
30.1.A
Distribution of Changes to Source Code
This does not mean, however, that you can't distribute
CHANGES. You may not distribute a copy of WWIV that you
have compiled, ever, or any major portions of the source
code. You can, however, distribute changes you made to the
source, so that other people with the source may make the
same changes.
For example, suppose you made a modification to function
sublist() in BBS.C, and wanted to allow other people to
make the same modification. Now, since function sublist()
is under 50 lines (rather short), you may just go ahead
and distribute the entire procedure, telling people they
need to replace function sublist() in BBS.C with your new
one.
Suppose, on the other hand, that you have made modifications to function scan() in MSGBASE.C. Since function
scan() is around 350 lines, it is unlikely you will have
made modifications to the entire thing. Most likely, it
will be just a block of code, maybe 50-75 lines long, that
contains the bulk of your changes. Just pull out those
blocks that you have made changes to, and distribute those,
along with a short note telling which lines to delete, and
where to insert your new ones.
30.1.B
Permission to distribute source code changes
Suppose, instead, that your modification required you to
insert 3 new variables, and put in a few lines of code in 4
of the source files. DO NOT JUST DISTRIBUTE ALL THE FILES
YOU CHANGED. Instead, document where you made the changes,
and list where to insert (or delete) the few lines of code
you did change. If your modifications would require you to
distribute over 100 lines of the initial BBS code, you
should contact me before you distribute it, sending me a
copy, and asking if it's OK. Most likely it will be.
If you have any questions about this policy, or how it
might apply to you, feel free to contact me on my system at
310-798-9993 300/1200/2400/V.32bis/HST/24 hrs.
You may wonder why I have put such restrictions on
distribution of changes. The main reason is the reckless
abandon some people have exhibited in just doing whatever
they damn well pleased with earlier versions of WWIV. I've
heard of people making changes to the code, inserting
profanity in comments throughout the program, and
distributing that as if it were a perfectly normal copy of
WWIV. This is what I want to prevent.
As long as your changes don't contain a significant portion
of the BBS source in them, I will probably have no problems
about your distributing them. But, do check, BEFOREHAND.
Also, any changes that you do distribute, I'd appreciate it
if you'd upload a copy to my system, so that there can be a
sort of "central area" where people can find things.
About INIT.EXE. As you can see, I'm not distributing the
source to the init program. The source to the init program
is not available to anyone, nor is the source to the network
program available.
/*********************************************************/
30.2
Compiler versions
There. Now that I'm through with that, I can get about
describing the source a bit. First, how to set everything
up so that it compiles. WWIV will compile correctly under
Turbo C++ v1.0 to 3.0, and Borland C++ v2.0. It will not
compile correctly under Turbo C v1.0 or v2.0, and it
will not compile correctly under Microsoft C, or any
other C compiler. Using TC++, you get to use overlays,
and a more powerful make utility, and everything is really
a lot nicer. Therefore, I really would suggest that people
upgrade to TC++, even if you don't use any of the C++
extensions.
Borland C++ v2.0 is even better. It supports pre-compiled
header files, has a more powerful make, and a couple other
neat things. The upgrade (for me) to BC++2.0 was $99. It
was worth it. Compiling the BBS under BC++ (with the pre-
compiled header files and new make) is SIGNIFICANTLY faster
than under TC++ (4:12 vs 6:30 for compiling the whole BBS
on my 20MHz 386, 35% faster).
Needless to say, that creates quite a few different
environments that everything has to work under. Therefore,
I am NOT going to describe how to get WWIV to compile under
the Turbo C integrated environment. There are just too
many things you have to do, and too many ways you can mess
up, especially if you are not very familiar with it. So,
if you want to compile using the integrated environment,
you're on your own.
30.2.A
Using the make utility
My preferred method of compiling is therefore using the
make utility. There are two makefiles distributed 'makefile.tcc' and 'makefile.bcc'. The .tcc file is for
TC2.0 and TC++. The .bcc one is for BC++2.0. Whichever one
is applicable to your compiler, copy it to 'makefile.mak'.
Once you make a few simple modifications to the
makefile.mak file, everything will magically compile
optimally, including overlays for TC++ or BC++, and using
pre-compiled header files with BC++. But, remember: if you
upgrade from one version of Turbo C to a later version, you
will have to delete all your .obj files.
First, un-zip the WWIV source archive into a WWIV dir. DO
NOT put it in your Turbo C directory. Then, copy either
makefile.tcc or makefile.bcc to 'makefile.mak'.
If you are using the makefile.tcc file, you'll find that
the first section looks like:
30.2.B
First section of Make file
###########################################################
#
#
# Specify directories to use
#
!if $(__MAKE__) >= 0x0300
TC = d:\tcpp
!else
TC = c:\tc
!endif
OBJ = obj\\
EXE = exe\\
The first part up there attempts to determine if you are
using TC1.5/2.0 or TC++. You will need to edit the
appropriate "TC = " line to point to your Turbo C
directory. If you have Turbo C++ installed in c:\cpp,
then set the first TC line to be "TC = c:\cpp".
If you have Turbo C v2.0 installed in "d:\c", then set
the second TC line to "TC = d:\c".
The next statement is "OBJ = obj\\", which points to the
directory to put the object files (.obj) in. I prefer to
put them off in a separate directory, since you don't do
anything with them directly.
To use this setup, from your main WWIV directory, type
"md obj" and all the .obj files will go there. If you want
them to just stay in the same directory as the source code,
then change the line to "OBJ = .\\"
The final line you will have to worry about is
"EXE = exe\\".
This specifies where to put the executables (bbs.exe and
return.exe). You will most likely want to leave those in
the same directory as the source files, so change it to
"EXE = .\\"
If you are using the 'makefile.bcc' file, you will find a
section at the top listing paths. It sets SRC, OBJ, and
EXE. Set them the same as in the 'makefile.tcc', only you
don't need the "\\" on the end. You don't need to tell it
where the BC++ directory is.
Now, whenever you want to re-compile any changed files and
re-link the executables, go to the WWIV source directory
and type "make".
If everything is set up correctly, the source should
compile without any errors or warnings. If you have any
errors or warnings, you have done something wrong. Go back
and check to ensure that you have the directory variables
set up correctly.
If you should get an error message from the Linker saying
that the command lines are too long, this may be because you
have indicated your output directories as subdirectories.
Try moving them to simply C:\exe and C:\obj respectively.
30.2.C
FCNS.H
Under TC++ and BC++, I have an extra option in the makefile
- it creates the fcns.h file based upon your source files.
To re-create the fcns.h file just type "make fcns". This
is what I have used to create it in the first place, so if
you run it on an unmodified copy of the source, it should
end up being the same. Additionally, if you add additional
source files, this will include the prototypes from those
files also (assuming, of course, that you use the same
function declaration style that I do - the technique of
making the function prototypes is pretty dumb, but it
works).
BEFORE using the "make fcns" option, however, you must
compile the strip program. Just say "bcc strip.c" or
"tcc strip.c" (depending on which compiler you are using).
/*********************************************************/
30.3
General Comments about the source
The rest of this document is to describe some general
things about the source, and is not meant to describe how
to use Turbo C. If you need help with the TC integrated
environment, look through the manual, and play around with
it a bit. Unfortunately, I haven't updated this section
in a long time, and so most of the .c file descriptions are
out of date. The function and global variable declarations
should still be fairly close, though. If you have
problems, try contacting a WWIV support system.
30.3.A
Header files:
VARDEC.H - holds the type declarations and #define's for
the BBS.
FCNS.H - holds function declarations for all functions in
the BBS.
VARS.H - Holds declarations (and externs) for all global
variables.
NET.H - holds declarations for WWIVnet.
All the BBS files (except bbs.c) have, after the copyright
notice, #include "vars.h" #pragma hdrstop
Any additional source (.c) files you add should include
vars.h, and then have the #pragma hdrstop after that (the
#pragma is for the BC++ precompiled header files). Note
that vars.h includes several standard C header files, so
you won't have to manually include those yourself.
30.3.B
Main source files:
BBS.C - Main BBS files - main menu, main DL menu, and
procedures to log on a caller. If you add new functions to
the main menu, you'll need to modify some procedure in
BBS.C to have a call to execute it.
COM.C - Contains all the com-port routines - input/output
to the com port. This also has all the combined com/screen
routines - like, to output to both the screen and com port,
the routine is in here. ANSI interpretation is also in
here, along with standard "input a line" functions.
CONIO.C - Contains console I/O routines, to output a
character to the screen, and get a character from the
keyboard. You'll notice I do a lot of _AH=;
geninterrupt(), instead of using the console I/O functions
in TC 1.5. This is because most of those functions
weren't in 1.0, and I wrote these routines under TC 1.0.
Also, the code for top of screen data, and chat, and
validating a user are in here, along with sysop key
interpretation (f-keys).
XFER.C - Contains most of the DL functions, anything from
the transfer menu will be in here (but the actual transfer
main menu is in BBS.C).
SR.C - Send/Receive files.
Generic processing here.
SRRCV.C - internal X/Ymodem receive files.
SRSEND.C - internal X/Ymodem send files.
UTILITY.C - Utility functions, not expressly relating to
the BBS. Such as free disk space, time & date, initialization, reading & writing to the user list.
SYSOPF.C - Some generic sysop commands and utilities.
EXTRN.C - external program interface. Runs external
programs, but re-directs all I/O (through dos calls) to
go to BBS routines instead of just to the console.
MSGBASE.C/MSGBASE1.C - Message base, e-mail. Entering
message, scan prompt, sending e-mail, posting, reading
e-mail, multi-mail.
BBSUTL.C - Some generic BBS utility functions.
BBSUTL1.C - Some more generic BBS utility functions.
CONNECT1.C/NETSUP.C - handle networking utilities.
LILO.C - handles logging in and logging out.
MISCCMD.C - handles various miscellaneous functions.
XFEROVL.C - handles miscellaneous xfer commands.
XINIT.C - handles first-time only initialization of the
BBS.
A lot of other files are pretty self-explanatory MODEM.C, SHRINK.C, BATCH.C, CHNEDIT.C, DEFAULTS.C,
DIREDIT.C, GFILES.C, GFLEDIT.C, MULTMAIL.C, SUBEDIT.C,
TEDIT.C, UEDIT.C, VOTEEDIT.C, XFERTMP.C, NEWUSER.C
If you don't see anything listed here, find whatever
seems to be closest, and search that file. Or, if you
know the function name, check in 'fcns.h' to find which
.C file it is in.
30.3.C
Common functions:
char getkey() - waits for, and returns one character of
input void input(char *s, int len) - inputs len characters
(uppercase only) to string s.
void inputl(char *s, int len) - same as input, but allows
lowercase.
int yn() - returns 1 for yes, 0 for no.
C/R=no
int ny() - same as yn(), but C/R=yes
void ansic(int n) - selects a color (if user supports
ANSI). n is 0 to 7.
char onek(char *s) - pass it a string, and it allows the
user to hit one key in the string, which it returns. ie,
you want Delete, Ignore, Retry, so you do onek("DIR"), and
it will return D, I, or R. If the user hangs up, it
returns the first character, so if one option is Quit, have
the Q first.
void prt(int i, char *s) - selects color i, prints string
s, returns to color 0.
void nl() - does a carriage return/line feed - go to new
line.
void npr(char *, ...) - works the same as printf() does,
only puts the output to the com port, also.
void pl(char *s) - prints string s, with a cr/lf on end
void outstr(char *s) - prints s, no cr/lf on end
void pla(char *s, int *abort) - prints s, allowing abort.
Pass pointer to an integer, if user aborts, *abort will be
1, and output is terminated. You MUST initialize *abort
to zero.
void outs(char *s) - outputs a string, to the screen only
(not to remote user).
void tleft(int x) - updates time left display at top of
screen. If x is non-zero, the user will be hung up on if
his time is expired. If x is zero, time display will be
updated, but user won't be hung up on.
void topscreen() - updates top of screen info.
char *mmkey(int n) - inputs data for the main menu.
odc below.
30.3.D
see
global variables:
int using_modem - is non-zero if there is a remote user
int hangup - is non-zero if the user has hung up.
BE AN EXIT CONDITION FOR ALL LOOPS THAT DO I/O.
MUST
userrec thisuser - holds information about the current user
int usernum - holds user number of current user
configrec syscfg - holds system configuration. SHOULD NOT
BE MODIFIED IN PROGRAM. The data in here should be changed
ONLY in init, the main BBS should use this as READ-ONLY.
statusrec status - holds current stats information.
char odc[81] - If you want to have an input like the main
menu (ie, certain characters mean get a second character,
ie, you hit O at main menu, it goes right to that function,
hitting / will get another character), set odc to a string
containing the characters you wish a second character for,
then call mmkey(2) - will return a pointer to a string for
the data entered.
ie, if you want to enter a number 1-19, you have to get a
second character if the user hits one, so you'd say:
char *ss;
strcpy(odc,"1");
ss=mmkey(2);
Then ss can point to a string "1", "5","15","1X", "G","19",
etc.
char curspeed[80] - string holding current baud rate in use,
can be "KB","300","1200","2400","9600", or "19200".
char crttype - screen mode currently active (7 means
monochrome display).
30.4
Contacting the Author
OK, that's all I can think of for now. Any questions,
or comments, please f-back me on my system, 310-798-9993-300/1200/2400/V.32bis/HST/24 hrs. Anything you think I
left out or could expand upon more, tell me, and I'll have
that in the next version of the source docs. If you wish
to write me via US mails, write to Wayne Bell care of
WWIV Software Services
PO Box 720455
McAllen, TX 78504-0455
30.5
Defines in v4.23
v4.23 offers many different options to the registered
sysop. Many of these options are in the form of defines. A
define is ON when it is uncommented (ie not surrounded by /*
and */) and is OFF when it is commented. To facilitate the
registered sysop's locating these defines, they have been
gathered together at the end of VARS.H. What follows is
a brief explanation about what each of the defines
accomplishes so that you may determine which ones you wish
to include.
In the discussion below, "Status" will be either
necessary or toggle. A Status of necessary indicates that
the define MUST exist and MUST be ON. You may change the
values that are used but you must be certain that the
function is not commented out else you will definitely have
problems. On the other hand, the status of toggle refers to
defines that may be either "on" or "off." The board will
function either way.
30.5.A
#define TOPCOLOR
0x1f
Status: Necessary
This is the #define that determines the color of the topscreen information. This is a hexadecimal number, where
the first digit is the background color, and the second
digit is the foreground color.
The colors are as follows:
0
1
2
3
4
5
6
7
=
=
=
=
=
=
=
=
Black
Blue
Green
Cyan
Red
Magenta
Brown
LightGray
8
9
a
b
c
d
e
f
=
=
=
=
=
=
=
=
Dark Gray
Light Blue
Light Green
Light Cyan
Light Red
Light Magenta
Yellow
White
The background color (the first digit) may be anything in
the left column, and the foreground color (the second
digit) may be anything in either column. Note that making
both the same will make the topscreen unreadable. Depending
on display adapter and monitor, there may be other
illegible combinations as well. The default is white on
blue.
30.5.B
#define F1COLOR
0x1f
Status: Necessary
This #define governs the color attributes of the local
sysop F1 user editor window. The colors are selectable as
described for the TOPCOLOR #define.
30.5.C
#define LINE_EDIT_COLOR
0x70
Status: Necessary
This #define determines the color attributes of editable
fields (for instance the current field in the F1 user
editor). The colors are selectable as described for the
TOPCOLOR #define.
30.5.D
#define CHAT_SELECT_COLOR
0x5f
Status: Necessary
This #define determines the color attributes of the chatname selector window (what you see when you hit F10). The
colors are selectable as described for the TOPCOLOR
#define.
30.5.E
#define MAIL_WHO_FIELD_LEN 35
Status: Necessary
When listing out email, the screen is broken in half. The
left half displays who the mail came from and the right
half shows all or part of the title of the mail. This
#define determines the width of the part that shows who
the mail is from. Increasing this number means that the
area reserved for the title is shortened.
30.5.F
#define OPT_CALLBACK
Status: Toggle
This #define, if not commented out, enables callback verification. Look in NEWUSER.C to see more #defines associated
with callback verification. This option can be used without OPT_AUTOVAL, but OPT_AUTOVAL cannot be used without
this option. Please refer to discussion at 30.5.G and 30.6.
You have the ability to define a TRASHFON.TXT which is
similar in function to the TRASHCAN.TXT except that it is
for phone numbers only. The system will NOT try to call a
number listed in the TRASHFON.TXT. Numbers should be listed
one per line and must end with END.
30.5.G
#define OPT_AUTOVAL
Status: Toggle
This #define, if not commented out, enables a full-featured
auto-sysop-validator in NEWUSER.C. Do not leave this
#define'd and >also< #define OPT_SIMPLE_ASV (see below).
Only one of the two autoval options should be #define'd. Of
course, you may comment out both and have no ASV if that is
desirable. This OPT_AUTOVAL requires use of OPT_CALLBACK.
The OPT_AUTOVAL define checks to see if the person seeking
sysop autovalidation is listed in one of the networks to
which you belong. If he is not there, then auto-validation
is not available on this call. Please see additional discussion in this chapter at 30.6.
30.5.H
#define OPT_SIMPLE_ASV
Status: Toggle
This #define, if not commented out, enables a very simple
ASV, where the settings for the Alt-F10 key (if not
standard) are used for visiting sysops. In addition, the
user gets an exemption of 9 (post and upload). Do not
enable this #define >and< enable OPT_AUTOVAL - only one
should be used, at most. The OPT_SIMPLE_ASV does not
check any of the network listings to determine if access
should be granted on the first call. The ALT F10 key,
to work for simple ASV must be set to SL greater than that
of newuser and less than 100. The OPT_SIMPLE_ASV also
will print ASV.MSG (ANS or B&W) from GFILES; however, you
must create the file yourself. Typically the file will
say something like, "You have been validated as a visiting
sysop. If you have lied about your sysop status, your
account will be deleted. If you entered YES, by mistake,
please tell the sysop.
30.5.I
#define OPT_EXTRA_COLOR
Status: Toggle
Adds some extra color at the main prompts and so forth. If
the board looks a little bland, make sure this line is not
commented out.
30.5.J
#define OPT_TWO_WAY_CHAT
Status: Toggle
This #define, if not commented out, enables two-way chat if
the caller supports ANSI.
30.5.K
#define OPT_SHOW_HIERARCHY
Status: Toggle
If not commented out, this #define will show a "tree" view
of the conferences and subs/dirs when editing conferences,
conferences at the top level, and then all the subs/dirs in
that conference.
30.5.L
#define OPT_POSTTIME_COMPENSATION
Status: Toggle
If not commented out, this #define will restore users' time
for posts. If you have a person that posts a LOT, this can
greatly extend their available time online.
30.5.M
#define OPT_NEW_EXTRACT
Status: Toggle
If not commented out, then
they will go to the GFILES
If commented out, then you
choices on extraction, and
transfer area.
30.5.N
when you extract posts/mail,
dir, or to a path you specify.
get a menu with a few more
may extract posts directly to a
#define OPT_IDZ_AS_DESCRIPTION
Status: Toggle
WWIV now supports FILE_ID.DIZ and DESC.SDI files as file
descriptions. If this #define is commented out, then the
description in the description file is put entirely into
the extended description, else the first line of the description file is used for the file description in WWIV and
the other lines go into the extended description.
30.5.O
#define OPT_CHAIN_REG
Status: Toggle
If not commented out, this #define allows people to
"register" chains. In other words, a user might buy a
favorite chain (door) for a system, and then would be
listed as the person who registered it.
30.5.P
#define OPT_SETLDATE
Status: Toggle
If not commented out, the user is asked for the date
specification when doing a file newscan after message base
newscan.
30.5.Q
#define OPT_NEW_CHATSOUND
Status: Toggle
This #define, if enabled, gets rid of the old "screecher"
chat and replaces it with a somewhat more aesthetically
pleasing sound (which can be easily edited in the source
code).
30.5.R
#define OPT_FAST_SEARCH
Status: Toggle
If not commented out, this #define enables a fast binary
search of a filename table when searching for dupefiles on
uploads. This can cut the time involved for such a search
from several minutes to about 1 second. The ALLOW.DAT
can be created originally by running WWSORT.EXE which is
supplied to registered users with v4.23.
//AE at mainmenu or dlmainmenu (or //ALLOWEDIT), enables
adding or deleting filenames from ALLOW.DAT (if
OPT_FAST_SEARCH #define'd).
30.5.S
#define OPT_PACKSCAN_FREQ
Status: Toggle
If not commented out, this #define allows file requesting
via PackScan's FILEREQ.EXE program, when reading SSMs that
inform of uploads on other boards.
30.5.T
#define OPT_MAIL_PROMPT
Status: Toggle
If this #define is enabled, the available options are shown
at the mail read prompt.
30.5.U
#define OPT_CAN_SAVE_SSM
Status: Toggle
If enabled, this #define allows people to not auto-delete
their short messages. Be aware: if you get lots of short
messages, then you may want to disable this option, or you
will get a Y/N prompt for each short message.
30.5.V
#define OPT_REGISTRATION
Status:
Toggle
If enabled, this will allow the sysop to set registration
and expiration dates for individual users in UEDIT ('X'
being the key to edit those fields). Primarily of use to
systems that ask a registration fee for higher access for
an interval of time or other similar scenarios.
30.5.W
#define OPT_FORCE_FEEDBACK
Status:
Toggle
If enabled, then a new user who does not leave feedback to
the sysop is not validated and the software hangs up on him
after sending an optional file message (NOFBACK). Thus,
if the sysop wants to tell the user why he is being logged
off, the NOFBACK.MSG or NOFBACK.ANS or NOFBACK.B&W will be
shown as appropriately before the carrier is dropped. When
this option is enabled, the new user would have to relog on
again, re-entering his information before he could use the
BBS.
30.5.X
OPT_MSG_TAG_ABILITY
Status:
Toggle
This option permits the sysop to add BBS tags to posted
messages. This method ensure that Taglines begin with
^D (CTRL D) characters to that the optional lines setup
in defaults and in BOARDEDIT will work correctly. This
should be extremely useful for those boards that are on
networks.
If tags are permitted on a subboard (as defined in
BOARDEDIT), then, if a tagfile is located, the tag will
be added to the message. The order that the software looks
for tags is:
a)
b)
c)
d)
e)
30.5.Y
net_data\<subtype>.tag
net_data\general.tag
data\<subtype>.tag
data\general.tag
gives up, couldn't find a usable tag file
OPT_SLASH_S_Z
Status: Toggle
This option allows the Sysop to turn on or off the ability
for user's to use /S and /Z. /S allows user to obtain a
file listing of all files available to him as a downloadable file. Since this took a lot of time for sysop's
having large hard disks and/or CD-ROMS, it was necessary
to have a way to turn off the option. /Z makes a downloadable file of all new, unread messages that the user has
access to; again, because this often took a long time, it
has been made into an option.
30.5.Z
OPT_FSED_EXT_DESC
Status: Toggle
If enabled, allows use of fullscreen editors for extended
descriptions (if the user has a FSED enabled in defaults).
30.6
OPT_AUTOVAL and OPT_CALLBACK
1.
Feature calls back new users at a phone number they
specify.
2.
Checks new users voice and data phone numbers against
existing users and advises sysop of duplicates. The
user is allowed; but the sysop is informed.
3.
Checks new users voice and data phone numbers against
trasfon.txt. If the number is in there it hangs up on
him. Got a problem user, put his number in trashfon
and he'll never be able to register from that number
again.
4.
As a fringe benefit the system can call the sysop back
at any number once he logs on to his system.
5.
The sysop autovalidation is not a stand alone feature.
It requires the use of the callbak verification to
validate the data number.
6.
Related defines:
#define CALLBAKSL 10
/* added to newusersl */
#define CALLBAKDSL 10
/* added to newuserdsl */
#define FORCE
/* callbak is not optional */
#define SYSOPSL 80
/* added to newusersl */
#define SYSOPDSL 80
/* added to newuserdsl */
#define AREACODE "319-"
/* dash required */
#define PASSWORD1 "you're kidding"
/* bypass callbak Upper only */
#define PASSWORD2 "you're kidding"
/* bypass callbak Upper only */
#define PRELCL ""
/* before dial local */
#define POSTLCL ""
/* after dial local */
#define PRELONG ""
/* before dial ld */
#define POSTLONG ""
/* after dial ld */
7.
This option also employs a callback.msg which belongs
in GFILES. The message should provide instructions to
the user regarding what to expect for the callback
option to work.
ZIP-CIT is a sub dir in data nad gets all the files.
8.
The CALLBACK option will work without OPT_AUTOVAL;
however, the OPT_AUTOVAL requires the CALLBACK option
to be enabled. OPT_SIMPLE_ASV does NOT require the
callback option.
Chapter 40
ÉÍÍÍÍÍÍÍÍÍÍÍÍ»
º References º
ÈÍÍÍÍÍÍÍÍÍÍÍͼ
Products created by other authors have been mentioned
throughout this documentation. These authors or companies
may be contacted as follows:
PRODUCT:
Author:
DSZ, GSZ, Zmodem
Chuck Forsberg
Omen Technologies, Inc.
P.O. Box 4681
Portland, OR 97208
PRODUCT:
Author:
HS-LINK
Samuel H. Smith
The Tool Shop
P.O. Box 4808
Panorama City, CA 91412-4808
PRODUCT:
Author:
MpT Protocal
Matthew Thomas
P.O. ox 4694
Racine, WI 53404
PRODUCT:
Author:
ARJ Archiver
Robert K. Jung
2606 Village Road West
Norwood, MA 02062
PRODUCT:
Author:
TheDraw
TheSoft Programming Services
1929 Whitecliff Court
Walnut Creek, CA 94596
PRODUCT:
Author:
Book Reader
Chuck Walden
United Computer Services
711 Nolan Loop - Suite 203-D
Mc Allen, Texas 78504
Phone (210)-631-1700 BBS-(210)-631-0899
PRODUCT:
Author:
QEDIT
SemWare
4343 Shallowford Rd.
Suite C-3
Marietta, GA 50062-5003
PRODUCT:
Author:
LIST utility
Vernon D. Buerg
139 White Oak Circle
Petaluma, CA 94952
PRODUCT:
Author:
Pkzip, Pkunzip
PKWARE, INC.
7545 N. Port Washington Rd.
Glendale, WI 53217-3422
© Copyright 2026 Paperzz