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
--------------------
SCFG is the Synchronet Configuration Utility which can be executed from the
"Waiting for call" screen by hitting 'C' or from DOS by typing SCFG from any
node directory. Example:
   CD \SBBS\NODE1
   SCFG

SCFG is a separate executable program. Once SCFG has initialized, you
will see a main menu titled "Configure" which looks something like this:

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.

Under "System", set your system's name (BBS Name), the sysop's name (You), the
system location (City, State), and system password. The system password you
enter here will be required for any remote sysop operations and is prompted
for with an "SY:" prompt. Under "Message Options", set your system's QWK ID
(Up to 8 character BBS name abbreviation). 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. Following is a more specific list
of the commands available in the SCFG under System options.


Message Options
~~~~~~~~~~~~~~~

BBS ID for QWK Packets:
 This is the ID that will be used in QWK packets. It is important that
 you set this to an abbreviation of your BBS name before users start
 using the QWK functions of your BBS. Only valid DOS filename characters
 can be used and the ID must begin with an alphabetic character. This
 ID will also serve as your system's QWK Network address, should you
 choose to join a QWK message network.

Local Time Zone:
 This should be set to the time zone where your BBS is located.

Maximum Retry Time:
 This is the maximum number of seconds the Synchronet message base
 library will wait for a locked message base to become unlocked.
 Under normal conditions, message bases are only left locked for an
 extremely short period of time.

Maximum QWK Messages:
 This is the maximum number of messages which will be packed when a
 QWK packet is created. If the number of new messages to be packed
 exceeds this, the packing will be stopped after packing this number
 of messages. Setting this value to 0 sets the number of messages
 per packet to unlimited. Private e-mail is not included in the total
 number of messages and QWK network nodes are automatically exempt
 from this maximum.

Pre-pack QWK Requirements:
 If this option is used (not blank), Synchronet will pre-pack any new
 messages into a QWK packet in the DATA\FILE directory for each user
 that meets this requirement. When that user calls to download their
 packet, it will automatically extract the pre-packed QWK (if it
 exists) and append to it. It is mainly intended for QWKnet nodes that
 feed from your BBS, but can also be used for long distance users that
 wish to save connect time and always read their messages via QWK.

Purge E-mail by Age:
 This will allow electronic mail for your users (stored in DATA\MAIL.*)
 to be purged after a specific number of days (read or unread).

Purge Deleted E-mail:
 This option can be set to "Daily" or "Immediately". If set to
 "Immediately", e-mail marked for deletion will be physically removed
 from the e-mail database immediately after the user exits the
 reading mail menu. If set to "Daily" (the suggested setting), e-mail
 is marked for deletion isn't physically removed from the database
 until the automatic daily event executes (sometime after midnight).

Duplicate E-mail Checking:
 This option allows the setting of a number of message CRCs to be kept
 to check e-mail to insure that it is not a duplicate of another piece
 of e-mail. This option should be set to 0 (disabled) unless you
 specifically want duplicate e-mail disallowed, in which case a value
 of 2000 should be sufficient.

Allow Anonymous E-mail:
 Setting this option to Yes will allow users with the 'A' exemption to
 send anonymous e-mail.

Allow Quoting in E-mail:
 To allow users to quote from e-mail, this option should be set to Yes.

Allow Uploads in E-mail:
 To allow users to attach files to e-mail, this option must be set to
 Yes.

Allow Forwarding to NetMail:
 If you allow users to send NetMail on your BBS and want to allow your
 users to set their account to forwarding their e-mail to a NetMail
 address, set this option to Yes.

Kill Read E-mail:
 If you would like to have any e-mail that has been read by the
 recipient automatically deleted by the message base maintenance program
 (SMBUTIL) set this option to yes.

Users Can View Deleted Messages:
 This option allows all users or sysops/sub-ops the ability to view
 messages (posts/e-mail) marked for deletion (and optionally undelete
 them) before they are permanently removed from the message base.

Extra Attribute Codes...:
 This option will give you a sub-menu of toggle options. These options
 tell Synchronet whether or not it should interpret color codes which
 are supported by other BBS packages.


System Options
~~~~~~~~~~~~~~

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.

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

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. Preserved slots may be undeleted by the sysop.

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.
 


System Toggle Options
~~~~~~~~~~~~~~~~~~~~~
Selecting this option will bring you to the following sub-menu:



 


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

Allow Time Banking:
 Set this option to Yes to allow users to store their time in a time
 bank, or to convert their credits to time via the BBS.

Allow Credit Conversions:
 Setting this option to Yes will allow users to be able to convert
 credits to time.

Allow Local Sysop Access:
 To be able to perform sysop actions locally, this option should be set
 to Yes.

Allow Remote Sysop Access:
 To be able to perform sysop actions remotely, this option should be set
 to Yes.

Echo Passwords Locally:
 If this option is set to No, all BBS passwords will not be displayed
 locally (characters will be replaced by an X). This includes passwords
 entered during logon, passwords in the user editor, as well as
 passwords normally displayed on the status line.

Require Passwords Locally:
 If this option is set to No the BBS will not ask for a password to be
 entered when performing local operations.

Short Sysop Page:
 If set to Yes, this sysop page will be a short series of beeps,
 otherwise a continuous sysop page will be used.

Sound Alarm on Error:
 If the above option (beep locally) is toggled off, but you still wish
 to have errors produce an audible alarm, you should toggle this option
 to Yes.

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.

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. The option should be set to Yes if using
 Caller-ID since the user's note may contain their phone number.

Military (24 hour) Time Format:
 Use this option to toggle your BBS between 12 and 24 hour time formats.

European Date Format (DD/MM/YY):
 This option should ONLY be toggle to Yes if you are in a European
 country which uses this date format. All countries using the MM/DD/YY
 format should leave this option set to No. If your BBS has been running
 for any length of time with this option set to No, you should NOT
 change it to Yes.

User Expires When Out-of-time:
 Useful for BBSs which charge users based on time, this option, when set
 to Yes, will set a user to the expired account values once the user's
 time runs out.

Quick Validation Hot-Keys:
 If this option is set to No, the quick validation hot keys will be
 disabled.


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 an
alternate command shell or external editors, you may select one of these as the
default for new users. See User Edit for more information about user account
values.

The 'Default Toggles' are used to set the account defaults that users will have
when they log on to the system as a new user. These account defaults can be
changed by the user at logon, or while on the system from the user defaults
menu.

The 'Question Toggles' are used to enable/disable the different questions which
new users will be asked when logging on to the BBS. The 'Force Unique...'
question toggles are used to force users to pick a string that is not being
used by any of the other users currently in the sytem user list.
 


Advanced Options
~~~~~~~~~~~~~~~~


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.

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 if allowed by the command shell. 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.

Warning Days Till Expire:
        When a users account is about to expire, the BBS will begin sending
        expiration warning messages to the users notifying them this many days
        in advance.

Default Status Line:
        This is the number of the status line that will be displayed by default
        at the bottom of the screen while the user is online.

Last Displayable Node:
        This is the number of the last node that will be viewable by the users.
        Any nodes which exist above this number will be "invisible" nodes and
        cannot be seen by anyone.

First Local Auto-Node:
        When using the AUTONODE utility, this is the node number to begin
        searching at for an available (offline) node.

Phone Number Format:
        This is the format which users will be required to use when entering
        their phone numbers.

Sysop Chat Requirements:
        Any user meeting the criteria set here will be able to page the sysop
        regardless of the status of the scroll lock.


Loadable Modules
~~~~~~~~~~~~~~~~

The Loadable Modules options are used for loading Baja .BIN modules during
various stages of the BBS operation. Selecting one of the functions
will prompt you for the name of the Baja module to be used when that event
occurs. See DOCS\BAJA.DOC for details on creating/modifying loadable modules.

Following is a brief description of when each of the Loadable Modules occur
during the BBS operation:

Login:
 This module is REQUIRED for remote and local logins.  Occurs when a
 user is connected, immediately after the Synchronet copyright notice is
 displayed.

Logon Event:
 Occurs immediately after Login (above).

Sync Event:
 This is a Synchronization Event and occurs each time the BBS performs
 a node synchronization (e.g. when node messages are received, node
 status is read, etc...basically continuously while a user is online).

Logoff Event:
 Occurs ONLY when a user does a slow logoff.  Does NOT occur when users
 hang up on the BBS or do a fast logoff.

Logout Event:
 This is an offline event that occurs after a user has disconnected from
 the BBS, either by logging off or hanging up.

New User Event:
 Occurs at the end of a new user procedure (e.g. after the user has
 logged on, left new user feedback, and anything else that is
 required of a new user).

Expired User:
 This is an offline event that occurs during Synchronet's internal daily
 event (after the first caller at the beginning of a new day


Security Values
~~~~~~~~~~~~~~~

This option allows you to define the values of the Security Levels (0-99).
Selecting the desired security level will bring you to another menu similar to
the following:

Here you can modify the corresponding values for that particular security
level. These values will be given to ALL users who have the selected security
level. Many of these values may be overridden by giving certain users the
necessary exemptions (if required).


Expired Account Values
~~~~~~~~~~~~~~~~~~~~~~

This sub-menu contains the account values for expired user accounts. When
a user account expires, the information contained here will be applied to
that user account.
 


Quick Validation Values
~~~~~~~~~~~~~~~~~~~~~~~

This is where you define the values of the quick-validation sets (0-9).
Selecting a level from this list will bring you to another menu similar to the
following:


 


These are used to quickly set a user's Level, Flags, Restrictions and
Exemptions, as well as extend their expiration date and add credits to their
account.  A user can be quick-validated by hitting Alt-(0-9) while the user is
online, or with the 'V' command from User Edit.
 


Creating User Accounts Locally
==============================
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
BBS main menu and then logoff the BBS.

Repeat this process for any other user accounts you wish to create. Be sure
to give out high access levels and exemptions very carefully.


Creating a Sysop Account
------------------------

Follow the above steps to create a user account. Once you are back at the WFC
(Wait For Call) screen, press 'U' and go to the account that you've created.
You should give this account (the main sysop account) all of the different
flags and exemptions (no restrictions), and a level of 99 (use '?' to help
find the keys to select the different options).

NOTE: Users with 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 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 that you're online, you can toggle quiet mode
        off/on with the ";QUIET" sysop command from the Synchronet main menu.
 
 


Creating a Guest Account
------------------------

Follow the above steps to create a user account.  Once you are back at the WFC
(Wait For Call) screen, press 'U' and go to the account that you've created to
be used as your Guest account. Change the Real Name field of the account to
'Guest', and give this account the access that you feel is necessary for a
Guest user to have (along with any Restrictions that may be necessary). Select
the Password field, and make it blank (this will allow Guests to log on by
simply entering GUEST at the NN: prompt without the need for a password).

If you have certain areas on your BBS which are restricted by age, you may wish
to modify the Birthdate field of the Guest account as necessary.

You may also wish to (from the SCFG program under Nodes->Node#->Logon Prompt)
modify the logon prompts of your nodes to read something along the lines of
'Enter Name, Number, New, or Guest', so that users will be aware that there is
a Guest account available for them to use. You can also place a note informing
users of the Guest account in your BBS's ANSWER screen.


Adding Nodes
============

Run SCFG from your NODE1 directory. Select Nodes from the main menu. Hit INS
(insert key) to create additional nodes (up to your Node license limit plus
one additional local only node). 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.


Configuring 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 as follows:

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.

Logon Requirements:
        Use this option to set specific requiremenets to logon this node.

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:

---------------------------------[ Begin ]-------------------------------------
@echo off
copy %1 list.tmp
list list.tmp
del list.tmp
---------------------------------[  End  ]-------------------------------------

        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.

Configuration Command:
 This is the command line to use to execute the Synchronet configuration
 program from the WFC screen. The simplest command line to use is "SCFG"
 (this will execute SCFG.BAT or SCFG.CMD from the current node
 directory). Alternate command lines:

 If this node is running Synchronet for DOS:

  %!scfg %k /t%w

  This command lines has the added advantage of passing the
  timeslice configuration of the current node (enabling Win/OS2
  idle API calls or disabling DESQview/DOS idle API calls).
  This flavor of SCFG supports user mouse control.
  This flavor of SCFG can only use conventional DOS memory for
  configuration items (EMS is automatically used, if available,
  for executable overlay caching - improving performance but
  not increasing the maximum number of configured items).

 To use the extended-DOS/Win32 version of SCFG:

  %!scfg32 %k

  This flavor of SCFG can access all of your installed memory
  (no memory limitations under Win32).
  This flavor of SCFG does not support any timeslice API calls
  (may consume more timeslices than necessary when run under a
  non-Win32 multitasking environment).

 If this node is running Synchronet for OS/2:

  %!scfg4os2 %k

  This flavor of SCFG has no memory limitations.

DOS Command Interpreter:
 If this node is running Synchronet for OS/2, this is the path to your
 command interpreter for OS/2 virtual DOS machines. Example:

  C:\OS2\MDOS\COMMAND.COM

 This option is only used when running Synchronet for OS/2.


Node 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.

Total Msgs/Files While WFC:
 If you have the system statistics displayed while WFC, and you wish to
 include the total number of messages and files in the display, set this
 option to Yes. The retrieval of statistics is faster when set to No.

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.

Use EMS for Overlays:
 Set this option to 'Yes' to have this node to use EMS memory for
 overlay files. Setting this option to 'Yes' can help increase the
 performance of the BBS significantly if enough EMS memory is available
 (about 360K).

Allow Swapping:
 Set this option to 'Yes' to allow this node to swap when necessary.
 If you do not have EMS, XMS, or Extended memory available, and you
 do not wish to have Synchronet swap to disk, you should set this
 option to 'No'.

Swap to EMS:
 When set to 'Yes', Synchronet will attempt to swap to EMS memory when
 executing a program that is in your "Global Swap List".

Swap to XMS:
 When set to 'Yes', Synchronet will attempt to swap to XMS memory.

Swap to Extended Memory:
 When set to 'Yes', Synchronet will attempt to swap to Extended memory.
 This option should always bet set to 'No' when running under a DOS
 multitasker.

Windows/OS2 Time Slice API:
 Set this option to 'Yes' if you are running Synchronet under OS/2.
 You may experience poor performance if this option is set to 'Yes'
 and you are running Synchronet under Microsoft Windows v3.x. If this
 occurs, set this option to 'No'.

DESQview Time Slice API:
 Set this option to 'Yes' if you are running Synchronet using DESQview.
 Since Synchronet auto-detects DESQview it will not hurt anything to
 leave this option set to 'Yes' if you are not running DESQview.

DOS Idle Interrupts:
 This option defaults to 'Yes'. You should not change this setting.

Low Priority String Input:
 Normally Synchronet does not give up timeslices under multitaskers
 when waiting for string input from the user.  Setting this option to
 'Yes' will for Synchronet to give up timeslices when waiting for
 string input, this may cause "jerky" keyboard response but will
 improve overall system performance under multitaskers.
 

Allow Logon by Number:
    Setting this option to 'Yes' will allow users to logon by typing their
    user number at the 'NN:' logon prompt.

Allow Logon by Real Name:
    When set to 'Yes' this option allows users to enter their real name
    (or company name) at the 'NN:' prompt to logon to the BBS.

Always Prompt for Password:
    When set to 'Yes' this option will cause the user to ALWAYS be prompted
    for a password at logon, even if they have entered an incorrect (non-
    existant) name at the 'NN:' prompt.

Disable Local Inactivity:
    If you wish to disable the user inactivity warning and auto-logoff
    for local logons, set this option to 'Yes'.

Disable Local Keyboard:
    If this option is set to 'Yes', the local keyboard will be completely
    disabled when Synchronet is run. The only way to exit Synchronet would
    be to down the node from another process or reboot the machine.

Local System Protection:
    If you wish to require the system password for WFC commands and local
    sysop Alt-key combinations, set this option to 'Yes'.

Beep Locally:
    To disable the local speaker of this node for online beeps, set this
    option to 'No'.

Allow 8-bit Remote Logons:
    To allow E-7-1 terminals to use this node, set this option to 'No'.
    This will also eliminate the ability of 8-bit remote users to send
    IBM extended ASCII characters during the logon sequence.

Reset Video Between Calls:
    If this option is set to 'Yes', Synchronet will reset the current
    node console's video mode before each WFC cycle. This option should
    be set to 'No' for most configurations.


Node Advanced Options
~~~~~~~~~~~~~~~~~~~~~
When selecting this option, you will be brought to a sub-menu of options as
follows:

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.

Screen Blanker:
    When enabled, this will cause the screen for this node to blank out
    when waiting for a caller after the configured amount of intactive
    time.

Semaphore Frequency:
    This option specifies how often (in seconds) this node should perform
    semaphore checks (e.g. checks to see if an event should be run, the
    node should be downed, etc.).

Statistics Frequency:
    This options specifies how often (in secons) this node should check
    system statistics (calls per day, logons today, etc.). Used when
    updating the WFC statistics display.

Inactivity Warning:
    This is the number of seconds of user inactivity before a warning
    (typically: "Username, are you still there?") is displayed to the
    user.

Inactivity Disconnection:
    This is the number of seconds of user inactivity before the user
    is automatically disconnected.

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.

Control Directory:
        This is the path to the control directory where all the shared
 configuration (.CNF) 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.

Swap Directory:
        This is the path to the directory that this node will use for
 swapping to disk if "Allow Swapping" is set to 'Yes' and Swapping
 to EMS, XMS, and Extended memory is either disabled or not enough
 memory is available.

Modem Configuration
~~~~~~~~~~~~~~~~~~~
This sub-menu and the options contained within it are discussed in another
section of this manual. Consult the 'Modem Set-Up' section of this manual
for more information.


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 Wait for Call Function Keys.

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.

Modem Set-Up
============

Using UART Serial Cards/Internal Modems
---------------------------------------
If you are using a shared IRQ or non-UART serial card, you should skip this
section and go to the section on 'Using a Shared IRQ or Non-UART Serial Card'.

If you are using an internal modem, note that all references to serial boards
are the same as referring to an internal modem.  Also note that most internal
modems only have support for up to 4 different IRQ's and I/O addresses.

Prior to installing your serial board, you should insure that neither the IRQ
or the I/O address of any of the ports on the board are being used by any other
devices in your system.  Following is a list of IRQ's and I/O addresses which
are commonly used by devices (those marked with a minus sign (-) may never be
used by a serial board):

    Device    IRQ   I/O Address
    ----------------------  ---   -----------
   -Timer      0    040 - 05F
   -Keyboard Controller    1    060 - 06F
   *EGA/VGA Cards     2
    Serial Port 2     3    2F8 - 2FF
    Serial Port 1     4    3F8 - 3FF
    Parallel Port 2    5    278 - 27F
    Floppy Drive     6    3F0 - 3F7
    Parallel Port 1    7    378 - 37F
   -Real Time Clock    8    070 - 07F
   *Same as IRQ 2     9
   -Co-processor    13    0F0 - 0F1
    Fixed Disk Controller   14    1F0 - 1F8

 *NOTE: IRQ's 2 and 9 may never be used at the SAME time.

The following are suggested IRQ and I/O address settings for using up to 8
serial ports:

        Device        IRQ     I/O
        ----------------------  ---     ---
        Serial Port 1        4      3F8
        Serial Port 2        3      2F8
        Serial Port 3        5      3E8
        Serial Port 4        2      2E8
        Serial Port 5       10      1F8
        Serial Port 6       11      1E8
        Serial Port 7       12      1A8
        Serial Port 8       15      2A8
 

An additional 2 serial ports may be added using the following IRQ and I/O
addresses:

        Device        IRQ     I/O
        ----------------------  ---     ---
        Serial Port 9        7      400
        Serial Port 10       14      408

Refer to the documentation provided by the manufacturer of your particular
serial board for information on how to select IRQ and I/O addresses.

After you have the ports on your serial board set up to fit your system
requirements, you should write down the IRQ and I/O address information for
future reference.  Once you have determined the IRQ and I/O address that each
node on your system will use, you must run the SCFG program and go to the
Nodes->Node #->Modem Configuration and set the COM Port, UART IRQ Line, and
UART I/O Address.  Each node, when running on the same machine, should have a
unique COM Port number.
 

Notes on UARTs
--------------
If you are using an external high-speed modem, you may require a buffered
UART chip on your serial board for error-free transmissions. 8250 and 16450
UARTs DO NOT have buffers and are usually insufficient for high-speed modems.
16550AFN UARTs have a 16 byte FIFO UART which allows error-free transmissions
with high-speed modems, particularly necessary when multi-tasking. Almost
all internal high-speed modems come with a built-in 16550 UART.
 

Using a Shared IRQ or Non-UART Serial Card
------------------------------------------
If you are using a serial card which allows the use of shared IRQ's or has a
non-standard UART interface, you will need to use a device driver to interface
this card with Synchronet. Usually, such a driver would be included with the
serial card from the manufacturer. Third party drivers are also available (such
as COMM-DRV and X00).

Synchronet supports three driver interfaces, all using Int 14h services. The
supported driver interfaces are:

 FOSSIL (Fido/Opus/SEAdog Standard Interface Layer Version 5)
  Functions 0 through 6, and Fh
  Example FOSSIL drivers: X00, BNU, and COMM-DRV

 PC BIOS
  Functions 0 through 3

 PS/2 BIOS
  Functions 1, 2, 4, and 5

 DigiBoard
  DigiCHANNEL PC/Xi and PC/Xe DOS driver
 
 

When setting the COM port in SCFG->Nodes->Node #->Modem Configuration, you
will be prompted for the COM port type:

        É[þ][?]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
        º   COM Port Type   º
        ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
        º ³UART    º
        º ³FOSSIL Int 14h   º
        º ³PC BIOS Int 14h   º
        º ³PS/2 BIOS Int 14h º
        º ³DigiBoard Int 14h º
        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

If you are NOT using a special shared IRQ or non-UART serial card, then you
should select "UART" and ignore the rest of this section.

When selecting a non-UART COM port type, the "Channel" will automatically be
set to the COM port number minus one. This is the zero-based COM port that will
be used when communicating with the device driver (i.e. COM port 1 is channel
0, port 2 is channel 1, etc). You should NOT change the channel number unless
you have a specific reason for doing so and understand exactly what you are
doing.

If you are using an Intelligent DigiBoard and are using the DigiBoard supplied
device driver, then select "DigiBoard Int 14h".

If the card you are using has a FOSSIL compatible device driver, this should
be your preferred selection unless you wish to use baud rates greater than
38400, in which case a "PS/2 BIOS" compatible driver would be a better choice.
The COMM-DRV/Universal Serial Communications Driver supports both FOSSIL and
PS/2 BIOS interfaces.

You should only select "PC BIOS" in a last case scenario (i.e. Your card's
device driver does not support any other Int 14h interface). The PC BIOS
inteface does not support DTR, so if you use such a limited driver, you must
set "Drop DTR to Hang Up" to "No" under "Modem Toggle Options", set the
"Hang Up String" to "~~~\1\1\1~~~ATH" and change "S2=128" to "S2=1" in your
"Initialization String".

Int 14h drivers can also be used to communicate with non-UART serial devices
such as Packet Assembler/Disassemblers (PADs), Network Redirectors, HAM Radio
Packet Servers, etc.

Dumb (NULL) Modem Connection
----------------------------
If you are connecting a Synchronet node to another computer or terminal through
a serial port WITHOUT the use of a modem, you must set SCFG->Nodes->Node #
->Modem Configuration->Toggle Options->Dumb Modem Connection to "Yes". This
disables all modem commands (Init, Special Init, Answer, Off-hook, etc.) and
causes Synchronet to only log a user on when the DCD serial line is raised.

If your serial connection or terminal does not support the correct use of the
DCD line, then you must run SBBS with the 'D' command line switch to force
Synchronet to assume that DCD is always high. If this is the case, then there
is no way to "hang up" on the BBS.
 

Modem Configuration
-------------------
Now that you've set up your serial card, the easiest way to finish setting up
the rest of the options for your modem is to run the SCFG program and go to the
Nodes->Node #->Modem Configuration->Auto-Configuration, and select your modem
model from the list of available choices.  If your modem is not listed, you may
select Generic 2400 for unlisted 2400bps Hayes compatible modems, Generic 9600,
Generic 14400, or Generic 28800 for unlisted high speed modems.  You may also
import .MDM configuration files (located in your control directory) if you
receive an updated or new version of a configuration file for your modem from
Digital Dynamics or a third party.

Following is a list of remaining options and a brief description of each for
those of you that wish to manually alter the modem settings.

UART (DTE) Rate is the data transfer rate between your computer and your modem,
for non-data-compressing, non-high-speed modems, you should set this to your
modem's highest DCE rate (e.g. a 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 (consult your modem manual).  If
you plan on using a FOSSIL driver for any external programs or doors, the
DTE rate you set for your FOSSIL driver should be the same number you use for
this option.

Hardware Flow Control should be set to Transmit and Receive (Both) if your
modem supports CTS/RTS hardware flow control (usually data-compressing or
high-speed modems).

Answer delay is the number of seconds to pause after a connection is
established and before the terminal detection string is sent. It is suggested
that this delay be set to a minimum of 5 seconds to allow for accurate
terminal type detection. If the callers on your BBS are experiencing
inaccurate terminal type detection, you may want to increase this number.

Answer after (# rings) is the number of rings the bbs should wait for before
answering the phone, the minimum is 1 ring.
 

Reinitialization Timer 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 occasionally will not answer the phone or
functions incorrectly, you may wish to use this feature.  Setting this value to
0 will disable periodic modem reinitialization.

Example (for Generic 14400 on COM 2):

    É[þ][?]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    º        Modem Configuration      º
    ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
    º ³COM Port   2      º
    º ³UART IRQ Line  3      º
    º ³UART I/O Address  2F8h      º
    º ³DTE Rate   38400bps     º
    º ³Fixed DTE Rate  Yes      º
    º ³Hardware Flow Control CTS/RTS      º
    º ³Answer After  1 ring      º
    º ³Answer Delay  5 seconds    º
    º ³Reinitialization Timer Disabled     º
    º ³Result Codes...        º
    º ³Toggle Options...        º
    º ³Control Strings...        º
    º ³Auto-Configuration...       º
    º ³Import Configuration...       º
    º ³Export Configuration...       º
                  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Result Codes
------------
Result Codes is a list of numeric result codes (connect codes) supported by
your modem. If you have set "Use Verbal Result Codes" to 'Yes' in your
the SCFG modem toggle options for this node, this list is not used.

You would use this list to add result codes that your modem supports, but are
not currently in the list or to remove codes that are in the list but are not
supported by your modem.  For each result code, the actual numeric code, the
DCE (connect) rate, estimated file transfer CPS, and an 8 character description
of the connection type are stored. A complete list of result codes supported by
your modem should be given in your modem manual.

Here is an example of what the result code list would look like for a Generic
28.8k modem:

         É[þ][?]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
         º       Modem Result Codes º
         ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
         º ³  1 300bps  25cps 300 º
         º ³  5  1200bps 110cps 1200 º
         º ³ 10  2400bps 230cps 2400 º
         º ³ 11  4800bps 550cps 4800 º
         º ³ 13  7200bps 850cps 7200 º
         º ³ 12  9600bps 1100cps 9600 º
         º ³ 14 12000bps 1350cps 12.0/V32 º
         º ³ 15 14400bps 1650cps 14.4/V32 º
         º ³ 23  2400bps 250cps 2400/REL º
         º ³ 59 16800bps 2000cps 16.8/VFC º
         º ³ 16 19200bps 2200cps 19.2/VFC º
         º ³ 61 21600bps 2500cps 21.6/VFC º
         º ³ 62 24000bps 2700cps 24.0/VFC º
         º ³ 63 26400bps 3000cps 26.4/VFC º
         º ³ 64 28800bps 3300cps 28.8/VFC º
         ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Selecting result code 15 from this menu would result in a sub-menu as follows:

        É[þ][?]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
        º    Result Code  º
        ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
        º ³Numeric Code        15 º
        º ³Modem Connect Rate    14400bps º
        º ³Modem Average CPS     1750cps º
        º ³Description        14400 º
                      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

If "FAX" is used for the result code description, Synchronet will exit with
an error level of 100 when this result code is returned. This feature is used
for FAX/Modems that can auto-detect FAX and DATA calls and return a numeric
result code for FAX connections. If a different error level is preferred,
use "EXIT nnn" (where nnn is a numeric value) for the description. If a verbal
"FAX" or "+FCON" result code is returned, Synchronet automatically exits with
an error level of 100 (see FAX/Modem setup later in this chapter).

If your modem returns any result codes PRIOR to the actual connection result
code (and this behavior cannot be disabled), then add these result codes to the
result code list and enter "IGNORE" for the result description, thus causing
Synchronet to ignore this result code and wait for another result code to
determine the actual connection type. This step is only necessary for modems
that insist on returning multiple result codes during a connection.
 

Toggle Options
--------------
Selecting this option gives a menu of available modem toggle options:

                      É[þ][?]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
                      º       Modem Toggle Options      º
                      ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
                      º ³Caller Identification      No  º
                      º ³Dumb Modem Connection      No  º
                      º ³Drop DTR to Hang Up        Yes º
        º ³Use Verbal Result Codes    Yes º
        º ³Allow Unknown Result Codes Yes º
        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

Caller Identification: