Dec 252017
 
Simplex BBS for OS/2. Documentation. version 1.05 (Nov. 1991).
File S105DOC.ZIP from The Programmer’s Corner in
Category BBS Files
Simplex BBS for OS/2. Documentation. version 1.05 (Nov. 1991).
File Name File Size Zip Size Zip Type
SIMPLEX.DOC 200561 43682 deflated
SOURCE.DOC 5165 1834 deflated
URGENT.DOC 33959 9367 deflated

Download File S105DOC.ZIP Here

Contents of the SIMPLEX.DOC file























Simplex BBS - (c) 1989-91
Chris Laforet Software/Christopher Laforet
All Rights Reserved.









Chris Laforet can be contacted at:

The Programmer's Oasis BBS - Graham, NC - 919/226-6984
The Programmer's Oasis 2 BBS - Graham, NC - 919/226-7136
FidoNet Mail 1:151/401 or 1:151/402 as Chris Laforet
CompuServe Email - User ID: 76120,110
Genie Email - User ID: XTX74591
BIX Email - User ID: laforet





Programming by Chris Laforet
Unauthorized Selling/Renting Prohibited
Documentation Title Page/Help Files/Etc by Robbie Foust






_________________________________________________________________

Chapter 1
Chapter 1

Legalistic Mumbo-Jumbo (i.e. Better Read This Stuff)
Legalistic Mumbo-Jumbo (i.e. Better Read This Stuff)
_________________________________________________________________




Simplex is copyright (c) 1989-91, Chris Laforet Software and/or
Christopher Laforet. This copyright is waived for the
distribution of the executable files for Simplex. This means
that you are free to distribute the Simplex executables as you
wish as long as they are contained in the original form in which
you received them.

Simplex executables as released by Chris Laforet Software are
absolutely free of charge to individuals and corporations. Sale
of any of these executables is in violation of this agreement and
is subject to court action. The only exception to this is
shareware and freeware software distribution houses are allowed
to charge for distribution materials (e.g. diskettes). Even
though it is free for use, if you want to send a contribution to
Chris Laforet Software, be assured that it will be cheerfully
accepted!

The source code for Simplex is available for purchase from Chris
Laforet Software. When you purchase this code, you are granted
an exclusive license to modify it for your own use. The
executables that you produce must never be distributed in place
of the original executables as compiled and distributed from
Chris Laforet Software unless you arrange a royalty system with
Chris Laforet Software. During the course of your modifications,
should you develop a feature which you believe should be a part
of the distributed Simplex executables, you may submit the code
to Chris Laforet Software for review and for possible
incorporation into Simplex, as long as such incorporation does
not place Chris Laforet Software and/or Christopher Laforet under
any monetary obligations. Your submitted code must include a
cover letter indicating that you are freely granting permission
to Chris Laforet Software for the incorporation of your code into
Simplex.

Should you wish to purchase Simplex for use as a platform for
another product, or wish to convert Simplex to another language
(French, Japanese, Swahili) or to another operating system (Atari
ST, VAX, AX-400), and wish to market the resultant product,
contact Chris Laforet Software and a royalty agreement can be
developed. Royalties generally range somewhere between 10% and
15% of the sales price of the product, but each case is different
and merits discussion.



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 2
Page 2







There are no warranties of any kind, explicit or implied, on the
Simplex software. Simplex's executables are provided on an "AS
IS" basis. What this means is that if you decide to use Simplex,
it is at your own risk. In plain English, this means that if you
use Simplex and your machine blows up, the developers and
distributors of Simplex are not responsible in any fashion. If
you use Simplex and it loses all of the files on your disk, once
again the developers and distributors of Simplex are not to be
held accountable. While these scenarios are rather extreme in
nature, they serve to indicate that Chris Laforet Software and/or
Christopher Laforet does not warrant, guarantee, or make any
other representations regarding the use, or results of use, of
Simplex or its documentation in terms of accuracy, reliability,
correctness, currentness, or otherwise.

Simplex has been developed and alpha tested on a 386-20 running
OS/2 1.xx. Two copies of Simplex using US Robotics Courier
HST/v32bis 14.4Kbaud Dual-Standard baud modems run simultaneously
24 hours/day on this setup.



































--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 3
Page 3






_________________________________________________________________

Chapter 2
Chapter 2

Introduction to Simplex
Introduction to Simplex
_________________________________________________________________




Simplex is a package created for the running of a Bulletin Board
System (BBS). The development of Simplex arose out of Chris'
personal gripes insofar as his inability to either fix bugs or
add features to other BBS packages. From the outset, Simplex was
designed to be an easy-to-use BBS system, with source code
available (at a price!) to anyone who might be interested. On
the other hand, Simplex's executables are meant to be distributed
as public-domain material. There are many good BBSes out there,
ones which have cost their SYSOPs (System Operators) lots of
money to purchase the necessary hardware. There is no reason on
earth why they also have to ante up lots of money for their BBS
software.

Simplex is somewhat based on the user interface of QuickBBS. It
is said that imitation is the sincerest form of praise, and it is
in praise of QuickBBS' logical user interface (like P for Pause!)
that Simplex emulates certain of its characteristics.

Simplex is currently available for DOS or OS/2. It is currently
being ported to UNIX also. Simplex is going to be produced in a
multiuser version for OS/2 in the future. There are no plans to
make the DOS version multiuser, but once it has been ported to
UNIX, Simplex should be multiuser there.






















--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 4
Page 4






_________________________________________________________________


Chapter 3
Chapter 3

Installing Simplex
Installing Simplex
_________________________________________________________________




DOS users of Simplex will require a FOSSIL driver such as Ray
Gwinn's excellent X00 package. FOSSILs are available on most
BBSes and services. A FOSSIL driver is a special program which
provides an interface to communications ports. OS/2 users do not
have to use a fossil since OS/2 supports communications ports
with interrupt-driven drivers.

Please take careful note: Simplex users must have a modem which
Please take careful note:
is capable of CTS-RTS handshaking (many 2400 baud modems control
this with &R1). Also, Simplex requires that DTR controls the
on-line state of the modem (most 2400 baud modems control this
with &D2) and CD (carrier detect) must correctly follow the
remote's carrier (controlled with &C1 om many 2400 baud modems).
Without these criteria being met, Simplex probably will not work
on your system.

DOS users of Simplex must set up to have a sufficient number of
file handles available for Simplex to run. This is done by
editing/creating a file called CONFIG.SYS which is found in the
root directory of the boot drive (A: or C:) and ensuring that
there is an entry that sets files greater than or equal to 30.
If it is there, but less than 30, change it to 30. If it is not
there, add a line that says:

files=30

and then save your changes. The machine must then be rebooted to
install the changes. OS/2 users of Simplex do not have to do
anything special to raise their file handles.

OS/2 users might want to play with their timeslice statement in
their config.sys to achieve a smoother flow of the BBS. On the
386-20 at Chris Laforet Software, a timeslice of 32,96 appears to
achieve acceptable results. The priority statement should be
set to dynamic and the maxwait should be 1 or 2. The memman
statement should include swap and move, especially if your system
suffers from RAM cram. If you are planning to run your machine
as a dedicated BBS, then autofail should be set to yes so that
your system will handle fatal system errors and not hang waiting
for keyboard input. Here is a sample from the 386-20 that runs
the Programmer's Oases BBSes:




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 5
Page 5







autofail=yes
pauseonerror=no
threads=96
maxwait=1
priority=dynamic
timeslice=32,96



3.1-Simplex and Answering the Phone
3.1-Simplex and Answering the Phone
_________________________________________________________________




Simplex will answer the phone by itself as long as your modem
returns string results (like Hayes). In CONFIG you can configure
your modem's strings for Simplex to monitor. If you are running
a FidoNet or other network node, then you will probably have a
front-end mailer answer the phone for you. See below for more
details of using a mailer.

If you are running Simplex as a simple host program, you might
want to use the ringback feature. This feature permits you to
use your voice line for your host and not have to worry too much
about your modem answering the phone and surprising one of your
friends! How this works is that a person wishing to call your
host rings the number and allows it to ring less than 5 times.
This will then arm the answer feature. They can then call back
in less than 40 to 50 seconds and the modem will answer them.
After they hang up, the system will be back in an unarmed state.



3.2-Setting Up Simplex BBS Paths
3.2-Setting Up Simplex BBS Paths
_________________________________________________________________




Simplex should have a special directory for its configuration,
message, and userlist files. This directory can be shared with
other programs if so desired (for example, with the front-end
mailer's configuration files). It also requires a directory for
its menu files, a directory which should be used exclusively for
these files. Simplex also requires a directory for its screen
files. It is advisable to create 3 subdirectories, say \SIMPLEX
(for the configuration, message, and userlist files),
\SIMPLEX\MENUS (for the menu files), and \SIMPLEX\SCREENS (for
the screen files).




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 6
Page 6







Simplex and its utility programs respond to the SIMPLEX
environment variable (SET SIMPLEX=path of Simplex configuration
file). It is advisable to place this set statement in your
autoexec.bat file (in DOS) or in your config.sys (in OS/2) so
that Simplex and its utilities can always find their home
directory.

If you are planning to run a Net node with Simplex, you also need
an inbound directory where your front-end mailer places files
bound for your node. There also needs to be an outbound
directory in which your Simplex system will place files for your
front-end mailer to send to other nodes. These could be called
\SIMPLEX\INBOUND and \SIMPLEX\OUTBOUND and must be set up in both
Simplex's configuration as well as your front-end mailer's
configuration.

Simplex requires two other directories to handle its normal Net
mail duties. These are a matrix directory where it tosses mail
as standard FSC-0001 message files during exportation/forwarding,
and a packet directory which it uses as a scratch area while
unpacking inbound mail. These could be called \SIMPLEX\MATRIX
and \SIMPLEX\PACKET. Please notice that Simplex maintains its
packet directory and thus it should only be used by Simplex
itself.



3.3-Presumptions Underlying Simplex's Net Mail
3.3-Presumptions Underlying Simplex's Net Mail
_________________________________________________________________




Net mail has been implemented in Simplex 1.04 with a number of
underlying presumptions. The first and foremost of these is that
all users should have access to Net mail. The second of these is
that file attaching should be controllable by the Sysop and
access to this feature should be granted exclusively by him/her.
The third of these is that when Echomail discussions get off-
topic, they should be taken to netmail.

The first presumption is demonstrated when a user without mail
credit decides to enter a Net message. They are permitted to
send the message, but can only choose to send it as Routed mail
or as Held mail. If the user has sufficient credit, they can
send it as Direct mail or either of the previous two types.

Simplex looks at mail as a three-layered system. These three
layers are as follows (compared with oMMM's mail extensions):

Direct Mail oMMM's CM



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 7
Page 7







Routed Mail oMMM's Normal
Held Mail oMMM's Held

Direct mail is mail that is intended to be sent DIRECTLY from
your node to the destination (whether this is indeed how it is
sent depends upon the Sysop!). Routed mail is that which is
supposed to follow a routing path through the network. Held mail
is that which is supposed to be held for pickup by another node
which polls yours at specific intervals.

Notice that the three-layered system is all theoretical. For
example, none of my nodes sends Netmail bound for international
locations directly to them, regardless of if the message was
specified as being Direct. It is much cheaper to send direct
mail to the specified Zone gates and let them be routed from
there. On the other hand, if someone enters a message to a local
node and specifies that it is to be Held, it is transformed to
Direct mail and sent immediately (since the node is local, it
doesn't cost anything, right?).

The way that you implement the three-layered system is controlled
by your use of SMP (or SMP/2) to handles your specific routing
needs. SMP's routing verbs are discussed later on in this file.

The second presumption in Simplex is that the option to Netmail
file-attaching is under control of the Sysop. How this control
is exerted is by means of a flag in the user's record. The Sysop
must be careful with who is granted the privilege of file-
attaching since a hacker can easily file-attach critical files
(like userlist.bbs?) to themselves at another node if they have
any idea how your system is laid out!! Please notice that the
local file-attaching feature works differently. Only files from
a specific sysop-specified directory can be attached to another
user on the same system.

The third presumption in Simplex is that Echomail discussions
should go over to Netmail when they start drifting off-topic.
This is implemented by a special option that appears while
reading Echomail messages which permits users to reply directly
to the message using Netmail. Notice that the user can only
enter Routed or Held Netmail if they don't have enough/any
credit!












--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 8
Page 8







3.4-Installing A Net Node
3.4-Installing A Net Node
_________________________________________________________________




If you want to use Simplex as a Net node, you will need to use
some sort of a front-end mailer software such as BinkleyTerm or
FrontDoor. This software is needed in order to handle mail
transactions between your node and other Net nodes. Whatever
mailer you use must comply with oMMM message bundle formatting
(unless you choose to write a message handling interface between
your mailer and Simplex).

Simplex needs a special directory which it uses as an interface
to the front-end mailer. Traditionally, this directory has been
named the MATRIX directory. This directory is used during the
exportation/forwarding of messages from Simplex to other nodes.
The format of these messages is the standard FidoNet message
format as outlined in their FSC-0001 standard (1.MSG, 2.MSG,
etc.). These messages are then taken by mail bundlers such as
oMMM or SMP and bundled for the front-end mailer. It is
essential that this directory not be used for anything else.

Simplex also needs a special directory where inbound bundles and
message packets are placed. Traditionally, this directory has
been called INBOUND. The front-end mailer will place the inbound
bundles in message packets here once they have been successfully
received. Simplex's mail utilities will scan this directory for
any unpacked bundles or packets which it would proceed to unpack.
It is not essential that this area be used exclusively for
inbound mail since Simplex searches for bundles and packets based
on their file extensions.

Simplex requires a special directory which can be used as a
"scratch" area. This directory is essential and must be used
exclusively by Simplex. It is suggested that you call this
directory PACKET since it is used to hold unarchived inbound mail
bundles. This directory is essential because once the mail is
unarchived, the archives are deleted. If the packets are not
unpacked for any reason, they will remain intact until Simplex's
mail utilities are run once again. This directory along with the
inbound directory is searched for message packets every time
Simplex's mail utilities are run.

All members of a FidoNet compatible network are listed in a file
called a nodelist. In order to be able to communicate with other
nodes, BBS and mailer software must have access to this nodelist.
Simplex is no exception to this rule. It requires that the
nodelist be compiled using any Version 6 nodelist compiler
(Version 6 nodelists are used by BinkleyTerm, Opus, and many



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 9
Page 9







other FidoNet utilities) such as ParseList. Simplex must know
exactly where to find the compiled nodelist.

Simplex requires a Net node's address. This address uniquely
identifies the node during communications with other Net nodes.
A FidoNet-compatible address consists of a Zone (read continent
or network), a Net, and a Node number such as 1:151/401 which
identifies Simplex's "home" node as being in Zone 1 (Fidonet,
North America), Net 151 (Eastern North Carolina), and Node 401 in
that net. While use of the Zone number is not absolutely
essential at this time and it is perfectly acceptable to list
your Zone number as 0, such use should be frowned upon in a
network which is worldwide in nature! Hence Simplex does
somewhat attempt to enforce the use of the Zone number.

Finally, Simplex needs a nodelist. The nodelist must be compiled
with any nodelist compiler that produces a "Version 6" nodelist.
This is the same type of nodelist used by Opus and
BinkleyTerm. Nodelist compilers such as Parselst produce the
correct formatted nodelist files.



3.5-Setting up a non-Net BBS
3.5-Setting up a non-Net BBS
_________________________________________________________________




In order to run Simplex without Net support, a Sysop needs to
make sure that none of the following conditions are true:

1. There is no path set pointing to the nodelist in section
4 of CONFIG.
2. There is no node address in section 1 of CONFIG.
3. There are no message areas marked as being Net mail.

Once these conditions are checked, Simplex will not attempt to
start up with a nodelist.



3.6-Configuring Simplex with CONFIG
3.6-Configuring Simplex with CONFIG
_________________________________________________________________




Configuration of Simplex is rather simple using CONFIG.EXE (in
OS/2 it is CONFIG2.EXE). In DOS using some old CGA systems,
direct screen writes cause "snow" on the screen. If you run



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 10
Page 10







CONFIG and get snow, exit and then run it with CONFIG -S to
enable retrace ("snow") checking. If you are runnning with a
monochrome VGA setup or something similar, you might want to use
the -M flag to select "Monochromatic" colors.

Essentially Simplex is a menu-driven program which is
straightforward to use with the following exceptions:

1. When you make changes on a text field you MUST hit
Enter on the field to keep them.
2. When you change a screen of options, you may hit hit
Alt-X, Alt-Q or ESC to exit back to the menu and keep
the changes.
3. When editing menus, pressing PgUp, PgDn, or Alt-X will
keep the changes. Pressing ESC aborts the changes on
the current menu page only.
4. To go forwards to a specific field without affecting
the contents of any other fields, press Tab. To go
backwards use Shift-Tab.
5. On multiple choice options, you may select the
letter/number corresponding to the choice that you
wish, hit Enter or Tab to skip past it without making a
change, or hit Shift-Tab to skip back to the previous
option.
6. On scrolling, light-bar menus, use your Arrow keys to
select the option that you wish. You may also hit the
first letter of an option to get to the first option
matching that letter. Ctrl-PgUp and Ctrl-PgDn move a
"page" of options at a time.
7. Always remember that your ESC key backs you out without
saving changes!

Option 1: This screen allows you to configure your BBS info.

- You must enter your BBS Name and Sysop Name.
- If you provide your Sysop name in the same form as your
login, messages addressed to Sysop will be directed to
you.
- If you run a Net node, then you must also provide your
address and an origin line to use in Echomail messages.
The origin line will be appended to the bottom of
Echomail messages along with your node number unless

you have configured a special origin line along with
the message area (see option 6).

Option 2: This screen allows you to configure your modem
parameters.
- You must set up your modem's maximum baud rate.
- If your modem can support locked DTE-DCE rates, you may
select "Yes" for locked baudrate. If the baudrate is




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 11
Page 11







locked, then any time Simplex sets a baud rate, it will
always be set to the maximum baud rate.
- You also can indicate if your modem is slow to respond
to commands, and set the minimum baud rate a user has
to have to log on to Simplex and the minimum baud a
user has to have in order to see ANSI color screens.
- Notice that in modem configuration strings the |
character indicates Carriage Return and the ~ character
indicates a 0.5 second pause.

Option 3: This screen allows you to configure Simplex's usage
options.
- Private BBS operation means that if someone is not in
the userlist, they are not allowed to log in.
- Disable local keyboard means that by default the
keyboard is disabled from being active while someone is
logged in (this can be toggled on and off with Alt-K
while Simplex is running.
- You can select if the user must provide a full address
when they log in, or just their city/state as well as
if they have to provide their phone numbers.

Option 4: This screen allows you to configure Simplex's paths.
Some of these paths are only for Net mail and can be
ignored if you are not going to run a Net node.
Nodelist path is one of these.

Option 5: This screen allows you to configure the archiver
command lines for archivers available on your system.
- This option is needed for Net nodes and for systems
that allow downloadable mail.
- NOTICE: All archivers must exit with a 0 errorlevel if
the archiving was a success. Any other return value is
taken by Simplex to mean that the archiving process
failed.

Option 6: This section permits you to edit/add/delete message
boards for your Simplex system. Use PgUp and PgDn keys
to scroll through each message board. The number of
the message board is used in menu options. Message
boards may be numbered any value from 1 through 9999,
depending on your preferences. The message board name
is shown to the user while reading messages. Message
board types may be Local, Net Mail (can be multiple
areas for Net mail linked to different Net and AKA-Net
addresses), Echomail (can also be linked to different
Net and AKA-Net addresses), or Local Fileattach.
Message boards may allow messages which are private
only, public only, or both public and private. The
read and write privilege levels are the minimum user
levels to be able to read and post messages on the



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 12
Page 12







board. The sysop privilege level is the minimum user
level required to have access to sysop's message
options like Export and Move messages. If the area is
an Echomail area, you can also specify a special origin
line to be used in lieu of the default origin line for
that area only.

Option 7: This section permits you to edit/add/delete file
boards for your Simplex system. As in option 6, use
PgUp and PgDn to scroll through each file board. The
number of the file board is used in menu options. File
boards may be numbered from 1 to 9999. The file board
name is shown to the user during searches across areas.
The search privilege level is the minimum user level
needed in order to get access to the file area in
searches across areas. The file path is the path to
the file area. This area should contain files for the
area along with a FILES.BBS file (see description
below). In most cases the alternate path to FILES.BBS
should be left blank (it defaults to the file area
path), it is only included for special systems such as
CD-ROM units which must have a FILES.BBS in a directory
on the hard drive separate from the regular file path.

Option 8: This section allows you to edit/add/delete events for
your Simplex system. The event title will be shown to
the user if their online time is going to be cut short
by a pending forced system event. You may select the
weekdays and time that the event is supposed to occur
and the errorlevel that Simplex exits with if the event
occurs. You may set an event to be forced or not. In
Simplex, an event is "forced" if it will exit even if a
user is online. If an event is not "forced", it will
only exit if Simplex is sitting idle when the event
occurs. Should you wish to temporarily suspend an
event without deleting, you may mark it as not enabled.
PLEASE NOTICE THAT WHILE EVENTS DO NOT EXIT WITH THIS
RELEASE OF SIMPLEX, THEY WILL ACT TO LIMIT A USERS TIME
ONLINE AT SPECIAL TIMES OF THE DAY.

Option 9: This section allows you to edit/add/copy/delete menu
files. Use of this section rather straightforward.
Follow the prompts and help information. While the
menu editor is convenient for small fixes, the Simplex
Menu Compiler (SMC) is more convenient for laying out
complete menu systems. Bear in mind that some menu
options require data to be provided in the optional
data field while others do not. See below for more
details on menu types. Two points that must be
clarified here are the use of the expert and
autoexecute flags in menu lines. A user can toggle



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 13
Page 13







expert mode, a mode which should disable the showing of
menu options, only showing a list of hotkeys. However,
some lines of the menu should still show so that the
user knows where they are. One of these should be the
menu title line. Hence you can indicate with a "Yes"
to the expert mode question when you would like to show
menu lines to the expert mode user. Autoexecuting
menus options are done when the menu is being shown.
Any menu type can be autoexecuting, however some menu
types do not make sense if they are automatic. One use
of this feature is outlined in the description of the
type 49 option below.

Option 0: This section allows you to do primitive
editing/additions to users. This is not the best way
to handle users; using the internal Simplex user editor
is the preferred way of editing the userlist.





































--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 14
Page 14






_________________________________________________________________

Chapter 4
Chapter 4

Simplex Menu Types
Simplex Menu Types
_________________________________________________________________




This chapter gives a brief rundown of the types of menu options

available for menu development. Some of these require
information in the additional data fields, while others
do not and merely ignore the contents of said field.
Options in square brackets ([]) are optional.

Type 0: Show menu line. This option will merely show the
contents of the menu line and will not respond to any
hotkeys. Hence there is no need for a key value for this
kind of menu. It is mostly used to give menu titles and/or
blank formatting lines. Additional Data: None

Type 1: Call new menu - Add to return stack. This option will
show the contents of the menu line and if its corresponding
hotkey is triggered, it will attempt to call the menu name
specified in the data line. The current menu is pushed on a
stack so that a subsequent call to menu type 3 will return
to the current menu. If a password is provided, then the
user will be prompted for the password prior to being given
access to the new menu. Additional Data: Menuname
[Password] [/ Menu Template Macros]

Type 2: Goto new menu - Clear return stack. This option will
show the contents of the menu line and if its corresponding
hotkey is triggered, it will attempt to call the menu name
specified in the data line. The return stack is cleared and
the new menu becomes the new base of the stack. If a
password is provided, then the user will be prompted for the
password prior to being given access to the new menu.
Additional Data: Menuname [Password] [/ Menu Template
Macros]

Type 3: Return to previous menu. This option pops the current
menu off of the stack and returns to the previous menu.
Additional Data: None

Type 4: Replace current menu on return stack. This option will
show the contents of the menu line and if its corresponding
hotkey is triggered, it will attempt to call the menu name
specified in the data line. The new menu is put on the
stack and replaces the current menu so that a subsequent
call to menu type 3 will return to the current menu's



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 15
Page 15







previous menu! If a password is provided, then the user
will be prompted for the password prior to being given
access to the new menu. Additional Data: Menuname
[Password] [/ Menu Template Macros]

Type 16: Enter a message on board. This option permits the user
to enter a message on the specified message board.
Optionally the user may be logged off automatically after
exiting the message editor by specifying a /L on the data
line. THe logoff is exactly as if a type 255 menu option
was executed. The message may be forced to a specific user
by using the optional /T=user_name option. Please note the
"_" (underscore) between the user's firat and last names.
This will be changed into a space when the message is
actually entered. Additional Data: board# [/L]
[/T=user_name]

Type 17: Read messages on board. This option permits the user to
read public messages or private messages to him/her on a
message board. If the user's privilege level is greater or
equal to the message board's sysop privilege, then he/she
will be able to read all messages in the area. Additional
Data: board#

Type 18: Scan messages on board. This option permits the user to
see the headers for public messages or private message to
him/her on a message board. If the user's privilege is
greater or equal to the message board's sysop privilege,
then he/she will be able to see all the headers in the area.
Additional Data: board#

Type 19: Quickscan messages on board. This option permits the
user to see the basic headers for public messages or private
message to him/her on a message board. If the user's
privilege is greater or equal to the message board's sysop
privilege, then he/she will be able to see all the basic
headers in the area. Additional Data: board#

Type 20: Search userlist. This option permits the user to search
the userlist for a user's name and/or list all users on the
bbs. Additional Data: None

Type 21: Search for Net address. This option permits a user to
search for a specific Net node in the nodelist. Additional
Data: None

Type 22: Generate FREQ to Net address. This option permits the
user to generate network file-requests (in *.REQ files) to a
specific Net node. Additional Data: None





--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 16
Page 16







Type 32: List files on file board. This option opens the file
board's FILES.BBS and lists the files available in the area.
Additional Data: board#

Type 33: Upload file to file board. This option permits the user
to upload files to the specific file board. In local mode,
this option permits files to be copied from another
drive/directory into the file area. Additional Data: board#

Type 34: Download file from file board. This option permits the
user to download files from the specified file board. In
local mode, this option permits files from the file area to
be copied to another drive/directory. Additional Data:
board#

Type 35: Raw directory list of file board. This options permits
the user to get a raw directory of the files in the
specified file board. Additional Data: board#

Type 36: Contents of archive on file board. This option permits
the user to see the contents of .ARC, .PAK, .ZIP, .LZH, and
.ZOO files in the specified file board. Additional Data:
board#

Type 37: Show new files across file boards. This option searches
across file boards for files with dates later then the
user's last login or with dates later than a user-defined
date. Additional Data: board#

Type 38: Search for filename across file boards. This option
searches across file boards for a specified file name.
Additional Data: board#

Type 39: Search for keyword across file boards. This option
searches across file boards for a specified keyword in the
descriptions. Additional Data: board#

Type 40: Delete file on file board. This option permits the user
to delete files and description entries in the specified
file area. Additional Data: board#

Type 41: Read a text file on file board. This option permits a
user to read the contents of a file contained in the
specified file area. Additional Data: board#

Type 42: Download ONE special file from board. This option
permits a user to download a sysop-specified file from a
specified area. Additional Data: board# filename.ext






--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 17
Page 17







Type 43: Move file(s) from one file board to another. This
option permits the user to move files and descriptions to a
different board. Additional Data: source_board#

Type 48: Show ascii/ansi file. This option shows the user the
specified ansi or ascii file. Do not include the extension,
only the base filename. The file will not pause at the end.
Additional Data: filename

Type 49: Show ascii/ansi file with hotkeys. If this option is
used as an automatic executing menu option, the file
indicated in the data line will be shown to the user when
its menu line is being shown however the menu's hotkeys will
still be active! This permits you to design free-form menus
using an ANSI screen editor. As with a type 48 data line,
do not include the extension, just the base filename. The
file will not pause at the end, but will continue showing
any additional menu lines until the menu is finished. If
someone actually provides a hotkey for this menu type, it
will behave exactly like a type 48 (i.e. hotkeys are only
active when it is an automatic executing option with no
hotkey). Notice, this option will show screens regardless
of if the user has Expert mode on or off. Type 53 works
exactly like this option but only shows the files if expert
mode is off. Additional Data: filename

Type 50: Show ascii/ansi file with pause at end. This option
shows the user the specified ansi or ascii file. Do not
include the extension, only the base filename. The file
will pause at the end and prompt the user for Enter.
Additional Data: filename

Type 51: Answer questionaire file. This option leads the user
through a questionaire file if it is in the screens
directory. See below for more info on Simplex's
questionaire language. Additional Data: filename

Type 52: Show quote of the moment. This option will look in the
screens directory for a compiled quote file. If it exists,
it will "randomly" select a quote from it, show it to the
user and pause for the user to press Enter. See the SQUOTE
section for more details on quote files. Additional Data:
filename

Type 53: Show non-expert ascii/ansi menu with hotkeys. This
option is identical to the type 49 menu option. The only
difference is that this is not shown if a user has Expert
mode on. Additional Data: filename

Type 64: Change user's city/state. This option permits the user
to change his/her city/state. Additional Data: None



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 18
Page 18







Type 65: Change user's password. This option permits the user to
change his/her password. Prior to changing the password,
PASSWORD.A?? is shown (see below). Additional Data: None

Type 66: Change user's clearscreen status. This option allows
the user to toggle on or off his/her sending of clear-screen
codes. These are only sent is ANSI status is on.
Additional Data: None

Type 67: Change user's MORE status. This option allows the user
to toggle on or off his/her screen pausing status. These
are only sent is ANSI status is on. Additional Data: None

Type 68: Change user's screen length. This option allows the
user to toggle on or off his/her sending of clear-screen
codes. These are only sent is ANSI status is on.
Additional Data: None

Type 69: Change user's ANSI status. This option allows the user
to toggle on or off his/her sending of ANSI codes.
Additional Data: None

Type 70: Change user's default editor status. This option allows
the user to toggle between using the line editor and the
full-screen ANSI editor. The full-screen editor is only
entered if ANSI status is on. Additional Data: None

Type 71: Change user's novice/expert mode. This option allows
the user to toggle between normal menu mode and expert mode
(where only option letters are shown). Additional Data:
None

Type 72: Change user's home phone number. This option allows the
user to change his/her home number. Additional Data: None

Type 73: Change user's data/work phone number. This option
allows the user to change his/her data or work number.
Additional Data: None

Type 80: Enter an advertisement in ad area. This option permits
a user to enter an advertisement or user-posted bulletin in
an "ad" area. Ads are placed in a special file which is
indicated in the data line. The days argument indicates the
maximum amount of time that the "ad" can remain on the
system. The optional /R argument indicates the message
board number where replies to "ads" will be posted. If not
provided, the user is not prompted to permit replies.
Additional Data: filename /D=days [/R=board#]

Type 81: Read advertisements in ad area. This option permits a
user to read advertisements or user-posted bulletins in an



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 19
Page 19







"ad" area. The optional /R argument indicates the message
board number where replies to "ads" will be posted.
Additional Data: filename [/R=board#]

Type 82: Scan advertisements in ad area. This option permits a
user to scan the headers of advertisements or user-posted
bulletins in an "ad" area. Additional Data: filename

Type 96: Set a user's privilege level. This option sets the
user's privilege level to the value in the data line (1
through 255). This privilege level is written to the user's
record and is permanent. The user's time online is adjusted
to suit their new level. It is the equivalent of up or
downgrading a user from the keyboard. Additional Data:
priv_level

Type 97: Raise a user's time. This option adds the number of
minutes specified in the data line to the user's online
time. Additional Data: minutes_to_raise

Type 98: Drop a user's time. This option removes the number of
minutes specified in the data line from the user's online
time. Additional Data: minutes_to_delete

Type 99: Set flags in user's configuration. This option sets the
flags specified in the data line in the user's flags
configuration. The flags are presented as a string of
letters corresponding to the flags to set. There are 16
flags ranging from A to P. e.g. a data string of "AMjp"
will set the A. M, J, and P flags if they are not already
set. Additional Data: flags_to_set

Type 100: Delete flags from user's configuration. This option
unsets the flags specified in the data line in the user's
flags configuration. The flags are presented as a string of
letters corresponding to the flags to set. There are 16
flags ranging from A to P. e.g. a data string of "AMjp"
will delete the A. M, J, and P flags if they are set.
Additional Data: flags_to_delete

Type 101: Set the time of a user to an absolute time. This
option sets the user's time online to the number of minutes
specified in the data line. Additional Data: minutes_to_set

Type 102: Sysop Defined Log Entry. This option will cause the
data in the data line to be logged as a log entry in
SIMPLEX.LOG. Additional Data: message to log

Type 112: Set up combined message boards. This option allows a
user to select the message boards that he/she wants to use
for combined message reading and downloading. These



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 20
Page 20







settings are saved until they are changed. The user can
only select boards for which they have read permission.
Additional Data: none

Type 113: Read messages on combined message boards. This option
permits the user to read messages on the selected combined
message boards. Additional Data: none

Type 114: Scan messages on combined message boards. This option
permits the user to scan message headers that are on the
selected combined message boards. Additional Data: none

Type 115: Quickscan messages on combined message boards. This
option permits the user to quickscan message headers that
are on the selected combined message boards. Additional
Data: none

Type 116: Download messages from combined message boards. This
option permits the user to download all or only new messages
in the selected combined message boards. If archivers are
specified in option 5 of CONFIG, the user can then
optionally elect to archive the mail before downloading it
with a protocol. This option also requires that the file-
attach path be set in CONFIG. This path is used for the
preparation of downloadable mail. Additional Data: none

Type 128: Send files using Xmodem. This option permits users to
create their own download menu. The option will call the
Xmodem sending routines to request the files the user wants
and then to send them. Additional Data: board #

Type 128: Send files using Xmodem. This option permits users to
create their own download menu. The option will call the
Xmodem sending routines to request the files the user wants
and then to send them. Additional Data: board #

Type 129: Send files using Xmodem-1K. This option permits users
to create their own download menu. The option will call the
Xmodem-1K sending routines to request the files the user
wants and then to send them. Additional Data: board #

Type 130: Send files using Ymodem. This option permits users to
create their own download menu. The option will call the
Ymodem sending routines to request the files the user wants
and then to send them. Additional Data: board #

Type 131: Send files using Ymodem-G. This option permits users
to create their own download menu. The option will call the
Ymodem-G sending routines to request the files the user
wants and then to send them. Additional Data: board #




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 21
Page 21







Type 132: Send files using Zmodem. This option permits users to
create their own download menu. The option will call the
Zmodem sending routines to request the files the user wants
and then to send them. Additional Data: board #

Type 144: Receive files using Xmodem. This option permits users
to create their own upload menu. The option will call the
Xmodem receiving routines to request the files the user
wants to send and then to receive them. Additional Data:
board #

Type 145: Receive files using Xmodem-1K. This option permits
users to create their own upload menu. The option will call
the Xmodem-1K receiving routines to request the files the
user wants to send and then to receive them. Additional
Data: board #

Type 146: Receive files using Ymodem. This option permits users
to create their own upload menu. The option will call the
Ymodem receiving routines to receive the files. Additional
Data: board #

Type 146: Receive files using Ymodem-G. This option permits
users to create their own upload menu. The option will call
the Ymodem-G receiving routines to receive the files.
Additional Data: board #

Type 147: Receive files using Zmodem. This option permits users
to create their own upload menu. The option will call the
Zmodem receiving routines to receive the files. Additional
Data: board #

Type 240: Run a program from within SIMPLEX. This option permits
a user to run an external program. The data line contains
the command line to be passed to the command spawn function.
This function searches the path for the program to run.
There are certain $-escaped meta-commands which can be used
to pass data. These meta-commands MUST BE IN LOWERCASE.
The following meta-commands can be used as arguments to the
program:

$r = user's time left in minutes
$d = current date as mm/dd/yy
$t = current time as hh:mm
$f = user's first name
$l = user's last name
$a = user's ansi flag (ascii 1 if on or ascii 0 if
off)
$p = In DOS: comm port number (ascii 1 for com1). In
OS/2: comm file handle as a decimal ascii string




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 22
Page 22







$u = user's number in userlist as ascii decimal string
(0 is first)
$b = connect baud rate as ascii decimal string (0 is
local keyboard)
$k = Keep the user's time unaltered upon return from
the external program (except for recalculating
time due to a pending forced event). This
behaves like suspending the user's time while in
chat mode.
$* = DOS only: leave fossil hot (do not deinitialize)
before calling program (not considered an
argument to the program)
$e = stop and wait for Enter after running program
(not considered an argument to the program)
$## = Passes the pathname for the file board specified
by ##. For example, if file board 100 has its
path as d:\files\editors, then using $100 would
substitute d:\files\editors. Notice that the
path name is NEVER backslash-terminated. If the
file board specified by ## does not exist, then a
blank argument is passed (i.e. a nul-string).

When the external program returns to Simplex, the user's
record is reread and any changes to fields such as
privilege, or flags (anything other than date/time info) is
incorporated into the data held by Simplex. This allows
external programs to modify a user's access. If the user
has less than two minutes left online upon return, their
time is reset to two minutes so they can exit in an orderly
fashion. Additional Data: program.exe [options]

Type 241: Exit to DOS with an errorlevel. This option is not
currently implemented.

Type 242: Show version/copyright information. This option shows
the user information about Simplex BBS. Additional Data:
None

Type 243: Show user's usage statistics. This option shows the
user some information about his/her first connect date, the
last connect date and time, upload and download statistics,
and time information for this call. Additional Data: None

Type 244: Yell (limited) for chat with Sysop. This option
permits the user to summon the sysop for a chat if the
current time is within the configured yell time specified
under option 3 in CONFIG. Additional Data: None

Type 245: Show current time of day. This option shows the
current date and time until the user presses Enter. This is




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 23
Page 23







provided for systems with access to exact time. Additional
Data: None

Type 246: Check for mail. This option checks for unreceived mail
addressed to the user. It marks mail for later reading and
gives them the option of reading mail immediately.
Additional Data: None

Type 247: Sysop's user-upgrade option. This option permits the
user to access/modify userlist records. It is not meant for
anyone other than Sysops. The user must have ANSI enabled
to access this option. Additional Data: None

Type 248: Yell (unlimited) for chat with Sysop. This option
permits the user to summon the sysop for a chat regardless
of the time of day versus the configured yell time specified
under option 3 in CONFIG. Additional Data: None

Type 255: Logoff/hangup connection. This option logs the user
off of the system. Additional Data: None


































--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 24
Page 24






_________________________________________________________________

Chapter 5
Chapter 5

Menu Templates
Menu Templates
_________________________________________________________________




In order to support multiple menus which are similar, Simplex
supports a menu template structure. This feature is activated by
using the / after the name of the menu (and password if one is
present) in type 1 (Call new menu) and type 2 (Goto new menu)
menu types, and then following this slash with macros
assignments.



5.1-Assigning Menu Template Macros
5.1-Assigning Menu Template Macros
_________________________________________________________________




Macros can be assigned to any letter from uppercase A to
uppercase Z. The assignments look like this:

A=1 B=Messages_to_the_Sysop

Where A is assigned the string "1" and B is assigned the string
"Messages to the Sysop". There can be NO SPACES between the
macro letter, the equals, and the beginning of the assignment.
Since a space signifies the end of the macro assignment, you must
use an underscore to represent a space (as in macro B above).
Sorry, there is no way to represent an underscore character in an
assignment string!

A complete data line for a menu which calls a template menu would
look similar to the following:

msgs password / A=1 B=Messages_to_the_Sysop C=24

if there is a password for the area or like:

msgs / A=1 B=Messages_to_the_Sysop C=24

if there is not a password. MSGS is the name of the template
menu to which to apply the macros.






--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 25
Page 25







Macros assigned in this fashion will only be applied to the menu
in question, thus the same letters can be reused within a
template menu to call another template menu.



5.2-Using Template Macro Assignments
5.2-Using Template Macro Assignments
_________________________________________________________________




A template menu is not very different from a regular menu. The
difference mainly is in the use of $-escaped UPPERCASE letters to
represent macro substitutions in the prompt and data lines. For
example, $A will substitute the value of macro A for that
specific template menu.

Since a picture is worth a thousand words, I suspect that an
example is worth ten thousand, so here is an example! In the
previous section we called a menu "MSGS" with three macro
assignments, A, B and C. Here is how MSGS can use the macros.
Assume that the first prompt line is the name of the message
area:

--- Message Area $A: ^$B^

This will print the following when called using the syntax of the
previous section:

--- Message Area 1: Messages to the Sysop
Messages to the Sysop

when $A and $B are assigned the values assigned to A and B.

Ok, the prompt line works fine, but how does this affect data
lines? The same way. Here are sample menu prompt and data lines
from the same menu:

prompt: "<^$$^> Scan messages"
data: "$C"

This will actually become the following when the menu is actually
called:

prompt: <$> Scan messages
$
data: 24

which will pass the number 24 to the Scan function (we assume
this was a type 18 menu and that message board 24 is where sysop
messages are!). The $$ is interpreted as representing a single
dollar sign ($).



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 26
Page 26






_________________________________________________________________

Chapter 6
Chapter 6

Running Simplex
Running Simplex
_________________________________________________________________




Simplex may be started by merely typing Simplex on the command
line (OS/2 users use Simplex2) and pressing Enter in the assigned
Simplex directory. However, it is doubtful that such simple use
would suffice for most applications of Simplex! Hence Simplex
accepts a series of command line arguments that permit you to
call it under specified conditions, and it returns with specific
errorlevels to indicate that certain events have occurred.

The Simplex command line may include any of the following
options. A list of these options might be obtained by typing
Simplex -? on the command line. Most of these options are meant
to be used when spawning Simplex from a front-end Net mailer, but
some are even handy for use in simple host applications:

-Bxxxx Startup at the specified baud (User is online)
-D Drop in to Simplex with user's info in simplex.usr
-H Do not hangup before exiting
-L Startup in local mode (same as -B0)
-Mxxxx Locked baud rate. Set port to baud and ignore connect
strings
-Pxxx DOS: Use the specified comm port *or*
-Pxxx OS/2: Use the specified comm handle
-R Do ringback model of call answering
-S DOS: Do not close stdout and reopen it to NUL
-Txxx Set maximum time user is allowed on system
-X Exit after carrier is lost or after logoff

The DOS version has the -S option because of the propensity of
some fossil drivers to "sign-on" with a message each time they
are initialized by Simplex (e.g. Ray Gwinn's x00.sys). This
behavior has the tendency to kill Simplex's screen which is
undesirable. So, by default, Simplex closes the standard output
file handle (handle 1) and reopens it pointing to NUL. This is
the equivalent of typing "simplex > nul" at the command line! If
your fossil does not do this, or it causes problems on your
system, you may specify the -S flag to stop Simplex from closing
the handle.

The -M option enables a mailer program to actually pass a locked
baud rate as a separate entity from the actual baud rate.
Passing the correct connect baud is important for correctly
calculating transfer times for downloads. Simplex NEVER sets the



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 27
Page 27







baud rate when it is passed an open port with -P and -B. Passing
the locked rate at this time doesn't achieve any real purpose if
there is a -X, but this might change in the future.

The -D option permits Simplex to be called as a door to another
program. The other program must somehow create the login file
"simplex.usr" according to the following byte-packed C structure.
All strings are terminated with nul characters (0).

struct uf
{
char uf_name[41]; /* nul-terminated user name, first last */
char uf_password[16]; /* nul-terminated password */
char uf_city[31]; /* nul-terminated city, state */
char uf_home[15]; /* nul-terminated user's home number */
char uf_data[15]; /* nul-terminated user's data/business
number */
char uf_screenlen; /* length of users screen in lines */
int uf_flags; /* bit mapped flags for options, see
URGENT.DOC */
};

The user is logged in and if they have never entered Simplex
before, their user record is created automatically. The -D
option automatically sets the -X flag so that Simplex will exit
if the user drops carrier or logs off.

A front-end mailer program might spawn Simplex with the following
command line in a batch file:

simplex2 -B%1 -P%2 -X

or for a local session, it might use the following:

simplex2 -L -X

In order to let batch files know what is causing Simplex to exit,
it returns different errorlevels. The following errorlevels are
currently supported in Simplex.

0 Normal Simplex exit prompted by Alt-X keystroke.
1 Simplex had an internal error.
2 Normal Simplex exit after user was on and -X or (-D)
was on command line.
3 Netmail was entered and Alt-X pressed or -X (-D) was on
command line.
4 Echomail was entered and Alt-X pressed or -X (-D) was
on command line.
5 Netmail and Echomail were entered and Alt-X pressed or
-X (-D) was on command line.
6+ Errorlevel generated by an event exit.



--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 28
Page 28







Errorlevel 2 is especially created for simple Simplex host
applications which need to know if to run external utilities such
as SRECENT or SUSAGE (see below). Obviously, if you have exited
from a waiting-state with Alt-X, there is no need to check to see
if the last user has been added to the database. Hence you could
have a batch file similar to this:

set simplex=d:\host
:runhost
d:
cd \host
simplex2 -x
if errorlevel 3 goto runhost
if errorlevel 1 goto recent
if errorlevel 0 goto end

:recent
srecent 20
susage -G -I
goto runhost

:end

while a Net compatible BBS might have something like:

:runbbs
simplex -b%1 -x
if errorlevel 6 goto recent
if errorlevel 5 goto echomatrix
if errorlevel 4 goto echo
if errorlevel 3 goto matrix
goto recent

:echomatrix
smail -nx -ex
goto recent

:echo
smail -ex
goto recent

:matrix
smail -nx

:recent
srecent 20
susage -G -I
goto runbbs






--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 29
Page 29






_________________________________________________________________

Chapter 7
Chapter 7

Setting up Downloadable Mail
Setting up Downloadable Mail
_________________________________________________________________




As of version 1.04, Simplex handles downloadable mail. This
permits users who keep track of large message bases to be able to
download their mail (optionally in compressed form) using a
protocol, and then using an ASCII file reader/browser (such as
LIST in DOS or LSTPM in OS/2) to read their mail offline.

In order to implement the downloadable feature, you must define a
fileattach directory in option 4 of CONFIG. You must ensure that
there are a few megabytes of space free on the drive you specify
at any time depending upon the total amount of mail most users
would download).

If you are not running Net mail and wish users of the
downloadable mail to have access to the different archivers, you
must set up archivers in option 5 of CONFIG. Whatever archivers
that you provide command line templates for will be presented to
the user as options. To set up an archiver, find the respective
line corresponding to the archiver (ARC, ZIP, LZH, or ZOO) under
option 5 and enter a template line as follows:

[path]archiver [options] %A %F

where %A is the name of the archive-file that will be generated
by Simplex and %F is the name of the file that will be inserted
into the archive. Simplex will look along the path for the
archiver before running. Here are some examples of some command
lines:

ARC Command: arc m5 %A %F
ZIP Command: pkzip -a -m %A %F
LZH Command: lh2 A %A %F /i /c /o

While Simplex is diligent about deleting the files it creates, it
might not be a bad idea to add a cleanup routine to the batch
file that runs your BBS like this:

del d:\files\fattach\mail*.dl > NUL
del d:\files\fattach\mail*.arc > NUL
del d:\files\fattach\mail*.zip > NUL
del d:\files\fattach\mail*.lzh > NUL
del d:\files\fattach\mail*.zoo > NUL




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 30
Page 30







which would ensure that the area is kept clean.






















































--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 31
Page 31






_________________________________________________________________

Chapter 8
Chapter 8

Simplex Ancillary Files
Simplex Ancillary Files
_________________________________________________________________




Simplex BBS requires a number of files to be provided by the user
in order to do its normal work and to present a helpful and
friendly interface to the user. The following sections outline
the files that Simplex looks for under various conditions. These
files are named with extensions for users who are using ANSI and
those who are not.

If the user is running ANSI, then the user is presented with the
contents of filename.ANS. If this file cannot be found, or if
the user has ANSI off, the contents of filename.ASC are shown.
This means that you can include as many ANSI sequences as you
wish in the .ANS file but leave them out of the .ASC. If you use
the SANSI compiler, it will automatically prepare the two
distinct files for you.



8.1-Files for Help
8.1-Files for Help
_________________________________________________________________




The files that present help screens should attempt to be very
helpful yet concise at the same time. No user appreciates being
swamped with information when they ask for help! These files
must be in the configured screen path.

DLHELP.A?? This file presents help on the download protocols
available on your Simplex system. It is accessed
by pressing H at the Download Menu.

ULHELP.A?? This file presents help on the upload protocols
available on your Simplex system. It is accessed
by pressing H at the Upload Menu.

NODEHELP.A?? This file presents help on the choices in the
Search Nodelist Menu.

READHELP.A?? This file presents help on the choices available
in the Read Messages Menu.




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 32
Page 32







TOPICHLP.A?? This file is shown when a user presses H in the
Read Topics Menu.

EDITHELP.A?? This file is invoked by requesting help from the
Line Editor Menu. It should describe the options
available to the user of the Line Editor.

ANSIHELP.A?? This file presents help when the user of the Full
Screen Editor presses ^K ?. It should present a
list of the options available in that editor.

QSHELP.A?? This file presents the user with help for using
the QuickScan option in a message area.

SCANHELP.A?? This file is shown when a user requests help in
the Scan Menu of a message area.

ADHELP.A?? This file is shown when in read mode while in an
Ad/User Bulletin area.



8.2-General Files
8.2-General Files
_________________________________________________________________




These files are called upon in certain specific situations during
the running of Simplex. They are almost essential for providing
a friendly interface between your BBS and the user. These files
must be in the configured screen path.

TOOSLOW.ASC This file does not have an ANSI flavor since the
user's ANSI preference is not known at the time it
is shown. It is shown when a user has logged on
with a modem slower than your minimum baud rate
configured in CONFIG.

LOGO.ASC This file is shown before the user is asked for
his/her name. Since the user's ANSI preference is
not yet known, there is no ANSI flavor of this
file. It is not wise to embed ANSI codes in it
since it might cause undesirable side-effects on
the user's terminal.

NOTFOUND.ASC This file is shown after a user enters a name that
is not in the userlist, and before the user is
prompted if they entered the correct name.





--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 33
Page 33







PRIVATE.ASC This file is shown only if the user's name is not
in the userlist and the BBS is configured for
preregistered operation.

NONGRATA.ASC This file is shown after a user has confirmed that
their name is correct, and their name is found in
the NONGRATA.BBS file.

ANSI.ASC This file is shown after a user has indicated that
their name was spelled correctly and it was not in
the userlist. It is wise to indicate to the user
that they will be asked a few questions which will
help to configure the system to their liking, and
maybe to explain the meaning of ANSI to them.

PASSWORD.A?? This file is sent before the new user enters
his/her password into the system, or when a user
opts to change his/her password. It should
indicate that they must choose a password of at
least 4 characters and that it should be easy to
remember yet difficult for close friends to guess.

NEWUSER.A?? This file is shown to a user after they have
finished filling out the new-user questionnaire
and before they are provided with the welcome
screen. It is a good idea to welcome them to your
system and maybe to explain some of the rules of
conduct.

NEWUSER.QF This is a questionaire file that is shown to the
user one time. It is shown between NEWUSER.A??
and NEWUSER2.A?? if the user has never answered
the questionaire. Upon completion of the file,
USER_ANSWERED flag is set in the user's flags.

NEWUSER2.A?? This file is shown to users who have called less
than 5 times. It is a good idea to use it to give
a few pointers on the use of your system.

WELCOME.A?? This file is shown to a user after logging in, or
to a new user after NEWUSER2.A??. It precedes the
automatic mail check. This is the place to put a
splashy logo screen since Simplex knows at this
point if the user runs ANSI or not!

DAYQUOTE.CQ This is a compiled quote file (see SQUOTE below)
which is searched for a "random" quote for the
day. A quote from this file will be shown after
WELCOME.A?? and before checking for mail.





--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 34
Page 34







BULLETIN.A?? This file shows the latest news on the system to a
user logging in. It is shown after the
WELCOME.A?? and the mail check.

INFO.A?? This file is shown after the bulletin file. It
can be used for anything the Sysop desires.

INFO2.A?? This file is shown after the bulletin and info
files. It can be used for anything that the Sysop
desires.

NOANSWER.A?? This file is shown after a user has yelled and the
Sysop did not answer immediately. It should
explain to the user that the Sysop is unavailable
and that he/she might break in and chat while they
continue using the board normally.

TOOMANY.A?? This file is shown after a user has attempted to
yell but does not have any remaining yells (as set
in CONFIG).

NOYELL.A?? This file is shown when the user attempts to yell
but it is outside of the yell hours configured in
CONFIG. It should indicate to the user that they
should leave the Sysop a message instead.

GOODBYE.A?? This is the last file that the user sees after
logging off of your BBS. It is shown before the
modem is told to hang-up.



8.3-Files Created by CONFIG
8.3-Files Created by CONFIG
_________________________________________________________________




The following files are normal in the Simplex home directory and
are created by CONFIG. They are not meant to be deleted or
edited by any means other than with CONFIG.

CONFIG.BBS This file contains the configuration information
needed by Simplex and its utilities. This
information includes the BBS name, the Sysop name,
the paths to different directories, and Net
addresses.

EVENTS.BBS This file contains the event information used by
Simplex.




--------------------------------------------------
Simplex BBS A User's Manual
Simplex BBS A User's Manual
Page 35
Page 35







FILEAREA.BBS This file contains the path and file area name
information referenced by menus.

MSGAREA.BBS This file contains the message area information
which is referenced by menus.



8.4-Files Needed by Simplex
8.4-Files Needed by Simplex
_________________________________________________________________




The following files are absolutely essential for Simplex's
operations and must be in the Simplex home directory. Notice,
Ctrl-Z cannot appear as the End-of-file marker. This rules out
using editors like EDLIN. If your editor uses Ctrl-Z for EOF,
you must use a program that strips Ctrl-Z's to remove them. Most
good editors allow you to write files without Ctrl-Z at the end.

TIMES.BBS This file contains in ascending priority order,
the maximum amount of time in minutes per day that
allowed for each privilege level. The maximum
amount is 1440 minutes (24 hours). The file is
plain ASCII text organized like this:



 December 25, 2017  Add comments

Leave a Reply