























		       Synchronet Multinode BBS Software
			     Version 1b Revision 3
			 System Operator Documentation

			Copyright 1993 Digital Dynamics

				  PO Box 501
			     Yorba Linda, CA 92686

		 Voice: 714-529-6328   BBS: 714-529-9525 2400bps
		   FAX: 714-529-9721		529-5313 V.32/V.32bis
		  FIDO: 1:103/705		529-9547 HST
		  RIME: 5115			529-9721 ZyXEL

Table of Contents
=================
!!Contents

Features........................................................##FEATURES
Start-up........................................................##START-UP
Sysop Commands..................................................##SYSOPCMD
User Editor.....................................................##USEREDIT
Multinode.......................................................##MULTNODE
	DESQview................................................##DESQVIEW
	LAN.....................................................##LANSETUP
External Programs...............................................##EXTERNAL
Networking......................................................##NETWORKS
	QWK.....................................................##QWK_NETS
	PostLink................................................##POSTLINK
	FidoNet.................................................##FIDONETS
CD-ROM and other Slow Media Devices.............................##SLOW_MED
Configuration Reference.........................................##SCFG_REF
Utility Reference...............................................##UTIL_REF
	ADDFILES	(Importing ASCII File Lists)............##ADDFILES
	FILELIST	(Creating ASCII File Lists).............##FILELIST
	NODE		(Node Display/Control Utility)..........##NODE_REF
	UTI Driver	(PostLink Import/Export Utils)..........##UTI_DRVR
	SLOG		(Node/System Statistics Viewer).........##SLOG_REF
	DSTSEDIT	(Node/System Statistics Editor).........##DSTSEDIT
	TOTALS		(Credit Gain/Loss Util for Games).......##TOTALS__
Trouble Shooting................................................##TROUBLE_
Customization...................................................##CUSTOM__
	Menus and Other Text Files..............................##MENU&TXT
	SIF Questionnaire File Format...........................##SIF_REF_
	GURU.DAT (Guru Brain) Modifications.....................##GURU_REF
Appendix A: Command Line Specifier Reference....................##CMD_SPEC
Appendix B: Synchronet (SBBS) Command Line Options..............##CMD_OPTS
Appendix C: Phone Numbers/Addresses of Important Contacts.......##CONTACTS
Appendix D: Wait for Call Status Display........................##WFCSTATS
Appendix E: Node Status Display.................................##NODESTAT
Appendix F: Log File Line Type Specifiers.......................##LOGSPECS
Appendix G: File Formats (Technical Specs for Developers).......##FORMATS_
Glossary........................................................##GLOSSARY

Features
========
!!Features
$$FEATURES

* Designed from the ground up as a reliable and feature rich multinode BBS
* Up to 250 simultaneous nodes with multinode chat and online program support
* RIPscrip graphical user interface and mouse support!
* Enhanced DESQview operation mode
* Run up to 10 high-speed full through-put nodes on a single 486 PC
* Runs under DOS 3.0 or higher on any 80x86 compatible computer with 500k free
	RAM - BBS can shrink to 16k to execute external programs
* Pay BBS features:
	Time credits, user expiration dates, credits, and 900/976 billing
* Interrupt driven COM I/O for the fastest through-put possible
	- even with multiple nodes per CPU via DOS multitasker
* Any COM port configuration supported (one IRQ line per COM port)
* Blazing fast even on a 10mhz XT
* Familiar hotkey user interface with '?' activated menus at every prompt
* The most advanced BBS security ever:
        Impenetrable to remote hackers
        100 security levels with 52 sysop configurable flags per user
        Sysop can allow or disallow users to choose their own passwords
	Sysop can force periodic password changes (uniqueness is also forced)
* QWK message off-line reader and networking support built-in
* Up to 1,000 message groups, up to 5,000 total message sub-boards with up to
	2,000 messages per sub-board.
* Up to 1,000 file libraries, up to 5,000 total file directories with up to
	2,000 files per directory.
* Extensive File Transfer Section:
	Unlimited external transfer protocols with optional DSZLOG support
        Batch uploads, downloads, and bidirectional file transfers
	Transfer credit system is completely configurable
        File viewing, extraction, and partial downloading of archives
	File descriptions can contain content rating and multidisk numberings
        Personal user to user(s) file transfers
        Optional batch download file flagging for user convenience
        Internal support for offline directories
        Multiple sysop file removal/move/edit search criteria
        Directories can be sorted by filename or date, ascending or descending
        Advanced extended descriptions
	Complete CD-ROM (single and multidisk changer) support
* Sysop inter-node control (remote or local):
        Interrupting - hang-up on any node
        Locking - only sysops can logon a locked node till lock is removed
	Rerunning - reexecutes BBS, reinitializing configuration, etc.
	Downing - shutdown a node from another remote node or local console
* Inter-node message services:
        Current node status - user online, action, connect rate, and more
        User activity - credited downloads, mail activity, logons, and logoffs
	Users can list active nodes and send private messages from any prompt
		(even between external programs and the BBS)
	Multichannel multinode chat with optional channel password protection
	Private real-time node to node character by character chat with split
		screen support
* 48 Local macros and sysop function hotkeys
* Real-time user database:
        Amazingly complete user edit function
        Remote changes to online-user data are immediately effective
        Disk image is always current for enhanced system fault tolerance
        Linked free-form data file for every user
	International address and phone number support
* Online, sysop configurable, chatting artificial intelligence engine
* Up to 500 online external programs:
	Multiuser or single user programs
        Programs that use DOS I/O (don't use COM port directly) supported
	10 door file formats supported for an incredible level of compatibility
	Supports native WWIV color code expansion
        Free Software Development Kit (SDK) avaiable for program development
	Comes with multiplayer Synchronet Blackjack game FREE!
	No batch file editing necessary!
* Multiple Events:
        Logon and logoff events
	New user events
	Upload events (integrity testing, adding of comments, virii scan, etc.)
        Node and system daily events
        Timed event that supports forced exclusive execution
* The most configurable BBS available today:
        Powerful object oriented menu driven configuration program
        All menus, text, and colors are sysop configurable without source code
        The use of aliases can be allowed or disallowed
        New User Questionaire is available and customizable
        Source code available for nearly unlimited customization (extra cost)
* Alternate and custom command sets:
	Sysop can configure alternate command and menu sets
	Users select preferred command set or customize their own
* Extensive networking capabilities:
	Internal QWK network hub and node support
	FidoNet EchoMail and NetMail support
	UTI drivers for PostLink Networks (RIME, ILink, etc)
	Sub-boards can force real names
	Allow/disallow/force private posts and anonymous posts per sub-board
	'To' user field can be used on public and private posts
	Support for multiple networks of the same or different network
		technologies with different addresses and tag/origin lines


Start-Up
========
!!Start-Up
$$START-UP

This document assumes you've already installed Synchronet using the provided
INSTALL.BAT file.

This document contains basic information on the following:

	o Getting Started
	o Setting Up the Message Base
	o Setting Up the File Transfer Section
	o Adding Nodes

*******************
* Getting Started *
*******************

Copying Utilities:
-----------------
Synchronet has a specific sub-directory for executable programs (EXEC).
You need to copy all utilities that the BBS will run into this directory
(this does not mean Doors or Online Games). For example, you need to copy
PKZIP.EXE and PKUNZIP.EXE into your EXEC directory. If you plan on supporting
other archive/compression programs on your BBS, you should copy these programs
into the EXEC directory as well. Any file transfer protocol programs need to
be copied into your EXEC directory. Synchronet comes with an unregisterd copy
of DSZ. If you have a registered version, copy it into the EXEC directory as
well.

System Configuration:
--------------------
Change into your NODE1 directory and run the Synchronet configuration program
(SCFG).

Example:
	CD \SBBS\NODE1
	SCFG

Under "System", set your system's name (BBS Name), the sysop's name (You), the
system location (City, State), and system password. Under "Advanced Options"
or "Message Options", set your system's QWK ID (Up to 8 character BBS name
abreviation). Under "Toggle Options" set "Allow Aliases" to "Yes" or "No"
depending on if you want users to be known by their real names on your BBS or
a personal alias.

Remember that at any time within SCFG, you can hit the F1 key to get online
help about the current configuration window.

Creating Your Sysop Account:
---------------------------
Exit the configuration program and run SBBS from your NODE1 directory. When you
get a menu that says "Synchronet Version xx", (Wait for call screen) hit
SPACE BAR to logon. Answer 'Y' to the Logon (Y/N) prompt. At the NN: prompt,
enter "NEW" to create a new account. Answer the questions until you get to the
"Synchronet Main Menu". Now hit 'O' for logoff.

If you selected an alternate command set for your default configuration, the
logoff command and other commands specified in this document may be different.

Repeat this process for any other user accounts you wish to create. Be sure
to give out high access levels and exemptions very carefully. Users with main
levels of 90 and above have SYSOP access.

   TIP: To logon from the wait for call screen quickly, hit SPACE, then 'F'
	for fast sysop (user #1) logon.

   TIP: To stop the annoying automatic display of menus, turn "Expert Menu
	Mode" on from the Default Configuration menu ('D' from the Synchronet
	main menu or 'I' from the User Edit menu) and use '?' whenever you need
	to see a command menu.

   TIP: To keep your logons from being written to the logon list, turn
	"Default to quiet mode" on from the Default Configuration menu. If
	you want users to see you're online, you can toggle quiet mode off/on
	with the ";QUIET" sysop command from the Synchronet main menu.


*******************************
* Setting Up the Message Base *
*******************************

Creating Message Groups:
-----------------------
Hit 'C' from the wait for call screen and select "Message Base" from the SCFG
main menu and add any additional message groups you want. A message group is a
group of message sub-boards that have a similar subject matter or other common
element. It is common to put all of your local sub-boards in one group and your
networked sub-boards (where messages are shared with other BBSs) into other
groups. An example configuration that separates local and networked sub-boards
into groups:

Group			Sub-boards
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Local			General
Local			Sports
Local			Debate
Local			Literature
Local			Technology
Local			Advertisments
DOVE-Net		General
DOVE-Net		Advertisements
DOVE-Net		Entertainment
DOVE-Net		Debate
DOVE-Net		Hardware/Software
DOVE-Net		Programming
DOVE-Net		Synchronet
DOVE-Net		Synchronet Sysops
FidoNet 		Interuser Discussion
FidoNet 		Politics
FidoNet 		Unix
FidoNet 		OS/2
FidoNet 		DESQview

Another use of message groups is to group sub-boards of similar topic together:

Group			Sub-board
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main			Sysop Messages
Main			General
Main			Debate
Main			Entertainment
Main			BBS Ads and ANSI
Technical		Software Help
Technical		Hardware Help
Technical		Programming
Adult			General
Adult			Singles Only
Adult			Dear Abby
Adult			Jokes
Adult			Financial

And you certainly can mix the two examples of message group utilization given
above or invent your own. Or, you can just have one message group for all of
your sub-boards - forgoing the organizational advantages of using multiple
groups. You must have at least one message group configured with at least
one sub-board in that group that all users have access to. Users that don't
have access to any sub-boards, can't use the BBS at all until their access
is raised.

To add message groups, select the position you want the new message group
to be in with the arrow keys. If you want the new message group to be the
first group, highlight the top line. If you want the message group to be added
to the end of the group list, highlight the bottom line. Hit INS (insert key)
to add a new message group.

Creating Message Sub-boards:
---------------------------
To create sub-boards, hit enter on the message group you want to add the
sub-boards to, then select "Message Sub-boards". Adding sub-boards is very
similar to adding groups except you will be prompted for an internal code.
The internal code should be a short description (name abreviation) for the
sub-board. Each sub-board must have its own unique internal code. To configure
the particulars for the sub-board, select it by hitting enter on it from the
sub-board list.

****************************************
* Setting Up the File Transfer Section *
****************************************

Creating File Libraries:
-----------------------
Select "File Transfers" from the SCFG main menu. Then select "File Libraries".
Hit INS (insert key) to create a file library. File libraries are groups of
file directories that have a similar subject matter or other common element.
File libraries are often used to separate Program files and Data files or
files stored on a Hard disk and files stroed on CD-ROM. An example
configuration that separates programs from data:

Library 		Directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Programs		Games
Programs		Utilities
Programs		Business
Programs		Communications
Programs		Graphics Programs
Programs		Programming
Data Files		Text (Documentation, Stories, Cheats)
Data Files		Program Source Code (C, ASM, PAS, BAS)
Data Files		Still Pics (GIF, PCX, TIF)
Data Files		Animation (FLI, GL, DL)
Data Files		Sound (MOD, WAV, MID)
Data Files		Other

Example configuration that separates hard disk directories from CD-ROM
directories:

Library 		Directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hard Disk		Text
Hard Disk		Games
Hard Disk		Utilities
Hard Disk		Business
Hard Disk		Graphics
Hard Disk		Communications
Hard Disk		Graphics Programs
Hard Disk		Programming
Hard Disk		Graphics, Animation, and Sound
GIF CD-ROM		G Rated
GIF CD-ROM		G Rated 640x480
GIF CD-ROM		G Rated 800x600+
GIF CD-ROM		R Rated
GIF CD-ROM		R Rated 640x480
GIF CD-ROM		R Rated 800x600+
GIF CD-ROM		X Rated
GIF CD-ROM		X Rated 640x480
GIF CD-ROM		X Rated 800x600+
PD/ShareWare CD-ROM	Games - Mono, CGA, EGA
PD/ShareWare CD-ROM	Games - VGA
PD/ShareWare CD-ROM	Utilities
PD/ShareWare CD-ROM	Communications
PD/ShareWare CD-ROM	Graphics and Desktop Publishing
PD/ShareWare CD-ROM	BBS Software and Utilities
PD/ShareWare CD-ROM	Programming
PD/ShareWare CD-ROM	Windows Programs, Fonts, Icons, etc.

You must have at least one file library and one file directory for anyone to be
able to use the file transfer section.

Creating File Directories:
-------------------------
After you have created at least one file library, you need to create
directories for the library. Creating a file directory is much like creating
a file library except that you will be prompted for an internal code to use.
The internal code should be an abreviation of the name of the directory or
something else that specifies the contents of the directory. Each directory
must have its own unique internal code.

For each directory, you need to specify the file storage path. This is where
the files are actually located (Drive and directory) on your system. If you do
not specify a storage path, a sub-directory will be created off of your
DATA\DIRS directory with the directory's internal code as the name of the
sub-directory. If you wish to use the default storage path (DATA\DIRS\<code>),
you'll need to move any files that you wish to be added to the BBS file
database to that sub-directory.

If you are adding CD-ROM directories, be sure to set the "Check for file
existence toggle option" to "No", and "Slow Media Device" to "Yes" for each
of your CD-ROM file directories.

IMPORTANT - Adding files to the BBS database:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Now that you've created at least one file library and one file directory inside
that file library, any files located in the storage path for that directory
are not automatically available for users to download. The file has to be
added to the BBS file database first.

ADDFILES (v1b and later):
------------------------
If you have an ASCII list of your files with descriptions (often called
FILES.BBS or DIR##), you'll want to use the Synchronet ADDFILES program to
import this file and description information into the BBS file database. This
is usually only the case for CD-ROMs and when converting a file database from
another BBS. See the Utility Reference Chapter for more information on
ADDFILES.

Bulk Upload:
-----------
To add the files that are located in the storage paths of your configured
directories, exit the configuration program, logon to the BBS as yourself
(User #1), go to the file transfer section ('T' from the main menu), and type
";UPLOAD ALL" then hit ENTER. If there are any files that are in your storage
paths, but not already in the BBS file database you will be prompted to enter
a description for each file.

Can't Access Transfer Section:
-----------------------------
If you get the message "You cannot access the transfer section" when trying to
go to the transfer section in the BBS, then you have not properly configured
the library and/or directory security options. A user must have access to at
least one directory in one library to access the transfer section at all. If
a user has access to a library, but no directories within that library, the
user may be denied access to the entire transfer section.

Creating Offline File Directories:
---------------------------------
Each library can have an offline file directory. This is where you can place
files that have been removed from the system, but the file information (name,
description, uploader, etc.) remains in the database. Offline directories
are treated special. They are not scanned for new files and are automatically
used as an optional destination for the file information when a file is
removed by a sysop. Offline file directories are specified by having the
short name of "Offline" (not case sensitive). Only one offline directory can be
specified per library. Offline file directories should have the "Check for file
existence" toggle option set to "No". The minimum transfer level to upload
should be set to 90 so that users will not be allowed to upload to this
directory.

Creating a Sysop Directory:
--------------------------
A sysop file directory is a directory that users can upload to, but they can
not see nor download from. You can only have one sysop directory on the
system and it can belong to any one of the file libraries. A sysop file
directory is specified by the short name of "Sysop" (not case sensitive) and
will be used as the destination directory for uploads with the 'Z' (upload
to sysop) transfer section command. The minimum transfer level to access should
be set to 90 or higher so that only sysops can view the directory and download
from it and the upload access level should be set to 0 (or higher, if you want
to restrict the number of users who can upload to the sysop dir).

Creating a User-to-User Transfer Directory:
------------------------------------------
A user-to-user transfer directory is used for users to send a file directly
to another user (or group of users) with only that user (or group of users)
being able to see the file and download it. It's like a private e-mail file
directory. Users send files to other users with the "/U" command and download
files from other users with the "/D" command. This feature is only enabled
if the sysop creates a user-to-user transfer directory. This directory can
belong to any library on the system, but must have a short name of "User"
(not case sensitive). The minimum transfer level to access should be set to
90 or higher so that only sysops can view the directory and download any file
they wish from it and the upload access level should be set to 0 (or higher,
if you want to restrict the number of users who can upload user-to-user
files). This directory should have the "Allow extended descriptions" toggle
option set to "Yes" so that the uploader of the file can attach a lengthy
message if he or she wishes.

****************
* Adding Nodes *
****************

Run SCFG. Select Nodes from the main menu. Hit INS (insert key) to create
additional nodes (up to your Node license limit). Each added node will have
the configuration options copied from the last node. Make any configuration
changes (including modem/com port configuration) necessary.

Exit SCFG. Copy *.BAT from your NODE1 directory into each added node directory.
If you receive a "Sharing violation" when running multiple simultaneous nodes
(often reported problem with Windows and Lantastic), delete the SBBS.BAT file
from each of your node directories and copy SBBS.EXE from your EXEC directory
into each of your node directories.


Sysop Commands
==============
!!Sysop Commands
$$SYSOPCMD

Sysop Definition

There is usually one sysop (System Operator) per BBS - the owner and operator
of the hardware which Synchronet is running on and accepting remote users.
Quite often systems require more than one sysop and Synchronet is flexible in
this respect. Within Synchronet, a sysop is defined as any user with a main
level of 90 or above. Any user that qualifies as a sysop, is prompted with an
"SY:" to enter the system password at logon (only if remote - passwords are
never required if user is online locally). Anytime a sysop attempts to perform
a sysop function that may breach the system security, he is prompted with
an "SY:" to enter the system password before he can proceed. Users with sysop
access can cause serious damage to the system. Give out this ability with
caution.

Multiple Sysops

As stated above, any user with a main level of 90 or greater can perform sysop
functions, "So why have levels 91-99?" you might ask yourself. Well, you can
still restrict a user with sysop access from accessing Message Groups or 
Sub-boards or File Libraries or Directories by setting the minimum required
level above that user's level. For example: If you have a remote sysop with a
main level of 90, you can still have a Message Group or Sub-board with a 
minimum required level of 91. Now this remote sysop will not be able to access
that Group or Sub-board. While it is true that sysops can edit their own
and subbordinate user's accounts, they can not edit a sysop of higher level's
account (when calling remotely). A remote sysop can't raise any user's level
above his own, or add flags or exemptions that he himself doesn't have.

Local Sysop
===========

Most sysop functions will be performed locally, while some sysop functions can
only be performed locally. The following special key combination are only
available while online (not from the Waiting for Call screen).

Macros:
	All the function keys (F1-F12) and combinations with Shift, Ctrl, and
	Alt (48 macros total) are available for the sysop. A macro is a short
	way to enter many keystrokes. Each macro is stored in a seperate file
	in the TEXT directory with an MAC extension. The name reflects which
	key combination will initiate the macro. For regular F1 through F12,
	the name is F1.MAC through F12.MAC respectively. For Alt-F1 through
	Alt-F12 the name is ALT-F1.MAC through ALT-F12, Ctrl-F1 through
	Ctrl-F12 are named CTRL-F1.MAC through CTRL-F12, and Shift-F1 through
	Shift-F12 are named SHFT-F1.MAC through SHFT-F12. Each file is a basic
	ASCII text file with one exception; an extended key combination (such
	as Alt-D) can be entered by placing a Ctrl-@ (ASCII 0, NULL) in the
	file followed by the scan code of the key you wish to use.

	For the convenience of sysops familiar with other software packages,
	various sets of macros are available in the TEXT directory to emulate
	different BBS package's local function key commands. The following
	macro sets are available:

	WWIVMACS ZIP  WWIV style online function key commands
	CLRYMACS ZIP  Celerity style online function key commands
	SILIMACS ZIP  Silicosis style online function key commands

Alt-key combinations:

	Alt-U		(User Edit)
        At any place within Synchronet, pressing Alt-U at the local keyboard 
        will pop the local console into User Edit while the remote side (if 
	there is a remote user) will see [WAIT]. Alt-U is available while using
	the terminal mode as well. See User Edit for more information.
	See UEDIT command below.
        
	Alt-#		(Auto Validation)
        Pressing Alt and then any of the numbers 0-9 will change the current 
        users levels/flags to the settings for that auto-validation slot set 
	in the system configuration.
        
	Alt-S		(Crazy Cursor Toggle)
	Pressing Alt-S will toggle the state of the crazy (spinning) cursor,
	but doesn't change the current user's default settings regarding it.

	Alt-E		(Local I/O Only)
        If a user is on remotely, this allows the local console to use the BBS
	while the remote users just sees [WAIT]. Pressing Alt-E again
	re-enables the remote console.

	Alt-L		(Capture)
	This starts and stops the local capture of text to a file. If capture
	is active the status line will reflect this state with a blinking 'C'
	as the far left character. The file the BBS opens to capture to will be
	appended if the file already exists. The filename to capture to is
	prompted for when capture is started. The filename defaults to
	CAPTURE.TXT in the current node's directory. To direct output to the
	printer, change the filename to PRN.
	See ANSCAP command below.

	Alt-Q		(Quiet Remote User)
        If a user is connected remotely, hitting this key will disable him from
        being able to enter any keystrokes into the BBS . The user will see all
        the BBSs output, but any characters sent from his side will not be
	accepted as input. Hitting Alt-Q again enables remote input again.

	Alt-P		(Sysop Page Off)
        If someone is currently paging the local sysop (annoying sounds at the
	local console), hitting Alt-P will turn them off. Scroll-lock toggles
        local sysop availability.

	Alt-H		(Disconnect)
        Hangs up on the current user immediately.

	Alt-I		(Interrupt)
        Hangs up on the current user after displaying a message the node has
        been closed for maintenance.
	See INTR command below.

	Alt-A		(Sysop Alert)
        When the current user logs off the BBS, the local sysop will be alerted
        by a message and tone. 

	Alt-R		(Rerun Node)
        When the current user logs off the BBS, this node will automatically
	rerun itself.
	See RERUN command below.

	Alt-X		(Down Node After User Logs Off)
	Hitting this key comination while the user is in the BBS will toggle
	the down status of this node. When a node is to be downed, it will
	be automatically shutdown when the current user logs off.
	See DOWN command below.

	Alt--		(Subtracts 5 Minutes)
	Subtracts 5 minutes from the users time allowed online this logon.

	Alt-+		(Add 5 Minutes)
        Add 5 minutes to the user's time allowed online this logon.

	Alt-N		(Lock Node)
        Pressing this key will disallow any non-sysops or users without the
        'N' exemption from logging on after the current user logs off.
	See LOCK command below.

	Alt-T		(Temp Sysop)
        Gives the current user sysop status temporarily for this logon. Hitting
	Alt-T again removes the temp sysop status. This doesn't actually raise
	the main level of the user to 90, but gives him access to all sysop
        functions. The status line reflects Temp Sysop state with a blinking
        asterisk to the far left of the status line.

	Alt-G		(Guru Chat)
        Pops the user into apparent local chat with the system's guru.

	Alt-C		(Local Chat)
        Pops the user into chat with the local console

	Alt-D		(DOS Shell)
        Pops the local console into DOS. If a user is on remotely, he sees
        [WAIT] till the local console exits the shell. The sysop can use the
	'D' command to shell to DOS from the wait for call screen.
	See DOS command below.

Status Line:

	The status line displays one line of user information at any given
	time. To change the current line, use CTRL and the UP and DOWN arrow
	keys to scroll through different information lines, or CTRL-HOME to go
	to the	default (1st) or CTRL-END to go to the last.

Extra Online Sysop Commands
===========================

Most of the additional commands available to sysops online (local or remote)
are initiated from the main or transfer sections. A menu of the available
commands can be viewed with the '!' command from the main or transfer sections.
Additional sysop commands are available in many other sections of the BBS and
are displayed after the normal menu with the '?' command. All sysop commands
from the main or transfer sections begin with a semicolon (';') character,
end with CR (ENTER), and some have optional parameters (specified between
square brackets). Users with certain exemptions can use some of these commands
and have access to the menus via the '!' command.

Main Section:

	UEDIT [x]	(User Edit)
	This command initiates the User Edit function. If 'x' is specified
	and is a valid user number, that user will be the current user when
	User Edit starts, otherwise the user online will be the current user.
	This command is also available from the transfer menu. Locally, Alt-U
	is the preferred method of initiating User Edit.
	See User Edit for more information.

	CHUSER		(Change into Another User)
	This command allows the sysop to temporarily change into another user.
	If changing into a user with a higher ML, the password of that user
	must be given. Changing into a user of non-sysop status automatically
	enables Temp Sysop mode so that the sysop can change back into himself
	before logging off (a suggested action).

	ANSCAP		(Toggle ANSI Capture Mode)
	Normal ANSI escape sequences are not written to the capture file. The
	sysop can use this command to enable all characters (including ANSI
	escape sequences) to be written.

	SIF		(Execute SIF File)
	The sysop can test SIF files he has created by executing them with
	the command. See SIF for more information.

	LOCK [x]	(Lock Node)
	The sysop can use this command to prevent users logging onto a node
	until the lock is removed. If 'x' is specified, that node's lock
	status will be toggled, otherwise a list of all nodes is given and
	the sysop is prompted for the node to lock or unlock. Sysops and
	users with the 'L' exemption can use this command and log onto locked
	nodes. A locked node will have an 'L' in parenthesis after the node
	information in the node listings.

	INTR [x]	(Interrupt Node)
	This command allows a sysop (or user with the 'I' exemption) to hang-up
	on a user on another node. If the user is currently executing an
	external program (editors and transfer protocols included), he will
	not be disconnected until control returns to Synchronet. He will be
	displayed a message telling him the node has been temporarily closed
	for maintenance before carrier is dropped. If 'x' is specified that
	node's interrupt status will be toggled, otherwise a list of all nodes
	is displayed and the sysop is prompted for the node who's interrupt
	state he wishes to toggle. The current interrupt status of a node is
	reflected by an 'I' in square brackets following the node information
	line in the node listings.

	DOWN [x]	(Down Node)
	A sysop can toggle the down status of a node with this command. When
	a node has the down status (noted by the [D] flag on the node status
	line) is will be shutdown immediately after the user logs off. If a
	user is not online, it will shutdown immediately.

	ANON		(Anonymous)
	This command makes the current node anonymous. Sysops and users with
	the 'Q' exemption have access to this command. To a sysop, an anonymous
	node appears normal with the addition of an 'A' in square brackets
	following the node information line.

	QUIET		(Quiet Mode)
	Using this command, a sysop (or user with the 'Q' exemption) can make
	his node appear to be "Waiting for call"  to other users of the system.
	Users with this ability can also make this state their default state
	upon logon in the user defaults section. Local users can logon in
	this state with the WFC command SPACE, then 'Z' or user number 1 can
	logon fast and quiet with the WFC command SPACE, then 'Q'.
	To a sysop, a node in this state appears normal with the addition of
	a 'Q' in square brackets following the node information line.

	CHAT		(Toggle Local Chat Page)
	A sysop or user with the 'C' exemption can page the local sysop
	(regardless of the status of Scroll-Lock) with this command.

	RERUN [x]	(Rerun Node)
	This command allows a sysop to rerun any node on the system by
	specifying the node number on the command line. If there is a user
	on the node that is to be rerun, the node will not rerun until that
	user logs off. If a node number is not specified, the sysop will be
	prompted if he wants to rerun the current node right then. If he
	answers 'Yes', the current node will be immediately rerun and the sysop
	will remain connected and be given a fresh logon when the node has
	successfully rerun. A node that is going to be rerun is noted with an
	'R' in square brackets following the node information in node listings.

	RPT		(Report Section)
	The sysop can generate various reports of system information and
	statistics with this command.

	DOS		(Shell to DOS)
	Using this command, a sysop can go straight to the DOS command line
	locally or remotely. If the sysop is on locally, Shift-F10 is the
	preferred method of shelling to DOS. If a local sysop wishes to shell
	to DOS from the wait for call screen, he can use the 'D' command.

	SEG		(Segment Information)
	A sysop can view the current segment register contents with this
	command.

	EDIT [s]	(Edit Text/MSG File)
	A sysop can edit any ASCII text (and MSG format) files on system
	with this command. If 's' is given, it will be used as the filename to
	opened or create if it doesn't exist. If 's' is not specified, the
	filename will be prompted for.

	LOG		(Today's Detail Log)
	A sysop can view the today's detailed log file with this command. This
	command views the same file as the 'L' wait for call screen command.

	YLOG		(Yesterday's Detail Log)
	A sysop can view yesterday's detailed log file with this command. This
	command views the same file as the 'Y' wait for call screen command.

	LS		(Line Status)
	This command will give information of the current line status. Only
	useful remotely.

	NS [x]		(Node Statistics)
	This command will give today's statistics for node 'x' if specified,
	or the current node.

	SS		(System Statistics)
	This command will give today's statistics for all nodes combined.

	NLOG [x]	(Node Statistics Log)
	A sysop can view the history of statistics information for any node on
	the system. If 'x' is specified, that will be the node who's statistics
	are viewed, otherwise the current node. Same as 'N' from the wait for
	call screen.

	SLOG		(System Statistics Log)
	Using this command, a sysop can view the history of statistics
	information for the system. Same as 'S' from the wait for call screen.

	MEM		(Available Memory)
	This command dispays the amount of memory available to Synchronet and
	any external programs it executes (without shrinking).

	LIST [s]	(View Text/MSG File)
	A sysop can use this command to view any ASCII text (or MSG format)
	file on the system. If the filename 's' is not specified, it is
	prompted for.

	MAIL		(Read All Mail)
	Using this command (or 'M' from the WFC screen) a sysop can read all
	the e-mail on the system.

	GURU		(View Guru Log)
	A sysop can use this command to view the GURU.LOG file which contains
	discussions that users have had with the system guru (GURU.DAT).
	See GURU.DAT for more information.

	EVENT		(Timed Event Information)
	If a timed event has been specified in the external program
	configuration, information on its last execution and next scheduled
	execution can be displayed with this command.

	BENCH		(Performance Bench Marks)
	You can find out how well your system is performing by using this
	command. It generates 4 numbers. The lower each number, the better
	the performance. The first number is the speed index of text output
	(which is effected by the connect rate, if the user is remote). The
	second number is the speed index of file searches (DOS find firsts).
	The third number is the speed index of file record reads. The fourth
	number is the speed index of file record locking, reading, writing,
	and then unlocking. See BENCH.TXT to compare your results with other
	systems and circumstances.

Transfer Section (also available to users with 'R' exemption):
Most of the below commands can be followed by LIB or ALL to specify the action
to take place on all directories of the current library, or all directories in
all libraries.

	OLD		(Search for Files not Downloaded Since New-Scan Date)
	A sysop can use this command to remove, edit, or move files that were
	uploaded before the new-scan date (set with the 'P' transfer section
	command) and have not been downloaded since.

	OLDUL		(Search for Files Uploaded Before New-Scan Date)
	A sysop can use this command to remove, edit, or move files that were
	uploaded before the new-scan date (set with the 'P' transfer section
	command).

	CLOSE		(Search for Files Currently Open)
	If there are no users online and all nodes are running, there should
	be node file records open. A sysop can check for open file records
	with this command. If any file records that are left open errorneously,
	can be closed with this command. This circumstance should not happen.

	ALTUL [x]	(Alternate File Path Uploads)
	If there are alternate file paths configured, a sysop can use this
	command to set the current upload path to one of the alternate file
	paths. All subsequent upload commands will use the alternate upload
	path as the storage directory regardless of the storage path specified
	for the directory being uploaded to. This is a useful command for
	those who wish to have one directory with files listed from multiple
	CD-ROMs. See CD-ROM for more information on creating alternate
	file paths.

	UPLOAD		(Bulk Local Upload)
	This command searches for files that are on disk, but not in the
	database of the directory. If any are found, a description is prompted
	for and the file is then added to the database.

	RESORT		(Re-Sort and/or Compress)
	A sysop can use this command to re-sort a directory if he has changed
	the sort order in the directory configuration or can use this command
	to remove deleted file records from the database to conserve memory and
	disk space. If there are many deleted files in the database of a
	directory, performance will also be affected. Deleted file records
	are used by new uploaded files, but if a substantial amount of files
	have been removed from a directory, a sysop may wish to use this
	command.

	OFFLINE 	(Search for Offline Files)
	This command will search the disk for files that are in the database
	of a directory but not actually on the disk. The sysop can then remove,
	edit, or move these files to another directory. Offline directories
	are ignored in this search.

	GET		(Download File From Anywhere)
	A sysop can download a file from any drive or directory on the system
	by using this command. The file does not have to be in the file
	database.

	PUT		(Upload File to Anywhere)
	A sysop can use this command to upload a file to a local disk without
	having to add it to the file database.


User Edit
=========
!!User Edit
$$USEREDIT

Initiating User Edit
~~~~~~~~~~~~~~~~~~~~
Alt-U
        The sysop can locally hit Alt-U at anytime within Synchronet to bring
        up the User Edit function with the user that is online as the current
        user to edit. After exiting User Edit, the sysop will return to the
        place where he was prior to hitting Alt-U.

U
        At the Reading Mail, Scanning Sub-board, or Reading All Mail prompts,
        hitting 'U' will pop the sysop into User Edit with the author of the
	previous message as the current user. Hitting 'U' at the Waiting for
	call screen will start User Edit.

;UEDIT
        Typing ';UEDIT' at either the Main or Transfer prompts will also pop
        the sysop into User Edit and if a user number is specified (i.e.
        ;UEDIT 20), then that user will be the current user.


Using User Edit Remotely
~~~~~~~~~~~~~~~~~~~~~~~~
When a remote sysop initiates User Edit (with the U or ;UEDIT command), User
Edit functions a little differently than when a local sysop initiates it.
A remote sysop cannot raise any user's Main or Transfer Level above his own
and can't give a user any Main, Transfer, or Exemption Flags that he himself
doesn't have. A remote sysop can not edit any information of any users with
a Main Level higher than his own and their passwords, real names, and phone
numbers aren't displayed to him.


User Edit Screen Example:
~~~~~~~~~~~~~~~~~~~~~~~~
Alias	  : The Albatross		    Password	 : MYPASS    10/12/91
Real Name : Joe Schmoe			    Phone number : 714-555-1212
Address   : 404 N.S. West Ln.		    Age/Sex/BD	 : 31 M 03/08/61
Location  : Irvine, Ca			    Zip Code	 : 90001
Note	  :				    Handle	 : J Schmoe
Computer  : 386DX-25 ISA SVGA 4 60 ST506    Modem type   : 14.4/V32

First on  : 07/19/91  Expire    : 12/18/95  Last on   : 09/12/92  20:13
Time on   : 2831      Today     : 0   105   Last call : 9   90    Extra : 0
Logons    : 156       Today     : 0   6     Posts     : 39        Today : 0
E-mails   : 22        To sysop  : 3         Waiting   : 0         Today : 0

Uploads   :         3,085 bytes in 1 files
Downloads :    90,389,401 bytes in 282 files 
Credits   :	4,007,324 free: 0 (0 per day)
Minutes   :             0

Main	  :   CD       L N		Level: 35
Transfers :	  G			Level: 60
Exemption :                           
Restricts :                           

User edit (50 of 303):

User Edit Screen Explanation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 1st line contains either the alias (if aliases are allowed) or the name
of the user, the user's password, and the date the password was last modified.

The 2nd line contains the user's real name and the user's phone number.

The 3rd line contains address of the user, the user's age, sex, and birthday in
the form MM/DD/YY or DD/MM/YY if European Date format is enabled.

The 4th line contains the user's location (normally City, State) and Zip
(or postal) code.

The 5th line contains a public note about the user and the user's chat handle.

The 6th line contains the user's computer description and modem type.

The 7th line contains the user's private comment - only readable or editable
by a sysop. If there is a '$' after the "Comment" label, then this user has
a message file currently attached and is view/editable with the '$' command.
If the comment is blank and there isn't an extended comment, this line is
blank.

The 8th line contains the date the user was first on, the user's expiration
date, and the date and time the user was last on. Dates are in the form
MM/DD/YY or DD/MM/YY if European date format is enabled.

The 9th line contains the total time (in minutes) the user has been online,
how much time today, the maximum time he is allowed per day, amount of time on
his most recent call, the maximum time he is allowed per call, and any extra
time the user may have accumulated through file uploads.

The 10th line contains the total number of logons for this user, the number
of logons today, the maximum number of logons this user is allowed per day,
total number of messages posted by this user, and total posts today.

The 11th line contains the total number of e-mails sent by this user, total
number of e-mails sent to user #1, number of e-mails currently in user's
mailbox, and the number of e-mails this user has sent today.

The 12th line contains the user's NetMail forwarding address. If the user
doesn't have a NetMail forwarding address specified, this line is blank.

The 13th line contains the total number of bytes uploaded by this user and
the total number of files.

The 14th line contains the total number of bytes downloaded by this user and
the total number of files. If the user has had any suspected leech downloads,
the number of leech downloads is displayed here too.

The 15th line contains the number of credits this user currently has. The
free credits are given on a daily basis as determined by the sysop.

The 16th line contains the amount of time credits this user has (in minutes).

The 18th line contains the user's Main Flags that are set (if any) and the
user's Main Level.

The 19th line contains the user's Transfer Flags that are set (if any) and the
user's Transfer Level.

The 20th line contains the user's Exemption Flags that are set (if any).

The 21st line contains the user's Restriction Flags that are set (if any).

The 23rd line contains the User Edit command prompt which contains the number
of the current user and the total number of user slots on the system.

If the current user is deleted or inactive, then the 1st line will contain a
string that specifies this status and all other lines will be shifted down one.


User Edit Commands
~~~~~~~~~~~~~~~~~~
As with most Synchronet command prompts, hitting '?' will display a menu
of commands.

			   ®®® User Edit Menu ¯¯¯
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³  A  Alias and Chat Handle		  S  Sex			      ³
³  B  Birthday                            T  Transfer Security Level          ³
³  C  Computer                            U  Upload/Download Stats            ³
³  D  Delete/Deactivate/Restore           V  Validate User                    ³
³  E  Exemptions                          W  Password                         ³
³  F  Flags                               X  View Extended Comment            ³
³  G  Go to a User                        Y  Copy User to Another Slot        ³
³  H  Edit/Create Extended Comment        Z  Restrictions                     ³
³  I  Inspect/Edit User's Defaults        ]  Go Up One User                   ³
³  J  Edit Minutes                        [  Go Down One User                 ³
³  K  Edit Dates                          }  Search Up                        ³
³  L  Location and Address		  {  Search Down		      ³
³  M  Main Security Level                 /  Set Search String                ³
³  N  Note                                ~  Set Leech Download Counter       ³
³  O  Comment                             +  Adjust Credits                   ³
³  P  Phone Number                        *  Adjust Minutes                   ³
³  Q  Quit to Main Menu                   $  Edit Credits                     ³
³  R  Real Name                           #  View User Questionnaire          ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ


The available commands are listed below with explanations.

A - Alias and Chat Handle:
	This command will let you edit the user's alias - a 25 character field
	that must start with a non numeric character. You can also edit the
	user's chat handle (an 8 character field) with this command.

B - Birthday
        You can edit the user's birthday with this command. The form of the
	date is forced as either MM/DD/YY or DD/MM/YY (depending on the
	setting of the European date option).

C - Computer Description:
        You can edit the user's 30 character computer description field with
        this command.

D - Delete/Inactivate/Restore/Activate:
        If the current user is at normal status (not deleted or inactive),
        hitting this command will prompt you if you wish to delete or
        inactivate this user. If you delete a user, his account will be saved
        for number of days since his last logon. This number of days is
        specified by the sysop in the MAIN.CFG. After this number of days,
        a new user may obtain this slot. Inactive slots are the same as deleted
        ones, except that they are reserved and can't be used by new users.
 
        If the current user is deleted or inactive (as specified by the 1st
        line of the screen), this command will allow you to restore the user
        to normal status.

E - Exemption Flags:
        Exemptions are used by the sysop to give user's extended privilege
        to the system. For example, you might want to give a trustworthy
        user the right to remove, move, and edit descriptions of all files
        in the Transfer Section. Normally users can only remove or edit the
        description of a file they've uploaded, but a user with the 'R'
        exemption can move any file, remove any file, or edit any file
        description in the Transfer Section. This ability is normally only
        given to sysops.

        Using this command you can toggle the state of an Exemption Flag
        by hitting the corresponding letter. To view a menu of the available
        exemptions, hit '?' or [ENTER] to stop editing the Exemption Flags.

        The following is a list of the available exemptions and their
        descriptions ($ indicates that sysops have this capability):

        A - Anonymous
                Allows user to post and send e-mail anonymously.
        C - Chat $
                Allows user to page the local sysop with the ;CHAT command
                regardless of the sysop availability state (Scroll-Lock).
        D - Download
                Allows user to download files even when the user doesn't
                have enough credits.
        E - Elite Text
                Allows user to write and read elite text in messages. Elite
                text mode is toggled in messages with the Ctrl-A E sequence.
        G - Multiple Nodes $
                Allows user to be logged on to more than one node at a time.
                This exemption is useful for Guest accounts.
        I - Interrupt Nodes $
                Allows user to interrupt (hang-up on) other nodes with the
                ;INTR command.
	J - Chat Channel Cost
		User will not be charged credits to change chat channels.
        L - Logons per day
                Allows user to logon the system an indefinite number of times
                per day.
        M - Modem Rate $
                Allows user to logon any node at any modem speed regardless
                of what the minimum modem speed for that node is.
        N - Node Locking $
                Allows user to toggle the lock status of any node with the
                ;LOCK command and log on a locked node.
	P - Permanent
		This user account will not be automatically deleted because
		of inactivity.
	Q - Quiet/Anonymous Node $
		Allows user to toggle the quiet or anonymouse state of his node
		with the ;QUIET or ;ANON commands respectively. Nodes that are
		in quiet mode appear to be "Waiting for call" to the other
		nodes. Anonymous modes appear to have "UNKNOWN USER" online.
        R - Remove/Move/Edit Descriptions of Files $
                Allows user to remove, move, or edit the descriptions of any
                file in the Transfer Section that the user has access to.
	S - Send NetMail
		User will not be charge credits for sending NetMail.
        T - Time Online
                Allows the user to remain online indefinitely - no time limit.
                The inactivity timer remains active.
	X - External Programs
		User will not be charged credits to run external.

F - Flags:
        This command lets you toggle the state of all Main and Transfer Flags.
        Hitting '?' will display a menu that is used to remind the sysop of
	the meaning of each Main or Transfer Flag. These menus are located
	in the TEXT\MENU directory and names are MAINFLAG.ASC and XFERFLAG.ASC.
	Hitting [ENTER] will end the editing of the flags.

        The Main Flags (or MF) in conjunction with the Main Level can by used
        by the sysop to limit access to Message Groups, Sub-boards, External
        Programs, and General Text File Sections.

        The Transfer Flags (or TF) in conjunction with the Transfer Level can
        be used by the sysop to limit access to file Transfer Libraries and
        directories.

G - Go to a User:
        This command will let you change the current user into another user
        by entering the user's name, partial name, or number. It should be
        noted that the fastest way to change the current user is to type the
        number of the user directly at the User Edit prompt.

H - Edit/Create Extended Comment:
        This command will let the sysop edit or view an existing extended
        comment or create a new one. An extended comment is a free-form message
        file that a sysop creates that contains information pertaining to this
        user. A '+' after the "Comment:" string on the 5th line of the User
        Edit screen specifies that an extended comment already exists.

I - Inspect or Edit User's Default Settings:
        This command will bring up the current user's default settings for
        ANSI terminal emulation, screen length, screen pausing, spinning
        cursor, auto new file scan, clear screen after messages, auto menu
        display, and default QUIET mode (if the user has the 'Q' exemption).

J - Edit Minutes:
        This command allows the sysop to edit the current user's minute field.

K - Edit Date Fields:
        The command will let you edit the date fields for this user's last
        logon, first logon, expiration date, and password modification date.
	All dates are forced to the form MM/DD/YY or DD/MM/YY if European
	date format is enabled.

L - Location:
	This command will allow the sysop to edit the user's address, location,
	and zip/postal code fields.

M - Main Level or ML:
        The sysop can edit the user's Main Level with this command. The user's
        Main Level is a decimal number in the range 0 to 99. Higher levels
        indicate higher access. Users with an ML of 90 or higher are considered
        to be sysops. The sysop can use the Main Level in conjunction with the
        Main Flags to limit access to Message Groups, Sub-boards, General Text
        File Sections, and External Programs. The Main Level also determines
        the user's maximum time online per day, per call, maximum logons per
        day, and maximum number of lines per message (post or e-mail).

N - Note/Name:
        If aliases are allowed on the system, this command will allow the sysop
	to edit the user's public note. This field is displayed next to the
	user's alias in user listings and the logon list.

        If aliases are not allowed, this command allows the sysop to edit the
        user's name. The user's name is a 30 character field that must begin
        with a printable non-numeric character. The first letter of each word
        in the user's name is forced uppercase.

O - Sysop Comment:
        This command allows the sysop to edit the private 60 character comment
        field regarding this user.

P - Phone Number:
	The sysop can edit the user's phone number.

Q - Quit User Edit:
        Exits the User Edit function and returns the sysop to where he was
        prior to initiating User Edit.

R - Real Name (if aliases are allowed):
	This command allows the sysop to edit the user's real name - a 25
        character field. The first letter of each word in this field is forced
        uppercase.

S - Sex
        A single uppercase character is used to describe the sex of the user
        (normally 'M' or 'F'), but can be changed to any uppercase character
        with this command.

T - Transfer Level or TL:
        This command allows the sysop to edit the user's Transfer Level -
        a decimal number in the range 0 to 99. The Transfer Level can be used
        by the sysop to limit access to file Transfer Libraries and
        directories.

U - Upload/Download Statistics:
        The sysop can edit the user's upload and download statistics with
        this command. The statistics are the number of bytes and files uploaded
        and the number of bytes and files downloaded. These are numeric fields.

V - Validate User:
        This command will display the ten auto-validation values (0 to 9)
        for quickly setting the user's ML, TL, MF, TF, Exemptions, and
        Restrictions. The auto-validation values are set by the sysop in
        MAIN.CFG.

W - Password:
        Use this command to change the user's password. The password
        modification date doesn't change when using this command (use 'K'
        to change the password modification date).

X - View Extended Comment:
        This command allows the sysop to the user's extended comment if it
        exists.

Y - Copy User to Another Slot:
        This command will copy the user data of the current slot to another
        valid slot. This will overwrite any user information in the
        destination slot.

Z - Restriction Flags:
        A sysop can give a user restrictions from certain sections or features
        of the BBS by setting one or more valid Restriction Flags. Typing the
        letter of a restriction will toggle its status, '?' will display a menu
        of the valid restrictions and [ENTER] will end the flag editing
        procedure. The valid restrictions and their descriptions follow:

        A - ANSI and Ctrl-A Codes
                User can't write messages containing either ANSI escape
                sequences or Ctrl-A attribute codes.
        B - Beep
                User can't put beeps (Ctrl-G, ASCII 7) into messages
                (posts, mail, or chat).
        C - Chat
                User can't use any chat functions.
        D - Download
                User can't download files.
        E - E-mail
		User can't e-mail other users (can still e-mail sysop).
        F - Forward Mail
                User can't forward mail.
        G - Edit Defaults
                User can't edit their default settings.
	J - Quoting
		User can't use internal message quoting.
	K - Read Sent Mail
		User can read/kill sent mail.
        L - Logon Once a Day
                User will only be allowed to logon a maximum of once a day
                regardless of what his ML allows normally.
	M - Networked Mail
		Can't send NetMail.
	N - Networked Subs
		User can't post on networked sub-boards.
        P - Post
                User can't post messages on Sub-Boards.
	Q - QWK Network Node
		This user account is used for a QWK Network Node BBS system.
		This restriction automatically puts the user at the QWK prompt
		upon logon and no other sections of the BBS are accessible.
		This restriction also allows the user to upload REP packets
		containing messages that are from users other than the current
		user.
        R - Remove/Edit Descriptions of Files
                User can't remove or edit file descriptions of files he has
                uploaded.
        S - E-mail Sysop
                User can't send e-mail (feedback) to user #1.
        T - Transfer Section
                User can't access the Transfer Section at all.
        U - Upload
                User cannot upload files to the Transfer Section.
	W - Auto-message
		User cannot write to auto-message.
        X - External Programs
                User can't access the external program menu ('X' from Main
                Menu).
        Y - Are you sure (y/N) ?
                The user will be forced to answer Yes prior to performing
                any function from the Main or Transfer Sections.

] - Move Up One User Slot:
        Increment the current user number by one. If the current user is
        the last user, the current user will become user number 1 (wrap).

[ - Move Down One User Slot:
        Decrement the current user number by one. If the current user is
        the first user, the current user will become the last user (wrap).

(Number) - Change to User Number:
        Entering a user number directly at the User Edit command prompt will
        make that user the current user.

/ - Set Search String:
        Use this command to set the string of characters to search for.

} - Search Forward:
        Searches from the current user to the last user for the string set by
        the '/' command.

{ - Search Backward:
        Searches from the current user to the first user for the string set by
        the '/' command.

~ - Set Leech Download Counter:
	Every time a user downloads a file and the BBS detects the possible
	use of a 'leech' protocol, a counter is incremented and the value is
	displayed on the Downloaded Bytes and Files line if it is not zero. To
	change the value of this counter, use the '~' command.

+ - Add or Subtract Credits:
        This command will let you add or subtract credits to/from a user's
        account. Putting an 'M' after the number will multiply the amount by
        one megabyte (1,048,576) or a 'K' will multiply the amount by one
        kilobyte (1024). Placing a '$' will multiply with the number by the
        number of credits per dollar in the current system configuration.
        Placing a minus sign before the number will perform a subtraction of
        credits.

* - Add or Subtract Minutes:
        This command will let you add or subtract time from the user's minute
        field. Putting an 'H' after the number will multiple the amount by 60
        minutes (an hour). Placing a minus sign before the number will perform
        a subtraction of minutes.

$ - Edit Credits:
        This command allows you to edit the amount of credits of the current
        user.

# - View SIF Questionnaire:
        If the sysop has specified a SIF questionnaire in the MAIN.CFG and the
        current user has answered the questionnaire, this command will allow
        the sysop to view the answered questionnaire. An output SIF (usually
        an abbreviation of the input SIF) will be used if specified in the
        MAIN.CFG, if not specified the output SIF will be used for viewing. 


Multinode Configuration
=======================
!!Multinode
$$MULTNODE

Synchronet Version 1b runs under DOS v3.0 or greater and SHARE (or NetWare).
A DOS process is required for each node on a Synchronet system. You can run
multiple nodes on one cpu with DOS multitaskers such as DESQview, Windows,
or OS/2 v2.x or you can run one node per CPU and let the CPU's share the same
data on a common hard disk via Local Area Network (LAN).

LAN Method
~~~~~~~~~~
Using one CPU per node is by far the fastest way to run multiple Synchronet
nodes. Since Synchronet runs in 8086 real mode, any IBM PC can run Synchronet
with sufficient speed. The minimum equipment necessary for each node would be a
power supply, motherboard, at least 450k free memory, a network interface card
(NIC), floppy drive and controller (or just a boot PROM for the NIC), and a
modem. Some BIOS's require a video controller and/or a keyboard as well, but
they are not necessary for the execution of Synchronet.

To link these computers together, you will need some form of networking
software. DOS based networks (Lantastic, NetWare Lite, CBIS Network O/S, 
MainLAN etc.) are the cheapest and don't require a dedicated CPU as a file 
server, but they lack the speed of a dedicated file server and network 
operating system. The most popular Network Operating System (NOS) is Novell 
NetWare. The disk performance on a dedicated NetWare file server is often 
preferable over a local hard disk (especially on XT's) due to NetWare's high 
speed file system and dedicated memory for intelligent disk caching. Synchronet
will run on any NOS that allows multiple CPU's running DOS to access data on a 
common disk.

An alternative to using an individual computer for each node would be to use a
"computer on a card" board. Currently the most popular and reliable company
that produces these is Cubix Corporation. You can purchase a 4 XT board that
plugs straight into a NetWare file server bus slot for under $1500. You will
need a normal workstation for monitoring the nodes and performing local
maintenance, but you could make that workstation a node as well. So you can
have excellent performance with up to 21 nodes on just two computers (the
workstation and the file server). And external expansion buses are available,
each holding up to 12 cards (48 nodes) without adding any more individual
computers. You will need an external modem and serial cable for each node.



Multitasker Method
~~~~~~~~~~~~~~~~~~
Any program that allows the simulataneous execution of multiple DOS programs
should be able to run multiple Synchronet nodes per CPU. To reliably and
efficiently run multiple DOS sessions on one CPU, you will probably need an
80386 CPU (the faster, the better), and at least 2 megabytes of memory
(the more, the better). Different multitaskers will have different hardware
requirements, but the common denominator seems to be an 80386 and extended
or expanded memory.

You will need a separate IRQ line and UART I/O address for each COM port in
the computer. If you wish Synchronet to always use BIOS calls for screen
output, you need to include the B parameter on the SBBS command line. Normally,
Synchronet uses direct video for block text which can conflict with some
multitaskers that manage a split screen for multiple DOS sessions.

Generally, the faster the machine, the more nodes you can run. But how many
for what kind of performance is not an easy question to answer. It depends 
heavily on the multitasking software, modem speed, and hardware I/O. Under any
configuration, expect some amount of performance degradation when running
multiple nodes per CPU.


Is it Safe?
~~~~~~~~~~~
Many Sysops will worry how reliable the system is with multiple simultaneous
users. Rest assurred that Synchronet was designed from the ground up for
multiple simultaneous users. Data integrity and system fault tolerance is never
sacrificed when adding nodes to a Synchronet system.

Users can post on the same sub-board, e-mail the same user, download the same
file, run the same external program, perform virtually any system function
simultaneously. Note: External programs must support multiple simultaneous
users if the program has been configured for multiuser access from Synchronet.

Considerations and precautions have been taken where user data is concerned
to allow changes to the real-time database to take place immediately - even if
the user is online on a node other than the one that performed the data update.
Any security, configuration, or statistics changes made remotely will take 
effect immediately.

The transfer section disallows simultaneous uploading of the same filename to
the same directory and prevents a file that is currently open (being downloaded
or just added to a user's batch download queue) from being moved, removed, or
edited while allowing simultaneous downloads.

As a general rule, no data files or records are allowed exact simultaneous 
access if one of the nodes will modify the data. Simultaneous read only access 
is allowed. Collisions (simultaneous write access requested of a file by two 
or more nodes) are logged along with the retry count. There is a retry maximum 
count (or time-out) that will deny access to the requesting node and log a 
critical error for that node. This situation should not occur, but provisions 
are made for it in case of hardware failure of a node with a file or record 
open with write access.


Multinode: DESQview
===================
!!Multinode: DESQview
$$DESQVIEW

IMPORTANT:
To get the most available memory in your DESQview windows, DO NOT load DOS
into high memory (i.e. the line "DOS=HIGH" SHOULD NOT be in your config.sys).

How many nodes?
~~~~~~~~~~~~~~
The answer to this question depends on the speed of your machine. Here is
a table to estimate the maximum number of nodes you should run on any given
machine under DESQview:

CPU	Nodes
386-16	1
386-25	2
386-33	3
386-40	4
486-25	5
486-33	8
486-50	10

	Note: You can run more than the suggested number of nodes, but
	      performance will decrease with each additional node.

How much memory?
~~~~~~~~~~~~~~~
You will need roughly 500k of available expanded memory for each node. When
running multiple nodes, a disk cache is required. Around 1 to 2 MB should be
used in most situations. Here is another table of estimated total system memory
required in megabytes (assuming a 1MB disk cache is used):

Nodes	MB of RAM
2	3
3	4
4	4
5	5
6	5
7	6
8	6
9	7
10	7

Example Synchronet setup parameters for DESQview v2.42

É1ÍÍChangeÍaÍProgramÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º                               Change a Program                              º
º                                                                             º
º Program Name............: Synchronet Node 1                                 º
º                                                                             º
º Keys to Use on Open Menu: S1                        Memory Size (in K): 400 º
ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄº
º Program...: C:\SBBS\EXEC\SBBS.EXE                                           º
º                                                                             º
º Parameters:                                                                 º
º                                                                             º
º Directory.: C:\SBBS\NODE1                                                   º
ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄº
º Options:                                                                    º
º                  Writes text directly to screen.......: [Y]                 º
º                  Displays graphics information........: [N]                 º
º                  Virtualize text/graphics (Y,N,T).....: [T]                 º
º                  Uses serial ports (Y,N,1,2)..........: [N]                 º
º                  Requires floppy diskette.............: [N]                 º
º                                                                             º
º  Press F1 for advanced options                  Press <ÄÙ when you are DONE º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼

É1ÍÍChangeÍaÍProgramÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º                      Change a Program Advanced Options                      º
º                                                                             º
º System Memory (in K)........:  0  Maximum Program Memory Size (in K)..: 640 º
º                                                                             º
º Script Buffer Size........: 1000  Maximum Expanded Memory Size (in K):    0 º
º                                                                             º
º Text Pages: 1  Graphics Pages: 0  Initial Mode:        Interrupts: 00 to FF º
ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄº
º Window Position:                                                            º
º    Maximum Height:  25       Starting Height: 25       Starting Row...:   0 º
º    Maximum Width:   80       Starting Width:  80       Starting Column:   0 º
ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄº
º                                Shared Program                               º
º Pathname..:                                                                 º
º Data......:                                                                 º
ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄº
º Close on exit (Y,N,blank)......: [Y] Uses its own colors..............: [Y] º
º Allow Close Window command.....: [N] Runs in background (Y,N,blank)...: [Y] º
º Uses math coprocessor..........: [N] Keyboard conflict (0-F)..........: [0] º
º Share CPU when foreground......: [Y] Share EGA when foreground/zoomed.: [Y] º
º Can be swapped out (Y,N,blank).: [N] Protection level (0-3)...........: [0] º
º                                                                             º
º  Press F1 for standard options                  Press <ÄÙ when you are DONE º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼

DVSETUP.COM:

                   É1ÍÍAdvancedÍSetup:ÍPerformanceÍÍÍÍÍÍÍÍÍÍ»
                   º                                        º
                   º  Task Processing Time (in Clock Ticks) º
		   º		Foreground:    1	    º
		   º		Background:    1	    º
                   º                                        º
                   º  Memory Usage (in K)                   º
                   º      Common Memory:      17            º
                   º      DOS Buffer for EMS:  2            º
                   º                                        º
		   º  Optimize communications?	  (Y/N): Y  º
		   º  Allow swapping of programs? (Y/N): N  º
		   º  Manage printer contention?  (Y/N): N  º
                   º                                        º
                   º           Next field     Tab           º
                   º           Backup menu    Esc           º
                   º           DONE           <ÄÙ           º
                   º                                        º
                   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼

To save memory for each node, you can reduce the "Maximum program memory size"
to something like 450k or so. If you get memory allocation errors when
running SBBS, you'll need to increase this number. You can raise it beyond 640k
and actually get more than 640k free in some situations. This number is the 
amount that DESQview will give this node if it can, or if not possible, as much
as it can. The "Memory Size" parameter is the minimum amount the program will 
require.

The actual amount of free memory required after running Synchronet depends on
the largest text file your system will load (including GURU.DAT) or the
number of files in a transfer directory. If you have a 30k G-File or GURU.DAT,
you will need about 50k free. To figure out the amount of memory required for
a directory, multiple the number of files in the directory by 140 and then add
20k. 
	Example:     1,000 files
	         x     140 record+index
                 = 140,000 total allocation
                 +  20,000 overhead
                 = 160,000 total memory required

So, a directory with a 1,000 files will require roughly 160k free. You can
check the amount of free memory from within Synchronet with the ;MEM command.

If you have VGA, you may want to change the Video mode to 80x50 or 80x60 with
the "Rearrange" menu, and change the "Window Positions" under DVSETUP 
(advanced) and/or the "Window Position" information for the each SBBS node
under "Change a Program Advanced Options". This way you can display multiple
80x25 windows simultaneously.

Don't forget to have a batch file execute DVANSI.COM before running Synchronet
if you have external programs that access the COM port themselves and use DOS 
for output. Example: Trade Wars uses the BIOS for output so DVANSI is not
required. Global War uses DOS for output and uses the COM port directly, so 
DVANSI is required.

You must change "Close on exit" to [N] if you are going to execute SBBS from
a batch file that executes other programs before SBBS. Here is an example
batch file which will run dvansi, then Synchronet, and closes the window after
exiting Synchronet. This example file is called SBBSDV.BAT:

@echo off
c:\dv\dvansi
c:\sbbs\exec\sbbs %1 %2 %3 %4 %5
if errorlevel 1 pause
exit

This batch file (SBBSDV.BAT is just an example name), can be used to execute
any of the Synchronet nodes, because the "Directory" parameter determines which
node is going to run. You would have to change the "Program" parameter to
"C:\BAT\SBBSDV.BAT" if you created SBBSDV.BAT in the C:\BAT directory.

Start-up Scripts
~~~~~~~~~~~~~~~~
If you want your nodes to be automatically loaded up when running DESQview,
see "Learning Scripts" and "Start-Up Scripts" in your DESQview manual.

Here is an example script (in text format) that loads two Synchronet nodes
(assuming the Open Menu keys are S1 and S2):

DESQVIEW.TXT:

{Learn {Alt-\} "!startup"}
{DESQ}os1
{DESQ}os2
{Finish}

Here is an example script (in text format) that uses the Big DOS program to
load two Synchronet nodes:

DESQVIEW.TXT:

{Learn {Alt-\} "!startup"}
{DESQ}obd
dvansi{Enter}
cd \sbbs\node1{Enter}
sbbs{Enter}
{DESQ}obd
dvansi{Enter}
cd \sbbs\node2{Enter}
sbbs{Enter}
{Finish}

To use this script, you MUST modify the Big DOS program parameters to match
the program setup examples given at the top of this chapter.

To use either script, you must first convert it to DESQVIEW.DVS by running the
DESQview CONVSCR program.

Multinode: LAN
==============
!!Multinode: LAN
$$LANSETUP

Most of the information necessary for setting up your nodes on a LAN will be
provided by the documentation for your Network Operating System. All that
Synchronet requires is that each node have access to the SAME drive for
data storage. ALL Synchronet directories must be accessible by ALL nodes as
the SAME drive letter (if multiple drives are in use).

The may mix the LAN multinode method with the multitasker method to get more
than one node on each workstation.

*** IMPORTANT ***

Do not give ANY of the files associated with Synchronet a sharable file
attribute. Synchronet uses file and record locking to handle multiple
simultaneous file access requests and maintain data integrity. "Flagging"
a file "sharable" overrides these locking methods and will cause Synchronet
to corrupt your data in a multinode system.

External Program Configuration
==============================
!!External Programs
$$EXTERNAL

Synchronet has been designed to eliminate the need for batch files and
data file conversion programs to run external programs (door) on your BBS.
Synchronet supports many different data file types (listed below):

Software	File Name(s)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GAP		DOOR.SYS (IN and OUT)
WWIV		CHAIN.TXT
RBBS/QuickBBS	DORINFO#.DEF and EXITINFO.BBS (IN and OUT)
Wildcat! 2.x	CALLINFO.BBS
PCBOARD.SYS	PCBOARD.SYS and USERS.SYS (IN and OUT)
SpitFire	SFDOORS.DAT
MegaMail	UTIDOOR.TXT
Solar Realms	DOORFILE.SR
Synchronet	XTRN.DAT and MODUSER.DAT (IN)

*******************
Call-back Verifiers
*******************
Call-back verification and user upgrade programs for other BBS packages may be
used, as long as the program supports the DOOR.SYS, EXITINFO.BBS, USERS.SYS,
or MODUSER.DAT file format. To allow a program to modify the user data, you
must set the option "Modify User Data" to "Yes". The following user data
items may be updated with the following formats:

DOOR.SYS:	Main Level, Main Flags, Expiration Date, and Minutes
EXITINFO.BBS:	Main Level and Main Flags
USERS.SYS:	Main Level and Expiration Date
MODUSER.DAT:	Main Level, Transfer Level, Main Flags, Transfer Flags,
		Exemptions, Restrictions, Expiration Date, and Credits

*********************************
Installing a New External Program
*********************************
Install your new external program into a sub-directory off your XTRN directory.

Example: C:\SBBS\XTRN\TRADEWAR

If your program asks you to provide the directory where the BBS software is
installed or where the data file will be located, enter the directory where
you have installed the program (C:\SBBS\XTRN\TRADEWAR). Note: this is usually
only required for programs that do NOT support multiple nodes.

**********************************
Configuring a New External Program
**********************************
Run SCFG from any NODE directory (or hit 'C' at the Waiting For Call screen).
Select "External Programs" and hit enter. Now select "Online Programs" and
hit enter. Move the lightbar to the location where you would like your new
program to appear on the list (with ARROWS, HOME, or END keys). Hit the
INSERT key. Enter a description for your new external program.

Example: Trade Wars 2002

Now your new external program appears in the list. Hit ENTER to edit the
configuration for this program.

Start-up Directory
~~~~~~~~~~~~~~~~~~
The start-up directory will be the current directory when the program is
started. Move the lightbar down to "Start-up Directory" and hit ENTER. Enter
the path to the directory where you installed your program.

Example: ..\XTRN\TRADEWAR

     or: C:\SBBS\XTRN\TRADEWAR

Command Line
~~~~~~~~~~~~
Now move the ligtbar down to "Command Line" and hit ENTER. Now enter the
command to execute your external program. If the path and filename for the
BBS data file is required on the command line, use %f to represent the
path and filename. See Appendix A for other available command line specifiers.

Example: radgame %f

Clean-up Command Line
~~~~~~~~~~~~~~~~~~~~~
If your external program requires a clean-up command line (usually only
multiuser programs), select "Clean-up Command Line" and enter the required
command line for your program. Note: Most programs do NOT require this option.

Cost in Credits
~~~~~~~~~~~~~~~
If you wish your users to be charged credits when running this program, select
"Cost in Credits" and enter the required amount. Users with the 'X' exemption
will not be charged.

Minimum Age
~~~~~~~~~~~
If you wish to limit the age of users who have access to this program, select
"Minimum Age" and enter the minimum required age.

Minimum Main Level and Required Main Flags
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you wish to limit which users have access to this program by Main Level
or Main Flag(s), select and set those options accordingly.

ANSI Required
~~~~~~~~~~~~~
If ANSI terminal emulation is required for this program, select "ANSI Required"
and set this option to "Yes".

Multiuser
~~~~~~~~~
If this program supports multiple simultaneous users, select "Multiuser" and
set this option to "Yes".

Intercept I/O Interrupts
~~~~~~~~~~~~~~~~~~~~~~~~
If this program does NOT have it's own modem communications I/O and does NOT
use a FOSSIL driver, select "Intercept I/O Interrupts" and set it to "Yes".
Note: Most programs require this option be set to "No". Programs written
specifically for WWIV or Synchronet BBS software, should usually have this
option set to "Yes". Consult the documentation for the program if you are
unsure. If you do set this option to "Yes", and the program was not written
specifically for Synchronet, you'll need to place the following string at
the BEGINNING of your comand line: "%!dcdwatch %&".

Example: %!dcdwatch %& foodfite %f

Without the use of the DCDWATCH, the program will not exit if a user drops
carrier (hangs-up) while using the program. Some programs time-out eventually,
and exit back to the BBS, but not all.

Shrink BBS
~~~~~~~~~~
If this program requires a large amount of free memory, you'll probably want
to select "Shrink BBS" and set it to "Yes". This causes Synchronet to shrink
to 16k before executing the program, giving it much more available RAM.
Programs that use WWIV color codes (native WWIV programs) can not be used
in conjunction with the "Shrink BBS" option.

Modify User Data
~~~~~~~~~~~~~~~~
If this program can modify the current user's data through one of the
supported data file types (see Call-back Verifiers above), select "Modify
User Data" and set it to "Yes".

Uses WWIV Color Codes
~~~~~~~~~~~~~~~~~~~~~
If this program uses WWIV color codes, you'll need to set both "Uses WWIV
Color Codes" and "Intercept I/O Interrupts" to "Yes". Don't forget to use
DCDWATCH in your command line. See "Intercept I/O Interrupts" for more
information on how to use DCDWATCH.

Execute on Event
~~~~~~~~~~~~~~~~
If you want this program to run automatically during user logon, logoff,
new user application, or a user's birthday, use this option to select
the desired event.

Menu Command Keys
~~~~~~~~~~~~~~~~~
If you would like the program to be able to be executed from the Main or
Transfer prompts, use this option to define the key to start the event
from one or both prompts.

BBS Data File Type
~~~~~~~~~~~~~~~~~~
If your program requires a BBS data file (most do), use this option to
select the type of data file to create. After selecting the data file type,
you will be prompted for the directory you want the file to be created in.
In general, for multiuser programs or programs that can have the path and
filename of the data file included on the command line, select the
"Node Directory". For single user programs that require the data file to
be in the current directory, select "Start-up Directory". The location for
the data file is specified on this option line with a (N) for node directory
or (S) for start-up directory.

**********************************
Examples for some popular programs
**********************************

Trade Wars 2002 v1.03
~~~~~~~~~~~~~~~~~~~~~
Start-up Directory		..\XTRN\TRADEWAR
Command Line			tw2002
Clean-up Command Line
ANSI Required			Yes
Multiuser			No
Intercept I/O Interrupts	No
Shrink BBS			Yes
Modify User Data		No
Uses WWIV Color Codes		No
BBS Data File Type	    (S) WWIV		CHAIN.TXT

Notes: Be sure to install in XTRN\TRADEWAR and NOT XTRN\TRADEWAR\TRADEWAR.
       Does not work with non-standard COM ports.
       Does not work with a FOSSIL driver.
       Slow under DESQview due to non-interrupt driven output.
       If running multiple nodes with a combination of high-speed and low-speed
	   modems, contact Digital Dynamics for necessary patch program
	   information.
       Have your timed event change into the ..\XTRN\TRADEWAR directory and
	   run the daily maintenance program (EXTERN). This event must
	   be set to run exclusively.

Barren Realms Elite
~~~~~~~~~~~~~~~~~~~
Start-up Directory		..\XTRN\BRE
Command Line			bre
Clean-up Command Line
ANSI Required			No
Multiuser			No
Intercept I/O Interrupts	No
Shrink BBS			Yes
Modify User Data		No
Uses WWIV Color Codes		No
BBS Data File Type	    (S) Solar Realms	DOORFILE.SR

Notes: Delete BRE.BAT from your XTRN\BRE directory after running INSTALL.
       Edit RESOURCE.DAT for use with non-standard COM ports.
       Appears to have a problem with using standard I/O address (2e8, 2f8,
	   3e8, or 3f8) with non-standard IRQ (anything but 3 or 4).
       Does not work with a FOSSIL driver.
       Slow output under DESQview due to polled output.
       DO NOT enter a locked baud rate during the INSTALL program.

Food Fight (for WWIV)
~~~~~~~~~~~~~~~~~~~~~
Start-up Directory		..\XTRN\FOOD
Command Line			%!dcdwatch %& foodfite %f
Clean-up Command Line
ANSI Required			No
Multiuser			No
Intercept I/O Interrupts	Yes
Shrink BBS			No
Modify User Data		No
Uses WWIV Color Codes		Yes
BBS Data File Type	    (N) WWIV		CHAIN.TXT

Phantasia
~~~~~~~~~
Start-up Directory		..\XTRN\PHANT
Command Line (direct com)	phant %f PORT:%u:%i
Command Line (FOSSIL driver)	phant %f PORT:F:%p
Clean-up Command Line
ANSI Required			Yes
Multiuser			Yes
Intercept I/O Interrupts	No
Shrink BBS			Yes
Modify User Data		No
Uses WWIV Color Codes		No
BBS Data File Type	    (N) GAP		DOOR.SYS

Notes: For best results under DESQview, use a FOSSIL driver for interrupt
	   driven output (BNU or X00).

Global War
~~~~~~~~~~
Start-up Directory		..\XTRN\GWAR
Command Line (single node)	war /w %f
Command Line (multiple nodes)	war /w %f /n war%#.cfg
Clean-up Command Line
ANSI Required			Yes
Multiuser			Yes
Intercept I/O Interrupts	No
Shrink BBS			Yes
Modify User Data		No
Uses WWIV Color Codes		No
BBS Data File Type	    (N) WWIV		CHAIN.TXT

Notes: If running multiple nodes, must create a WARx.CFG for each node
	   (x is node number) in your XTRN\GWAR directory.
	   Example: WAR1.CFG, WAR2.CFG, WAR3.CFG etc.
       If running under DESQview, use a FOSSIL driver (BNU or X00) for
	   interrupt driven output - otherwise it can be really slow (set
	   FOSSIL to 'Y' in WAR*.CFG).
       Must use FOSSIL for non-standard COM ports.


Networking
==========
!!Networking: QWK
$$NETWORKS
$$QWK_NETS

*************************
* QWK Packet Networking *
*************************

Let's start with some basic definitions. A QWK netted BBS is either a node,
a hub, or both. A node is a BBS that calls another QWK net hub to transfer
packets (receiving QWK and sending REP). A hub is a system that receives calls
from other nodes and transfers packets (sending QWK and receiving REP).

Configuring Your BBS as a QWK Node
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In the SCFG program, you'll need to specifiy your system's tagline (usually
the system name and phone number), the hubs to call, when to call, what node
will do the calling, and which sub-boards to carry for each hub (a sub-board
can send and receive messages from more than one hub!).

The hub's System ID is important and must match the System ID of the hub BBS.
For each hub, you can specifiy a list of sub-boards to network. For each
sub-board, you must also set the conference number for the sub-board on the
hub BBS. In Synchronet, conference numbers are based on the Group/Sub-board
relationship. Group 1 / Sub 1 is conference number 101, Group 2 / Sub 3 is
conference 203, etc. (Note: this is NOT the conference number for the sub-board
on your BBS. It is the conference number on the hub BBS.) Also, for each
sub-board you must set the method of Ctrl-A code handling. If the hub system is
a Synchronet BBS, you'll want to leave Ctrl-A codes in. If it is not, you'll
probably want to strip them.

You'll need to decide which node will do the calling-out and configure it so.
You'll also need to decide if you want your BBS to call-out multiple times
per day at any given time based on a total number of calls per day (usually,
if all your hubs are local) or if you wish the BBS to call-out at a specific
time every day (usually if one or more hubs are long distance).

You also need to set the command line to execute to perform the call-out. This
is almost always a batch file. An example is:
%!qnet

Which will execute QNET from the EXEC directory. QNET, in this example, is a
batch file that executes Telix or another communications program to perform
the call-out (Robocomm is quite popular for calling PCBoard and Wildcat BBSs,
but its script interpreter is far inferior to Telix). Both Robocomm
(SBBSQNET.RS), Telix (SBBSQNET.SLT and QNET.SLT), and  Qmodem (SBBSQNET.SCR)
scripts come with SBBS. If you're not calling a PCBoard or Wildcat hub, we
strongly suggest you use the Telix or Qmodem scripts for call-outs.

Note: The above mentioned scripts are distributed in the EXEC directory.

The above mentioned QNET.BAT is as follows:

@echo off
cd \telix
telix sqnet q

This changes directory to the \TELIX directory and execute Telix, automatically
performing the script QNET.SLC (compiled QNET.SLT) which inturn calls
SBBSQNET.SLC (compiled SBBSQNET.SLT) for each hub to call. The 'q' parameter
runs Telix in "quiet mode".

If you do use Telix to perform your call-outs, you'll need to edit the QNET.SLT
file for all the hubs your system calls and then compile it using the CS.EXE
program included with Telix. You shouldn't need to edit the SBBSQNET.SLT file.

Before having your BBS perform that call-out to a QWK network hub, you must
have the sysop of the hub create an account for your system using your system's
QWK BBS ID as the login name. If the hub is a Synchronet BBS, the sysop will
need to give your account the 'Q' restriction, configure your account's new
message scan to only include the sub-boards you are going to network, and set
your new message scan pointers for the netted sub-boards to a relatively recent
date. The 'L' and 'T' exemptions are also helpful on a QWK network node
account.


Configuring Your BBS as a QWK Network Hub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Being a QWK network hub, just means that other QWK network compatible systems
are going to logon to your system and upload and download messages. All you
have to do is create a user account for each QWK network node that is going
to call your system. The user name/alias should be the QWK system ID of the
node BBS. The account needs to have the 'Q' restriction.

The 'Q' restriction is used only for QWK network node accounts. An account
with this restriction will receive the QWK: prompt immediately upon logon
and can't access any other facility of the BBS. This restriction also allows
that account to send messages that are from other users as well as receive
private posts that are to other users.

In addition to the 'Q' restriction, the 'L' (logons per day) and 'T' (time
per day) exemptions may be helpful, depending on how many times the node will
call your system a day and the time per call/day and logons per day allowed by
the ML you've given the account.

Before the QWK network node calls your system, you need to configure the
accounts new message scan to only include the sub-boards that you are
networking with it (&N main section command). If the account already has the
'Q' restriction, you can use the ;CHUSER command to change into that account
and edit its configuration. Also, keep in mind that new user accounts have
their new message scan pointers set to the beginning of time automatically.
If you do not set a QWK node account's pointers to a recent date/time (&P main
section command), the first time the node calls in and receives messages, it
will receive every message on every networked sub-board. This may be preferred
by some, but most sysops don't want a large group of old messages from a
foriegn BBS to suddenly appear on their sub-boards.

Be sure to give all node accounts sufficient access to read and write messages
on the sub-boards networked between the node and your BBS. The account will
also require the 'E' exemption if you wish elite text to be preserved in
messages (only available when ctrl-a codes are left in).

Step-by-step Instructions for DOVE-Net
======================================
(These instructions are for Synchronet v1b r1. With other versions, these
instruction may differ slightly.)

1.	Run SCFG (type SCFG from a NODE directory or hit 'C' at the Waiting For
	Call screen).

2.	Select "Message Base" and hit ENTER.

3.	Hit the END key to move the lightbar to the end of your group list.

4.	Hit the INS key to add a new message group.

5.	Enter "DOVE-Net" for both the long and short group names.

6.	Hit ENTER on the new "DOVE-Net" message group.

7.	Hit the END key to move the lightbar to the last option ("Message
	Sub-boards...") and hit ENTER.

8.	Hit the INS key to add a sub-board.

9.	Enter "General" for both the long and short names.

10.	Enter "DOVE-Net" for the QWK name.

11.	Enter "DOVE-GEN" for the internal code.

12.	Hit the END key to move the lightbar to the bottom of the sub-board
	listing.

13.	Repeat steps 8 through 12 for the following sub-boards:

	Long and Short Name		QWK Name	Internal Code
	-------------------------	----------	--------
	Advertisements			Ads		DOVE-ADS
	Entertainment			Entertain	DOVE-ENT
	Debate				Debate		DOVE-DEB
	Hardware/Software Help		Technical	DOVE-HLP
	Programming			Program'n       DOVE-PRG
	Synchronet Discussion		Synchronet	DOVE-SYN
	Synchronet Sysops Only		SBBS Sysop	DOVE-SYS

14.	Hit HOME then ENTER to edit the first sub-board in the list.

15.	Hit END then ENTER to edit the sub-boards Network Options.

16.	Hit 'Q' then ENTER to modify the "QWK Networked" option.

17.	Hit 'Y' then ENTER to change this option to "Yes".

18.	Hit ESC to move back to the sub-board config option menu.

19.	Hit the UP ARROW key then ENTER to modify the "Toggle Options".

20.	Hit ENTER, 'Y', then ENTER to set "Allow Private Posts" to "Yes".

21.	Hit END, ENTER, 'Y', then ENTER to set "Allow Message Quoting" to
	"Yes".

22.	Hit ESC three times till you're back at the "DOVE-Net Group" menu.

23.	Hit UP ARROW, ENTER, 'Y', then ENTER to clone the options of the first
	sub-board into the rest of the group.

24.	Hit ESC twice and answer "Yes" to the "Save Changes" menu.

25.	Hit UP ARROW to select "Networks" and hit ENTER.

26.	Hit ENTER to select "QWK Packet Networks".

27.	Hit DOWN ARROW, then ENTER to edit your "Default Tagline".

28.	Enter the name and phone number of your BBS.

29.	Hit UP ARROW, then ENTER to edit your "Network Hubs...".

30.	Hit INS to create a new hub entry.

31.	Enter the QWK System ID of the hub BBS. If you are using Vertrauen for
	your hub, enter "VERT".

32.	Now hit ENTER to edit the new hub. The window should look like this:

	Hub System ID		VERT (or whoever your hub is)
	Pack Command Line	%!pkzip %f %s
	Unpack Command Line	%!pkunzip -o %f %g %s
	Call-out Command Line	%!qnet
	Call-out Node		1
	Call-out Days		Sun Mon Tue Wed Thu Fri Sat
	Call-out Time		00:00
	Networked Sub-boards...

33.	Hit END, then ENTER to edit the configured "Networked Sub-boards".

34.	Hit INS to add sub-board.

35.	Hit END, then ENTER to select the "DOVE-Net" group.

36.	Hit ENTER with the "General" sub-board highlighted.

37.	Enter "201" for the Conference Number on Hub.

38.	Select "Leave in" for the "Ctrl-A" menu.

39.	Hit END to move the lightbar to the bottom of the sub-board list.

40.	Repeat steps 34 through 39 for the following sub-boards:

	Name				Conference Number
	-------------------------	---
	General 			201
	Advertisements			202
	Entertainment			203
	Debate				204
	Hardware/Software Help		205
	Programming			206
	Synchronet Discussion		207
	Synchronet Sysops Only		208

41.	Hit ESC four times and answer "Yes" to the "Save Changes" menu.

42.	Hit ESC to go back to the main "Configure" menu.

43.	Hit UP ARROW and ENTER for the "System" menu.

44.	Move the lightbar down to "Message Options..." and hit ENTER.

45.	Set your "BBS ID for QWK Packets" to an abreviation of your BBS name
	(must start with an alphabetic character). Remember your QWK BBS ID;
	you'll need it later.

46.	Hit ESC twice and answer "Yes" to the "Save Changes" menu.

47.	Now hit ESC to exit SCFG.

48.	If you're not already at a DOS prompt, get to one (i.e C:\SBBS\NODE1>).

49.	If you haven't already installed TELIX, do so now. Be sure to configure
	Telix for the SAME com port, DTE rate, and flow-control settings as
	the node you are using for the call-out (call-out node is specified in
	step 32).

50.	Copy the files QNET.SLT and SBBSQNET.SLC from your EXEC directory into
	your TELIX directory.

	Example:
			copy \sbbs\exec\qnet.slt \telix
			copy \sbbs\exec\sbbsqnet.slc \telix

51.	Change into your TELIX directory.

	Example:
			cd \telix

52.	Edit the QNET.SLT file.

	Example:
			edit qnet.slt

53.	Move down to the lines that start with "copystr". If you installed
	Synchronet into your C:\SBBS directory, leave these lines alone.
	Otherwise, change "C:\SBBS\DATA" into the drive and directory where
	you installed Synchronet with "\DATA" on the end (for both lines).
	If you have changed the SCFG->System->Advanced Options->Data Directory,
	these lines must point to THAT drive and directory.

54.	Move down to the line that starts with "call".

55.	Change "VERT" and the phone number to match the BBS ID and phone number
	of the hub you are calling. If your hub is Vertrauen, leave "VERT" as
	is. If you are in the 714 area code, remove "1-714" from the phone
	number. If you are using a 9600 or faster modem, change the phone
	number to 714-529-5313 (for V.32 or V.32bis) or 714-529-9547 (for HST).

56.	Change "QWKID" into your system's QWK BBS ID (as entered in step 45).

57.	Change "password" into the password you wish to use on your hub BBS.

58.	Save the file and exit the editor.

59.	Compile the SALT script.

	Example:
		CS QNET

	If you do not get the message "CS done..." then you did something wrong
	when editing QNET.SLT. Copy it from the EXEC directory and start over
	at step 51.

60.	Call your hub system. Logon as NEW and enter your BBS QWK ID as your
	user name and let your hub's sysop know that the account is for a
	DOVE-Net node (usually in new user validation feedback). Make sure you
	use the SAME password for the hub BBS that you entered into your
	QNET.SLT file. Do not perform a QWK net call-out to this hub until
	you are sure the sysop has made the necessary modifications to your
	QWK node account or the script will not work correctly. DO NOT download
	a QWK packet without the proper settings on your QWK node account. If
	you don't immediately get a QWK: prompt when logging on to the hub,
	your QWK node account has not yet been setup and you must wait until
	it is properly configured on the hub BBS before sending or receiving
	packets.

61.	If you installed TELIX in a directory other than "\TELIX" or on a
	different drive than Synchronet, you will need to edit the QNET.BAT
	file in your EXEC directory to have it change drive and directory to
	the correct location of TELIX.

*** End of DOVE-Net Step-by-step instructions ***

To configure your call-outs using a terminal program other than Telix, you
may need to write your own scripts. Scripts for Telix, Qmodem, and Robocomm
are provided in the EXEC directory.

It is important that you DO NOT call more than one DOVE-Net hub, unless you
and the hub sysop are very experienced with QWK networking. It is also
important that if you SWITCH hubs in the future, that you delete all the
messages in the DOVE-Net sub-boards before your first call-out to the new
hub BBS. Otherwise, you will flood the network with duplicate messages.


***********************
* PostLink Networking *
***********************
!!Networking: PostLink
$$POSTLINK

PostLink is message networking program written by Kip Compton and available
for purchase from Bonnie Anthony (see Contacts Appendix). It is a derivation
from PCRelay software. RelayNet (AKA RIME), headed by Bonnie Anthony, ILink
and many other networks use this technology.

Synchronet supports PostLink by letting the sysop configure the call-out
schedule and which node will perform the call-out. Multiple PostLink networks
are supported simultaneously by specifying multiple hubs. The Site ID entered
in SCFG is only used for documentary purposes. Synchronet includes a UTI
(Universal Text Interface) driver for PostLink. It is a set of 6 programs
(UTI*.EXE) included in your EXEC directory. See the Utility Reference for
more informatino on the Synchronet UTI Driver.

**********************
* FidoNet Networking *
**********************
!!Networking: FidoNet
$$FIDONETS

FidoNet is both a network technology (referred to as FTN) and an actual
network. The technology was developed specifically for FidoNet, but is used
by many other networks today as well. These non-FidoNet networks are referred
to as FTNs (FidoNet Technology Networks) because they share the same
technology, but don't necessarily have anything more in common with FidoNet.

Setting up a FidoNet is likely the most complex task a sysop could attempt.
There are many steps associated with joining a FidoNet and most of the steps
involve new terminology to even the most experienced sysop.

The first step is to find a FidoNet Front-end mailer program. This program
will need to be run to make and accept FidoNet mail calls. It is usually run
24 hours a day, but is usually only required during a certain period (called
Mail Hour and defined by the individual Networks). The most popular of these
programs are FrontDoor, D'bridge, and Binkley. Both FrontDoor and Binkley
will require the use of a FOSSIL (serial communications) driver as well. The
most popular FOSSIL drivers are BNU and X00 (many DOORs require FOSSIL drivers
as well).

When running Synchronet from the Front-end, you will need to pass the current
connect rate, tell Synchronet to quit after the call, and possible pass the
minutes till the next event.

Example: SBBS Q C14400 E60

The above command line tells Synchronet that someone is currently connected
(at 14400bps), to quit back to DOS after the caller logs off, and that the
next scheduled event is in 60 minutes. Type SBBS ? to list all the available
switches for running Synchronet.

SBBSFIDO is a utiltiy to import NetMail and import/export EchoMail. The FidoNet
messages must be in the FidoNet stored message format specified in FTS-0001
(#.MSG).

If the FidoNet semaphore file is specified in the SCFG Network options, it will
be created by Synchronet when a user has sent NetMail from the BBS. NetMail is
immediately exported from Synchronet, so SBBSFIDO does not need to do the
exporting.

NetMail will be exported to and imported from the directory specified in the
Networks configuration in SCFG. EchoMail will be imported to and exported from
the EchoMail path specified for that sub-board, or off the base EchoMail
directory specified in SCFG Network options in a subdirectory named after the
internal code of the sub-board.

Definitions
~~~~~~~~~~~

EchoMail:
        Conference (Sub-board) messages echoed across FidoNet in compressed
        packets - AKA Conference Mail.

EchoMail Program:
        If the front-end mailer does not directly support EchoMail, an EchoMail
        program is necessary. TosScan is an example of an EchoMail program.

Front-end Mailer:
        This is the EMSI compatible FidoNet message front-end you are using.
        FrontDoor, SEAdog, Binkley, and D'bridge are examples of front-end
        mailers.

NetMail:
        Point to point mail in FidoNet stored message format FTS-0001 (1.MSG).

SBBSFIDO:
        SBBSFIDO.EXE Synchronet/FidoNet import/export utility normally located
        in your EXEC directory.


Message Flow Chart
~~~~~~~~~~~~~~~~~~

                               ÉÍÍÍÍÍÍÍÍÍÍÍÍ»
                               º Synchronet º
                           ÖÄÄÄÐÄÄÄÄÄÂÄÄÄÄÄÄÐÄÄÄ·
                     ÚÄÄÄÄÄ¶ NetMail ³ EchoMail ÇÄÄÄÄÄ¿
                     ³     ÈÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍ¼     ³
                     ³            ^      ^            ³
                     ³            ³      ³            ³
                     ³          ÉÍÏÍÍÍÍÍÍÏÍ»          ³
                     ³   ÚÄÄÄÄÄÄ¶ SBBSFIDO º<ÄÄÄÄÄÄÄÄÄÙ
                     ³   ³      ÈÍÍÍÍÍÍÍÍÍÍ¼
                     ³   ³        ^      ^
                     ³   ³        ³      ³
                     ³   ³  ÉÍÍÍÍÍÏÍÍÍÍÍÍÏÍÍÍÍÍ»
                     ³   ÀÄ>º EchoMail Program ÇÄÄÄÄÄÄ¿
                     ³      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼      ³
                     ³            ^      ^            ³
                     ³            ³      ³            ³
                     ³     ÉÍÍÍÍÍÍÏÍÍÑÍÍÍÏÍÍÍÍÍÍ»     ³
                     ÀÄÄÄÄ>º NetMail ³ EchoMail º<ÄÄÄÄÙ
                        ÖÄÄÐÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÐÄÄ·
                        º Front-end Mailer Program º
                        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼

Running SBBSFIDO
~~~~~~~~~~~~~~~~
SBBSFIDO requires either the DOS environment variable "SBBSNODE" to be set to
the full path of your NODE1 directory or it will accept the path of the NODE1
directory as an argument.

Example:
        set sbbsnode=c:\sbbs\node1
        sbbsfido
      or
        sbbsfido c:\sbbs\node1

If SBBSFIDO.EXE is not in your search path, you'll need to specify the
directory where SBBSFIDO.EXE exists on your command line.

Example:
        c:\sbbs\exec\sbbsfido c:\sbbs\node1

SBBSFIDO, when run without any switches will import any new NetMail or EchoMail
and export any new EchoMail that has been posted on the BBS, will delete all
imported FidoNet messages, and uses 4 dimensional (Zone:Net/Node.Point)
addresses.

The available switches are:

        /n      Do not import NetMail
        /i      Do not import EchoMail
        /e      Do not export EchoMail
        /d      Do not delete NetMail after it is imported
        /x      Do not delete EchoMail after it is imported
        /k      Do not kill exported EchoMail after it is sent
        /p      Ignore point in addresses
        /z      Ignore zone in addresses
        /m      Ignore message pointers (export all)
        /u      Update message pointers (export none)
        /t      Do not update message pointers
        /a      Do not export extended ASCII and control codes
        /l      Log output to SBBSFIDO.LOG
        /r      Create report of import totals (SBBSFIDO.MSG) in TEXT dir
        /h      Export all messages (not just local) for hub rescan

The default action is for SBBSFIDO to scan all sub-boards that have the
"FidoNet EchoMail" option set to "Yes" for incoming and outgoing mail. If
a sub-board's internal code is specified on the command line, only that
sub-board will be scanned.


Using FrontDoor v2.02 and TosScan v1.00 (MSG version) with Synchronet v1b
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Settup up Synchronet v1b+
~~~~~~~~~~~~~~~~~~~~~~~~~

Run SCFG from one of your node directories, or hit 'C' from the waiting for
caller screen. Then select "FidoNet EchoMail and NetMail" from the "Networks"
menu. Set your address to your system's FidoNet address. This is the address
used for sending and receiving NetMail. It will also be used as the default
address for message sub-boards. Create an origin line for your system that
most likely contains your BBS name and phone number. The following is a list
of examples for the other FidoNet configuration options:

C:\FD\FDEXIT.025                        FidoNet Semaphore File
C:\FD\ECHO\                             Default EchoMail Base Directory
C:\FD\MAIL\                             NetMail Directory
Yes                                     Allow NetMail to be Sent
No                                      Use Alias in NetMail
No                                      NetMail defaults to Crash
No                                      NetMail defaults to Hold
Yes                                     NetMail defaults to Kill after Sent
102400                                  NetMail Cost in Credits

Create your EchoMail conferences, probably in a separate group for FidoNet.
For each echo conference, set "FidoNet EchoMail" under each "Network Options"
to Yes. If a conference requires a different address, configure that address
under "Network Options" as well. If real names are required and you allow
aliases on your system, set "Use Real Names" under "Toggle Options" to Yes.
If you need to use a separate origin line for different conferences, you can
configure a different origin line for each sub-board under "Network Options".


Setting up FrontDoor v2.02
~~~~~~~~~~~~~~~~~~~~~~~~~~

Install FrontDoor per FD.DOC (included with FrontDoor).

Copy MAILER.BAT and EXEBBS.BAT into the FrontDoor directory.

In FDSETUP, under Mailer/Errorlevels, you should configure as follows:

300                     100
1200                    101
1275                    102
2400                    103
4800                    104
7200                    105
9600                    106
12000                   107
14400                   108
19200                   109
38400                   110
Received mail           50
Create BAT.file         Yes

In FDSETUP, under Manager/Events, make sure all your events are set to exit
when mail is received (under Event Behavior). This allows for the immediate
importation of new messages into the BBS.

In FDSETUP, Modem/Hardware, set "Lower DTR when busy" to "No". 
Under Modem/Command strings, set the "Down" string to "ATM0H1|".

Obtain a recent nodelist (NODELIST.A??) and unarc it into your nodelist
directory. Edit your FDNODE.CTL file (in the nodelist directory) and add:

DIAL
1-AAA-
END

to the end of it. "AAA" is your area code. This keeps FrontDoor from dialing
the 1 and the area code for numbers that are in your area code.

Now run FDNC to compile the nodelist.


Setting up TosScan v1.00 (MSG version)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copy your SETUP.FD file in your FrontDoor directory to FD.SYS. You'll need to
do this everytime you modify your configuration with FDSETUP, since the name
of the FrontDoor setup file changed from FD.SYS (v2.00) to SETUP.FD and
TosScan v1.00 still looks for the file with the old name (FD.SYS).

Install TosScan into your FrontDoor directory.

Add your message areas (AKA conferences or sub-boards) to the area list and be
sure to specify the correct storage directory for the messages. If your
sub-boards have specific EchoMail storage directories, you'll need to use that
directory here. If you don't have an EchoMail storage directory specified for
a sub-board, a sub-directory off of the EchoMail base directory is used with
the sub-boards internal code as the name of the sub-directory. If for example,
you don't have an EchoMail directory specified for a sub-board and that
sub-board's code is FIDO_ASM, and your base EchoMail directory is C:\FD\ECHO,
the correct storage path for the message area would be C:\FD\ECHO\FIDO_ASM.

You'll also need to make sure you have at least one system listed on the export
list for each of your message areas.

You need to locate a FidoNet node near you and get the current nodelist from
the sysop. You also need to get the current FidoNet policy document (at the
time of the writting it is 4 - usually named POLICY4.*). Read the policy and
as it instructs you to do, find your nearest HUB and send them a NetMail
message as specified in the policy. Your HUB sysop should then guide through
any additional steps necessary (choosing and adding Echos etc).

MAILER.BAT (for FrontDoor/TosScan):
-------------------------------------------------------------------------------

@echo off
rem ***************************************************************************
rem MAILER.BAT file for use with FrontDoor and Synchronet BBS v1b+ 
rem ***************************************************************************

rem ***********
rem Node Number 
rem ***********
set nodenum=1
rem **************
rem SBBS Directory 
rem **************
set sbbs=c:\sbbs
rem ***************************************
rem SBBS CTRL Dir - needed for NODE utility
rem ***************************************
set sbbsctrl=%sbbs%\ctrl
rem **************************************************
rem SBBS NODE Dir - needed for ADDFILES utility (tick)
rem **************************************************
set sbbsnode=%sbbs%\node1

:top
rem ***************************************************************************
rem Set Node status to WAITING FOR CALL
rem ***************************************************************************
%sbbs%\exec\node status=0 %nodenum%

rem ***************************************************************************
rem Drive letter where FrontDoor is installed 
rem ***************************************************************************
c:
rem ***************************************************************************
rem FrontDoor system directory 
rem ***************************************************************************
cd \fd
fd
rem ***************************************************************************
rem These error levels must be set in FDSETUP!
rem ***************************************************************************
if errorlevel 200 goto fax
if errorlevel 100 goto bbs
if errorlevel  50 goto inmail
if errorlevel  25 goto outmail
if errorlevel  10 goto userbreak
if errorlevel   1 goto error
goto end

rem ***************************************************************************
rem FrontDoor received in-bound mail from another system 
rem ***************************************************************************
:inmail
echo Importing in-bound mail!!!
rem ***************************************************************************
rem Set node status to NETWORKING
rem ***************************************************************************
%sbbs%\exec\node status=6 %nodenum%
rem ***************************************************************************
rem Replace this 'toss' line with whatever Toss/Scan program you use 
rem ***************************************************************************
tosscan toss
tsutil maint
rem ***************************************************************************
rem The "pz" switches on this line are not necessary if your Toss/Scan program 
rem supports 4D addresses - Zones and Points
rem The EXEC and NODE paths on the following command must be correct
rem ***************************************************************************
%sbbs%\exec\sbbsfido /epzlr %sbbs%\node%nodenum%
if errorlevel 1 type sbbsfido.log >> sbbsfido.err
del sbbsfido.log
goto top

rem ***************************************************************************
rem Semaphore file (FDEXIT.025) was signaled by the BBS - new out-boud messages
rem ***************************************************************************
:outmail
echo Exporting out-bound mail!!!
rem ***************************************************************************
rem Set node status to NETWORKING
rem ***************************************************************************
%sbbs%\exec\node status=6 %nodenum%
rem ***************************************************************************
rem The EXEC and NODE paths on the following command must be correct
rem ***************************************************************************
%sbbs%\exec\sbbsfido /nil %sbbs%\node%nodenum%
if errorlevel 1 type sbbsfido.log >> sbbsfido.err
del sbbsfido.log
rem ***************************************************************************
rem Replace this line with whatever Toss/Scan program you use
rem ***************************************************************************
tosscan scan /nm /igm
cd echo
rem ***************************************************************************
rem If you don't have an ALL or SWEEP util, replace this line with a set of
rem lines to delete the .MSG files in EACH of your ECHO mail directories.
rem ***************************************************************************
all del *.msg
rem ***************************************************************************
rem Signal the rescan semaphore so that FD will rescan the netmail folder
rem ***************************************************************************
rem > fdrescan.now
goto top

rem ***************************************************************************
rem Received a call from a user wanting access to the BBS - how dare they!
rem This actually executes EXEBBS.BAT with the proper switches for SBBS
rem You will probably also need to edit EXEBBS.BAT for your configuration 
rem ***************************************************************************
:bbs
dobbs

rem ***************************************************************************
rem Received a fax call
rem ***************************************************************************
:fax
cd \zfax
rcvfax 2 /p:1
if errorlevel 0 echo riIncoming FAX Notification! >> \bbs\data\msgs\0001.msg
goto top

rem ***************************************************************************
rem Quit FD
rem ***************************************************************************
:userbreak
echo User Break.
goto end

rem ***************************************************************************
rem FrontDoor error of some kind
rem ***************************************************************************
:error
echo FD ERROR (1-9)
goto end

rem ***************************************************************************
rem End of the batch file, so display a blank line for prettiness
rem ***************************************************************************
:end
rem ***************************************************************************
rem Make node status OFFLINE
rem ***************************************************************************
%sbbs%\exec\node status=5 %nodenum%
echo.

-------------------------------------------------------------------------------

EXEBBS.BAT (For FrontDoor):
-------------------------------------------------------------------------------

@echo off
rem ***************************************************************************
rem EXEBBS.BAT for use with FrontDoor and Synchronet BBS v1b+
rem ***************************************************************************

rem ***************************************************************************
rem Drive where this Synchronet node is installed
rem ***************************************************************************
c:
rem ***************************************************************************
rem Directory for this node
rem ***************************************************************************
cd \sbbs\node1
rem ***************************************************************************
rem You probably don't want to mess with this line
rem ***************************************************************************
call sbbs qc%1 e%3
rem ***************************************************************************
rem Drive where FrontDoor is installed
rem ***************************************************************************
c:
rem ***************************************************************************
rem Change directory to FrontDoor system directory
rem ***************************************************************************
cd \fd
rem ***************************************************************************
rem Call MAILER.BAT so we go full-circle
rem ***************************************************************************
mailer

-------------------------------------------------------------------------------


CD-ROM and Other Slow Media Devices
===================================
!!CD-ROM
$$SLOW_MED

It is assumed that you have already installed your CD-ROM drive and any
necessary device drivers so that it can be accessed as a DOS device (like
a hard disk or floppy disk).

Explore your CD-ROMs directories to find out what directories contain what
kind of files. Make notes of the directory paths and a description you would
like to give that directory. Example:

Path		Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\G-GIFS	G Rated GIFs
D:\R-GIFS	R Rated GIFs
D:\X-GIFS	X Rated GIFs
D:\GAMES	Games
D:\UTILS	Utilities

Now find the ASCII description lists on the CD-ROM for the individual
directory contents and note which description files are for which directories.
If multiple list formats are supplied, use the format that most closely
matches this (FILES.BBS format):

FILENAME.EXT  This is a file description

or the DIR## format:

FILENAME.EXT	530114	07-16-91  This is a file description that will be too
				| long, so it wraps to the next line.

Example for file list notes:

File List		Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\DESC\G-GIFS.LST	G Rated GIFs
D:\DESC\R-GIFS.LST	R Rated GIFs
D:\DESC\X-GIFS.LST	X Rated GIFs
D:\DESC\GAMES.LST	Games
D:\DESC\UTILS.LST	Utilities

Now run SCFG from your node directory. Go to "File Transfers", then "File
Libraries". Hit the INS key to add a new file library. Name it "CD-ROM" or a
description of what the CD-ROM contains. Now hit ENTER on the new library
and select "File Directories". Hit INS to add each directory specifying the
name and file storage path for each. Example:

Long and Short Name	Internal Code		File Path
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
G Rated GIFs		CD-G-GIF		D:\G-GIFS
R Rated GIFs		CD-R-GIF		D:\R-GIFS
X Rated GIFs		CD-X-GIF		D:\X-GIFS
Games			CD-GAMES		D:\GAMES
Utilities		CD-UTILS		D:\UTILS

Now hit HOME and ENTER to edit the first directory. Select "Toggle Options"
and hit enter. Set "Check for File Existence" to "No" and set
"Slow Media Device" to "Yes". Hit ESC three times to go back to the
"CD-ROM File Library" menu. Select "Clone Options" and hit ENTER. Answer "Yes"
to clone the options of the first directory into the rest of the library.

Now exit SCFG and save changes.

From the DOS prompt, type:

SET SBBSNODE=C:\SBBS\NODE1

But use the correct path for your NODE directory. If you installed Synchronet
into a directory named "BBS" on drive D:, then you would type

SET SBBSNODE=D:\BBS\NODE1

Now run ADDFILES (from your EXEC directory) for each of your CD-ROM file
description lists. See the Utility Refernce chapter for specifics on how to use
ADDFIELS. Example (assuming description lists are in DIR## format):

ADDFILES CD-G-GIFS /D:\DESC\G-GIFS.LST 33 12
ADDFILES CD-R-GIFS /D:\DESC\R-GIFS.LST 33 12
ADDFILES CD-X-GIFS /D:\DESC\X-GIFS.LST 33 12
ADDFILES CD-GAMES /D:\DESC\GAMES.LST 33 12
ADDFILES CD-UTILS /D:\DESC\UTILS.LST 33 12

This will add the file descriptions to your Synchronet file database.

Now you should be able to run SBBS and have users download files from your
CD-ROM.

Rotating Disks
~~~~~~~~~~~~~~
If you have more CD-ROM disks than CD-ROM drives and you wish to rotate the
disks on a regular basis, you will need to over-ride Synchronet's automatic
directory checking upon initialization by running "SBBS S". This will allow
you to have directories online without the actual files being available. It
would be a good idea to change the minimum access level to the "offline"
CD-ROM directories so that users don't see the non-existent files until the
disk those files are on is in place. You may want to make an ASCII list of
files available to the offline CD-ROM directories available for download
(including what days the CD-ROM is available).

Configuration Reference
=======================
!!Config Reference
$$SCFG_REF

Contents
~~~~~~~~
1.0 SCFG
2.0 Nodes
	2.1 Toggle Options
	2.2 Advanced Options
	2.3 Modem Configuration
		2.3.1 Result Codes
		2.3.2 Auto-Configuration
	2.4 Wait for Call Number Keys
	2.5 Wait for Call Function Keys
3.0 System
	3.1 Toggle Options
	3.2 New User Values
	3.3 Advanced Options
	3.4 Security Level Values
	3.5 Alternate Command Sets
	3.6 Quick-Validation Values
4.0 Message Base
	4.1 Message Groups
		4.1.1 Message Sub-boards
			4.1.1.1 Toggle Options
			4.1.1.2 Network Options
5.0 File Transfers
	5.1 File Libraries
		5.1.1 File Directories
			5.1.1.1 Toggle Options
	5.2 Viewable Files
	5.3 Testable Files
	5.4 Extractable Files
	5.5 Tranfer Protocols
	5.6 Alternate File Paths
6.0 External Programs
	6.1 Events
	6.2 Editors
	6.3 Online Programs
		6.3.1 Online External Program Configuration Examples
7.0 Text File Sections
8.0 Networks
	8.1 QWK Packet Networks
		8.1.1 Network Hubs
			8.1.1.1 Networked Sub-boards
	8.2 FidoNet EchoMail and NetMail



1.0 SCFG
~~~~~~~~
SCFG is the Synchronet Configuration Utility that can be executed from the
"Waiting for call" screen by hitting 'C' or from DOS by typing SCFG from any
node directory. SCFG is a separate executable program and must load the
configuration information into memory upon initialization. Once SCFG has
initialized, you will see a main menu titled "Configure". To manipulate the
lightbar, use the up and down arrow keys or type a letter or number in the
option you wish to highlight. To highlight the first option of the menu, hit
HOME. To highlight the last option of the menu, hit END. You'll notice that if
you hit up arrow when the lightbar is at the first option of the menu, the last
option will become highlighted. This wrap effect also occurs when hitting the
down arrow when the lightbar is at the last option of the menu. To select the
current highlighted option, hit ENTER. To exit SCFG, hit ESC.


2.0 Nodes
~~~~~~~~~
You can configure any node from within SCFG regardless of what computer
(or virtual computer) you're using. To configure a node, select "Nodes" from
the SCFG "Configure" menu. You will then see a list of all the nodes installed
on your system. You will also see the bottom line of the screen now has two
additional key commands added, INS and DEL. INS and DEL are used to add and
delete nodes from the system. If you select one of the nodes listed, you will
receive another menu titled "Node x Configuration" which contains general
configuration information for this node and paths to more advanced
configuration menus. We will now discuss the options of this menu.

Name:
        This is the name of the node. This parameter is not used for anything
        but documentary purposes in the BBS.

Phone Number:
        This is the phone number of this node in the format AAA-EEE-NNNN.

Logon Prompt:
        This is what will be displayed to callers after the Synchronet version
        and registration number, but before the NN: prompt.

Minimum Connect Rate:
        This is the minimum modem connection rate that will be allowed. Callers
        can still connect and attempt to logon, but without the 'M' exemption,
        they will be told what minimum connect rate is and disconnected.

Minimum User Age:
        This is the minimum age of new users that will be allowed.

Maximum User Age:
        This is the maximum age of new users that will be allowed.

Minimum Main Level:
        This is the minimum main level that a user needs to be able to logon
        to this node.

Allowed (Required) Main Flags:
        This is a list of Main Flags (MF) that a user must have to be able
        to logon to this node. He can either be required to have any one of
	the flags (Allowed) or have to have all of the flags (Required).'

Local Text Editor:
        This is the command line to use when editing text files or messages
        locally. This command line is not used when posting or sending e-mail
        unless the above option is set to 'Yes'. If this option is not
        specified, the default editor for the current user will be used. An
        example (using Qedit as the editor) would be:
        q %f

        Assuming Q.EXE is in the DOS search path. If it isn't, you can specify
        the location of the program. Example:
        c:\qedit\q %f

        The %f parameter will expand to the path and filename of the file to
        edit.

Text Viewer:
        This is the command line to use to view text files locally. Currently,
        this command line is only used to view the system log files. You should
        use a program that allows the text scrolling up and down as well as
        string searches. A popular program for this use is Buerg's LIST.
        If you are running multiple nodes and the program you wish to use
        leaves the file open while viewing, you should use a batch file that
        actual copies the file to view and then views the copy.
        Example (if program name is LIST):
        LISTIT.BAT:
        @echo off
        copy %1 list.tmp
        list list.tmp
        del list.tmp

        An example for this field (using the LISTIT batch file) would be:
        %!listit %f

        The %! parameter specifies that the batch file is located in the
        EXEC directory. If is not located there, you can remove the %! so that
        the DOS search path will be searched for the batch file or specify
        its location.

        The %f parameter will expand to the path and filename of the file to
        view.


2.1 Toggle Options
~~~~~~~~~~~~~~~~~~
Alarm When Answering:
        If you would like have the BBS sound an alarm when answering the phone,
        set this option to Yes.

Status Screen While WFC:
	This node will display a screen with system usage statistics and the
	current status of all active nodes.

Use Editor for Messages:
	If this option is set to 'Yes' and you have specified a Local Text
	Editor (next option), when logged on locally this editor will be used
	for the creation of all messages.


2.2 Advanced Options
~~~~~~~~~~~~~~~~~~~~
Validation User:
        This is the number of the user to whom validation feedback is sent.
	This value will usually be set to 1 (the sysop). If this value is set
	to 0, then new users will not be required to enter validation feedback.

Screen Length:
	This is the length of the system screen or video window. This should
	be set to "Auto-Detect" always, unless you have a specific reason
	to force Synchronet to think the screen length is a certain value.

Cost Per Call:
        This option should only be set to something nonzero for a billing
        node. A billing node is a node attached to special phone line that will
        automatically charge the caller a predetermined amount (usually area
        code 900 or prefix 976 numbers). Set this value to the amount that the
        caller will be billed after the initial 30 seconds. The user doesn't
        actually access the BBS through this phone number as 900/976 services
        charge the sysop by the minute an unrealistic amount. The user just
        enters his or her name/alias and password and their account is credited
        with the amount of credits per dollar specified in the System options
        multiplied by this field (Cost per call) and the user is hung-up on.
        The user then calls the normal BBS nodes and has instant access to
        their purchased credits.

Daily Event:
        This is the command line to execute when the first caller after
        midnight logs off. If the program is located in the EXEC directory,
        this command line should start with the %! specifier.

Merge Duplicate Text:
        If this field is set to Yes, duplicate text strings found in TEXT.DAT
        will use the same memory for storage. This can save memory, the amount
        of which depends on how many duplicate strings are in TEXT.DAT, but
        the reading of the TEXT.DAT upon SBBS initialization is slower due to
        the string comparing.

Control Directory:
        This is the path to the control directory where all the shared
        configuration (.CFG) files for SBBS are stored. TEXT.DAT (the editable
        ASCII file that contains almost all of the color and text that SBBS
	displays) and a few miscellaneous binary data files are also stored
	in this directory. All nodes of the system must have the same control
	directory and this directory should not be located on a RAM disk.

Text Directory:
        This is the path to the text directory. This is where all menus,
        macros, SIF files, QWK files, system information, and other text
        files are stored. All data beneath this directory branch is READ ONLY
        as far as Synchronet is concerned, so changing this directory to a RAM
        drive would enhance performance and wouldn't risk data loss. If you do
        change this path, be sure to copy all the files and subdirectories of
        the original text directory there. If you do change this path to a RAM
        drive, you will need automate the copying of all of the files and
        subdirectories there upon system startup (possibly AUTOEXEC.BAT) with a
        sequence of commands like this:
        md r:\text
        xcopy c:\sbbs\text\*.* r:\text /S


Temporary Directory:
        This is the path to the directory that this node will use for
        temporary file storage. This directory must point to somewhere unique
        and nonvolatile. All the files in this directory are deleted upon
        execution of the BBS, so do not store any files you want to keep in
        this directory. Each node must have its own temp directory. For
        increased performance on batch uploads, it is best if this directory
        is on the same disk drive as the majority of your file transfer
        directories.


2.3 Modem Configuration
~~~~~~~~~~~~~~~~~~~~~~~
If you are not positive about the correct settings of any of the values on this
menu (other than COM Port), select Auto-Configuration and select your modem
type or a compatible modem.

COM Port:
        This is the communications port that your modem is attached to. If you
        are not using a modem, set this value to 0. If for some reason, you
        do not specify the UART IRQ and I/O address, this number must be
        relative to the BIOS data area (i.e. COM Port 1 refers to the first
        COM Port found during your computers Power On Self Test). Normally,
        when you select the COM Port, you should answer Yes to set the UART
        IRQ and I/O address values to their defaults.

UART IRQ Line:
        If you are not sure what IRQ line your modem's UART is using, select
        the default for the COM Port number.

UART I/O Address:
        If you are not sure what I/O address your modem's UART is using, select
        the default for the COM Port number.

UART (DTE) Rate:
        This is the data transfer rate between your computer and your modem.
        If you're using a non-data-compressing, non-high-speed modem, this
        should be set to your modem's highest DCE rate (i.e. 2400bps modem,
        should use a 2400bps DTE rate). If you have a data-compressing or
        high-speed modem, this value should be set to the highest DTE rate your
        modem supports.

Hardware Flow Control:
        If your modem supports CTS/RTS hardware flow control (usually
        data-compressing or high-speed modems), set this option to Yes.

Initialization String:
        This is the basic modem initialization command for SBBS. This option
        should not be modified unless your unhappy with any of the settings
        and are familiar enough with the Hayes AT command set to know the
        consequences of the commands. As with all the modem command commands,
	a tilde ('~') will produce a 500 millisecond pause.

Special Init String:
        This is where additional initialization commands are placed for
	specific modem types - usually error-correcting, data-compressing, or
	high-speed modems.

Terminal Init String:
        This is the initialization command given to the modem when Terminal
        Mode is entered from the SBBS wait for call screen.

Dial String:
        Not Yet Implemented.

Off Hook String:
        This is the command sent to the modem when the phone is to be taken
        off-hook (made busy).

Answer String:
        This is the command sent to the modem when SBBS detects a ring.

Reinitialization Timer:
	This field is used to automatically reinitialize the modem periodically
	to make sure it is functioning correctly. If you find that your modem
	works most of the time, but occasionaly will not answer or functions
	incorrectly in other ways, you may wish to use this feature and set
	it to a relatively low number (5 minutes or so). Setting this value
	to 0 disables the periodic modem reinitialization function.


2.3.1 Result Codes
~~~~~~~~~~~~~~~~~~
This is a list of the numeric result codes (connection codes) supported by
your modem. For each result code, the numeric code, the DCE (connect) rate,
estimated file transfer CPS, and an 8 character description are stored. Hit INS
to add a result code above the highlighted one, or DEL to delete the
highlighted result code. You can have up to 500 result codes per node. If you
are not sure what the estimated transfer CPS is for a particular result code,
just divide the DCE rate by 10 and use that number (i.e. DCE rate of 9600bps
may have a rough estimate of 960cps through-put on file transfers).


2.3.2 Auto-Configuration
~~~~~~~~~~~~~~~~~~~~~~~~
Using this option you can let SCFG automatically set the values of the Modem
Configuration menu (except COM Port, UART IRQ, and UART I/O Address) by
selecting your modem from the available choices. If your modem is a 2400bps
Hayes compatible, select Hayes SmartModem 2400. If you have a high-speed
(9600bps or faster) modem and it is not in the auto-configuration list, select
Generic 9600 or Generic 14400 and then add any high-speed result codes that are
listed in your modem's manual, but not already in the result code list.
See 2.31 Result Codes for more information on adding result codes.


2.4 Wait for Call Number Keys
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This option lets you configure what command line will be executed for each
number key (0-9) while waiting for call. These commands will generally be
simple things that don't require much memory, such as listing the ERROR.LOG,
listing the GURU.LOG, editing a file, or any other simple functions. For large
program functions, see 2.5 Wait for Call Function Keys below.


2.5 Wait for Call Function Keys
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This option lets you configure what command line will be executed for each
function key (F1-F12) while waiting for call. These commands can execute just
about any program because Synchronet will shrink to 16k before executing it.
Popular uses for these shrinking commands would be running a terminal program
or other large applications.


3.0 System
~~~~~~~~~~
BBS Name:
        This is the name of the BBS.

Location:
        This is the city, state and/or other pertinent location information.

Operator:
        This is the name of the system operator. Doesn't have to be the same
        as user #1.

The Guru:
        This is the name of the system's guru.

Password:
        This is the super-secret system password that only sysops should know.

Allow Aliases:
        If you wish the users of the BBS to be allowed to use aliases publicly,
        set this option to Yes.

Users Can Change Password:
        If you want enhanced system security, it is suggested that you force
        users to keep the original randomly generated password they were
        assigned by setting this option to No. If you do allow users to change
        their passwords, you can make them change their password periodically
        with this selection.

Days to Preserve Deleted Users:
	If a user is deleted, his slot will be preserved for this many days
	since his last logon date. Preserved slots will not be written over
	by new users.

Maximum Days of Inactivity:
	If you wish that users that haven't logged on in a certain number of
	days be automatically deleted, set this value to the maximum number
	of days a user can be inactive before he is deleted. Users can be
	exempted from the automatic deletion with the 'P' exemption. Setting
	this value to 0 disables this feature (Unlimited inactivity).

New User Password:
        If this field has a value, new users will have to enter this password
        correctly before being able apply for access.


3.1 Toggle Options
~~~~~~~~~~~~~~~~~~
Beep Locally:
        If you wish to disable all bells locally, set this option to No.

Include Sysop in Statistics:
        It is suggested that you set this option to No, so that the sysop's
        activity on the BBS is not included in the usage statistics.

Closed to New Users:
        If you wish to disallow access to any new users, set this option to
        Yes.

Allow Anonymous E-mail:
	You can disallow anonymous e-mail on your system by setting this option
	to No. If this option is set to Yes, only users with the anonymous
	exemption would be able to send anonymous e-mail.

Use Location In User Lists:
	If you wish the location (City, State) of the user to be displayed
	in user listings instead of the user note, set this option to Yes.
	Setting this option to No will display the user's note (sysop created)
	if one has been created.

Ask New Users for Address:
	If you want new users to be prompted to enter their address and
	zip/postal code, set this option to Yes.

Multi-Choice Computer Question:
	If you want to use the multiple choice computer type questionaire
	(COMPUTER.SIF) for the new users to specifiy their computer type, set
	this option to Yes. Setting this option to No, will allow the user to
	enter a free-form description of their computer of up to 30 characters.


3.2 New User Values
~~~~~~~~~~~~~~~~~~~
This option allows you to modifiy the security values assigned to a new user
after he completes his validation feedback. You can also set the number of
credits and minutes new users start off with. If you have configured alternate
command sets or external editors, you may select one of these as the default
for new users. See User Edit for more information.


3.3 Advanced Options
~~~~~~~~~~~~~~~~~~~~
BBS ID for QWK Packets:
        This is the BBS ID used for QWK packets for offline message readers.

New User Magic Word:
        If this field has a value, it is assumed the sysop would have put
        some reference to this "magic word" in NEWUSER.MSG and the user
        will be prompted for this after he enters his own assigned password.
        If he doesn't enter it correctly, it is assumed he didn't read the
        text displayed to him and he is disconnected.

Data Directory:
        This is the path to the directory where all the data files for SBBS
        are stored. This value should not be changed unless necessary.

Index Directory:
        This is the path to the directory where all the index files for SBBS
        are stored. This value should not be changed unless necessary.

Executables Directory:
        This is the path to the directory where all the executable files for
        SBBS are store. This value should not be changed unless necessary.

Pause During Logon:
        If the LOGON.ANS or ANSWER.ANS files have animated ANSI sequences
        in them, you will want to set this option to No. If you have important
        information in either of these files that you do not want to scroll
        off the user's screen regardless of whether the user has pause enabled
        or not, set this option to Yes. If you don't care one way or the other,
        set this option to User Default. The suggested setting is Yes.

Input SIF Questionnaire:
        This is the name of a SIF file that resides the text directory that
        all users will be prompted to answer upon logging on the first time.
	See SIF for more information.

Output SIF Questionnaire:
        This is the name of the SIF file that is used by the sysop to view
        the users' answers to the input SIF questionnaire. If this value is
        left blank, the input SIF questionnaire is used. This output SIF
        questionable should be identical to the input SIF with the exception
	of the text content. See SIF for more information.

Credits Per Dollar:
        This is the monetary value of a credit (How many credits per dollar).
        This value should be a power of 2 (1, 2, 4, 8, 16, 32, 64, 128, etc.)
        since credits are usually converted by 100 kilobyte (102400) blocks.
        To make a dollar worth two megabytes of credits, set this value to
        2,097,152 (a megabyte is 1024*1024 or 1048576).

Minutes Per 100k Credits:
        This is the value of a minute of time online. Credits can be converted
        to minutes by the user with the &C command from the main menu. Credits
        are only converted in 100k (102400) blocks. This field is the number
        of minutes to give the user in exchange for the 100k credit block.

Maximum Number of Minutes:
	This value is the maximum total number of minutes a user can have. If
	the user has this number of minutes or more, he will not be allowed
	to convert credits into minutes. A sysop can add minutes to a user's
	account regardless of this maximum. If this value is set to 0, the
	user will have no limit on the total number of minutes he can have.

Message 'To' Field:
	This is the format of the 'To' field displayed at the top of messages
	(posts and e-mail). It can include Ctrl-A codes for color changes.

Message 'Title' Field:
	This is the format of the 'Title' line in messages.

Message 'From' Field:
	This is the format of the 'From' line in messages.

Message 'Date' Field:
	This is the format of the 'Date' line in messages.


3.4 Security Values
~~~~~~~~~~~~~~~~~~~
This is where you define the values of the Main Security Levels (MLs) (0-99).
The parameters are: time per day, time per call, calls per day, and lines per
message. These limits are assigned to all users by ML.


3.5 Alternate Command Sets
~~~~~~~~~~~~~~~~~~~~~~~~~~
This option allows the sysop to add or modify alternate command sets. Alternate
command sets are replacement key commands for the Synchronet command set. The
sections of the BBS with configurable commands are the main, transfer, message
reading, and mail reading menus. For each command set, the sysop can change
each command key into another (unique) command that may be more familar to
some users. Each alternate command set has separate menus for the above
mentioned sections. These menus are stored in a sub-directory off of TEXT\MENU.
The name of this sub-directory is configured separately for each command set.
The sysop must create this sub-directory and the menus within. See
Customization for more information on the creation/modification of menus and
the filename and extension formats.


3.6 Quick Validation Values
~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is where you define the values of the quick-validation sets (0-9). These
are used to quickly set a user's ML, TL, MF, TF, Restrictions and Exemptions.
A user can be quick-validated by hitting Alt-(0-9) while the user is online,
or with the 'V' command from User Edit.


4.0 Message Base
~~~~~~~~~~~~~~~~
This selection allows you to configure message groups and sub-boards. After
selecting "Message Base" from the "Configure Menu", you will see a menu titled
"Message Groups" and the options will be the currently configured message
groups.


4.1 Message Groups
~~~~~~~~~~~~~~~~~~
This menu is typical of the variable length option menus in SCFG. Press INS
to delete a message group or DEL to delete a message group and all of its
sub-boards. If the number of groups exceeds the displayable area of the
screen, an arrow will appear at the bottom left of the menu specifying that
the menu can be scrolled down to access more options. If the menu is scrolled
down and is not currently at the last option, an arrow is displayed in the
upper left of the option area of the menu specifying that the menu can be
scrolled up to access more options. Pressing INS allows inserts will add
a message group above the currently selected one. If you wish to add a message
group to the end of the list, go to the blank option at the bottom of the menu
before pressing INS. You can have up to 10,000 message groups. To edit the
values associated with a message group, select the group by pressing ENTER when
it is highlighted. Another menu will appear with the following options:

Long Name:
        This is a description of the message group which is displayed when
        a user of the system uses the '/*' command from the main menu.

Short Name:
        This is a description of the message group which is used for main menu
        and sub-board scanning prompts.

Minimum Age:
        This is the minimum age of a user that is allowed to access this group.

Minimum Main Level:
        This is the minimum ML of a user that is allowed to access this group.

Allowed (Required) Main Flags:
        This is the set of main flags that are necessary for the user to access
        this group. You can optionally set the requirement to be any one of the
        flags in this value (Allowed), or all of the flags in this value
        (Required).


4.1.1 Message Sub-boards
~~~~~~~~~~~~~~~~~~~~~~~~
The list of sub-boards menu is very similar to the message groups menu. The
use of the INS and DEL keys remains consistent and to select a sub-board, you
use the enter key. Only the sub-boards that belong to the current selected
message group are displayed. You can have up to 20,000 total sub-boards. The
following options are available after selecting a sub-board to view or edit.

Long Name:
        This is a description of the sub-board which is displayed when a user
        hits '*' at the main menu.

Short Name:
        This is a description of the sub-board which is used for the main menu
        and sub-boards scanning prompts.

QWK Name:
        This is the name of the sub-board used for QWK packets. This name
        is limited to only 10 characters.

Minimum Age:
        This is the minimum age of a user that will be allowed access to the
        sub-board.

Minimum Level to Read:
        This is the minimum main level (ML) required for read access to the
        sub-board.

Minimum Level to Post:
        This is the minimum ML required for posting access on the sub-board.
        Setting this value lower than the read access will have no effect.

Allowed (Required) Flags to Read:
        This is the set of main flags that are necessary for the user to have
        read access to this sub-board. You can optionally set the requirement
        to be any one of the flags in this value (Allowed), or all of the flags
        in this value (Required).

Allowed (Required) Flags to Post:
        This is the set of main flags that are necessary for the user to be
        able to post on this sub-board. You can optionally set the requirement
        to be any one of the flags in this value (Allowed), or all of the flags
        in this value (Required).

Internal Code:
        This is an internal code for SBBS to distinguish this sub-board from
        the others on the system. This must be a unique name of up to 8 valid
        DOS filename characters.

Maximum Number of Messages:
        This is the maximum number of messages that will be allowed on the
        sub-board. Once the maximum number of messages is reached, a new post
        on the sub-board will purge (or roll-off) the first post on the sub
        so that the total number of posts never exceeds the maximum. Posts can
        be flagged non-purgable by the sysop. If all the posts on a sub-board
        are non-purgable and the maximum number of posts is reached, no one
        will be allowed to post new messages on that sub-board.


4.1.1.1 Toggle Options
~~~~~~~~~~~~~~~~~~~~~~
Allow Private Posts:
	If you want to allow users to post private messages to another user
	on the sub-board, set this option to Yes. Since Synchronet has an
	internal e-mail system, this option is usually only set to Yes on
	networked sub-boards that allow private posts. You can also force
	private posts on this sub-board by setting this option to Only.

Allow Anonymous Posts:
	If you want to allow users that have the 'A' exemption to be able to
	post anonymously on this sub-board, set this option to Yes. You may
	also force anonymous posts by any one (with or without the 'A'
	exemption) by setting this option to Only.

Post Using Real Names:
	If you wish posts on this sub-board to be posted using the real name
	of a user instead of his/her alias, set this option to Yes. Many
	networks require BBSs that allow aliases to force real names on
	networked sub-boards.

Users Can Delete Posts:
	You may allow users to delete their posted messages by setting this
	value to Yes. You may allows users to delete their messages only if
	it is the last message on the sub-board by setting this value to
	Last.

Forced New Scan:
	If this option is set to Yes, the sub-board will not be skipped in
	new message scans even if the user has configured his or her new scan
	to not contain this sub-board.

Public 'To' User:
	If you wish all posts to be prompted for a 'To' user, set this option
	to Yes. Many networks do not allow private messages on networked
	sub-boards, so the only way to send a message 'To' someone is to send
	it publicy with a 'To' field. Normally, 'To' users are only prompted
	for on private posts.


4.1.1.2 Network Options
~~~~~~~~~~~~~~~~~~~~~~~
Append Tag/Origin Line:
	If you want a tagline (QWK network) or origin line (FidoNet) to be
	appended to messages sent out on the network from this sub-board,
	set this option to Yes.

QWK Networked:
	Setting this option to Yes will limit posted message titles to the
	QWK packet limitation of 25 characters.

QWK Tagline:
	This is an optional tagline that will be used for this sub-board. If
	this field is blank, the default tagline will be used. If "Append
	Tag/Origin Line" is set to No, then no tagline will be used.

FidoNet EchoMail:
	If this sub-board is networked via FidoNet, set this option to yes.

FidoNet Address:
	This is the FidoNet address used for this sub-board.

EchoMail Origin Line:
	This is an optional origin line that will be used for this sub-board.
	Do not include the FidoNet address in this line. Synchronet
	automatically as the " * Origin: " and "(Zone:Net/Node.Point)".
	If this field is blank, the default origin line will be used. If
	"Append Tag/Origin Line" is set to No, then no origin line will be
	used.

EchoMail Directory:
	This is the storage directory where FidoNet style (FTS-0001 stored
	message format) messages are imported from and exported to for this
	sub-board. If this option is blank, then the EchoMail base directory
	is used with the internal code of this sub-board as the sub-directory
	where the FidoNet messages are stored.


5.0 File Transfers
~~~~~~~~~~~~~~~~~~
This section allows you to configure various options that relate to the file
transfer section of Synchronet.

Min Bytes Free Disk Space:
        This is the minimum about of disk space (in kilobytes) that is
        necessary for a user to be allowed an upload.

Max Files in Batch UL Queue:
        This is the maximum number of files that can be stored in the batch
	upload queue. The definite maximum is 500 files.

Max Files in Batch DL Queue:
        This is the maximum number of files that can be stored in the batch
	download queue. The definite maximum is 500 files.

Max Users in User Transfers:
        This is the maximum number of destination users in user to user
	transfers. The definite maximum is 500 users.

Credit Value in Bytes:
        This is the value of one credit in bytes. It is suggested that this
        value be set to 1, so that every credit is worth one byte.

Percentage of Credits for Upload:
        This is the percentage of the credit value of a file that is given to
        the uploader of a file upon a successful upload. The suggested value
        is 100 percent.

Percentage of Credits for Download:
        This is the percentage of the credit value of a file that is given to
        the uploader of a file upon a successful download of the file by
        another user. The suggested value is 90 percent.

Leech Protocol Detection Percentage:
	This value is the sensitivity of the leech protocol detection feature
	of Synchronet. If the transfer is apparently unsuccessful, but the
	transfer time was at least this percentage of the estimated transfer
	time (based on the estimated CPS of the connection result code), then
	a leech protocol error is issued and the user's leech download counter
	is incremented. Setting this value to 0 disables leech protocol
	detection.

Extension for Temp Files:
        This is the file extension that will be used in the creation of
        temporary download files. The suggested extension is ZIP.

Command to Create Temp Files:
        This is the command line used to create a temporary archive in the
        temp directory. The program that this line executes should match the
        extension for temp files (see above). The suggested command line is:
        %!pkzip %f %s
	Remember, PKZIP must be in your EXEC directory for the above command
	line to work. The '%!' specificier is an abreviation for your EXEC
	directory. Either remove the '%!' from the command line (assuming
	PKZIP is in your DOS search path), or more preferably, specify the
	exact location of PKZIP. Example: C:\BIN\PKZIP %f %s


5.1 File Libraries
~~~~~~~~~~~~~~~~~~
This selection produces a list of file transfer libraries. You can add and
delete libraries in the same fashion as message groups. If you select a
file library, you can view or edit its values and all the file directories
that belong to it. The options for each transfer library are as follows:

Long Name:
        This is a description of the library and is displayed when the user
        uses the '/*' command from the transfer menu.

Short Name:
        This is a description of the library and is displayed at the transfer
        prompt.

Minimum Age:
        This is the minimum age of users that are allowed access to the
        library.

Minimum Transfer Level:
        This is the minimum transfer level (TL) that a user can have to access
        the library.

Allowed (Required) Transfer Flags:
        This is the set of transfer flags (TF) that are necessary for the user
        to have read access to this sub-board. You can optionally set the
        requirement to be any one of the flags in this value (Allowed), or all
        of the flags in this value (Required).


5.1.1 File Directories
~~~~~~~~~~~~~~~~~~~~~~
This selection produces a list of directories that belong to the current
library. The available options for each directory are as follows:

Long Name:
	This is a description of the file directory that is displayed when
        the user uses the '*' command from the transfer section.

Short Name:
	This is a description of the file directory that is displayed at
        the transfer section prompt. Some short names have a predetermined
        meaning:

        Temp:
                This short name is reserved and cannot be used.

        Offline:
                This short name specifies that this directory is to hold
                offline files for the selected library and is treated a bit
                differently than other directories. It will not be included
                in new-scans and will be the default location of files that
                are removed or moved. A directory with this short name should
                have the upload level set to 90 and the access level and flags
                set the same as the library. There can only be one directory
                per library with this short name.

        Sysop:
                This short name specifies that this directory will be the
                destination for files uploaded by users with the 'Z' command
                from the transfer section. There should only be one directory
                with this short name and it should belong to the most
                accessible library. A directory with this short name should
                have the access level set to 90 and the upload level and flags
                set the same as the library.

        User:
                This short name specifies that this directory will be the
                storage point for user to user transfers. There should only be
                one directory with this short name and it should belong to the
                most accessible library. Users can upload a file to another
                user or group of users with the '/U' transfer section command.
                Users download files sent to them with the '/D' transfer
                section command. A directory with this short name should have
                the access level set to 90 and the upload level and flags
                set the same as the library or at whatever level the sysop
                wishes to allows users to use the user to user transfer
                facilities.

Minimum Age:
        This the minimum required user age to access this directory.

Minimum Level to Access:
        This is the minimum required transfer level (TL) for users to access
        this directory. Directories with a short name of Sysop or User should
        have this value set to 90 so that only sysops can list the contents
        of the directory.

Minimum Level to Upload:
        This is the minimum required transfer level (TL) for users to upload
        to this directory. Directories with a short name of Offline should
        have this value set to 90 so that only sysop can upload files to this
        directory.

Allowed (Required) Flags to Access:
        This is a list of transfer flags (TF) that are required for a user
        to have access to this directory. The number of flags required can be
        set to One (Allowed) or All (Required).

Allowed (Required) Flags to Upload:
        This is a list of transfer flags (TF) that are required for a user
        to have access to this directory. The number of flags required can be
        set to One (Allowed) or All (Required).

Internal Code:
        This is an internal code for SBBS to distinguish this directory from
        the others on the system. This must be a unique name of up to 8 valid
        DOS filename characters. The code TEMP is reserved and cannot be used.

Extensions Allowed:
        This is a list of file extensions (separated by commas) that are
        allowed to be uploaded to this directory.

Default Extension:
        This is the default extension used when a user views or extracts
        files without specifying the extension.

Sort Value and Direction:
        Directories can be sorted either by filename or upload date in an
        ascending or descending order. This option selects the value to sort
        on and in which direction.

Transfer File Path:
        This is the actual path for the storage of the files that belong to
        this directory. If no path is specified, the directory DATA\DIRS\CODE,
        where CODE is the internal code for this directory, will be used to
        store the files.

Maximum Number of Files:
        This is the maximum number of files that will be allowed in this
        directory.


5.1.1.1 Toggle Options
~~~~~~~~~~~~~~~~~~~~~~
Check for File Existence:
        If this option is set to 'Yes', when files are listed in the transfer
        section, each file is checked to see if it actually exists in the
        DOS directory. If the file doesn't exist, the credit value is displayed
        in high intensity blinking and is followed by a minus symbol. Setting
        this option to 'No' speeds up the file listings, but files not actually
        on disk will appear just as the others. Directories with a short name
        of Offline should have this value set to 'No' as they should solely
        contain files that aren't actually in the DOS directory. Directories
        that are stored on CD-ROM or other slow random access device should
        have this option set to 'No'.

Slow Media Device:
        If this option is set to 'Yes', files will be copied from the normal
        storage directory into the temp directory and downloaded from there.
        This option is helpful in reducing the overhead associated with
	multiple simultaneous user access to a slow media device such as
        CD-ROM.

Force Content Ratings:
        If this option is set to 'Yes', when a user uploads a file he is
        prompted to rate the content of the file he is uploaded with a rating
        of G, R, or X, and the file description will begin with the rating
        letter contained in brackets.

Multiple File Numberings:
        If this option is set to 'Yes', when a user uploads a file he is
        asked if the file he is uploading is part of a set of files. If the
        user answers 'Yes', he is then prompted for the total number of files,
        the number of the file he is uploading, and the file description will
        end with the numbering in the format "[n/t]", where n is the file
        number and t is the total number of files.

Extended Descriptions:
        If this option is set to 'Yes', users will be prompted if they wish
        to create an extended description for the file upon uploading. An
        extended description is a message, much like e-mail or a post, that is
        attached to the file and displayed when the extended file information
        is displayed. If an extended description has been created for a file,
        a plus sign will appear after the filename in the file listings.

Free Downloads:
        If you want all files downloaded from this directory to be free for
        the downloader (not cost any credits regardless of the credit value),
        set this option to Yes.

Credit Uploads:
        If you want users who upload files to this directory to get credit
        for their upload based on the "Percentage of Credits for Upload", set
        this value to Yes.

Credit Downloads:
        If you want users who upload files to this directory to get credit
        for subsequent downloads of the file based on the "Percentage of
        Credits for Download", set this value to Yes.

Anonymous Uploads:
        If you want users with the 'A' exemption to be able to upload file
        anonymously to this directory, set this option to Yes. If you want all
        uploads to this directory to be automatically forced anonymous, set
        this option to Only.




5.2 Viewable Files
~~~~~~~~~~~~~~~~~~
This is a list of file types that have content information that can be viewed
through the execution of an external program. Here are a couple of command line
examples for a few file types.

ZIP  %!pkunzip -v %s
ARJ  %!arj l %s
GIF  %!gifdir %s
TXT  type %s

5.3 Testable Files
~~~~~~~~~~~~~~~~~~~
This is a list of file types that will have a command line executed to test
the file integrity upon their upload. The file types are specified by extension
and if one file extension is listed more than once, each command line will
be executed. The command lines must return a DOS error code of 0 (no error)
in order for the file to pass the test. This method of file testing upon upload
is also known as an upload event. This test or event, can do more than just
test the file, it can perform any function that the sysop wishes. Such as
adding comments to an archived file, or extracting an archive and performing
a virus scan. While the external program is executing, a text string is
displayed to the user. This "working" string can be set for each file type
and command line listed. Here are some example command lines and working
strings for various file types:

ZIP  %!pkunzip -t %f                            Testing ZIP Integrity...
ZIP  %!pkzip -z %f < ..\TEXT\ZIPMSG.TXT         Adding ZIP Comment...
ARJ  %!arj t %f                                 Testing ARJ Integrity...
GIF  %!gt %f                                    Testing GIF Integrity...

5.4 Extractable Files
~~~~~~~~~~~~~~~~~~~~~
This is a list of archive file types that can be extracted to the temp
directory by an external program. The file types are specified by their
extension. For each file type you must specify the command line used to extract
the file(s). Here are some example command lines for extracting various files:

ZIP  %!pkunzip -o %f %g %s
ARJ  %!arj e %f %g %s

Notes on command lines syntax:
        The use of conversion specifiers are supported in all command lines
        within SCFG. Conversion specifiers are proceeded by a percent (%)
        symbol and are not case sensitive. The above command line examples use
        the following specifiers:

        %! EXEC directory:
                If the program you are executing with this command line is not
                located in your EXEC directory, you can specify the directory
                where the program is located or, if the program is in your
                search path, start the command line with just the program name
                (no prefix). We suggest specifying the location of the program
                for security reasons.

        %f Filename:
                This is the filename of the archive that is to be extracted.

        %g Temp Directory:
                This is the path to the temp directory. In the above command
                lines, it is the destination of the extracted files.

        %s File Specification:
                This is the file specification to extract from the archive.

	See Appendix A for a complete list of the available specifiers.


5.5 Transfer Protocols
~~~~~~~~~~~~~~~~~~~~~~~
This is a list of file transfer protocols that can be used to transfer files
either to or from a remote user. For each protocol, you can specify the
mnemonic (hot-key) to use to specify that protocol, the command line to use for
uploads, downloads, batch uploads, batch downloads, bidirectional file
transfers, and the support of DSZLOG. If the protocol doesn't support a
certain method of transfer, or you don't wish it to be available for a certain
method of transfer, leave the command line for that method blank. Be advised,
that if you add or remove any transfer protocols, you will need to edit the
protocol menus (ULPROT, DLPROT, BATUPROT, BATDPROT, and BIPROT) in the
TEXT\MENU directory accordingly. The '%f' command line specifier is used to
represent the filename or batch file list. The following is a list of example
protocol configurations:

DSZ Xmodem:
        Mnemonic                X
	Upload Command Line	%!dsz portx %u,%i est 0 %e rx %f
	Download Command Line	%!dsz portx %u,%i est 0 %e sx %f
        Batch UL Command Line
        Batch DL Command Line
        Biddir Command Line
        Uses DSZLOG             Yes

DSZ Ymodem:
        Mnemonic                Y
	Upload Command Line	%!dsz portx %u,%i est 0 %e rb %f
	Download Command Line	%!dsz portx %u,%i est 0 %e sb %f
	Batch UL Command Line	%!dsz portx %u,%i est 0 %e re rb
	Batch DL Command Line	%!dsz portx %u,%i est 0 %e sb @%f
        Biddir Command Line
        Uses DSZLOG             Yes

DSZ Zmodem:
        Mnemonic                Z
	Upload Command Line	%!dsz portx %u,%i est 0 %e rz %f
	Download Command Line	%!dsz portx %u,%i est 0 %e sz %f
	Batch UL Command Line	%!dsz portx %u,%i est 0 %e re rz
	Batch DL Command Line	%!dsz portx %u,%i est 0 %e sz @%f
        Biddir Command Line
        Uses DSZLOG             Yes

DSZ Ymodem-G:
        Mnemonic                G
	Upload Command Line	%!dsz portx %u,%i est 0 %e rb -g %f
	Download Command Line	%!dsz portx %u,%i est 0 %e sb %f
	Batch UL Command Line	%!dsz portx %u,%i est 0 %e re rb -g
        Batch DL Command Line   %!dsz portx %u,%i est 0 %e sb @%f
        Biddir Command Line
        Uses DSZLOG             Yes

HS/Link:
        Mnemonic                H
        Upload Command Line
        Download Command Line
	Batch UL Command Line	%!hslink -i2 -pb$%u -pi%i -e%e -u%g
	Batch DL Command Line	%!hslink -i2 -pb$%u -pi%i -e%e -nu @%f
	Biddir Command Line	%!hslink -i2 -pb$%u -pi%i -e%e -u%g @%f
        Uses DSZLOG             Yes


5.6 Alternate File Paths
~~~~~~~~~~~~~~~~~~~~~~~~
This option allows the sysop to add and configure alternate file paths for
files stored on drives and directories other than the configured storage path
for a file directory. This command is useful for those who have one file
directory were they wish to have files listed from multiple CD-ROMs or hard
disks.

See ALTUL in Sysop, CD-ROM, and ADDFILES for more information.


6.0 External Programs
~~~~~~~~~~~~~~~~~~~~~
This selection will spawn a menu from you can select "Events", "Editors",
or "Online Programs". Events are event or time initiated programs, Editors
are external text editors, and Online Programs are external programs or games
(often referred to as doors) that are available to the users while online with
the 'X' command from the main section. An XTRN directory is created off of your
main SBBS directory upon installation and it is suggested you create a
subdirectory for each of your external programs off of this directory.
Synchronet Blackjack is, by default, installed in XTRN\SBJ and the Synchronet
External Programs Software Development Kit for C Programmers is installed in
the XTRN\SDK directory.


6.1 Events
~~~~~~~~~~
Logon Event:
        This is the command line for a program that will execute during the
	logon sequence of every user. The program cannot have user interaction.
	The program will be executed after the LOGON message is displayed and
	before the logon user list is displayed. If you wish to place a program
	in the logon sequence of users that includes interaction or requires
	account information, you probably want to use an online external
	program configured to run as a logon event. See 6.3 Online Programs
	for more information.

Logoff Event:
        This is the command line for a program that will execute during the
        logoff sequence of every user. This program cannot have user
	interaction because it is executed after carrier is dropped. If you
	wish to have a program execute before carrier is dropped, you probably
	want to use an online external program configured to run as a logoff
	event. See 6.3 Online Programs for more information.

Daily Event:
        This is the command line for a program that will run after the first
        user that logs on after midnight, logs off (regardless of what node).

Timed Event:
        This is the command line for a program that will run at a specified
        time every day.

Event Time:
        This is the time (in 24hr format) for the above mentioned program
        to execute.

Event Node:
        This is the node that will execute the event and can optionally be
        set to run exclusively (all other nodes inactive) by selecting this
        option.


6.2 Editors
~~~~~~~~~~~
This selection will bring up a list of external editors that are available
as alternatives to the Synchronet built-in editor. Editors can be added and
deleted with the INS and DEL keys. Selecting an editor allows you to view
and edit its settings. The available settings are:

Name:
        This is a description of the editor.

Local Command Line:
        This is the command line to use when the user is online locally.

Remote Command Line:
        This is the command line to use when the user is online remotely.


6.3 Online Programs
~~~~~~~~~~~~~~~~~~~
This selection will generate a list of the installed online external programs.
You can add and remove external programs from this list with the INS and DEL
keys. See the External Programs chapter for more information.

7.0 Text File Sections
~~~~~~~~~~~~~~~~~~~~~~
This selection will produce a list of text file sections that the sysop has
created for users to freely view text files. It is requested that all sysops
make some or all of the Synchronet documentation available in a text file
section. At the very minimum, TEXT\SBBS.MSG should be available for users to
review. You can add and remove sections with the INS and DEL keys. The
following configuration options are available for each section:

Name:
        This is a description of the text file section.

Minimum Age:
        This is the minimum required user age for access to this section.

Minimum Main Level:
        This is the minimum required main level for a user to access this
        section.

Allowed (Required) Main Flags:
        This is a list of Main Flags (MF) that a user must have to be able
        to access this section. He can either be required to have any one of
        the flags (Allowed) or have to have all of the flags (Required).

Internal Code:
        This is an internal code for SBBS to distinguish this text file section
        from the others on the system. This must be a unique name of up to 8
        valid DOS filename characters.


8.0 Networks
~~~~~~~~~~~~
Selecting this option will produce a list of available network technologies.
Select the network technolgoy of your interest and refer to the following
section that pertains to your selected network technology.


8.1 QWK Packet Networks
~~~~~~~~~~~~~~~~~~~~~~~
QWK Packet Networks are message networks based on the QWK message packet
format. Since Synchronet internally support QWK packet networks, QWK Hubs
do not need any additional software and QWK Nodes only require a communications
program with scripting ability to perform the call-out and obtain the packets
from the QWK Hubs.

There are two options from the QWK Packet Networks menu, Network Hubs and
Default Tagline. Selecting the Default Tagline will allow you to create or
edit the tagline that will be used for messages that are sent out on the
network from your QWK netted sub-boards. Individual sub-boards can have a
different tagline to override this one, or use no tagline at all. Ctrl-A codes
can be used in taglines so that other Synchronet systems will see the tagline
in your preferred color scheme. The beginning of the tagline is not
configurable. It consits of a tear line and the Synchronet product name:
---
 þ Synchronet þ

Configured tagline text will attached to the end of the above tagline.


8.1.1 Network Hubs
~~~~~~~~~~~~~~~~~~
Selecting this option produces a list of configured hubs that your system
calls to upload REP packets to and download QWK packets from. If a system
calls your system for messages, it is a node and your system is the hub and you
should not have that system listed as a hub. If you do not call any systems
for networked messages, then your system is a hub and the only configuration
you need to do is set your taglines and the network options for each of your
netted sub-boards. Use INS to add hubs and DEL to delete hubs from this hub
list.

For each hub the following options are available:

Hub System ID:
	This is the QWK system ID of the hub.

Pack Command Line:
	This is the command line to execute to pack messages.

Unpack Command Line:
	This is the command line to execute to unpack messages.

Call-out Command Line:
	This is teh command line to execute to perform the call-out.

Call-out Node:
	This is the number of the node which should peform the call-out.

Call-out Days:
	These are the days to perform the call-out.

Call-out Time/Frequency:
	This is either the specific time to call-out, or the number of times
	per day to call-out.


8.1.1.1 Networked Sub-boards
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is the list of sub-boards that are networked with this hub. For each
sub-board the following options are available:

Sub-board:
	Which sub-board is to be networked (Group and Sub-board name).

Conference Number:
	This is the conference number of the sub-board on the HUB system.
	If the hub is a Synchronet BBS and the sub-board is the second
	sub-board in the first group, the conference number is 102; if the
	sub-board is the first sub-board in the third group, the conference
	number is 301, etc. The conference numbering scheme for BBS programs
	other than Synchronet is usually just 1, 2, 3, etc.

Ctrl-A Codes:
	This option allows you to determine how to handle Ctrl-A codes in
	messages. If the hub is a Synchronet BBS, you will want to set this
	to "Leave in". If the hub is not a Synchronet BBS, you will almost
	always want to set this to "Strip out". If the hub is not a Synchronet
	BBS, but allows ANSI escape sequences in messages, set this option
	to "Expand to ANSI".


8.2 FidoNet EchoMail and NetMail
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FidoNet networking requires the use of the SBBSFIDO utility, a FidoNet
front-end mailer, and possibly an EchoMail Scan/Toss utility.

The following options are available from this menu:

System Address:
	This is the default FidoNet address for sub-boards and the address
	used for the sending and receiving of NetMail.

Default Origin Line:
	This is the optional default origin line for sub-boards.

Semaphore File:
	This is an optional semaphore file that will be signled upon the
	creation of NetMail messages and EchoMail. If your front-end mailer
	supports semaphores, this option should be set to the path and name
	of the file that causes the mailer to re-scan the directories for
	new NetMail or EchoMail messages.

EchoMail Base Directory:
	This is the base directory for EchoMail sub-directories. If all of the
	EchoMail sub-boards have an EchoMail path specified, this option is
	not used. If one or more sub-boards do not have an EchoMail path
	specified, their FidoNet messages will be stored in a sub-directory
	off of this base directory with the internal code as the sub-directory
	name.

NetMail Directory:
	This is the directory where NetMail messages are exported to and
	imported from.

Allow Sending of NetMail:
	If you want to allow users of the BBS to send NetMail, set this option
	to Yes.

Send NetMail Using Alias:
	If NetMail should be sent using the user's Alias as the from name,
	set this option to Yes. If this option is set to No, the user's
	real name is used.

NetMail Defaults to Crash:
	If NetMail should default to crash status (send immediately), set this
	option to Yes.

NetMail Defaults to Hold:
	If NetMail should be held until the sysop can review and authorize it
	before it is sent, set this option to Yes.

Kill NetMail After Sent:
	If NetMail messages should be deleted after they are successfully sent
	out, set this option to Yes.

Cost to Send NetMail:
	If you want the sending of NetMail to cost the user credits, set this
	value to the amount of credits. Setting this value to 0, makes the
	sending of NetMail free.


ADDFILES v1.02 - Adds Files to Synchronet File Database
=======================================================
!!Utility Reference: ADDFILES
$$UTIL_REF
$$ADDFILES

usage: addfiles dir_code [.alt_path] ["*user"] +list [desc_off] [size_off] ...

   or: addfiles dir_code [.alt_path] ["*user"]  file "description" ...


SBBSNODE DOS Environment variable:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The environment variable SBBSNODE must be set prior to running ADDFILES. Add
the following line to your AUTOEXEC.BAT:

SET SBBSNODE=C:\SBBS\NODE1

Where, the path to NODE1 reflects the complete path of your NODE1 directory.


Parameter Explanations:
~~~~~~~~~~~~~~~~~~~~~~

dir_code:
--------
The dir_code parameter is the first argument and is the internal code of the
Synchronet file directory you are adding the files to. This parameter is
not case sensitive. The dir_code parameter is required.

.alt_path:
---------
If the files are located on an alternate file path, you can specify the
alternate file path number by using the ".x" paramter, where 'x' is the
number of the alternate path.

*user:
-----
The *user parameter sets the name of the uploader of the files to the
string following the asterisk. An example would be: "*Digital Man". If an
uploader is not specified, files will be added with "-> ADDFILES <-" as the
uploader. The quotation marks are only necessary for uploader names of more
than one word. The quotation marks are not used as part of the actual name.
Example:

*Joe		is OK
*Joe Doe	is NOT OK
"*Joe Doe"      is OK

Multiple uploader names can be used if more than one file or file list is being
added. Example:

ADDFILES GAMES "*Bob" +FILES.BBS "*John Doe" TICTAC.ZIP "tic-tac-toe"

The above command line would add the files listed in FILES.BBS using "Bob"
as the uploader, and then add TICTAC.ZIP using "John Doe" as the uploader.

file "description":
------------------
You can specify individual filename and description pairs on the command line
to add. The filename is NOT case sensitive and the description IS. The
quotation marks are only necessary for descriptions of more than one word.
Example:

TICTAC.ZIP Tic-Tac-Toe		is OK
TICTAC.ZIP Tic Tac Toe		is NOT OK
TICTAC.ZIP "Tic Tac Toe"        is OK

+list [desc_off] [size_off]:
---------------------------
An ASCII text file list can be specified for adding to the database. The format
of the file must be as follows (FILES.BBS lists work best):

Filename and description on single line. Number of spaces between filename and
	description doesn't matter.
Filename must contain a period (.) if an extension is used.
	Example: TICTAC.ZIP	 is OK
		 TICTAC ZIP	 is NOT OK
		 TICTAC  .ZIP	 is OK
Lines beginning with control characters, dash (-), or extended ASCII characters
	are ignored (this includes blank lines).
Up to 58 characters of description are used.
Lines following a filename/description line that begin with space are
	used as additional information for the description, and the entire
	description is used as an extended description for the file as well.

The name of the filelist is specified on the command line after the plus (+)
character. Example:

ADDFILES GAMES +FILES.BBS

If no filename/description pairs are given on the command line and no +filelist
parameter is given, ADDFILES will attempt to use a file list with the dir_code
as the filename and .LST as the extension.
Example:

ADDFILE GAMES

Would add files to the GAMES directory using GAMES.LST as the file list. If
GAMES.LST is can not be found, then nothing happens.

desc_off:

If a filelist is specified on the command line, a description offset can be
specified as the next argument. If used, this parameter will specify at what
column to start importing the descriptions. For PCBoard DIR file format, you 
should specify a description offset of 33. Example:

ADDFILES GAMES +DIR10 33

This offset is also used for the importing of any extended description lines.

size_off:

If a filelist is specified on the command line with a description offset,
a file size offset can be specified too. If a file size offset is specified,
the disk does not need to be searched for the size of the file to determine
the credit value. This is useful for adding lists of files from a CD-ROM
drive as it speeds up process since the CD does not need to be scanned for
the file size. This parameter is also useful for importing off-line file
lists, where the file doesn't actually exist on the drive. For PCBoard DIR
file format, this offset should be set to 12. Example:

ADDFILES GAMES +DIR10 33 12


FILELIST v1.00 - Generate Synchronet File Directory Listings
============================================================
!!Utility Reference: FILELIST
$$FILELIST

Description:
~~~~~~~~~~~~
This utility creates an ASCII text file list of the files in a Synchronet file
transfer database. This utility is useful for creating file lists for users to
download, exporting into other programs, or for easy statistics reporting by
the sysop.

The default output is compatible with the FILES.BBS standard format. Options
are available for enhancing the output for your needs.

Understand that this is an EXPORT utility and is not necessary for the normal
execution of Synchronet. This utility exports from the binary indexed file
databases of Synchronet into ASCII text. If you are looking for a program to
IMPORT files from ASCII into Synchronet, you need to look for the ADDFILES
utility for Synchronet. If you are just trying to ADD files to your Synchronet
database, then you need to read Sysop - specifically the ";UPLOAD" sysop
transfer section command.

Syntax:
~~~~~~~
usage: FILELIST [dir_code] [switches] outfile

switches: /LIB name All directories of specified library
          /ALL      All directories in all libraries
          /PAD      Pad filename with spaces
          /HDR      Include directory headers
          /CDT      Include credit value
          /ULN      Include uploader's name
          /ULD      Include upload date
          /DLD      Include download date
          /DLS      Include total downloads
          /NOD      Exclude normal descriptions
          /EXT      Include extended descriptions
          /+        Include extended description indicator
	  /-	    Include offline file indicator
          /*        Short-hand for /PAD /HDR /CDT /+ /-

Parameter Descriptions:
~~~~~~~~~~~~~~~~~~~~~~~
Either the "/LIB name", "/ALL", or <dir_code> parameter must be included for
a list to be generated. If you want to create a list of files for a single
file directory, use that directory's internal code as the first parameter on
the command line. If you want all directories in a certain library to be in
the list, use the "/LIB name" switch - where "name" is the short name of the
library you want to list. If the library short name is more than one word,
you most puts quotes around the name (ex: /LIB "short name"). If you want to
include all the directories on your system in the list, use the "/ALL"
parameter.

The default format for file names is non-padded (FILE.EXT). If you want the
list to have the filename and extension in separate columns (like the file
listings inside Synchronet), use the "/PAD" switch, so that "FILE.EXT" will
be displayed as "FILE    .EXT".

If you want a small header to be placed at the beginning of each directory,
include the "/HDR" switch. The header contains the library short name, the
directory long name, and the total number of files in the directory.

If you want the credit value of the file (normally the same as the filesize)
included in the listing, include the "/CDT" switch on the command line.

If you want the name of the uploader of each file to be included in the list,
use the "/ULN" switch on the command line.

If you want the date of the upload (in MM/DD/YY format) to be included in the
list, use the "/ULD" switch on the command line.

If you want the date of the most recent download (in MM/DD/YY format) to be
included in the list, use the "/DLD" switch on the command line.

If you want the total number of downloads for each file included in the list,
use the "/DLS" switch on the command line.

If you DO NOT want the normal (58 character) description included in the file
list, include the "/NOD" switch on the command line.

If you want extended descriptions to be included in the file list, use the
"/EXT" switch on the command line.

If you want the '+' indentifier for extended descriptions to be included in the
list, use the "/+" switch.

If you want the existence of each file to be verified and non-existent
(offline) files to be indicated by a '-', use the "/-" switch. This switch
should NOT be used for CD-ROM directories.

To generate a list most closely resembling the internal Synchronet file listing
format, use the "/*" switch. It is the same as including the "/HDR", "/CDT",
"/PAD", "/+", and "/-" switches.

SBBSNODE Environment Variable:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Prior to running FILELIST you must set the SBBSNODE environment variable to
the path of one of your NODE directories.

Example:

SET SBBSNODE=C:\SBBS\NODE1

Examples:
~~~~~~~~~

FILES.BBS
---------
If you want to create a simple FILES.BBS format listing of your GAMES directory
(and the directory's internal code is "GAMES"), then use the following command
line:

FILELIST GAMES FILES.BBS

This command line would create the file "FILES.BBS" in your current DOS
directory with a list of the filenames and descriptions in your Synchronet
GAMES file directory. This file could then be imported into another BBS package
or used by another FILES.BBS compatible program for searching, sorting, moving
or other file maintenance.


FILELIST.TXT
------------
If you want to create a list of all the files on your BBS that closely matches
the format of the internal Synchronet file listings, use the following command
line:

FILELIST /* /ALL FILELIST.TXT

This command line would create the file "FILELIST.TXT" in your current DOS
directory with a list of the filenames, credit values, and descriptions of
all the files in your Synchronet file transfer database. A header for each file
directory would be included and the filenames would be padded with spaces for
easier viewing.

To generate the same list, but include any extended descriptions as well, add
the "/EXT" switch after the "/ALL" parameter.


FILESTAT.TXT
------------
If you wanted to create a list of all the files on your BBS with detailed
statistical information, you may want to use a command line similar to the
following:

FILELIST /* /ALL /NOD /ULN /ULD /DLD /DLS FILESTAT.TXT

This command line would create a list of the files with the uploader's name,
the date the file was uploaded, the date of the most recent download, and the
total number of downloads. The "/NOD" switch would cause the descriptions to be
excluded from the list. This list could then be used for statistic reports.
It would be a fairly simple programming task to create a utility that read in
this generated file and created file popularity graphs or a list of the most
valued uploaders. The possibilities are endless.


NOTE:
~~~~~
The functionality of creating file lists is not limited to only this utility.
There are commands to generate file lists (of both New files and All files)
from the Temp Directory menu in the Synchronet transfer section. Users can use
these commands to generate lists for download immediately. Also, QWK packets
generated in Synchronet contain a file named "NEWFILES.DAT" - an ASCII text
file containing a list of files uploaded since the user's last logon.

The main advantages of this utility over the internal file list generation
capabilities of Synchronet are its output format flexibility and compatibility
with the FILES.BBS standard.


Synchronet Node Display/Control Utility v1.02
=============================================
!!Utility Reference: NODE
$$NODE_REF

Possible Node Status Values:

0	Waiting for call
1	At logon prompt
2	New user applying for access
3	User online
4	User online in quiet mode
5	Offline
6	Networking
7	Waiting for all nodes to become inactive before running timed event
8	Running timed event
9	Waiting for timed event node to finish running event

Possible Node Action Values:

0	Main Prompt
1	Reading Messages
2	Reading Mail
3	Sending Mail
4	Reading G-Files
5	Reading Sent Mail
6	Posting Message
7	Auto-message
8	Running External Program
9	Main Defaults Section
10	Transfer Prompt
11	Downloading File
12	Uploading File
13	Bidirectional Transfer
14	Listing Files
15	Logging on
16	In Local Chat with Sysop
17	In Multi-Chat with Other Nodes
18	In Local Chat with Guru
19	In Chat Section
20	Sysop Activity
21	Transferring QWK packet
22	In Private Chat
23	Paging another node for Private Chat

Bits Used in Node Misc:

0       Anonymous User
1       Locked for sysops only
2       Interrupted - hang up
3       Message is waiting for user
4       Paging disabled
5       Activity Alert disabled
6       User data has been updated by another node
7       Re-run this node when logoff
8       Must run node event after logoff
9       Down this node after logoff
10      Reset private chat
11      Node message waiting


UTI Driver
==========
!!Utility Reference: UTI Driver
$$UTI_DRVR

This UTI driver complies with UTI Driver Specification Rev 2.1 by Kip Compton.
This driver is for use with PostLink v1.05+ and possibly MegaMail.

Copy the UTI driver files:

	UTIVER.EXE		Returns UTI version number (2)
	UTILIST.EXE		Generates list of conferences (sub-boards)
	UTIHIGH.EXE		Returns highest message number in a conference
	UTILSTRD.EXE		Generates list of message pointers for a user
	UTIIMPRT.EXE		Imports messages into a conference
	UTIEXPRT.EXE		Exports messages from a conference

into your PostLink directory, or another directory that is in your DOS search
path.

The UTIDOOR.EXE program is not part of this driver set, since Synchronet v1b
rev 1 can generate a UTIDOOR.TXT file internally.

You may need to know that the conference identifiers, as well as the name of
each conference, is the same as the Synchronet internal code for each
conference. This allows you to modify your message base configuration in
Synchronet without having to immediately "Update" the network or mail software
confernce list to avoid a catastrophe. However, you should still "Update" the
network or mail software to avoid configuration confusion - especially when
deleting sub-boards.

ERROR LEVELS
============
If one of the UTI driver programs exits with an error level, you can define
the error with the following table. If the UTI driver program exits with an
unlisted error level, please contact Digital Dynamics.

Level	Description
~~~~~~~~~~~~~~~~~~~
1	Syntax error on command line
2	Cannot open/create UTI text file
3	Memory allocation error
4	Too many messages in a conference to import
5	Cannot open Synchronet message data file
6	Cannot open Synchronet message index file
7	Unrecognized Synchronet sub-board code
8	Cannot open Synchronet user name data file
9	Cannot find user name in Synchronet user database
10	Cannot open Synchronet message pointer index


If you get an error 2, 5, 6, 8, or 10, you may want to double check the number
of files handles you are reserving in your CONFIG.SYS file (FILES=# statement)
and try increasing it.

If you get an error 3, then you need to make more DOS memory available to the
UTI driver and the parent program (i.e. PostLink).


System/Node Statistics Log Viewing Utility
==========================================
!!Utility Refernece: SLOG
$$SLOG_REF

Usage: slog [path]

where path is the directory where CSTS.DAB is located. If your SBBSCTRL
environment variable is set and no path is specified, it will use the system's
statistics file located in the CTRL directory. To set your SBBSCTRL environment
variable, add the following line to your AUTOEXEC.BAT:

SET SBBSCTRL=C:\SBBS\CTRL

Make sure the path is the correct path for the Synchronet CTRL directory in
your configuration.

If you want to list the statistics of a specific node on your system (same as
using the ;NLOG command from the main menu, or the 'N' WFC command), specify
the path for that node on the command line. Example:

SLOG C:\SBBS\NODE1

If a path is not specified and the SBBSCTRL environment variable is not set,
the current directory will be searched for CSTS.DAB.

The output of SLOG can be redirected to a file or printer for easy viewing.
Example:

SLOG > PRN

or

SLOG > SLOG.TXT


Daily Statistics Editor Documentation
=====================================
!!Utility Reference: DSTSEDIT
$$DSTSEDIT

Description:

DSTSEDIT (Daily Statistics Editor) is used to edit the statistic values of your
BBS that are stored in the DSTS.DAB file in your CTRL directory. There is also
a seperate DSTS.DAB file in each node directory which stores the statistic 
values for that individual node. This utility can be used to edit either of the
two statistic types: System or Node.

Usage:

To edit your system's statistics, you can either run DSTSEDIT with your CTRL
directory as the current directory, or run DSTSEDIT with the path of the
CTRL directory as an argument.

	Example: DSTSEDIT C:\SBBS\CTRL

To edit an individual node's statistics, you can either run DSTSEDIT with the
node's directory as the current directory, or run DSTSEDIT with the node's 
directory as an argument.

	Example: DSTSEDIT C:\SBBS\NODE1


TOTALS: External Programs Credit Gain/Loss Log Totalling Utility
================================================================
!!Utility Reference: TOTALS
$$TOTALS__

The TOTALS.COM utility is used to generate a total gain/loss of multiple log
files created by SBBS external programs that adjust user credits and log the
adjustments in text files. Each file containing one line that contains the
gain/loss value in credits. It is a positive value if it had net winnings
(took more credits than it gave), and negative value if it had a net loss
(gave away more credits than it took). The Synchronet external programs that
currently generate such logs (by running the program with the /L option) are
Synchronet Blackjack, Dice War, and Domain Poker.

usage:

	totals <log files [...]>

	examples:

		totals *.log
		totals 06*.log 07*.log 080192.log


Trouble Shooting
================
!!Trouble Shooting
$$TROUBLE_

Unregistered DSZ
----------------

Problem:
	Batch uploads and Ymodem-G don't work.

Solution:
	Synchronet is distributed with an unregistered shareware copy of
	DSZ.COM to allow the beginning to sysop to start out with the three
	basic protocols, Xmodem, Ymodem, and Zmodem. To use Ymodem-G and batch
	uploads, you must use a registered copy of DSZ.COM (or EXE).
	See DSZ.DOC for more information on registering DSZ.


PKZIP.EXE not in EXEC directory
-------------------------------

Problem:
	Can't create QWK packets or temporary archive files.

Solution:
	Synchronet comes configured for PKZIP as the temporary file (and QWK
	packet) compression method. In order for this to function correctly,
	you must have a copy of PKZIP.EXE in your SBBS\EXEC directory, or
	change the Temporary Archive Command Line to exclude the '%!' specifier
	(short hand for the exec directory), or specify the directory where
	PKZIP.EXE resides. See Configuration Reference for more information.


PKUNZIP.EXE not in EXEC directory
---------------------------------

Problem:
	Can't view ZIP files online and can't upload files because they fail
	the ZIP integrity test.

Solution:
	You must copy PKUNZIP.EXE into your SBBS\EXEC directory, or change
	the command lines to reflect the actual location of PKUNZIP.EXE.
	See Configuration Reference for more information.


HSLINK.EXE and BIMODEM.COM not in EXEC directory
------------------------------------------------

Problem:
	HS/Link and BiModem don't work. "Bad command or filename" is displayed
	when a user tries to use them.

Solution:
	You need to copy HSLINK.EXE and BIMODEM.COM into your SBBS\EXEC
	directory. BiModem must have a BIMODEM.CFG file in each node directory.
	Run BICONFIG to create/change the configuration information stored in
	BIMODEM.CFG. Refer to the BiModem documentation for more information on
	this file and using BICONFIG. One important note for BiModem
	configuration is that "Allow remote file requests" be set to "NO".


Nodes Sharing Temp Directory
----------------------------

Problem:
	Get a "Removing" file error when starting up SBBS, at logon, and at
	logoff sometimes when another node is active.

Solution:
	You have more than one node using the same directory as the temp
	directory. You must have a unique temp directory for each node.
	Configure a unique temp directory for each node in the config program
	(type SCFG from the node directory or hit 'C' at the wait for call
	screen). See Configuration Reference for more information.


Modem Connect Result Codes Not Configured
-----------------------------------------

Problem:
	When answering calls, Synchronet displays "Invalid result code: xx"
	where xx is a decimal number, and hangs-up on the caller.

Solution:
	Add this result code to your node's result code list in the config
	program (type SCFG from the node directory or hit 'C' at the wait for
	call screen). DO NOT add result codes 0, 2, 3, or 4. Refer to your
	modem's manual for the connect speed and average transfer CPS for
	the new result code. See Concifugration Reference for more information.


Windows "Sharing violation reading drive C:"
--------------------------------------------

Problem:
	Some multinode configurations under Windows have problems with sharing
	the same SBBS.EXE file. When running a second simultaneous node, the
	error "Sharing violation reading drive X:" would appear.

Solution:
	Copy the SBBS.EXE file into each of your NODE directories, delete the
	SBBS.BAT files from each of the NODE directories (if it exists). Now
	each node has its own copy of SBBS.EXE and the sharing violation is
	gone.


DOS Command Line TSRs
---------------------

Problem:
	When using the ;DOS sysop command, the cursor position does not follow
	your keystrokes properly.

Solution:
	Remove DOSKEY or other DOS command line TSR program from memory. Many
	DOS command line utilities redirect DOS output to the BIOS - which in
	turn bypasses Synchronet's interception of the DOS output functions.


Customization: Menus and Text Files
===================================
!!Customization: Menus and Text
$$CUSTOM__
$$MENU&TXT

Menus
~~~~~
One of the easiest and possibly the most obvious ways to customize or
personalize your BBS is to change the look of the menus. Menus are mearly ASCII
text files (with optional ctrl-a codes or ANSI escape sequences) stored in the
TEXT\MENU directory. The filenames are descriptive of the menu subject and
the extensions represent the content of the file. The possible extensions and
their meanings are:

RIP     Contains RIPscrip escape sequences for use with RIPterm
ANS     Contains ANSI escape sequences suitable for color display
MON     Contains ANSI escape sequences suitable for monochrome display
ASC     Contains no ANSI

All of the above file types can contain ctrl-a codes, and only the ASC file
must exist. If a user has color ANSI, the ANS file will be displayed; if it
doesn't exist the ASC file will be displayed. If a user has monochrome ANSI,
the MON file will be displayed; if it doesn't exist the ANS file will be
displayed; and if it doesn't exist the ASC file is then displayed.

A user without ANSI will always be displayed the ASC file.

To edit files with ANSI escape sequences, it is usually preferable to use a
utility designed for such a task. TheDraw is quite popular for this use.

To edit files with ctrl-a codes, you can use any editor that allows the input
of ctrl characters, but you won't see the attributes till you view the file
within Synchronet. You can, however, use the Synchronet internal editor (;EDIT
from the main menu) and it will display the attributes as you edit the file.
The Synchronet editor limits the line length to 79 characters which may not be
sufficient for lines with multiple ctrl-a codes.

Menu Files	Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALLMAIL         Sysop's reading all mail on system menus
ATTR            Ctrl-A code menu for use within the Synchronet internal editor
BATCHXFR        Batch transfer menu
BATDPROT        Batch download transfer protocols
BATUPROT        Batch upload transfer protocols
BIPROT          Bidirectional transfer protocols
CHAT            Chat section menu
DLPROT          Download transfer protocols
E-MAIL          E-mail section menu
EDITOR          Synchronet internal editor commands and line editing keys
EXEMPT          Exemption flag descriptions for use within User Edit
LOGOFF          Logoff ('O' command) screen
LOGON           Logon screen
MAILREAD        Reading mail menu
MAIN            Main section menu
MAINCFG         Main configuration menu
MAINFLAG        Main flag descriptions for use within User Edit
MAININFO        Main information menu
MSGSCAN         Message reading/scanning menu
MULTCHAT        Multinode chat menu
PRIVCHAT        Private node-to-node chat menu
QWK             QWK Packet menu
REPORTS         Sysop report section menu
RESTRICT        Restriction flag descriptions for use within User Edit
SENTMAIL        Reading sent mail menu
SYSMAILR        Sysop additional commands while reading mail
SYSMAIN         Sysop additional commands for main section
SYSMSCAN        Sysop additional commands while message reading/scanning
SYSSMAIL        Sysop additional commands while reading sent mail
SYSXFER         Sysop additional commands for transfer section
TEMPXFER        Temporary directory commands menu
TRANSFER        Transfer section menu
UEDIT           User Edit menu
ULPROT          Upload transfer protocols
WFC             Waiting for call menu
XFERCFG         Transfer section configuration menu
XFERFLAG        Transfer flag descriptions for use within User Edit
XFERINFO        Transfer section information menu

Optional Menus
~~~~~~~~~~~~~~
The following files must be created in the TEXT\MENU directory if you wish to
use them.

GRPS            Message Group listing
SUBSx           Message Sub-board listing, 'x' is the group number
LIBS            File Library listing
SUBSx           File Directory listing, 'x' is the library number
XTRN            External Program listing
TEXT_SEC        Text File Section listing
TEXTx           Text File listing, 'x' is the text file section number
TMESSAGE        Displays when the user enters the transfer section
TPOLICY         Transfer policy (&T transfer section command)

Other Options Message Files
~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you want to have an information file displayed for sub-boards when using
the 'I' scanning command and '&S' main section command, create a file for
the sub-board in the DATA\SUBS directory using the internal code for that
sub-board as the name and .MSG as the extension. Example:

DATA\SUBS\GENERAL.MSG

If you want to create in information file for file directories to be displayed
with the '&D' transfer section command, create a file for the directory in
the DATA\DIRS directory using the internal code as the name and .MSG as the
extension. Example:

DATA\DIRS\GAMES.MSG

If you want to create a custom file listing header for a file directory, create
a file in the DATA\DIRS directory using the internal code as the name and .HDR
as the extension. Example:

DATA\DIRS\GAMES.HDR

Colors
~~~~~~
To modify some of colors of the BBS you can edit the ATTR.CFG file which is
located in the CTRL directory. The file contains one color per line and is
commented as to the use of the color. The colors are represented with ctrl-a
code attribute letters/numbers. The number of colors you can change with this
method is very small.

Text Files
~~~~~~~~~~
There are some text files that are displayed to users at different points
in the system. The locations and descriptions follow (* indicates optional):

TEXT\ANSWER.ANS 	Answer message for ANSI users
TEXT\ANSWER.ASC 	Answer message for non-ANSI users
TEXT\SYSTEM.MSG 	Description of the system and its configuration
TEXT\NEWUSER.MSG	Displayed to new users (usually system rules)
TEXT\FEEDBACK.MSG	Displayed before new users write validation feedback
TEXT\NUPGUESS.MSG      *Displayed to callers attempting to guess the NUP
TEXT\TOOSLOW.MSG       *Displayed to users logging on a node < min connect rate
TEXT\BADNAME.MSG       *Displayed to new users trying to use a name in NAME.CAN
TEXT\BADPHONE.MSG      *Displayed to new users using a number in PHONE.CAN
TEXT\BADFILE.MSG       *Displayed to user trying to upload filename in FILE.CAN
TEXT\QWK\HELLO	       *Included in QWK packets
TEXT\QWK\BBSNEWS       *Included in QWK packets
TEXT\QWK\BLT-0.?       *Included in QWK packets (? must be number)

Text/Colors
~~~~~~~~~~~
Virtually all the text and color that the BBS displays is stored in the file
TEXT.DAT in the CTRL directory. The syntax of this file is VERY specific and
extreme caution should be taken when editing it. Knowledge of the C language
would be very helpful in producing the desired results. If all you want to
do is change colors of a certain text line, take care not to disturb the
arrangement of the other characters on the line. Ctrl-a codes can be preceeded
by an embedded ctrl-a character (usually a black happy face) or by a '\1' 
(the printf() equivalent of ctrl-a).

The syntax of the characters between the double quotations is identical to 
the C language printf() format string with one exception: \xxx where x are
digits (0-9) represents a decimal number, not an octal number. The range is
0 to 255. If you wish to set a background color using \1 for the ctrl-a code, 
you may need to pad the attribute number with zeros. For example; to set the 
background to blue, you might try to use the sequence "\14" which won't work.
You could either embed the actual ctrl-a character (which is preferred) or
use "\0014".

Some of the strings have characters preceeded by a tilde ('~'). These strings
are referred to as mnemonics. The tilde preceeds a character that is to be
highlighted for users supporting ANSI and enclosed in parenthesis for non-ANSI
users. Usually used for prompt strings that contain the valid key commands.
The colors to use for the highlighted characters, normal characters, and the
command character are specified in the CTRL\ATTR.CFG file.

** WARNING **
Make a backup of the TEXT.DAT file before you edit it. If you damage the file
syntax when editing it, Synchronet may execute errorneously or even fail to
initialize.


SIF Questionnaire Files
=======================
!!Customization: SIF
$$SIF_REF_

SIF was developed as a questionnaire type file interface for Synchronet BBS.
Its purpose was to minimize the amount of static data in the Synchronet
executable and allow modifications to the syntax and color attributes of
parts of the BBS without requiring recompilation.

An automatic new user SIF questionnaire can be specified in SCFG->System.
If a newuser SIF is specified, all users who logon and don't have a copy of
the answered questionnaire data in their user file will be given the
questionnaire upon logon. The sysop can view the answered questionnaire from
User Edit with the '#' command. For convenience, the sysop can create a second
(abbreviated) SIF file for his own use in viewing user's answers. The two SIF
files (input and output) should be identical with the exception of what is
in the 'text' portion.

format:

<STX>text<ETX>mode[mod][l][r][x][.n]["str"]

element descriptions:

STX     is the ASCII code for start of text (ASCII 2 / Ctrl-B)
ETX     is the ASCII code for end of text   (ASCII 3 / Ctrl-C)

text    is any number of ASCII characters - Synchronet Ctrl-A codes supported

mode    text input mode desired for this field. Possible mode values are:
                c       single character
                s       string of characters

mod     optional mode modifier. Possible mode modifiers are:
                n       numeric characters only
                u       input converted to uppercase
                f       forced word capitalization ('s' mode only)

l       input line will be displayed (inverse bar of maximum input length)

r       a carriage return / line feed pair will be appended to this field
        in the data buffer. Only use this field if you want the data buffer
        or file to be more readable. All data is on one line otherwise.

x       maximum string length allowed (required for non-template 's' mode)

n       minimum string length allowed (only applicable with 's' input mode)

str  1: in 's' modes, a template string that defines what will be displayed
        at the prompt and what type of characters the user can input. All
        characters other than 'N', 'A' or '!' are printed at the prompt.
        Occurances of 'N', 'A' or '!' define which type of character the user
        can input for each character position. 'N' allows the user only to
        enter a numeric character, 'A' allows only alphabetic, and '!' allows
        any character. Popular templates are "NNN-NNN-NNNN" for phone number
        input or "NN/NN/NN" for date input.

     2: in 'c' modes, a string that defines which characters the user will
        be allowed to input (not case sensitive), usually used for multiple
        choice answers. Most common allowed characters are "ABCD..." or
        "1234...". If this string is specified in 'c' input mode, 'u' and 'n'
        have no effect and input will be converted to uppercase automatically.
                                   
Example 1:

<BOT>
Enter string: <EOT>sulr8.3
        
         Prints the prompt, "Enter string: ", then a line of 8 blue spaces
(an input bar, if you like), would convert all of user's input to uppercase,
allow the user to input a maximum of eight characters, a minimum of three and
append a CRLF onto the end of the data field.

Example 2:

<BOT>
A> First Answer
B> Second Answer
C> Third Answer

Which: <EOT>c"ABC"

        Prints "A> First Answer" "B> Second Answer" etc... then allows the
user to input one character, either A,B, or C. No other characters will be
accepted as input.

Example 3:

<BOT>
Enter phone number: <EOT>s"NNN-NNN-NNNN"

        Prints "Enter phone number: ", then allows the user to input only
numbers in the 'N' character positions, and automatically skips over the
'-' characters.


See EXAMPLE.SIF in the SBBS\TEXT directory for more information.


GURU.DAT
========
!!Customization: GURU.DAT
$$GURU_REF

The Guru of your BBS can be "taught" to respond to keywords and phrasing that
your users use when chatting with him. The Guru's "brain" is a file named
GURU.DAT that is kept in the CTRL directory. It is a special data file that
contains logic expressions and lists of responses. Synchronet is distributed
with a sample GURU.DAT that contains all the features and examples of syntax
that are availabe. Before you edit the GURU.DAT file, be sure you understand
exactly what you are doing, as the neuro system that interprets the GURU.DAT
file does not handle syntax errors very well. The basic structure of the 
GURU.DAT is as follows:

(expression)
response
response
response
(expression)
response
response
response
()
response
response
response

You may include as many Expression/Response sets as you like, as long as 
the file size does not exceed 64k or the amount of available memory.
Each expression contains one or more string of characters that The Guru may
respond to and logic operators. The string must be in all uppercase and may
not contain the following characters: ~^|&()
If the expression just contains one string
ex: (HELLO), and that string is used in the users input, The Guru will pick
a random response from the list that follows that expression. The Guru will
only use one response for each line input by the user, so as soon as a "true"
expression is encountered, a response is made and the evaluation of the user's
line is complete. All expressions are evaluated from the top of the file down,
so if a true expression is encountered toward the top of the file, all the 
remaining expressions are ignored untill the next evaluation. Notice that the
last set of responses is preceeded by a pair of empty parenthesis. This is an
"always true" expression and should always be the last expression in the file.
Omitting this fall-through expression is a syntax error. If all the previous
expressions are evaluated as false, then a response will be picked from the
set following the fall-through expression. The simplest from of an expression
is just a string of uppercase letters (with or without spaces). If the string
is followed by a tilde '~', the string will be evaluated as true even if the
string is embedded in another string. Ex: if the user types "XhelloX", an
expression of (HELLO) would evaluate as false, but an expression of (HELLO~)
would evaluate as true. You can also specify that the string must be the 
beginning of the users input line by following the string with a carrot '^'
symbol. Ex: if the user types "I said, Hello!", an expression of (HELLO) would
evaluate to true, but an expression of (HELLO^) would be false. An expression
can contain multiple strings conected with logic symbols. The valid logic 
symbols are & (and) and | (or). Ex: if you have the expression (HELLO&GURU)
the user must type both "hello" and "guru" in the input line in order for 
the expression to be true. If you have the expression (HELLO|HI), it will
be evaluated as true if the users includes either "hello" or "hi" in his input
string. Nested evaluations are supported. Ex: the expression, (GURU&(HELLO|HI))
will evaluate as true if the user inputs either "guru" and "hello", or
"guru" and "hi".  

RESPONSES:

Each expression can be followed by up to 100 respones and each response can
be up to 512 bytes long.
Responses can not contain the characters ( or ) and may only span several lines
if the last character of each continued line is a back-slash '\'. Responses
are picked at random from the group below the first expression that is
evaluated as true. The more responses you have to each expression, the less
likely The Guru is to repeat himself. The Guru can also respond with
information about the current user or perform an action. To initiate these
special responses, you must preceed a valid response escape character with a
back-quote (`) character. The valid response escape characters and their
definitions are as follows:

A       User's alias (name, if Aliases not allowed)
B       User's birth date
C       User's computer type
D       User's download bytes
H       Hang up on the user
M       User's main level
N       User's note (location, if Aliases not allowed)
P       User's phone number
Q       Quit chat
R       User's real name (address, if Aliases not allowed)
T       User's transfer level
U       User's upload bytes
$       User's credits
#       User's age
!       Toggle The Guru's typing mistakes
_       Pause in response

Three of the above escape characters only have effect when the user is chatting
with The Guru in the "Local" mode and not from multinode chat. These are the
'Q'uit chat (which is the only means of the exiting without hitting shift-F9
locally), '!' Toggle typing mistakes, and '_' pause in response.

Ex: The expression/response pair:

(HELLO)
Hello there, `a...

would display "Hello there, Joey..." if Joey were to say "hello" to The Guru.


Appendix A: Command Line Specifiers
===================================
!!Appendix A: Command Line Specifiers
$$CMD_SPEC

Specifiers (argument replacement) for use with command lines in Synchronet
Configuration program.

%a      User Alias/Name
%b	Baud (DTE) rate
%c	Connect Description
%d	Connect (DCE) rate
%e	Estimated CPS rate*10
%f	File path/name
%g	Temp directory
%h	HardWare Flow Control (Y/N)
%i	UART (COM Port) IRQ Line
%l	Maximum Lines Per Message
%m	Minutes
%n	Node Directory (same as SBBSNODE environment variable)
%p	COM Port Number
%r	Rows on user's terminal screen
%s	File Specification (wildcards)
%t	Time (in seconds) user has left
%u	UART (COM Port) I/O Address in Hex
%v	Synchronet Version (example: 1a06 is Version 1a Revision 6)
%!	EXEC Directory
%#	Node number (same as SBBSNNUM environment variable)
%$	User's Credits
%%	Percent Symbol
%&	Used for DCDWATCH utility


Appendix B: SBBS Command Line Options
=====================================
!!Appendix B: SBBS Command Line
$$CMD_OPTS

The Synchronet BBS program (SBBS.EXE) can be run with optional command line
switches. The switches should be separated by a space. Slash (/) and dash (-)
are ignored, so "SBBS B" and "SBBS /B" are equivalent. Case is ignored, so
"SBBS B" and "SBBS b" are equivalent. To list the available options from the
DOS command line, you may type "SBBS ?". Here is a list of available switches:

B	Use BIOS for video instead of direct screen writes
	- Older multitasking software may requires this switch
M	Modem debug output
	- This switch is helpful in solving problems with modem initialization
Q	Quit after one call
	- SBBS will exit back to DOS (phone off-hook) after one user
X	Quit after one call (on hook)
	- SBBS will exit back to DOS (phone on-hook) after one user
C#	Connection already extablished at # bps
	- If user already connected, pass current connect rate (DCE)
E#	External event in # minutes
	- If there is a non-Synchronet event coming up, pass minutes left
R	Returning from exec with user still online
	- This switch is for the internal use of Synchronet only (DO NOT USE)
T	Returning from timed event
	- This switch is for the internal use of Synchronet only (DO NOT USE)
S	Skip directory checking upon start-up
	- If you want to override Synchronet's checking of DOS directories

Appendix C: Contacts
====================
!!Appendix C: Contacts
$$CONTACTS

This is a list of important contacts for products pertaining to BBSs. This list
may prove valuable to sysops looking to locate information and/or purchase
a specific product. The list is alphabetized by product name:


Product: BNU FOSSIL (Serial Communications) Driver
Company: Unique Computing Pty Limited
Contact: David Nugent
Address: Melbourne, Australia.
FidoNet: 3:632/348.0
FreeNet: 23:2/3.0
AlterNet: 7:833/387.0

Product: CDR-600A: CD-ROM 6-disk Multi-Changer
Company: Pioneer Communications Of America
Address: 600 East Crescent Avenue, Upper Saddle River, NJ 07458
  Voice: 201-327-6400
    BBS: 408-748-2105

Product: Cubix Cards: Multiple CPU Slave Cards for NetWare LAN
Company: Cubix Corp.
  Voice: 800-829-0550

Product: DESQview DOS Multitasker and QEMM 386 Memory Manager
Company: Quarterdeck Office Systems
Address: 150 Pico Blvd, Santa Monica, CA 90405
  Voice: 310-392-9851

Product: DSZ/GSZ File Transfer Program (Xmodem, Ymodem, Zmodem, etc.)
Company: Omen Technology Incorporated
Address: 17505-V Northwest Sauvie Island Road, Portland Oregon 97231
    FAX: 503-621-3735
    BBS: 503-621-3746
  GEnie: CAF
    BIX: cforsberg
CompuServe: 70007,2304

Product: FreeMail EchoMail Program for FidoNet Technology Networks (FTNs)
Contact: Chad Nelson
FidoNet: 1:109/536

Product: FrontDoor FidoNet Front-end Mailer and TosScan EchoMail Programs
Company: Online Communications, Inc.
Address: 22 State Street, Bangor, ME 04401
FidoNet: 1:132/300

Product: Gateway Ethernet Adapters and Other LAN Hardware/Software
Company: Gateway Communications, Inc.
Address: 2941 Alton Avenue, Irvine, CA 92714
  Voice: 714-553-1555
    BBS: 714-863-7097

Product: HS/Link Bidirectional File Transfer Program
Contact: Samuel H. Smith
Address: PO Box 4808, Panorama City, CA 91412-4808
  Voice: 818-891-4228
    BBS: 818-891-6780 2400bps
             891-1344 V.32/V.32bis
             891-3772 HST

Product: NetWare, NetWare Lite, and Other LAN Software/Hardware
Company: Novell, Inc.
Address: 122 East 1700 South, Provo, UT 84606
  Voice: 800-733-9673

Product: PostLink Network Software and RelayNet (RIME) Membership
Contact: Bonnie Anthony, M.D.
Address: 6901 Whittier Blvd., Bethesda, MD 20817
  Voice: 301-229-7028
   Home: 301-229-7244
    FAX: 301-229-7574
    BBS: 301-229-5623
             229-5342

Product: PKZIP Data Compression Utilities
Company: PKWARE Inc.
Address: 9025 N. Deerwood Dr., Brown Deer, WI 53223
  Voice: 414-354-8699
    FAX: 414-354-8559
    BBS: 414-354-8670
Internet: PKWARE.Inc@mixcom.com
CompuServe: 75300,730

Product: RIPaint and RIPterm for BBS Graphical/Mouse User Interface
Company: TeleGrafix
Address: 16458 Bolsa Chica #15, Huntington Beach, CA 92649
  Voice: 714-379-2131
    FAX: 714-846-4189
    BBS: 714-840-3520

Product: Squish EchoMail Program for FidoNet Technology Networks (FTNs)
Contact: Scott J. Dudley
Address: 777 Downing St., Kingston, Ont. Canada K7M 5N3
    BBS: 613-389-8315
FidoNet: 1:249/106
IMEXnet: 89:487/106
Internet: sjd@f106.n249.z1.fidonet.org

Product: Synchronet Multinode BBS Software
Company: Digital Dynamics
Address: PO Box 501, Yorba Linda, CA 92686
  Voice: 714-529-6328
    FAX: 714-529-9721
    BBS: 714-529-9525 2400bps
	     529-5313 V.32/V.32bis
	     529-9547 HST
	     529-9721 ZyXEL
FidoNet: 1:103/705
   RIME: VERTRAUEN #5115
Internet: Rob.Swindell@f705.n103.z1.fidonet.org

Product: Telix Communications Software
Company: deltaComm Development
Address: PO Box 1185, Cary, NC 27512
  Voice: 919-460-4556
 Orders: 800-TLX-8000
    FAX: 919-460-4531
    BBS: 919-481-9399

Product: Tick FidoNet Software Distribution (File Echo) Utility
Contact: Barry Geller
FidoNet: 1:266/12
    BBS: 609-482-8609

Product: USRobotics Modems
Company: USRobotics
Address: 8100 North McCormick Blvd, Skokie, IL 60076-2999
  Voice: 800-342-5877
    FAX: 708-982-5235

Product: X00 FOSSIL (Serial Communications) Driver
Contact: Raymond L. Gwinn
Address: 12469 Cavalier Drive, Woodbridge, VA 22192

Product: ZyXEL High-speed Modems and NetWare LAN Solutions
Company: Zero One Networking
Address: 4920 E.La Palma Ave., Anaheim, CA 92807
  Voice: 714-693-0808
 Orders: 800-255-4101
    FAX: 714-693-8811
    BBS: 714-693-0762
FidoNet: 1:202/701.101


Appendix D: Wait for Call Status Display
========================================
!!Appendix D: WFC Status Display
$$WFCSTATS

Example:

Node #: 5   Mar 11  Space: 162,024k    Laston: Digital Man 14400
Logons: 23/103	    Total: 62,610      Timeon: 322/2430    Total: 5,321,900
Emails: 4/265	    Posts: 4/12811     Fbacks: 2/17	   Users: 1/592
Uloads: 324k	    Files: 1/2195      Dloads: 9,308k	   Files: 52

This status screen will be shown when the node is waiting for call if the
User #1 has EXPERT mode turned OFF and this node has Status Screen While WFC
set to Yes in SCFG->Nodes->Node x->Toggle Options.

The first line has the current node number, the current month and day,
the amount of free disk space on the drive where the TEMP directory is located
(should be on the drive where the majority of uploads are received), the
user who was last on this node and with what type of connection.

The second line has the number of logons today for this node/system, the
total logons for history of the system, the time spent on today (in minutes) for
this node/system and total time spent on for history of the system.

The third line contains the number of E-mails sent today on the system/total
E-mails currently waiting on the system, total number of Posts made on the
system today/total posts in all sub-boards, number of feedbacks (E-mail to #1)
sent today/total E-mail waiting for User #1, number of New Users today/total
user slots on the system.

The fourth line has the amount of uploads to the system today (in Kilobytes),
number of files uploaded/total files in all directories, amount of downloads
today (in Kilobytes) and total files downloaded today.

If there are any active nodes or nodes with a critical error count, the status
of those nodes will be displayed below the above statistical information.

Appendix E: Node Status Display
===============================
!!Appendix E: Node Status Display
$$NODESTAT

Anywhere within Synchronet, you can list the users currently online with the
Ctrl-U command.

From the Main, Transfer, Multinode Chat, or Private Chat sections you can list
the current status of all the nodes with the '/L' command.

You can display the status of all nodes from the DOS command line (or batch
file) with the NODE utility.

If the WFC Status Screen is enabled, the status of all active nodes is
displayed.

Node Status Line:
~~~~~~~~~~~~~~~~
The format of each node status line is as follows:
        
Node n: username action connection (flags) [sysflags]

Where:
	 n = node number
  username = user's name
    action = what the user is currently doing
connection = how the user is connected (bps rate if remote)
     flags = letters representing special modes of the node:
		A - Activity Alert Disabled:
		    User of this node will not be notified of
		    other users logging on or off other nodes.
		L - Node is locked for sysop use:
		    Node is temporarily reserved for sysop
		    use only.
		M - Message waiting for node:
		    An unreceived node-to-node message is
		    waiting for this node.
		P - Page disabled:
		    User of this node does not wish to allow
		    users of other nodes to page him for chat
		    or send him node-to-node messages.
  sysflags = modes that are sysop settable/viewable only:
		A - Anonymous:
		    User on this node is in anonymous mode.
		D - Down:
		    This node will be shutdown as soon as possible.
		E - Event:
		    This node will run it's daily event (if one
		    is specified) before waiting for another
		    call.
		I - Node will be interrupted:
		    Node connection will be terminated as soon
		    as possible.
		Q - Quiet:
		    User on this node is in quiet mode.
		R - Rerun:
		    This node will Rerun when user logs off.
		U - User data update:
		    This user's data has been modified by
		    another node and needs to be read from
		    disk.

If the node is not in use, the possible status are:
	Offline: Node is not currently running Synchronet
	Waiting for Call: Node is waiting for a call.
	Networking: Node is currently executing network functions.
	New User Logging On: A user is logging on as new.
	Waiting for all nodes to become inactive.
	Running external event.
	Waiting for node x to finish external event.


Appendix F: Log File Line Type Specifiers
=========================================
Appendix F: Log Line Types
$$LOGSPECS

Each line in the daily caller log has a line type specifier (the first 2
characters). The specifiers and their descriptions follow:

!! Error message
@  Modem connection established
@- Modem connection terminated
@! Modem error
++ Logon
+! Logon error
N  New user begins application
N+ New user finishes application
N! New user fails application
S+ Sysop enabling function
S- Sysop disabling function
S! Sysop security error
P+ Posted message
P- Removed message
P! Posting error
E  Read E-mail
E- Delete E-mail
E+ Sent E-mail
E! E-mail error
C+ Chat function
U+ Upload
U- Removed Upload
U! Attempted upload
D- Download
D! Attempted download
X- External program execution
$+ Gained credits
$- Lost credits
*+ Gained minutes
*- Lost minutes

To view today's caller log, hit 'L' from the WFC screen or ";LOG" from the
main menu. Yesterday's caller log can be viewed by hitting 'Y' at the WFC
screen, or ";YLOG" from the main menu. The log files are stored in the
DATA\LOGS directory with a file for each day named in the format: MMDDYY.LOG.

Appendix G: File Formats
========================
!!Appendix G: File Formats
$$FORMATS_

Configuration (CFG) Files
~~~~~~~~~~~~~~~~~~~~~~~~~
Straight ASCII format. Each line contains an option. The data portion of the
line ends at the first TAB character or column 41, whichever comes first. The
remainder of the line is used to describe the option the line is used for.
For Yes/No options, only the first character is checked and is not case
sensitive. Field descriptions (comments) are created by SCFG automatically when
changes are saved.

See the comments of the individual CFG files for the format of each.


Index Files
~~~~~~~~~~~

INDX\MAIL.IXT

        The E-Mail index file is ASCII text. Each piece of mail occupies
        three CR/LF delimited lines of text.

        Line 1:
                filenameMdatetimeFuserfrom

                where "filename" is the eight character name of the actual
                mail message that is stored in the DATA\MAIL directory with
                a .MSG extension. The filename is in the format <tttfffcc>
                where "ttt" is the number of the user whom the message is to
                in hex, "fff" is the number of the user whom the message is
                from in hex, and "cc" is the message counter in hex (so
                multiple messages from one user to another have unique names).

                "M" is the mode of the message. To obtain the mode, subtract
                32 (20 hex) from the ASCII value of this character. Each bit
                represents a mode flag for this message. A normal message has
                a mode of 0. The bits and their definitions are as follows:

                        bit 0:  Forwarded Message
                        bit 1:  Anonymous Message

                "datetime" is the date/time stamp the e-mail was written in
                Unix time format (number of seconds past Jan 1 1970) and stored
                as ASCII hex.

                "F" is the flag for this message. Unread normal messages have
                a flag of '*'. Unread validation feedback messages have a flag
                of 'V'. Unread messages from the sysop have a flag of '$'.
                Read messages normally have a flag of ' ' (space). The sysop
                can set a message's flag to any ASCII character from the mail
                read prompts.

                "userfrom" is a variable length record that contains the name
                of the user who sent the message.

        Line 2:
                The second line contains the name of the user whom the message
                was sent to.

        Line 3:
                The third line contains the title of the message.


INDX\SUBS\*.IXT

        Each sub-boards index is stored as a different file using the sub's
        internal code as the filename and .IXT as the extension. The files
        are stored in the INDX\SUBS directory. The files are ASCII text with
        each message's information stored on there CR/LF delimited lines.

        The first two lines of the file are fixed length (zero padded). The
        first line is the number of messages in the index 5 decimal digits wide
        (example: 00250). The second line is the date/time stamp of the last
        message pointer in the index 8 hexadecimal digits wide (unix format)
        (example: 27f4b03d).

        Line 1:
                filenameMdatetime userfrom

                where "filename" is the eight character name of the actual
                message stored in the DATA\SUBS\<CODE> directory with a .MSG
                extension. The format of "filename" is <ttfffccc> where "tt"
                is the message type: "LU" for a local user message, "QN" for
                a QWK network node, "QH" for a QWK network hub, "FN" for a
                FidoNet node, "PN" for a PostLink/PCRelay node, or "UT" for
                other UTI driver compatible mail program; "fff" is the number
                of the user whom the message is from (LU or QN), QWK hub number
                (QH) or FidoNet node number (FN) in hex, and "ccc" is the count
                in hex.

                "M" is the message mode. Subtract 32 (20 hex) from the ASCII
                value stored in this position to obtain the actual message
                mode. The defined bits are:

                        bit 0:  Permanent Message (Won't be auto-purged)
                        bit 1:  Anonymous Message
                        bit 2:  Private Message

                "datetime" is the date/time stamp the message was created
                in Unix format, stored in ASCII hex.

                "userfrom" contains the name of the user who posted this
                message.

        Lines 2:
                datetime userto

                where "datetime" is the date/time stamp that the message
                was placed online (used for new message scanning), and "userto"
                is the name of the user who the message is to (usually blank).

        Line 3:
                Line three contains the title of the message.


INDX\DIRS\*.IXB

        Each file directory's index is stored as an individual file in the
        INDX\DIRS directory with the directory's code as the filename and
        .IXB as the extension. These files are binary should be opened
        "Read Only/Deny None" unless you have specific reasons to open with
        other access rights.

        Each file entry is 22 bytes. The first eleven bytes are the name
        and extension of the file. The name occupies the first 8 bytes of the
        record (left justified and padded with spaces), the extension occupies
        bytes 8 through 10 (i.e. no space between the name and extension).
        Bytes 11 through 13 contain the data entry offset (byte 11 low, 12 mid,
        and 13 high). Bytes 14 through 17 contain the date/time stamp the file
        was uploaded (in seconds past Jan 1 1970), and bytes 18 through 21
        contain the date/time stampe the file was last downloaded. The
        following chart should be helpful in visualizing the format:

        Offset          Length          Description
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        0               11              Filename (example: FILE    EXT)
        11              3               Data record offset (LB,MB,HB)
        14              4               Date/Time uploaded (Unix format)
        18              4               Date/Time last downloaded


Data Files
~~~~~~~~~~

DATA\DIRS\*.DAT

        Each file directory's file data is stored in a different file using
        the directory's code as the filename and .DAT as the extension. These
        files are stored in the DATA\DIRS directory. These files are ASCII
        text using ETX (End of text - ASCII 3) to specifiy the end of a field
        to maintain fixed length records. If a file's record starts with an
        ETX, that record is not in use and is available for a new file's data.

        To find the data record for a file, you must first obtain the offset
        into the data file from the corresponding IXB file.

        The following table should help visualize the file format. Fields that
        have a length ending in "+2" indicate that the field is terminated
        with a CR/LF. All numeric values are stored in decimal format unless
        otherwise noted.

        Offset          Length          Description
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        0               7+2             Credit value
        9               58+2            Description
        69              30+2            Uploader
        101             5+2             Number of times downloaded
        108             3+2             Open count
        113             1               Miscellaneous bits
        114             2+2             Alternate path (hex)

        If the first byte of the "Credit value" field is an ETX, this record
        is not in use and can be eliminated by a future upload, or by executing
        the ;RESORT sysop transfer section command.

        The last 5 bytes (before the CR/LF) in the "Uploader" field are not
        used.

        The "Open count" field is the counter for keeping track of the number
        of simultaneous openings of a file. A file record is "opened" when a
        user starts to download it, adds it to a batch download queue, or
        is editing it. A file with it's record currently open can not removed,
        moved, or edited.

        The misecllaneous bits field has only one bit currently defined:

                bit 0:  Extended description exists for this file

        If an extended description exists for this file, it will be stored as:

        DATA\DIRS\<code>.EXT\<filename.ext>

        where <code> is the internal code for the directory and <filename.ext>
        is the filename and extension of the file the description is for.

        The "Alternate path" field contains the number of the alternate path
        (or 0 if default path for directory is used) in hex. The actual
        location of this file is in the alternate path referenced in XFER.CFG.


XTRN.DAT

        This is the data file that Synchronet creates for Synchronet specific
        external programs. It is an ASCII text file with the format as follows:

Sample Data                             Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Digital Man                             User name
Vertrauen                               System name
digital man                             System operator
The Guru                                System guru
..\CTRL\                                CTRL directory
..\DATA\                                DATA directory
5                                       Total nodes on system
5                                       Current node number
19448                                   Time left online
Yes                                     ANSI ? (Yes/No/Mono)
24                                      Lines per screen
10770335                                Credits
99                                      Main Level
99                                      Transfer Level
12/31/69                                Birthdate
M                                       Sex
1                                       User number
714-529-9525                            User phone number
0                                       COM port (0 if no modem or local)
3                                       COM port IRQ
2f8                                     COM port I/O address (in hex)
2400                                    COM port DTE rate
No                                      Modem uses hardware flow ctrl (Y/N)
No                                      Modem locked at DTE rate (Y/N)
ATQ0V0E0M1X4&C1&D2H0                    Modem initialization string
                                        Modem special init string
ATV1E1X4                                Modem terminal mode init string
ATDT                                    Modem dial prefix
ATH1M0                                  Modem off-hook string
ATA                                     Modem answer string
795154132                               Address of Modem Status Register
11                                      Number of External Programs
Global War                              Names of External Programs (or blank
Trade Wars 2002                                 if user doesn't have access)
Food Fight!
Pit Fiend ][
Dice War
Synchronet Blackjack!
Domain Poker
Phantasia
Emperor
Synchronet Upgrade Door
Credit Card Order Door
AB D F   J                              User's Main flags
 BC   G  JK N                           User's Transfer flags
A          L       T                    User's Exemptions
    D                                   User's Restrictions
2b43cfd0                                Expiration Date (Unix format in hex)


MODUSER.DAT

        This is an optional file created by external programs to modify the
        data of the current user. It is an ASCII text file with the format:

Sample Data                             Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-500                                    Credit Adjustment
60                                      Main Level
60                                      Transfer Level
AB  E   I                               Main Flags
      G                                 Transfer Flags
A              P   T                    Exemptions
                                        Restrictions
2b43cfd0                                Expiration Date (Unix format in hex)

        If any of the lines in the file are blank, that user item is not
	modified. The main level cannot exceed 89. Flags (MF, TF, exemptions,
        and restrictions) are toggled on by default. To turn off flags, append
        a minus (-) to the line. Unlisted flags are not modified.


Glossary
========
!!Glossary
$$GLOSSARY

Alias:
        False name that a user is known as. The use of Aliases is common on
        BBSs. Synchronet allows the sysop to disallow the use of them, forcing
        all users to be known by their real names.

ANSI:
        American National Standards Institute. References made to ANSI are
        actually referring to the ANSI terminal definition and the related
        escape sequences used to change cursor positioning and text attributes.

Archive:
        A file that contains multiple (possibly compressed) files, that can
        be expanded. Archived files usually have a specific extension that
        specifies what type of archive utility was used to create it.
	The most popular archive utilities are PKZIP (.ZIP files),
	LHARC (.LZH), and ARJ (.ARJ files).

ASCII:
        American Standard Code of Information Interchange. A 7 bit binary code
        used to represent letters, numbers, symbols, and control codes.
        Supported by almost every computer and terminal manufacturer.
        See Extended ASCII.

BBS:
        Bulletin Board System. A system configured to accept users via modem
        or network to access public and private messages. Many BBSs also
        incorporate file transfers (the uploading and downloading of program
        and data files), information services, online entertainment, and more.

BPS:
        Bits Per Second or Bit Rate. The rate of data transmitted between
        modems. For every byte of data (8 bits), a start and stop bit are added
        for a total of ten bits per data byte. So a through-put of 2400bps 
        means 2400 bits are being transmitted every second, of which only 1950 
        bits are data.

Chat:
        Online real-time communication between users.

COM Port:
        RS-232 communications port on an IBM PC compatible computer through
        which digital signals are exchanged between it and the modem (or other
        peripheral). The interface is either a 25 or 9 pin mail connector.

Command Line:
        The complete syntax used for the execution of a program. Includes
        the program path and name to execute and any parameters that may be
        required by the program for proper execution.

Compression:
        See Archive.

Co-sysop:
        BBS user with additional privileges to enable partial system
        maintenance. Co-sysops on a Synchronet system would usually have
        an ML in the range 80-89 and have an exemption flag for each sysop
        function he is given rights to.

CR:
	Carriage Return. This character represents the end of a line of text
	and is usually initiated with the ENTER key on most keyboards.

Decompression:
        See Extraction.

Directory:
        A section within a file library that contains files for uploading or
        downloading. Also known as a file area.

Download:
        Transferring a file from a BBS or other host system to a remote
        computer.

DCE:
        Data Communications Equipment. Dial-up modems that establish and
        control the data link via the telephone network.

DCE Rate:
        The data transfer rate between two modems.

DTE:
        Data Terminal Equipment. The device that generates or is the final
        destination of data - the computer.

DTE Rate:
        The data transfer rate between the computer and the modem.

E-mail or Electronic Mail:
        Private multiple line messages between users that are stored on a BBS
        until the receiver deletes them.

Escape Sequence:
        A sequence of characters usually preceded by a control code to perform
        attribute changes and cursor positioning on a terminal.
        See ANSI.

Exemptions:
        Extended privileges given to users to remove access limitations or
        provide access to certain sysop functions.
	See User Edit for more information.

External Programs:
        Programs (.COM, .EXE, or .BAT files) that the BBS executes for added
        functionality. External programs are used for archive manipulation,
        file transfers, games, databases, text editors, virus scanning,
        backups, and more. Often referred to as doors or chains.

Extraction:
        The splitting (and possible decompression) of an archived file into
        the original set of multiple files.
        See Archive.

File Transfer Protocol:
        See Transfer Protocol.

Flag:
        One of 26 possible switches labeled A through Z. Flags are used to
        represent specific security privileges or restrictions for a user.
	See User Edit for more information.

Group or Message Group:
        A group of message sub-boards with a similar subject matter.

Hardware Flow Control:
        The modem's use of the CTS (Clear to Send) line to control the flow of
        data to from the computer to the modem.

LAN or Local Area Network:
        A group of personal computers connected in a local environment for the
        purpose of sharing data, applications, and peripherals.

Library or Lib:
        A group of transfer directories with a similar subject matter.

Logon:
        The act of entering a BBS system through a valid user account.

Message:
        File stored on the system created by a user that may contain ASCII text
        ,Ctrl-A codes, and ANSI escape sequences. Messages are either public
        (posted on a sub-board) or private (e-mail sent to a single user).

MF or Main Flags:
        Sysop configurable flags that can determine which Message Groups,
        Sub-boards, External Programs, and General Text File Sections a user
        can have access to. If a section of the board has been configured by
        the sysop to only allow access to users with a certain flag, then only
        user's with that flag set (and meet the other section requirements)
        will have access.
	See User Edit for more information.

ML or Main Level:
        A decimal value in the range of 0 to 99 that determines a user's
        main security level on Synchronet BBS. A user's ML determines how long
        he can stay online per call, total time per day, total logons a day,
        maximum number of lines per message, which Message Groups, Sub-boards,
        External Programs, and General Text File Sections the user can access.

Multinode:
        System that operates with multiple simultaneous access paths to the
        same database of messages and other resources.

Multitask:
        The act of performing multiple tasks seemingly simultaneously.
Modem:
        A device that transmits/receives computer data through a communications
        channel such as radio or telephone lines. Modems modulate, or
        transform, digital signals from a computer into an analog form that can
        be carried successfully on a phone line. Modems also demodulate signals
        received from the phone link back to digital signals before passing
        them to the receiving computer.

Network:
        Connection of two or more computers to facilitate the sharing of
        resources. See LAN and WAN.

NUP or New User Password:
        A password that the sysop has determined as a requirement before a
        new user can apply for access.

Online:
        The state of a user when he is currently using a BBS.

Offline:
        The state of a BBS or BBS Node when it is not able to receive users
        and the state of a user when he is not currently using the BBS.

Post:
        The act of a user writing and saving a message on a public sub-board.

Protocol:
        A system of rules and procedures governing communications between two
        or more devices. Protocols vary, but communicating devices must follow
        the same protocol in order to exchange data. The format of the data,
        readiness to receive or send, error detection and error correction are
        some of the operations that may be defined in protocols.
        See Transfer Protocol.

QWK Packet:
        A single compressed file, usually created by PKZIP, that contains
        new messages, e-mail, sysop bulletins, and a list of new files that can
        be downloaded by a user for use with an offline message reader. The
        filename is the BBS ID followed by a .QWK extension (regardless of the
        compression method). The developer of this packet format was Mark
        Herring (Sparky) of Sparkware, for use with his Qmail Door (external
        program). There are many popular offline message readers that support
        the QWK format.

REP Packet:
        A QWK reply packet. Also, a single compressed file, usually created by
        PKZIP, that contains e-mail or posts from the user that he/she created
        with an offline message reader. The filename is the BBS ID followed
        by a .REP extension. The packet must be uploaded by the user before
        the messages and e-mail can be sent to the destination users or posted.

Restrictions:
        Flags that a sysop can place on a user to restrict the user from
        certain features of a BBS.
RS-232:
        Interface standard developed by the Electronic Industries Association
        (EIA) to define the signals and voltages used when data is exchanged
        between a computer or terminal and a modem or serial printer. Data is
        usually transmitted via a cable with a 9 or 25 pin connector.

Serial Port:
        See COM Port.

Sub-board:
        A section within a message group that contains multiple messages posted
        by users on a specific topic. Also referred to as a conference, forum,
        or special interest group (SIG).

Sysop:
        System Operator. A person who participates in the maintenance or
        management of a BBS. In Synchronet, sysops are defined as users with
        a main level of 90 or greater.

Text File Sections:
        Areas for the storage of text files that the sysop wants users to have
        the ability to read. Often referred to as general text file sections.
        Common text files would be information about the BBS, ANSI art work,
        and documents on debatable subjects. Text files placed in text file
        sections do not get purged as public messages do and are not part
        of the transfer section, so transfer points and transfer access are not
        required.

TF or Transfer Flags:
        Flags that a sysop can use to make certain file libraries or
        directories only accessible to users that have those flags set.
        If the sysop has configured a library or directory to only allow access
        to users with a certain TF set, then only users with that flag set
        will have access.
	See User Edit for more information.

TL or Transfer Level:
        A decimal number in the range of 0 to 99 that a sysop can use to
        restrict certain users from accessing file libraries or directories.
	See User Edit for more information.

Transfer Protocol:
        A protocol designed to govern the transmission of files between two
        computer systems. BBS transfer protocols are usually specific to modem
        transmissions. The most common of which are Xmodem, Ymodem, and Zmodem.
        Most communications programs contain built-in protocol support and
        stand-alone transfer protocol programs (like Omen Technology's DSZ)
        are also available.

UART:
        Universal Asynchronous Receiver Transmitter. The IC that controls
        the serial port I/O. You must have a UART for each COM port in your
        computer. The most common UARTs for IBM PCs are NS8250s and NS16450s.
        If you are using a high-speed (9600bps or higher) modem with your COM
        port and having communication problems, quite often the only solution
        is to replace your UART for that COM port with a buffered UART, usually
        an NS16550AFN. SBBS's use of interrupt driven COM I/O allows high-speed
        modems to communicate accurately without a buffered UART, so an
        NS16550AFN is not necessary or even utilized. More modern UARTs are
        being integrated with other peripheral controller ICs into a single
        chip (or chip-set). This design does not allow for the replacement of
        the actual UART. Internal modems have their own built-in UART.

Upload:
        Transferring a file from a remote computer to a BBS or other host
        system.

User to User Transfer:
        An upload that is sent to a particular user or set of users. These
        transfers are only allowed if the sysop creates a sub-board with a
        short name of "User". The sysop should set the access TL to 90 and
        the upload TL to something in the user range to allow users to upload
        to the directory, but not be able to list the contents of the
        directory. A user performs a user to user upload with the '/U' command
        from the transfer menu, and the destination user(s) can download the
        file with the '/D' command.


