Synchronet Multinode BBS Software
                                 Version 2.30
                         System Operator Documentation
                               Updated 03/22/96

                        Copyright 1996 Digital Dynamics

                                  PO Box 501
                             Yorba Linda, CA 92686

                 Voice: 714-529-6328   BBS: 714-529-9525 V.32bis
                   FAX: 714-529-9721            529-9547 V.FC
                  FIDO: 1:103/705               529-9721 ZyXEL

♀

Table of Contents
=================

Features.................................................................6
Installation.............................................................9
Getting Started.........................................................12
System Configuration....................................................12
        Introduction to the SCFG........................................12
        Message Options.................................................14
        System Options..................................................17
        Toggle Options..................................................19
        New User Values.................................................21
        Advanced Options................................................23
        Loadable Modules................................................25
        System Security Level Values....................................26
        Expired Account Values..........................................27
        Quick Validation Values.........................................28
Creating User Accounts Locally..........................................29
        Creating a Sysop Account........................................29
        Creating a Guest Account........................................30
Adding Nodes............................................................31
        Node Configuration..............................................31
        Node Toggle Options.............................................34
        Node Advanced Options...........................................37
        Waiting For Caller Number Key Assignments.......................39
        Waiting For Caller Function Key Assignments.....................39
Modem Setup.............................................................40
        Installing UART Serial Card/Internal Modems.....................40
        Installing a Shared IRQ or Non-UART Serial Card.................42
        Using a Dumb (NULL) Modem Connection............................44
        Modem Configuration.............................................44
        Modem Toggle Options............................................48
        Modem Result Codes..............................................46
        Modem Control Strings...........................................49
        Modem Auto-Configuration........................................50
        Importing Modem Configurations..................................50
        Exporting Modem Configurations..................................50
        Caller-ID Support...............................................51
        Incoming FAX Support............................................52
Sysop Commands..........................................................54
        Definition of a Sysop...........................................54
        Multiple Sysops.................................................54
        Local Only Sysop Commands.......................................54
        Remote/Local Sysop Commands.....................................58
User Editor.............................................................63
        Invoking the User Editor........................................63
        Editing Users Remotely..........................................64
        User Editor Commands Explained..................................67
ARS Security............................................................74
        Introduction to ARS.............................................74
        ARS Keywords and Symbols........................................75
        ARS General Usage Examples......................................76
        Nesting ARS Logic...............................................84
        ARS Nested Logic Examples.......................................85

_______________________________________________________________________________
Synchronet                            2                                Contents
♀

Electronic Mail.........................................................88
Message Base............................................................89
        Adding Message Bases............................................90
                Creating Message Groups.................................90
                        Main Options....................................91
                Creating Message Sub-Boards.............................92
                        Main Options....................................93
                        Toggle Options..................................95
                        Network Options.................................97
                        Advanced Options................................99
        Importing Messages from Your Previous BBS Software.............101
        Posting........................................................102
        Remote QWK Functions...........................................103
Networking Message Bases...............................................106
        QWK Networking.................................................106
                Network Hubs...........................................107
                Networked Sub-Boards...................................108
                Setting up a QWK Node..................................109
                Setting up a QWK Hub...................................110
        Adding the DOVE-Net QWK Packet Network.........................111
        Transferring Files via QWK Network.............................115
        PostLink Networking............................................116
        FidoNet Networking.............................................118
                Step-by-Step Setup.....................................119
                Sending FidoNet Netmail................................128
        Internet Networking............................................129
File Transfer Section..................................................130
        Setting up the File Section Options............................131
                Main Options...........................................131
        Viewable File Types............................................133
        Testable File Types............................................134
        Extractable File Types.........................................137
        Compressable File Types........................................138
        Transfer Protocols.............................................139
        Adding File Sections...........................................142
                Adding File Libraries..................................142
                        Main Options...................................144
                Adding File Directories................................145
                        Main Options...................................146
                        Toggle Options.................................149
                        Advanced Options...............................152
        Adding Files to File Sections..................................153
                Creating an Offline Files Directory....................153
                Creating a Sysop Directory.............................154
                Creating a User to User Directory......................154
                Creating a Default Upload Directory....................154
                Supporting Blind Batch Uploads.........................155
        CD-ROM and other Slow Media Devices............................156
                Using Alternate File Paths.............................158






_______________________________________________________________________________
Synchronet                            3                                Contents
♀

Chat Section Configuration.............................................159
        Artificial Chat Gurus..........................................160
        Multinode Chat Actions.........................................160
        Multinode Chat Channels........................................161
        External Sysop Chat Pagers.....................................162
External Programs......................................................163
        External Fixed Events..........................................163
        External Timed Events..........................................164
        Global Swap List...............................................165
        OS/2 Program List..............................................166
        External Editors...............................................167
        Adding Online Programs.........................................169
        Supported BBS Drop File Types..................................169
        Callback Verifiers.............................................170
        Installing a New External Program..............................170
        Configuring a New External Program.............................171
        External Program Setup Examples................................175
                Legend of the Red Dragon (L.O.R.D.)....................175
                Usurper................................................176
        Troubleshooting External Programs..............................177
General Text Files.....................................................178
        Main Options...................................................178
        Adding Text Files to a Section.................................178
976/900 Number Billing Support.........................................179
Multinode..............................................................180
        The Local Area Network (LAN) Method............................180
        The Multitasker Method.........................................181
        Is it Safe to run Multiple Nodes?..............................181
        Setting Up Synchronet Under DESQview...........................183
                How Many Nodes Can I Run?..............................183
                How Much Memory Do I Need?.............................183
                Setup Parameters for DESQview..........................184
                Starting the BBS Automatically Under DESQview..........186
        Setting Up Synchronet Under OS/2...............................188
                System Requirements....................................188
                Setup Parameters for OS/2..............................188
        Setting Up Synchronet Under Windows 3.x........................189
                System Requirements....................................189
                Setup Parameters for Windows 3.x.......................189
        Setting Up Synchronet Under Windows 95.........................191
                System Requirements....................................191
                Setup Parameters for Windows 95........................191
        Setting Up Synchronet on a LAN.................................192












_______________________________________________________________________________
Synchronet                            4                                Contents
♀

Utility Reference......................................................193
        CHKSMB          (Checks Message Base for Validity).............193
        FIXSMB          (Fixes Message Base and Mail Indexes)..........194
        SMBUTIL         (Synchronet Message Base Utility)..............195
        SMBACTIV        (Checks for Active Message Bases)..............197
        ADDFILES        (Importing ASCII File Lists)...................198
        FILELIST        (Creating ASCII File Lists)....................202
        DUPEFIND        (Finds Duplicate Files in Synchronet)..........206
        DELFILES        (Deletes Files from File Base).................207
        MLABELS         (Mailing Labels Creation Util).................208
        QWKNODES        (Create QWKnet Users/Route/Node Lists).........211
        ALLUSERS        (Command Line Bulk User Editor)................213
        AUTONODE        (Automatic Local Logon Util)...................216
        NODE            (Node Display/Control Utility).................217
        UTI Driver      (PostLink Import/Export Utils).................222
        SLOG            (Node/System Statistics Viewer)................224
        DSTSEDIT        (Node/System Statistics Editor)................225
        TOTALS          (Credit Gain/Loss Util for Games)..............226
        ANS2MSG         (ANSI to Ctrl-A Conversion Util)...............227
        MSG2ANS         (Ctrl-A to ANSI Conversion Util)...............229
Troubleshooting........................................................230
Customization..........................................................234
        Menus and Other Text Files.....................................234
                Text Colors............................................239
                Node Action Text.......................................240
                Trash Can Files........................................241
        Message Variables..............................................242
        Message Color Codes............................................246
        SIF Questionnaire File Format..................................252
        GURU.DAT (Guru Brain) Modifications............................254
Appendix A: Command Line Specifier Reference...........................257
Appendix B: Synchronet (SBBS/SCFG) Command Line Options................258
Appendix C: Synchronet Environment Variables...........................260
Appendix D: Phone Numbers/Addresses of Important Contacts..............262
Appendix E: Wait for Call Status Display...............................267
Appendix F: Node Status Display........................................268
Appendix G: Log File Line Type Specifiers..............................270
Appendix H: File Formats (Technical Specs for Developers)..............271
Glossary...............................................................274
Index..................................................................281















_______________________________________________________________________________
Synchronet                            5                                Contents
♀

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 and WIP graphical user interfaces and mouse support!
+ Enhanced DESQview, Windows, and OS/2 operation modes
+ Runs under DOS 3.0 or higher on any 80x86 compatible computer with 450k free
        RAM - BBS can shrink to 288 bytes 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 a DOS multitasker
+ Any COM port configuration supported (Intelligent and Non-Intelligent Boards)
+ Direct UART support as well as DigiBoard, FOSSIL, and PC BIOS int 14h drivers
+ Automatic modem configuration for most modem brands and types including the
        latest 28.8k modems
+ DTE rates up to 115,200 baud
+ The most advanced BBS security ever:
        ARS {tm} security provides the most flexible, comprehensive, and
                user friendly security available in the BBS software industry
        Post/Call ratio, connect rates, time of day, and other user data
                fields can be elements of any ARS security field
        Caller-ID support with optional trash-can file
        Impenetrable to remote hackers
        100 security levels with 104 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)
+ Programmable Command and Menu Structure:
        Includes free Baja shell/module compiler
        Users can select a shell of their choice including emulations of other
                BBS packages
        Several shells included free with source code
+ QWK message off-line reader and networking support built-in
        Off-line file requests
        Off-line new message scan configuration and pointer adjustment
        Send FidoNet or Internet NetMail from QWK REP packet
        32-bit CRC duplicate message checking
        Multiple compression formats supported
        File attachments optionally automatically included















_______________________________________________________________________________
Synchronet                            6                                Features
♀

+ 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
        Content rating, multi-disk numberings, and file upload dates can
                automatically be added to file descriptions
        FILE_ID.DIZ and DESC.SDI files can be automatically imported into
                extended file descriptions
        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
        Complete CD-ROM (single and multidisk changer) support
        Optional forced upload directory can be invisible to users
        Optional allowance of blind (unsolicited) batch uploads with automatic
                DIZ importation
        Download events available for adding files/comments just before
                download (i.e. CD-ROM)
+ Sysop inter-node control (remote or local):
        Interrupting - hang up on any node
        Locking - only sysops can logon a locked node until the lock is removed
        Rerunning - re-executes 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 remote
                split screen support
        Users can send telegrams, single line messages, or enter private chat
                from any prompt
        User information (gender, age, location, etc) can be included in node
                status display
+ 48 Local macros and sysop function hot-keys
+ 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
        Multiple personalities available for your users









_______________________________________________________________________________
Synchronet                            7                                Features
♀

+ Up to 500 online external programs:
        Multiuser or single user programs
        Programs that use DOS I/O (don't use COM port directly) supported
        12 door file formats supported for an incredible level of compatibility
                including: DOOR.SYS, PCBOARD.SYS, USERS.SYS, CHAIN.TXT,
                           DORINFO#.DEF, EXITINFO.BBS, SFDOORS.DAT, TRIBBS.SYS
                           CALLINFO.BBS, DOORFILE.SR, and UTIDOOR.TXT
        Supports native WWIV color code expansion
        Free Software Development Kit (SDK) available for program development
        Comes with multiplayer Synchronet Blackjack game FREE!
        No batch file editing/programming necessary!
        Configurable credit cost on a per program basis
        Separate access requirements to see the program and execute
+ 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 events with support for 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
        New User Questionnaire is available and customizable
        All standard new user questions can be disabled individually
        Over 120 message variables (@-Codes) supported
+ Extensive networking capabilities:
        Internal QWK network hub and node support with file transfer ability
        FidoNet EchoMail and NetMail support
        Send/Receive File Requests from within Synchronet
        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
        Supports color codes for WWIV, PCBoard, Wildcat, and Celerity
        Support for multiple networks of the same or different network
                technologies with different addresses and tag/origin lines
        Duplicate message checking using 32-bit CRC for QWK and Fido Networks



















_______________________________________________________________________________
Synchronet                            8                                Features
♀

Synchronet Installation
=======================

Upgrading from Unregistered to Registered Synchronet
----------------------------------------------------
If you are currently using an unregistered version of Synchronet, and do not
wish to lose your current operating configuration (e.g. menus, sub-boards,
file areas, etc.), after receiving your registered version, insert the floppy
disk labled "Registration Key Disk" into your floppy drive, and copy the file
SBBS.KEY from the disk to your SBBS\EXEC directory.

You may also use the Synchronet installation program to accomplish this same
task. To do so, carefully follow the instructions given in the section titled
"Initial Synchronet Installation" and change the neccessary options to install
ONLY the Registration Key.


Upgrading Node Licenses
-----------------------
If you are upgrading to a higher node license, you should follow the
instructions given in the section titled "Upgrading from Unregistered to
Registered Synchronet".


Upgrading to a Newer Version of Synchronet
------------------------------------------
Because of the many variances when changing to a different version or revision
of Synchronet, this topic is not covered here.  When upgrading your copy of
Synchronet to a newer version or revision, you should ALWAYS consult the
upgrade documentation included with the upgrade (usually in the form of an
UPGRADE.DOC file on the diskette).


Initial Synchronet Installation
-------------------------------
Synchronet is distributed on two distribution disks (labeled "1 of 2" and
"2 of 2") and one key disk. Unregistered versions of Synchronet will not have a
key disk.

If you downloaded Synchronet, you should uncompress the file(s) that you
downloaded into a temporary directory on your hard drive, or on a blank floppy
disk.  The file SBBSxxxx is the equivalent of distribution disk one, and the
file SUTLxxxx is the equivalent of distribution disk two.

Insert distribution disk one into your floppy drive, log into your floppy drive
(e.g. at the DOS prompt type A: and press ENTER), and type INSTALL and press
ENTER.

You should now be at the Synchronet Installation menu, from this menu you can
select the items that you want (or don't want) installed, as well as a few
other options.

If you are installing an unregistered copy of Synchronet, you should set the
"Install Registration Key" option to NO, otherwise this option should be set to

_______________________________________________________________________________
Synchronet                            9                            Installation
♀

YES.

Now, move the select bar over the option "Install Distribution Disk 1", and
press ENTER. You will see a list of installable programs, which are as follows:

        Main Executables        These are the main programs required for
                                Synchronet to operate, these must be installed
                                for proper operation.

        Default Configuration   These are the default configuration files for
                                Synchronet, these must be installed for proper
                                operation.

        Text and Menus          These are the default text and menu screens
                                for Synchronet, these must be installed for
                                proper operation.

        Documentation           These are Synchronet documentation files, it is
                                not required to install this, but it is
                                recommended.

        All                     Selecting this will toggle all of the above
                                options to YES, this should be done if this
                                is your first time installing Synchronet.

        None                    Selecting this will toggle all of the above
                                options to NO. Do this if you are simply
                                installing a registration key for a currently
                                running copy of Synchronet (e.g. going from an
                                unregistered to a registered copy, or changing
                                node licenses).
























_______________________________________________________________________________
Synchronet                           10                            Installation
♀

Once you are finished selecting (or deselecting) items from this menu, press
ESC.  Now move the select bar to Installation Disk 2 and press ENTER.  You will
see another list of installable programs, which are as follows:

        Utilities               These are several utilities which are included
                                to enhance the operation of Synchronet.  It is
                                not required that you install them, but it is
                                recommended.

        Online External Prog's  These are several pre-installed online games
                                and utilities.  It is not neccessary to install
                                these, but doing so will help give you an idea
                                of how to install future Synchronet add-ons.

        External Program SDK    This is the Synchronet Development Kit, it
                                contains C source code which can be used to
                                help programmers create doors and add-ons to
                                work more effectively with Synchronet.  It is
                                not neccessary to install this.

        All                     Selecting this will toggle all of the above
                                options to YES, although none of these options
                                are required to run Synchronet, it may be a
                                good idea to select this if it's your first
                                time installing Synchronet.

        None                    Selecting this will toggle all of the above
                                options to NO. Do this if you are simply
                                installing a registration key for a currently
                                running copy of Synchronet (e.g. going from an
                                unregistered to a registered copy, or changing
                                node licenses).

Once you are finished selecting (or deselecting) items from this menu, press
ESC.  Check the Source Path option to insure that it is set to the drive and
directory you are installing Synchronet FROM, as well as the Target Path to
insure that it is set to the drive and directory where Synchronet is to be
installed TO.

When you are sure you have set all of the options to fit your needs, move the
select bar to Start Installation, and press ENTER.  The install program will
copy and uncompress all of the files you have selected, and once it has
finished, you will be brought to the SCFG (Synchronet Configuration program)
so that you may adjust your BBS settings as you require.











_______________________________________________________________________________
Synchronet                           11                            Installation
♀

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:

                         ╔[■][?]══════════════════════╗
                         ║          Configure         ║
                         ╠════════════════════════════╣
                         ║ │Nodes                     ║
                         ║ │System                    ║
                         ║ │Networks                  ║
                         ║ │File Areas                ║
                         ║ │File Options              ║
                         ║ │Chat Features             ║
                         ║ │Message Areas             ║
                         ║ │Message Options           ║
                         ║ │Command Shells            ║
                         ║ │External Programs         ║
                         ║ │Text File Sections        ║
                         ╚════════════════════════════╝

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.





_______________________________________________________________________________
Synchronet                           12                         Getting Started
♀

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.












































_______________________________________________________________________________
Synchronet                           13                    System Configuration
♀

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

    ╔[■][?]════════════════════════════════════════════════════════════════╗
    ║                            Message Options                           ║
    ╠══════════════════════════════════════════════════════════════════════╣
    ║ │BBS ID for QWK Packets           HOME                               ║
    ║ │Local Time Zone                  PDT                                ║
    ║ │Maximum Retry Time               30 seconds                         ║
    ║ │Maximum QWK Messages             1000                               ║
    ║ │Pre-pack QWK Requirements        RESET Q AND LASTON NOT 7           ║
    ║ │Purge E-mail by Age              Disabled                           ║
    ║ │Purge Deleted E-mail             Daily                              ║
    ║ │Duplicate E-mail Checking        Disabled                           ║
    ║ │Allow Anonymous E-mail           No                                 ║
    ║ │Allow Quoting in E-mail          Yes                                ║
    ║ │Allow Uploads in E-mail          Yes                                ║
    ║ │Allow Forwarding to NetMail      Yes                                ║
    ║ │Kill Read E-mail                 No                                 ║
    ║ │Users Can View Deleted Messages  Sysops Only                        ║
    ║ │Extra Attribute Codes...                                            ║
    ╚══════════════════════════════════════════════════════════════════════╝

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.







_______________________________________________________________________________
Synchronet                           14                    System Configuration
♀

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.


_______________________________________________________________________________
Synchronet                           15                    System Configuration
♀

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.

                          ╔[■][?]═══════════════════╗
                          ║  Extra Attribute Codes  ║
                          ╠═════════════════════════╣
                          ║ │WWIV            Yes    ║
                          ║ │PCBoard         Yes    ║
                          ║ │Wildcat         Yes    ║
                          ║ │Celerity        Yes    ║
                          ║ │Renegade        Yes    ║
                          ╚═════════════════════════╝









































_______________________________________________________________________________
Synchronet                           16                    System Configuration
♀

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

    ╔[■][?]════════════════════════════════════════════════════════════════╗
    ║                         System Configuration                         ║
    ╠══════════════════════════════════════════════════════════════════════╣
    ║ │BBS Name                         Home                               ║
    ║ │Location                         Somewhere, USA                     ║
    ║ │Operator                         Sysop                              ║
    ║ │Password                         SYSPASS                            ║
    ║ │Users Can Change Password        Yes                                ║
    ║ │Days to Preserve Deleted Users   9                                  ║
    ║ │Maximum Days of Inactivity       90                                 ║
    ║ │New User Password                                                   ║
    ║ │Toggle Options...                                                   ║
    ║ │New User Values...                                                  ║
    ║ │Advanced Options...                                                 ║
    ║ │Loadable Modules...                                                 ║
    ║ │Security Level Values...                                            ║
    ║ │Expired Account Values...                                           ║
    ║ │Quick-Validation Values...                                          ║
    ╚══════════════════════════════════════════════════════════════════════╝

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.








_______________________________________________________________________________
Synchronet                           17                    System Configuration
♀

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.













































_______________________________________________________________________________
Synchronet                           18                    System Configuration
♀

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

                   ╔[■][?]═════════════════════════════════╗
                   ║             Toggle Options            ║
                   ╠═══════════════════════════════════════╣
                   ║ │Allow Aliases                    Yes ║
                   ║ │Allow Time Banking               No  ║
                   ║ │Allow Credit Conversions         No  ║
                   ║ │Allow Local Sysop Access         Yes ║
                   ║ │Allow Remote Sysop Access        Yes ║
                   ║ │Echo Passwords Locally           Yes ║
                   ║ │Require Passwords Locally        No  ║
                   ║ │Short Sysop Page                 No  ║
                   ║ │Sound Alarm on Error             Yes ║
                   ║ │Include Sysop in Statistics      No  ║
                   ║ │Closed to New Users              No  ║
                   ║ │Use Location in User Lists       Yes ║
                   ║ │Military (24 hour) Time Format   No  ║
                   ║ │European Date Format (DD/MM/YY)  No  ║
                   ║ │User Expires When Out-of-time    No  ║
                   ║ │Quick Validation Hot-Keys        No  ║
                   ╚═══════════════════════════════════════╝

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.





_______________________________________________________________________________
Synchronet                           19                    System Configuration
♀

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.









_______________________________________________________________________________
Synchronet                           20                    System Configuration
♀

New User Values
~~~~~~~~~~~~~~~

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                      New User Values                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Level                      22                           ║
          ║ │Flag Set #1                                             ║
          ║ │Flag Set #2                                             ║
          ║ │Flag Set #3                                             ║
          ║ │Flag Set #4                                             ║
          ║ │Exemptions                                              ║
          ║ │Restrictions                           MN      U W      ║
          ║ │Expiration Days            0                            ║
          ║ │Credits                    0                            ║
          ║ │Minutes                    0                            ║
          ║ │Editor                                                  ║
          ║ │Command Shell              DEFAULT                      ║
          ║ │Download Protocol          None                         ║
          ║ │Default Toggles...                                      ║
          ║ │Question Toggles...                                     ║
          ╚══════════════════════════════════════════════════════════╝

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.

                      ╔[■][?]════════════════════════════╗
                      ║      Default Toggle Options      ║
                      ╠══════════════════════════════════╣
                      ║ │Expert Menu Mode            No  ║
                      ║ │Screen Pause                Yes ║
                      ║ │Spinning Cursor             No  ║
                      ║ │Clear Screen                No  ║
                      ║ │Ask For New Scan            Yes ║
                      ║ │Ask For Your Msg Scan       No  ║
                      ║ │Automatic New File Scan     Yes ║
                      ║ │Remember Current Sub-board  Yes ║
                      ║ │Batch Download File Flag    Yes ║
                      ║ │Extended File Descriptions  No  ║
                      ║ │Hot Keys                    Yes ║
                      ║ │Auto Hang-up After Xfer     No  ║
                      ╚══════════════════════════════════╝

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.




_______________________________________________________________________________
Synchronet                           21                    System Configuration
♀

                      ╔[■][?]════════════════════════════╗
                      ║        New User Questions        ║
                      ╠══════════════════════════════════╣
                      ║ │Real Name                   Yes ║
                      ║ │Force Unique Real Name      No  ║
                      ║ │Company Name                No  ║
                      ║ │Multinode Chat Handle       Yes ║
                      ║ │Force Unique Chat Handle    No  ║
                      ║ │Sex (Gender)                Yes ║
                      ║ │Birthday                    Yes ║
                      ║ │Address and Zip Code        Yes ║
                      ║ │Location                    Yes ║
                      ║ │Require Comma in Location   Yes ║
                      ║ │Phone Number                Yes ║
                      ║ │Computer Type               Yes ║
                      ║ │Multiple Choice Computer    No  ║
                      ║ │Allow EX-ASCII in Answers   Yes ║
                      ║ │External Editor             Yes ║
                      ║ │Command Shell               Yes ║
                      ║ │Default Settings            Yes ║
                      ╚══════════════════════════════════╝

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.





























_______________________________________________________________________________
Synchronet                           22                    System Configuration
♀

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

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     Advanced Options                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │New User Magic Word                                     ║
          ║ │Data Directory             ..\DATA\                     ║
          ║ │Executables Directory      ..\EXEC\                     ║
          ║ │Input SIF Questionnaire                                 ║
          ║ │Output SIF Questionnaire   SBBS_SYS                     ║
          ║ │Credits Per Dollar         2,097,152                    ║
          ║ │Minutes Per 100k Credits   6                            ║
          ║ │Maximum Number of Minutes  60                           ║
          ║ │Warning Days Till Expire   30                           ║
          ║ │Default Status Line        2                            ║
          ║ │Last Displayable Node      250                          ║
          ║ │First Local Auto-Node      1                            ║
          ║ │Phone Number Format        !!!-NNN-NNNN                 ║
          ║ │Sysop Chat Requirements                                 ║
          ╚══════════════════════════════════════════════════════════╝

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.



_______________________________________________________________________________
Synchronet                           23                    System Configuration
♀

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.










_______________________________________________________________________________
Synchronet                           24                    System Configuration
♀

Loadable Modules
~~~~~~~~~~~~~~~~
                        ╔[■][?]═══════════════════════╗
                        ║       Loadable Modules      ║
                        ╠═════════════════════════════╣
                        ║ │Login           LOGIN      ║
                        ║ │Logon Event     LOGON      ║
                        ║ │Sync Event                 ║
                        ║ │Logoff Event               ║
                        ║ │Logout Event               ║
                        ║ │New User Event             ║
                        ║ │Expired User               ║
                        ╚═════════════════════════════╝

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




_______________________________________________________________________________
Synchronet                           25                    System Configuration
♀

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

        ╔[■][?]════════════════════════════════════════════════════════╗
        ║  Level   T/D   T/C   C/D   E/D   P/D   L/M   F/D  Expire To  ║
        ╠══════════════════════════════════════════════════════════════╣
        ║ │0        20    10     2    50    50    16     0k  Level  0  ║
        ║ │1        40    20     2    50    50    16     0k  Level  0  ║
        ║ │2        60    40     3    50    50    24     0k  Level  0  ║
        ║ │3        70    60     4    50    50    34     0k  Level  0  ║
        ║ │4        90    75     6    50    50    34     0k  Level  0  ║
        ║ │5       105    90     6    50    50    34     0k  Level  0  ║
        ║ │6       120   105     8    50    50    40     0k  Level  0  ║
        ║ │7       125   120     8    50    50    40     0k  Level  0  ║
        ║ │8         5     5     0    50    50    20     0k  Level  0  ║
        ║ │9         0     0     5    50    50    20     0k  Level  0  ║
        ║ │10       20    10     2    50    50    16     0k  Level  0  ║
        ║ │11       40    20     2    50    50    16     0k  Level  0  ║
        ║ │12       60    40     3    50    50    24     0k  Level  0  ║
        ║ │13       70    60     4    50    50    34     0k  Level  0  ║
        ╚══════════════════════════════════════════════════════════════╝

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:

                       ╔[■][?]══════════════════════════╗
                       ║     Security Level 0 Values    ║
                       ╠════════════════════════════════╣
                       ║ │Time Per Day          20      ║
                       ║ │Time Per Call         10      ║
                       ║ │Calls Per Day         2       ║
                       ║ │Email Per Day         50      ║
                       ║ │Posts Per Day         50      ║
                       ║ │Lines Per Message     16      ║
                       ║ │Free Credits Per Day  0k      ║
                       ║ │Expire To             Level 0 ║
                       ╚════════════════════════════════╝

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












_______________________________________________________________________________
Synchronet                           26                    System Configuration
♀

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

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                  Expired Account Values                  ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Level                      0                            ║
          ║ │Flag Set #1 to Remove                                   ║
          ║ │Flag Set #2 to Remove                                   ║
          ║ │Flag Set #3 to Remove                                   ║
          ║ │Flag Set #4 to Remove                                   ║
          ║ │Exemptions to Remove                                    ║
          ║ │Restrictions to Add                                     ║
          ╚══════════════════════════════════════════════════════════╝

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.





































_______________________________________________________________________________
Synchronet                           27                    System Configuration
♀

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

                 ╔[■][?]═════════════════════════════════════╗
                 ║          Quick-Validation Values          ║
                 ╠═══════════════════════════════════════════╣
                 ║ │0  SL: 0   F1:                           ║
                 ║ │1  SL: 23  F1: A  D                      ║
                 ║ │2  SL: 22  F1:    D                      ║
                 ║ │3  SL: 23  F1:   CD       L N            ║
                 ║ │4  SL: 24  F1:   CD       L N            ║
                 ║ │5  SL: 34  F1: A CD       L N            ║
                 ║ │6  SL: 35  F1: A CD       L N            ║
                 ║ │7  SL: 45  F1:   CDE      L N            ║
                 ║ │8  SL: 45  F1:   CDE      L N       V    ║
                 ║ │9  SL: 47  F1:   CDE  H   L N P     V  Y ║
                 ╚═══════════════════════════════════════════╝

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:

              ╔[■][?]═══════════════════════════════════════════╗
              ║              Quick-Validation Set 0             ║
              ╠═════════════════════════════════════════════════╣
              ║ │Level                 0                        ║
              ║ │Flag Set #1                                    ║
              ║ │Flag Set #2                                    ║
              ║ │Flag Set #3                                    ║
              ║ │Flag Set #4                                    ║
              ║ │Exemptions                                     ║
              ║ │Restrictions            C EFG   KLM  P  ST  WX ║
              ║ │Extend Expiration     0 days                   ║
              ║ │Additional Credits    0                        ║
              ╚═════════════════════════════════════════════════╝

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.















_______________________________________________________________________________
Synchronet                           28                    System Configuration
♀

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.


























_______________________________________________________________________________
Synchronet                           29                    System Configuration
♀

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.




































_______________________________________________________________________________
Synchronet                           30                    System Configuration
♀

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:

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                   Node 1 Configuration                   ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Name                       Fast Modem Node              ║
          ║ │Phone Number               714-555-1212                 ║
          ║ │Logon Prompt               Enter Alias, Number, 'New', o║
          ║ │Minimum Connect Rate       300bps                       ║
          ║ │Logon Requirements                                      ║
          ║ │Local Text Editor                                       ║
          ║ │Local Text Viewer          %!list %f                    ║
          ║ │Configuration Command      scfg                         ║
          ║ │DOS Command Interpreter    C:\OS2\MDOS\COMMAND.COM      ║
          ║ │Toggle Options...                                       ║
          ║ │Advanced Options...                                     ║
          ║ │Modem Configuration...                                  ║
          ║ │Wait for Call Number Keys...                            ║
          ║ │Wait for Call Function Keys...                          ║
          ╚══════════════════════════════════════════════════════════╝

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.


_______________________________________________________________________________
Synchronet                           31                    System Configuration
♀

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.




_______________________________________________________________________________
Synchronet                           32                    System Configuration
♀

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.













_______________________________________________________________________________
Synchronet                           33                    System Configuration
♀

Node Toggle Options
~~~~~~~~~~~~~~~~~~~
                      ╔[■][?]═══════════════════════════╗
                      ║          Toggle Options         ║
                      ╠═════════════════════════════════╣
                      ║ │Alarm When Answering       No  ║
                      ║ │Status Screen While WFC    Yes ║
                      ║ │Total Msgs/Files on WFC    No  ║
                      ║ │Use Editor for Messages    No  ║
                      ║ │Use EMS for Overlays       Yes ║
                      ║ │Allow Swapping             Yes ║
                      ║ │Swap to EMS Memory         Yes ║
                      ║ │Swap to XMS Memory         No  ║
                      ║ │Swap to Extended Memory    No  ║
                      ║ │Windows/OS2 Time Slice API No  ║
                      ║ │DESQview Time Slice API    Yes ║
                      ║ │DOS Idle Interrupts        No  ║
                      ║ │Low Priority String Input  No  ║
                      ║ │Allow Logon by Number      Yes ║
                      ║ │Allow Logon by Real Name   Yes ║
                      ║ │Always Prompt for Password No  ║
                      ║ │Disable Local Inactivity   No  ║
                      ║ │Disable Local Keyboard     No  ║
                      ║ │Local System Protection    No  ║
                      ║ │Beep Locally               No  ║
                      ║ │Allow 8-bit Remote Logons  Yes ║
                      ║ │Reset Video Between Calls  Yes ║
                      ╚═════════════════════════════════╝

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



_______________________________________________________________________________
Synchronet                           34                    System Configuration
♀

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.




_______________________________________________________________________________
Synchronet                           35                    System Configuration
♀

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.





























_______________________________________________________________________________
Synchronet                           36                    System Configuration
♀

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

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     Advanced Options                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Validation User            1                            ║
          ║ │Screen Length              25                           ║
          ║ │Screen Blanker             Disabled                     ║
          ║ │Semaphore Frequency        60 seconds                   ║
          ║ │Statistics Frequency       10 seconds                   ║
          ║ │Inactivity Warning         180 seconds                  ║
          ║ │Inactivity Disconnection   300 seconds                  ║
          ║ │Cost Per Call              $0.00                        ║
          ║ │Daily Event                %!ndaily                     ║
          ║ │Control Directory          ..\CTRL\                     ║
          ║ │Text Directory             ..\TEXT\                     ║
          ║ │Temporary Directory        TEMP                         ║
          ║ │Swap Directory                                          ║
          ╚══════════════════════════════════════════════════════════╝

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.








_______________________________________________________________________________
Synchronet                           37                    System Configuration
♀

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






_______________________________________________________________________________
Synchronet                           38                    System Configuration
♀

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.


















_______________________________________________________________________________
Synchronet                           39                    System Configuration
♀

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







_______________________________________________________________________________
Synchronet                           40                            Modem Set-Up
♀

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.



























_______________________________________________________________________________
Synchronet                           41                            Modem Set-Up
♀

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
































_______________________________________________________________________________
Synchronet                           42                            Modem Set-Up
♀

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.













_______________________________________________________________________________
Synchronet                           43                            Modem Set-Up
♀

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.





_______________________________________________________________________________
Synchronet                           44                            Modem Set-Up
♀

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...                 ║
                  ╚══════════════════════════════════════════╝




























_______________________________________________________________________________
Synchronet                           45                            Modem Set-Up
♀

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

_______________________________________________________________________________
Synchronet                           46                            Modem Set-Up
♀

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.

















































_______________________________________________________________________________
Synchronet                           47                            Modem Set-Up
♀

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:
        This is used for toggling the ability to use Caller-ID. Consult the
        section on caller identification for more information.

Dumb Modem Connection:
        This option should be set to 'Yes' if you are using a dumb (null) modem
        cable to connect a computer to your BBS.

Drop DTR to Hang Up:
        This is normally set to 'Yes', but some modems do not support the
        dropping of DTR to hang up the modem. If your modem is one of those,
        you should toggle this option to 'No'.

Use Verbal Result Codes:
        This option should be set to 'Yes' for the easiest configuration of
        your modem. When this option is set to 'Yes', SBBS will automatically
        parse the CONNECT message received by the modem to determine the
        connect (DCE) rate and estimated CPS of the call. If "ARQ", "V42",
        "LAPM", "MNP", or "REL" are contained in the connect string, hardware
        error correction is assumed to be in effect and the estimated CPS
        rate is increased appropriately. Setting this option to 'Yes' has the
        added advantage of allowing DCE rates above 64000. Result codes not
        recognized as CONNECT messages (e.g. PROTOCOL, CARRIER, etc) are
        ignored. Result codes with "FAX" or "+FCO" cause SBBS to exit with an
        error level of 100 (for the execution of FAX receive software).

Allow Unknown Result Codes:
        If "Use Verbal Result Codes" is set to 'No', then numeric result codes
        returned by the modem are then looked up in the configured result code
        list. If the result code is not found and the "Allow Unknown Result
        Codes" option is set to 'No', the call is immediately disconnected and
        an error message is logged for the sysop's attention. If the result
        code is not found and the "Allow Unknown Result Codes" option is set to
        'Yes', then the connection information (DCE rate, estimated CPS rate,
        etc) is taken from the last configured result code and an error message
        is still logged for the sysop's attention.





_______________________________________________________________________________
Synchronet                           48                            Modem Set-Up
♀

Control Strings
---------------
Modem Control Strings are the strings which are sent to your modem at various
times during BBS operation.  Normally the default strings are sufficient for
proper operation, but occasionally you may wish to modify one or more of these
settings.
          ╔[■][?]════════════════════════════════════════════════════╗
          ║                   Modem Control Strings                  ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Initialization String      AT&FS0=0S2=1E0V0X4&C1&D2     ║
          ║ │Special Init String        ATS95=3%C2L2-K0              ║
          ║ │Terminal Init String       ATE1V1L3                     ║
          ║ │Dial String                ATDT                         ║
          ║ │Off Hook String            ATM0H1                       ║
          ║ │Answer String              ATA                          ║
          ║ │Hang Up String             ATH                          ║
          ╚══════════════════════════════════════════════════════════╝

Initialization String is the basic modem initialization for Synchronet. You
should not modify this unless you are unhappy with any of the settings and are
familiar enough with the AT command set to understand what each command does.
Placing a tilde '~' anywhere in this string will produce a 500 millisecond
(half second) pause. Synchronet requires that the modem NOT echo characters
back and return numeric result codes. So "E0" and "V0" must be included
in the init string. Since Synchronet manually detects incoming calls from
the modem, the modem's auto-detect feature must be disabled with "S0=0". If
you do not want to hear the connection progress sounds, add "M0" to the end
of your modem initialization string to disable the modem's speaker.

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

Terminal Init String is the initialization string sent to the modem when you
enter Synchronet's terminal mode ('T' from the waiting for call screen).

Dial String is the command sent to the modem for making outbound calls.
Currently only used by the Synchronet Callback Verifier.

Off Hook String is the command sent to the modem to take the phone off-hook
(busy).

Answer String is the command sent to the modem when a ring is detected by
Synchronet.

Hang Up String is the command sent to the modem to hang up the phone and is
only used if Drop DTR To Hang Up modem toggle option is set to No.








_______________________________________________________________________________
Synchronet                           49                            Modem Set-Up
♀

Auto-Configuration
------------------
The auto-configuration contains a very long list of modem types.  Using this
list is the EASIEST way to configure your modem to work with Synchronet.  All
you need to do is select your modem from this list and most everything will be
configured for you.  If you do not see your modem in this list, you can
normally select a 'Generic' model from the list.

If someone later creates an .MDM configuration file specifically for your
modem, you can use this configuration file simply copying the .MDM file into
your control directory and then selecting the 'Import Configuration' option
from the menu and typing in the name of the .MDM file.

If you create a new configuration you would like to make available to people,
you can export the configuration information into an .MDM file by selecting the
'Export Configuration' option from the menu.







































_______________________________________________________________________________
Synchronet                           50                            Modem Set-Up
♀

Caller Identification
---------------------
If your modem supports one of the Caller-ID formats listed below and you have
Caller-ID service enabled on your phone line, you can have Synchronet log
Caller-ID information and disallow specific numbers. First, add the appropriate
commands to SCFG->Nodes->Node #->Modem Configuration->Special Init String to
enable Caller-ID on your modem (see your modem's manual for details). Then set
SCFG->Nodes->Node #->Modem Configuration->Toggle Options->Caller Identification
to "Yes".

If you are using a Front-End (e.g. FrontDoor) on your BBS, the CID information
can be passed to Synchronet on the SBBS command line with the 'Z' command line
switch (e.g. sbbs c14400 z01-09_11:15_7145295313). The Caller-ID information
must be ONE string with no spaces.

The user's phone number will be placed in the user's note field for your
records and logged for each call in the system log. If you wish to disallow
access for a specific number, create the file CID.CAN in your TEXT directory
and enter one phone number per line to disallow that number. If you want a
message to be displayed to the user who calls with a disallowed number, create
the message file BADCID.MSG in your TEXT directory.

Supported formats:

        Single Line:

                MM-DD HH:MM Number

        Three Line:

                TIME:
                CALLER NUMBER:
                CALLER NAME:

        Four Line:

                DATE =
                TIME =
                NMBR =
                NAME =















_______________________________________________________________________________
Synchronet                           51                            Modem Set-Up
♀

FAX/Modem Setup for Receiving FAXes
-----------------------------------
In order for Synchronet to be able to receive incoming FAXes, there are a few
requirements that must be met, these are:

        1) Your modem MUST be able to return either a verbal or numeric FAX
           result code (verbal results must contain "FAX" or "+FCO").

        2) Your modem MUST be able to auto-detect FAX and DATA calls.

        3) You MUST have a command line receive FAX program that works with
           your FAX modem.

If all of the above requirements can be met, then you will need to modify the
SBBS.BAT/SBBS.CMD file in the directory of the node(s) to be used for receiving
incoming FAXes as follows (using a ZyXEL FAX/Modem setup on COM 2 as an
example):

-----------------------------------[ Begin ]-----------------------------------
@echo off
:top
..\exec\sbbs %1 %2 %3 %4 %5
if not errorlevel 100 goto end
c:
cd \zfax
rcvfax 2 /p:1
echo Incoming FAX! >> c:\sbbs\data\msgs\0001.msg
c:
cd \sbbs\node1
goto top
:end
------------------------------------[ End ]------------------------------------

Change the 'c:' on the 5th line to the drive letter where your receive FAX
program resides.

Change the 'cd \zfax' on the 6th line to the name of the directory where your
receive FAX program resides.

Change the 'rcvfax 2 /p:1' on the 7th line to match the name and command line
options of the receive FAX program for your modem.

Change the 'c:\sbbs\data' portion of the 8th line to match the location of your
Synchronet data directory.

Change the 'c:' on the 9th line to the drive letter where you have Synchronet
installed.

Change the 'cd \sbbs\node1' on the 10th line to match the directory of the
node(s) that will be set up for receiving FAXes.





_______________________________________________________________________________
Synchronet                           52                            Modem Set-Up
♀

Check your modem manual to find out if your modem responds with a verbal
"FAX" (e.g. ZyXEL) or "+FCO" (e.g. Practical Peripherals) result code or a
numeric FAX result code (e.g. Hayes). If a numeric result code is returned,
then run SCFG from your node directory and go to Nodes->Node #->Modem
Configuration->Result Codes and add the numeric result code your modem returns
for a FAX connect and enter "FAX" for the result description. If your modem
returns a numeric "DATA" result code when in auto-detection mode (e.g. Hayes)
then add this result code to your result code list in SCFG and enter "IGNORE"
for the result description.

Example numeric FAX result code (using Hayes Optima 288):

                      ╔[■][?]═══════════════════════════╗
                      ║           Result Code           ║
                      ╠═════════════════════════════════╣
                      ║ │Numeric Code          33       ║
                      ║ │Modem Connect Rate    0bps     ║
                      ║ │Modem Average CPS     0cps     ║
                      ║ │Description           FAX      ║
                      ╚═════════════════════════════════╝

Example numeric DATA result code (using Hayes Optima 288):

                      ╔[■][?]═══════════════════════════╗
                      ║           Result Code           ║
                      ╠═════════════════════════════════╣
                      ║ │Numeric Code          35       ║
                      ║ │Modem Connect Rate    0bps     ║
                      ║ │Modem Average CPS     0cps     ║
                      ║ │Description           IGNORE   ║
                      ╚═════════════════════════════════╝

If there are any commands needed to enable FAX auto-detection, add these
commands to the end of your Special Init string in SCFG->Nodes->Node #->Modem
Configuration. If there is an auto-configuration entry listed for your modem
with FAX enabled, this step is not necessary.

Now you are ready to receive FAXes!  When your modem returns a FAX result code
to Synchronet, the receive FAX program specified in this batch file will be
executed.  FAXes will be placed into the directory that your FAX program uses
for received FAXes.

FAXes CANNOT be sent to specific users on the BBS, this option is only for the
convenience of being able to receive FAXes without the need of a dedicated FAX
machine and phone line.  However, the ability to allow users to FAX on demand
or to upload files to be sent out as FAXes can be accomplished by using one of
the add-ons (Domain FAX) from Domain Entertainment.








_______________________________________________________________________________
Synchronet                           53                            Modem Set-Up
♀

Sysop Commands
==============

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. Any time 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 security 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
security 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 locally (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 a 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.






_______________________________________________________________________________
Synchronet                           54                          Sysop 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-#           (Quick Validation)
        Pressing Alt and then any of the numbers 0-9 will change the current 
        users level/flags/exemptions/restrictions/credits and extend their
        expiration date to the settings for that quick-validation slot set in
        the system configuration. SCFG->System->Toggle Options->Quick
        Validation Hot Keys must be set to 'Yes' for this feature to work.
        
        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 user 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.


_______________________________________________________________________________
Synchronet                           55                          Sysop Commands
♀

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

        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 combination 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 security 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 in and out of 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.

        Alt-Z           (Local Key Menu)
        Displays the local key menu.








_______________________________________________________________________________
Synchronet                           56                          Sysop Commands
♀

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.

        The available status lines are:

         0: UserName SecLevel Password ModemType Birthday Age Sex Phone
         1: UserName SecLevel RealName/CompanyName "Alt-Z for help"
         2: UserName SecLevel RealName/CompanyName Age Sex Phone
         3: UserName SecLevel Location Phone
         4: UserName SecLevel Note/Caller-ID Phone
         5: UserName SecLevel Flags1 Age Sex Phone
         6: UserName SecLevel Flags1 Expiration
         7: UserName SecLevel DateFirstOn DateLastOn Expiration
         8: UserName SecLevel Credits Minutes Expiration
         9: SecLevel Flags1 Flags2
        10: Exemptions Restrictions
        11: ComputerType ModemType ChatHandle
        12: Address Location ZipCode
        13: UploadBytes UploadFiles DownloadBytes DownloadFiles LeechCount
        14: Posts EmailSent FeedbackSent EmailWaiting TotalLogons TotalTimeOn
        15: NetMailForwardingAddress
        16: SysopComment

        You can set the default status line number in SCFG->System->Advanced
        options. This will be the default status line that appears until
        manually scrolled.

        There are status flags on the status line that indicate specific status
        items. They appear blinking on the left or right edges of the status
        line. They are defined as:

        C       Local text/ANSI capture is on
        *       Temporary sysop status
        A       Alert sysop when user logs off
        R       Rerun this node when user logs off
        D       Down this node when user logs off
        E       Run node daily event when user logs off
        L       This node is locked for sysop logons only













_______________________________________________________________________________
Synchronet                           57                          Sysop Commands
♀

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
with the Synchronet Classic command shell. 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 of the Synchronet Classic command shell begin with a semicolon (';')
character, end with CR (ENTER), and some have optional parameters (shown in
square brackets). Users with certain exemptions can use some of these commands
and have access to the menus via the '!' command using the Synchronet Classic
command shell.


        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 the chapter on User Edit for more information.

        CHUSER          (Change into Another User)
        This command allows the sysop to temporarily change to another user
        account. If changing to an account with a higher level, the password
        of that user must be given. Changing to an account of non-sysop status
        automatically enables Temp Sysop mode so that the sysop can change back
        to his/her own account 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.

        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.












_______________________________________________________________________________
Synchronet                           58                          Sysop Commands
♀

        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. A message will
        be displayed telling the user that 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) it 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.

        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. A node that is going to be rerun is noted with an
        'R' in square brackets following the node information in node listings.

        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, ALT-D 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.

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


_______________________________________________________________________________
Synchronet                           59                          Sysop Commands
♀

        LOG             (Today's Detail Log)
        A sysop can view 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.

        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 swapping).

        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.

        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.

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

        BULKMAIL        (Send Mass Mailing)
        Use this command to send a single e-mail message to multiple users.










_______________________________________________________________________________
Synchronet                           60                          Sysop Commands
♀

        CALL [Hub-ID]   (Force QWKnet Call-out)
        Forces a QWKnet call-out to the hub "Hub-ID" the next time the call-out
        node is at the WFC screen. Example: CALL VERT

        EXEC [Command]  (Execute a DOS program or Baja module)
        Execute internal DOS commands (DIR, TYPE, etc.) by prepending
        "command /c" to your command line. Execute Baja modules by prepending
        "*" to  the command line. Baja modules must be located in your EXEC
        directory. Command line specifiers (see appendix A) may be used.

        CHAT
        Users with the 'C' exemption can use this command to page the sysop.

        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 no file records open. A sysop can check for open file records with
        this command. Any file records that are left open erroneously, 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.


_______________________________________________________________________________
Synchronet                           61                          Sysop Commands
♀

        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.

        DIR [s]         (Directory of Files)
        This command displays a DOS directory of the path specified. If no
        path is specified, a directory of the current file transfer directory
        is displayed.

        GET [s]         (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 [s]         (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.




































_______________________________________________________________________________
Synchronet                           62                          Sysop Commands
♀

User Edit
=========

Initiating User Edit
--------------------
Alt-U
        The sysop can locally hit Alt-U at any time 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 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. Hitting 'U' from the Reading Messages (O)perator menu will
        start User Edit too.

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
































_______________________________________________________________________________
Synchronet                           63                               User Edit
♀

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 Level above his own and can't give a
user any Flags or Exemptions that he/she doesn't have. A remote sysop can not
edit any information of any users with a Level higher than his own and their
passwords, real names, and phone numbers aren't displayed to him/her.

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  24    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

Sec Level :
Flags #1  :   CD       L N              Flags #3  : AB  E
Flags #2  :       G                     Flags #4  :      F H
Exemption :                             Restricts :

User edit (50 of 303):





















_______________________________________________________________________________
Synchronet                           64                               User Edit
♀

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, the user's current post/call
ratio, 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.


_______________________________________________________________________________
Synchronet                           65                               User Edit
♀

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

The 18th line contains the user's Security Level.

The 19th line contains the user's Flag Sets 1 and 2 (if any).

The 20th line contains the user's Flag Sets 3 and 4 (if any).

The 21st line contains the user's Exemption and 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.







































_______________________________________________________________________________
Synchronet                           66                               User Edit
♀

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 (Gender)                     │
│  B  Birthday                            T  Set Text Search String           │
│  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  Security Level                      /  Set ARS 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.













_______________________________________________________________________________
Synchronet                           67                               User Edit
♀

D - Delete/Deactivate/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 SCFG. 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 - Expire by Time
                Prevents user account from expiring when the user runs out of
                time and the SCFG->System->Toggle Options->User Expires When
                Out of Time is set to YES.
        F - FidoNet Crash/File Request/Return Receipt NetMail
                Allows user to send NetMail using title specifiers:
                "CR:" to over-ride default crash status to ON
                "FR:" to send file requests (FREQ)
                "FA:" to send file attachments
                "RR:" to request a return receipt
                See Sending FidoNet NetMail for more information.
        G - Multiple Nodes $
                Allows user to be logged on to more than one node at a time.
                This exemption is useful for Guest accounts.



_______________________________________________________________________________
Synchronet                           68                               User Edit
♀

        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 anonymous 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 Cost
                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 Flags. Hitting a number
        will allow you to edit that particular flag set. Hitting '?' will
        display a menu that is used to remind the sysop of the meaning of each
        Flag. These menus are located in the TEXT\MENU directory and names are
        FLAGS1.ASC, FLAGS2.ASC, FLAGS3.ASC, and FLAGS4.ASC. Hitting [ENTER]
        will end the editing of the flags.

        The Flags in conjunction with the Level can by used by the sysop to
        limit access to Message Groups, Sub-boards, External Programs,
        General Text File Sections, 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.





_______________________________________________________________________________
Synchronet                           69                               User Edit
♀

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 - Security Level:
        The sysop can edit the user's Security Level with this command. The
        user's Level is a decimal number in the range 0 to 99. Higher levels
        indicate higher access. Users with a level of 90 or higher are
        considered to be sysops. The sysop can use the Level in conjunction
        with the Flags to limit access to Message Groups, Sub-boards, General
        Text File Sections, External Programs, Transfer Libraries, and
        Directories. The 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.


_______________________________________________________________________________
Synchronet                           70                               User Edit
♀

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 - Set Text Search String
        Use this command to set the text string to search for (using the {
        and } commands).

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 - Quick-Validate User:
        This command will display the ten quick-validation sets (0 to 9)
        for quickly setting the user's Security Level, Flags, Exemptions,
        Restrictions, Expiration Date, and/or Credits. The Quick-Validation
        sets are set by the sysop in SCFG->System->Quick-Validation Values.

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.


_______________________________________________________________________________
Synchronet                           71                               User Edit
♀

        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't 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 Level 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).

_______________________________________________________________________________
Synchronet                           72                               User Edit
♀

[ - 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 AR string to search for (using the { and
        } commands). See the ARS Security chapter for explanation of AR string.

} - Search Forward:
        Searches from the current user to the last user for the string set by
        the '/' (ARS) or 'T' (text) command.

{ - Search Backward:
        Searches from the current user to the first user for the string set by
        the '/' (ARS) or 'T' (text) 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 multiply 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 SCFG 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
        SCFG, if not specified the output SIF will be used for viewing.




_______________________________________________________________________________
Synchronet                           73                               User Edit
♀

ARS Security
============

Introduction
------------

ARS stands for Access Requirement Strings. Access requirement strings are used
to specify the requirents of a user to have access to features/sections of a
Synchronet BBS. The string can consist entirely of english key words and
numbers or use short-hand symbols to fit a large number of security
requirements into the 40 character space allowed for access requirement
strings. Short-hand symbols and key words may be used interchangably and
combined in the same string. For clarity, it is suggested you use the key words
whenever possible. The string syntax is as follows:

usage: [not] [parm] [not] [equal] <value> [or] [and] [...]

where: not      is the word "NOT" or the symbol '!' to specify reverse logic
       parm     is one of any keywords (or short-hand symbols) that specifies
                a specific required parameter (default is LEVEL)
       equal    is the word "EQUAL", "EQUALS", the words "EQUAL TO", or the
                symbol '=' to specify exact equality required
       value    the required value (for either minimum requirement or equality)
       or       the word "OR" or the symbol '|' used to specify that ANY of two
                or more parameter values MAY be met to match the requirement
       and      the word "AND" or the symbol '&' may be used for clarity in
                reading when specifying that two or more parameter values MUST
                be met to match the requirement



























_______________________________________________________________________________
Synchronet                           74                            ARS Security
♀

Key words and Symbols
---------------------

Key word      Symbol    Description
------------------------------------------------------------------------------
AND             &       More than one requirement (optional)
NOT             !       Logical negation (e.g. NOT EQUAL)
EQUAL           =       Equality required
OR              |       Either of two or more parameters is required
AGE             $A      User's age (years since birthdate, 0-255)
ANSI            $[      User has ANSI terminal (no value argument)
BPS             $B      User's current connect rate (bps)
CREDIT          $C      User's number of credits in Kilobytes (0-65535)
DAY             $W      Day of the week (Sun, Mon, Tue, etc. or 0-6)
DIR             $J      Current file directory (Internal code or 1-65535)
DOS                     Current node is running SBBS4DOS (no value argument)
EXEMPT          $X      Exemption flag (A-Z)
EXPERT                  User is in expert menu mode (no value argument)
EXPIRE          $E      Days till user account expires (0-65535)
FILE_CMDS               Number of executed file menu commands (0-65535)
FLAG            $F      User's flag (1-4) and (A-Z)
GROUP           $M      Current message group (1-65535)
LASTON          $Y      Days since last logon (0-65535)
LEVEL           $L      User's level (0-99)
LIB             $I      Current file library (1-65535)
LOCAL           $G      Logged on locally (no value argument)
MAIN_CMDS               Number of executed main menu commands (0-65535)
NODE            $N      Current node (1-250)
OS2                     Current node is running SBBS4OS2 (no value argument)
PCR             $P      User's post/call ratio (0-100)
QUIET                   User is in quiet mode
RANDOM          $Q      Random number between 0 and value argument (0-65535)
REST            $Z      Restriction flag (A-Z)
RIP             $*      User has RIP terminal (no value argument)
SEX             $S      User's sex/gender (M or F)
SUB             $H      Current message sub-board (Internal code or 1-65535)
SYSOP                   User has level 90 or temp sysop (no value argument)
TIME            $T      Time of day (HH:MM, 0-23:59)
TLEFT           $R      User's time left online (minutes, 0-255)
TUSED           $O      User's time online this call (minutes, 0-255)
UDR             $K      User's upload/download ratio (0-100)
UDFR            $D      User's upload/download file ratio (0-100)
USER            $U      User's number (1-xxxx)
WIP                     User has WIP compatible terminal (no value argument)











_______________________________________________________________________________
Synchronet                           75                            ARS Security
♀

==================
General Example #1
==================

LEVEL 60

This string specifies that only users with a level of 60 OR HIGHER meet this
requirement. The space between the level and the required value is optional:

LEVEL60

is functionally equivalent, but doesn't read as well. You may also use short
hand symbols in place of key words to save space:

$L 60

is also functionally equivalent. Once again, the space between the short hand
symbol and the required value is optional. If a parameter is not specified,
the requirement is assumed to be LEVEL. So the following string:

60

is also valid and evaluates the same as the above strings.
































_______________________________________________________________________________
Synchronet                           76                            ARS Security
♀

==================
General Example #2
==================

NOT LEVEL 60

This string specifies that only users with a level BELOW 60 will meet the
requirement. The "NOT" key word can be include before or after the parameter:

LEVEL NOT 60

evaluates indentically to the first string in this example.

Short-hand symbols may be used to abbreviate the string:

LEVEL !60

$L!60

!60

have exactly the same meaning as the first string in this example.

==================
General Example #3
==================

LEVEL EQUAL 60

This string specifies that only users with a level EQUAL TO 60 will meet
this requirement. The key word "EQUALS" or the combination "EQUAL TO" may
be used in place of "EQUAL" if preferred:

LEVEL EQUALS 60

and

LEVEL EQUAL TO 60

are both functionally equivalent to the first string in this example. Again,
short-hand symbols may be used to make the string shorter:

LEVEL = 60

evalutes indentically to the above example strings and the space on either side
of the '=' symbol are also optional:

LEVEL=60

is valid and may be preferred by some sysops. Since level is the default
parameter type, the following string is also valid:

=60


_______________________________________________________________________________
Synchronet                           77                            ARS Security
♀

==================
General Example #4
==================

LEVEL 60 AND FLAG 1A

This string indicates that the user must have a level of 60 or higher AND have
the flag 'A' from flag set #1. The user must meet both requirements in order to
be considered as meeting all the requirements of the string. The "AND" portion
of the string is only included for clarity in reading and is optional:

LEVEL 60 FLAG 1A

has the same meaning, but may be confusing when read. When specifying a flag
from flag set #1, the set number may be eliminated:

LEVEL 60 AND FLAG A

is functionally the same and is the preferred method of referring to flags from
flag set #1. When specifying the flag set, spaces can be on either side of
the number, or eliminated entirely:

LEVEL 60 AND FLAG1 A

and

LEVEL 60 AND FLAG 1 A

and

LEVEL 60 AND FLAG1A

have the same meaning as the first string in this example, but are probably
not as easy to read as the second string in this example.

The following strings all have the same meaning as the first string in this
example but have been shortened using symbols and other short-cuts:

LEVEL 60 & $F A

$L60 AND $FA

$L60$FA

60$FA

but for reasons of clarity, the first string is prefered if space allows.








_______________________________________________________________________________
Synchronet                           78                            ARS Security
♀

==================
General Example #5
==================

SEX F OR LEVEL 90

This string specifies that the user must be of FEMALE gender OR have a level
of 90 or higher. The following strings are functionally equivalent to the
above:

SEX F | LEVEL 90

SEXF|LEVEL90

$SF | $L90

$SF|$L90

==================
General Example #6
==================

USER NOT EQUAL TO 20

This string specifies that user #20 will not meet the requirement.

Shortened using symbols:

$U!=20


























_______________________________________________________________________________
Synchronet                           79                            ARS Security
♀

==================
General Example #7
==================

BPS 9600 OR NOT TIME 19:00

This string specifies that the user must be connected at 9600bps or higher,
OR the time of day must be before 7pm. The value for the TIME paramater
is in the format 24 hour format of HH:MM. If the specified time is on an even
hour, then ":00" portion may be omitted:

BPS 9600 OR NOT TIME 19

has the same meaning.

You may also ommit the "00" from the BPS value to shorten the string:

BPS 96 OR NOT TIME 19

Shortened versions:

$B 9600 OR NOT $T19

BPS9600|!TIME19

$B96|!$T19

==================
General Example #8
==================

BPS 9600 OR TIME NOT 18:00 OR TIME 21:30

This string specifies that the user must be connected at 9600bps or higher,
OR the time of day must be before 6pm, OR the time of day must be after
9:30pm.

When specifying multiple parameters of the same type consecutively (in this
example, two of the required parameters are "TIME"), the paramter does
not need to be restated. For example, the string:

BPS 9600 OR TIME NOT 18:00 OR 21:30

has the same meaning as the first string in this example.

Shortened versions:

$B 9600 OR NOT $T 18 OR 21:30

$B96|$T!18|21:30





_______________________________________________________________________________
Synchronet                           80                            ARS Security
♀

==================
General Example #9
==================

FLAG A OR FLAG B OR FLAG C OR LEVEL 90

The above string specifies that a user must have flag A, flag B, flag C, (all
from flag set #1) or a level of 90 or higher to meet the requirement. Using the
"sticky" parameter type feature of AR Strings, we can shorten the line:

FLAG A OR B OR C OR LEVEL 90

Utilitizing symbols, we can shorten it even further:

FLAG A|B|C OR LEVEL 90

Taking it to extremes:

$FA|B|C|$L90

===================
General Example #10
===================

USER EQUALS 145 OR LEVEL 90

This string indicates that user number 145 will meet the requirement and all
users with level 90 and higher (sysops).

Best shortened as:

USER=145 OR LEVEL 90

For ultimate compression:

$U=145|$L90



















_______________________________________________________________________________
Synchronet                           81                            ARS Security
♀

===================
General Example #11
===================

LEVEL 60 AND FLAG X AND FLAG Y AND FLAG Z

Compressed examples:

LEVEL 60 AND FLAG X AND Y AND Z

LEVEL 60 AND FLAG X Y Z

LEVEL 60 FLAG XYZ

LEVEL60 FLAGXYZ

$L60 $FXYZ

60$FXYZ

===================
General Example #12
===================

FLAG 2A OR FLAG 2B OR FLAG 4Z

This string specifies that the user must have either flag 'A or 'B' from flag
set #2, or flag 'Z' from flag set #4. Using the "sticky" paramenter type
feature, this could be shortened to:

FLAG 2A OR B OR FLAG 4Z

If the flag set is not #1, you MUST specify the flag set number when using
the FLAG keyword.

Example:

FLAG 2A OR FLAG B OR FLAG 4Z

is NOT the same as the first two strings in this example. The second flag (B)
would be considered as from flag set #1, since a flag set number was not
specified.

Correct and shortened version:

FLAG2A|B OR FLAG4Z

$F2A|B|$F4Z

Note: Multiple flag sets were developed for advanced sysops who found that
      the 26 flag limitation (A-Z) was insufficient and requested additional
      flag capabilities. Most sysops will probably not find it necessary to
      use more than 26 flags, and therefore have no need for flag sets 2
      through 4.

_______________________________________________________________________________
Synchronet                           82                            ARS Security
♀

===================
General Example #13
===================

NOT FLAG 2G

This string specifies that the user most not have flag 'G' from flag set #2.
The NOT keyword can appear in several places in this string while keeping
the exact same meaning:

FLAG NOT 2G

FLAG 2 NOT G

Condensed versions:

!$F2G

$F!2G

$F2!G


































_______________________________________________________________________________
Synchronet                           83                            ARS Security
♀

Nesting Expressions
-------------------

All of the above string examples have been single expressions that evaluate to
either true of false. Sometimes, you may wish to require access to an area
using "nested" logic.

Example: If the user is level 90+, OR the user has the A flag, AND is 21+
         years of age or older.

The above example could be read two ways.

1: The user must have level 90+, and either the A FLAG or be 21+ years old.

2: The user must be 21+ years old and have either the A FLAG or level 90+.

To clarify which of the above methods were intended, we use parentheses to
separate the two true/false expressions.

1: LEVEL 90 OR (FLAG A AND AGE 21)

2: (LEVEL 90 OR FLAG A) AND AGE 21

Strings 1 and 2 are interpreted differently and correlate to the above two
english logic statements.

Whenever using a combination of AND and OR logic, nested expressions are
required. The following string:

LEVEL 90 OR FLAG A AND AGE 21

is INVALID and would most likely NOT produce the desired results.

Expressions may be nested, using paranethesis, as deep as is required.

Example:

((LEVEL 80 OR FLAG S) AND AGE 18) OR LEVEL 90

is a VALID string that would evaluate with the following:

User with level of 80 and age 17 would not qualify
User with level of 80, flag S and age 17 would not qualify
User with level of 80 and age 18 would qualify
User with flag S and age 18 would qualify
Any user with level 90+ would qualify regardless of age or flags









_______________________________________________________________________________
Synchronet                           84                            ARS Security
♀

=================
Nested Example #1
=================

BPS 9600 OR (BPS 2400 AND TIME NOT 15:00)

User must be connected at 9600bps or higher, OR be connected at 2400bps or
higher and the time of day being before 3pm. 9600bps and higher callers would
always meet this requirement. 2400-7200bps callers will only meet this
requirement between 12:00 midnight and 3pm in the afternoon. 1200bps and slower
callers would never meet this requirement.

Note, that when nesting expressions, the parameter type DOES NOT stick from
one expression to another. Example:

BPS 9600 OR (2400 AND TIME NOT 15:00)

Is an INVALID string. The 2400 would be interpreted as a LEVEL requirement
since it is as the beginning of a new expression and LEVEL is the default
parameter type.

The first (correct) string in this example, can of course also be shortened
using symbols (and eliminating the AND key word):

$B9600|($B2400$T!15)

=================
Nested Example #2
=================

(SEX M AND AGE 21) OR (SEX F AND AGE 18)

This string specifies that only male users of 21 years and older and female
users of 18 and older will meet the requirement.

Shortened Example:

($SM$A21)|($SF$A18)

The logic of the above string is more verbose than necessary and could be
reduced to:

AGE 21 OR (SEX F AND AGE 18)

producing the same results.










_______________________________________________________________________________
Synchronet                           85                            ARS Security
♀

=================
Nested Example #3
=================

(BPS 2400 AND PCR 20) OR LEVEL 90

This string would indicate that users of any level will have access if they
are connected at 2400bps and have a Post/Call ratio of 20% or higher - OR
the users has as least level 90 (sysop).

Utilizing the default parameter type of level, the LEVEL key word can be
omitted:

(BPS 2400 AND PCR 20) OR 90

to create a functionally equivalent, though more confusing, AR string.

A better way to shorten the string would be to eliminate the AND keyword
and use symbols:

($B 2400 $P 20) | $L 90

Eliminating the spaces creates an even more compact string:

($B2400$P20)|$L90

=================
Nested Example #4
=================

NOT (USER=1 OR USER=20)

All users will meet this requirement accept user #1 and user #20.

The above string could also be stated in a non-nested format with the same
results:

NOT USER=1 AND NOT USER=20

though the meaning is not quite as clear, they are functionally the same.

Note: The second method requires 2 bytes less in raw logic storage because it
      is not nested and will be intrepreted slightly faster (by a matter of
      microseconds). Just in case you were wondering...











_______________________________________________________________________________
Synchronet                           86                            ARS Security
♀

=================
Nested Example #5
=================

LEVEL 90 OR (TIME 12:00 AND TIME NOT 18:00)

Users with level 90 or higher will always meet this requirement. Users with
levels below 90 will only meet this requirement between 12 noon and 6pm.

Re-arranged:

(TIME 12:00 AND TIME NOT 18:00) OR LEVEL 90

the string has exactly the same meaning. Eliminating the unnecessary occurance
of the second "TIME" parameter shortens the string while keeping it easily
readable:

(TIME 12:00 AND NOT 18:00) OR LEVEL 90

Maximum compression:

($T12!18)|90

































_______________________________________________________________________________
Synchronet                           87                            ARS Security
♀

Electronic Mail (E-mail)
========================

Synchronet has a separate private personal mailbox for each user on the system.
Users may receive local E-mail, NetMail, and Attached Files in their mailbox.
Upon logon, each user is asked if they wish to read any mail in their box. Mail
will stay in the user's box until it is deleted. Mail in a user's box may only
be viewed or deleted by the receiving user, the sending user, or a sysop.

E-mail is preferred over Private Posts (on a sub-board) for sending private
messages to users on the same BBS. Private posts are only useful for sending
private messages on message networks that do not support or allow NetMail.

An E-mail file attachment may be uploaded by a user if SCFG->System->Message
Options->Allow Uploads in E-mail is set to Yes. When reading E-mail with a file
attached, the receiving user will be prompted if he or she wishes to download
the attached file at that time. If the user downloads the file, the file is
deleted. If the message is deleted without the file being downloaded, the file
is deleted as well.

Users with the 'A' exemption may send Anonymous E-mail if SCFG->System->Message
Options->Allow Anonymous E-mail is set to Yes.

When replying to another message in E-mail, the original message may be quoted
if the SCFG->System->Message Options->Allow Quoting in E-mail is set to Yes.






























_______________________________________________________________________________
Synchronet                           88                                  E-mail
♀

Message Base
============

The Synchronet message base is used for storing messages from a user or sysop
to other users or a specific user. The messages are divided into sub-boards
where each sub-board has a unique message topic. Sub-boards are grouped
together into message groups.

Sysops can control which users have what level of access to each group and
sub-board. If a user doesn't have access to a specific group or sub-board,
the user won't even know the specific group or sub-board exists.

The following is an example group/sub-board configuration:

Group Name              Sub-boards
------------------------------------------------------------------------------
Main                    Sysop Notices
                        General Discussion
                        Debate
                        Entertainment
                        Advertisements

Adult                   General Discussion
                        Entertainment
                        Singles Only

Technical               Hardware Help
                        Software Help
                        Programming

The Synchronet configuration program (SCFG) is used for adding, deleting,
and configuring message groups and sub-boards.























_______________________________________________________________________________
Synchronet                           89                            Message Base
♀

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                   Advertisements
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



_______________________________________________________________________________
Synchronet                           90                     Message Base: Setup
♀

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.

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, or DEL (delete key) to remove an existing one.
Following is a list of options available when creating or modifying a message
group.

Message Group Options
~~~~~~~~~~~~~~~~~~~~~

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                        Main Group                        ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Long Name                  Main (Local)                 ║
          ║ │Short Name                 Main                         ║
          ║ │Access Requirements                                     ║
          ║ │Clone Options                                           ║
          ║ │Export Areas...                                         ║
          ║ │Import Areas...                                         ║
          ║ │Message Sub-boards...                                   ║
          ╚══════════════════════════════════════════════════════════╝

Long Name:
        This is a description of the message group which is displayed in
        message group listings.

Short Name:
        This is a description of the message group which is used for prompts.

Access Requirements:
        Use this option to set specific user requirements for access this
        message group.

Clone Options:
        Use this option to "copy" the options from the first message sub-board
        in this group to all other existing sub-boards in this group.

Export Areas:
        If you wish to export the area information of all the sub-boards in
        the current message group to a text file, use this option.

Import Areas:
        If you wish to import message area information from a text file, use
        this option.

Message Sub-boards...:
        Select this option to get a list of, and be able to edit, the sub-
        boards within this group.

_______________________________________________________________________________
Synchronet                           91                     Message Base: Setup
♀

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 abbreviation) for the
sub-board. To configure the particulars for the sub-board, select it by hitting
enter on it from the sub-board list. Following is a list of options available
when creating or modifying a message sub-board.














































_______________________________________________________________________________
Synchronet                           92                     Message Base: Setup
♀

Sub-board Main Options
~~~~~~~~~~~~~~~~~~~~~~

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     General Sub-board                    ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Long Name                  The Random Subject Generator ║
          ║ │Short Name                 General                      ║
          ║ │QWK Name                   General                      ║
          ║ │Internal Code              GENERAL                      ║
          ║ │Access Requirements        LEVEL 10                     ║
          ║ │Reading Requirements       LEVEL 10                     ║
          ║ │Posting Requirements       FLAG N                       ║
          ║ │Operator Requirements                                   ║
          ║ │Moderated Posting User                                  ║
          ║ │Maximum Messages           100                          ║
          ║ │Purge by Age               Disabled                     ║
          ║ │Duplicate Checking         Disabled                     ║
          ║ │Toggle Options...                                       ║
          ║ │Network Options...                                      ║
          ║ │Advanced Options...                                     ║
          ╚══════════════════════════════════════════════════════════╝

Long Name:
        This is a description of the sub-board which is displayed in
        sub-board listings.

Short Name:
        This is a description of the sub-board which is used for prompts.

QWK Name:
        This is the name of the sub-board used for QWK off-line readers.

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

Access Requirements:
        These are the requirements that a user must meet to be able to access
        this sub-board.

Reading Requirements:
        Use this option to set the security requirements to read messages on
        this sub-board.










_______________________________________________________________________________
Synchronet                           93                     Message Base: Setup
♀

Posting Requirements:
        Use this option to set the security requirements to post on this
        sub-board.

Operator Requirements:
        Use this option to set the security requirement to be a sub-op on this
        sub-board (note: sub-op is a sysop of a sub-board).

Moderated Posting User:
        Users meeting the criteria set here will have their posts "moderated"
        when posting on this sub-board. Moderated messages cannot be read by
        users or exported until validated by a sub-op or sysop.

Maximum Number of Messages:
        This is the maximum number of messages that will be allowed on the
        sub-board. This number is used by SMBUTIL to maintain the message base
        and remove the oldest messages when this limit is exceeded.

Purge by Age:
        This is the maximum length of time (in days) that old messages will
        be kept in a sub-board.

Duplicate Checking:
        Use this option for duplicate message checking (comparing a new
        message against those previously imported to detect a duplicate message
        created by program or user error). Enabling duplicate message checking
        requires you specify a maximum number of CRCs. This is the number of
        previously imported messages to keep track of (using CRC calculation).
        This number, if used, should be set to about one weeks worth of
        messages. Large numbers in this field will slow down message importing.

























_______________________________________________________________________________
Synchronet                           94                     Message Base: Setup
♀

Toggle Options
~~~~~~~~~~~~~~

                      ╔[■][?]════════════════════════════╗
                      ║          Toggle Options          ║
                      ╠══════════════════════════════════╣
                      ║ │Allow Private Posts        No   ║
                      ║ │Allow Anonymous Posts      No   ║
                      ║ │Post Using Real Names      No   ║
                      ║ │Users Can Delete Posts     No   ║
                      ║ │Default On for New Scan    Yes  ║
                      ║ │Forced On for New Scan     Yes  ║
                      ║ │Default On for Your Scan   Yes  ║
                      ║ │Public 'To' User           No   ║
                      ║ │Allow Message Quoting      Yes  ║
                      ║ │Permanent Operator Msgs    No   ║
                      ║ │Kill Read Messages         No   ║
                      ║ │Compress Messages (LZH)    No   ║
                      ╚══════════════════════════════════╝

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.

Default On for New Scan:
        If this option is set to Yes, this sub-board will default to 'On'
        when a user does a new message scan on this sub-board for the first
        time.






_______________________________________________________________________________
Synchronet                           95                     Message Base: Setup
♀

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.

Default On for Your Scan:
        If this option is set to Yes, this sub-board will default to 'On'
        when a user does a new message scan for personal messages on this
        sub-board for the first time.

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.

Allow Message Quoting:
        If you wish for users to be able to quote from other messages on this
        sub-board, set this option to Yes.

Permanent Operator Msgs:
        Setting this option to Yes will cause messages posted by the Sysop (or
        sub-op) to be marked as permanent (will not be deleted by normal
        maintenance).

Kill Read Messages:
        If you wish for messages to be deleted after the recipient has read the
        message, set this option to Yes.  To delete only those messages marked
        as private after they've been read, set this option to Private.

Compress Messages (LZH):
        When this option is set to 'Yes', the BBS will utilize the LZH
        compression method when storing messages.  This will cause message
        importing to be slower, but can conserve disk space (30% to 50%) which
        can mean tens or even hundreds of megabytes of extra space on BBSs with
        large message bases.


















_______________________________________________________________________________
Synchronet                           96                     Message Base: Setup
♀

Network Options
~~~~~~~~~~~~~~~

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                      Network Options                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Append Tag/Origin Line     Yes                          ║
          ║ │Export ASCII Only          No                           ║
          ║ │Gate Between Net Types     No                           ║
          ║ │QWK Networked              No                           ║
          ║ │QWK Tagline                                             ║
          ║ │Internet                   No                           ║
          ║ │PostLink or PCRelay        No                           ║
          ║ │FidoNet EchoMail           No                           ║
          ║ │FidoNet Address            1:1/1                        ║
          ║ │EchoMail Origin Line                                    ║
          ║ │EchoMail Directory         C:\FD\ECHO\GENERAL\          ║
          ║ │EchoMail Semaphore File    C:\FD\FDEXIT.025             ║
          ╚══════════════════════════════════════════════════════════╝

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.

Export ASCII Only:
        Set this option to Yes if this sub-board should only be exporting
        ASCII characters to message networks.

Gate Between Net Types:
        If this sub-board is simultaneously networked with multiple networks
        using different network technologies, and you want messages imported
        from one network to be exported to the other network(s), you must set
        this option to 'Yes'. Gating messages between networks usually requires
        specific authorization from the moderator of each network. Do not set
        this option to 'Yes' unless you are absolutely sure you understand the
        consequences.

QWK Networked:
        Setting this option to Yes will limit posted message titles to the
        QWK packet limitation of 25 characters and allow QWK network accounts
        to upload and download messages to/from this sub-board.

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.

Internet:
        If this sub-board is networked via the internet, this toggle option
        should be set to 'Yes'.




_______________________________________________________________________________
Synchronet                           97                     Message Base: Setup
♀

PostLink or PCRelay:
        If this sub-board is networked via PostLink or PCRelay, set this option
        to Yes.

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 adds 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 (using SBBSFIDO a defunct method of importing/exporting
        FidoNet echomail). 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.

EchoMail Semaphore File:
        This is the path and filename of a file that should be created to
        trigger your front-end mailer to export FidoNet EchoMail.


























_______________________________________________________________________________
Synchronet                           98                     Message Base: Setup
♀

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

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     Advanced Options                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │QWK Conference Number      Dynamic                      ║
          ║ │Storage Method             Hyper Allocation             ║
          ║ │Storage Directory          N:\BBS\DATA\SUBS\            ║
          ╚══════════════════════════════════════════════════════════╝

QWK Conference Number:
        This option allows you to use a Dynamic (automatic) or Static
        (hard-coded) numbering for the QWK conference number of each sub-board.
        Dynamic numbering gives "as is" conference numbers, where sub-board 1
        in group 1 would be 1001, and sub-board 1 in group 2 would be 2001,
        etc.  Static numbering allows you to give each conference whatever
        number you prefer, which is extremely useful because it allows you to
        add and remove conferences without altering the numbers of other
        sub-boards.

Storage Method:
        This is the method which will be used for storing messages when a new
        message is posted on this sub-board.  There are three message storage
        methods.  Their advantages and limitations are as follows:

        Self-packing:

        Self-packing is the most efficient message storage method because it
        looks for and uses deleted message blocks for new in-coming messages.
        Because of this behavior, it is the slowest storage method, but
        eliminates the need to run "SMBUTIL P" on the message base regularly.
        It is suggested however, that you do run "SMBUTIL P" on Self-packing
        message bases that have accumulated a large number of deleted message
        blocks.  This can happen if you lower the maximum number of a messages
        for a message base and then run "SMBUTIL M" or import a large number of
        networked messages into this message base, far exceeding the maximum,
        and then running "SMBUTIL M".  Under these circumstances, you will be
        wasting disk space on deleted message blocks that will not likely be
        used again unless you reach that number of messages again.

        An example:

        A Self-packing sub-board is set to maximum of 500 messages. The
        sub-board has 500 messages in it taking up approximately 2MB of disk
        space. A large network message packet is imported containing 200
        messages for this sub-board. The sub-board now has 700 message in it
        taking up approximately 3MB of disk space.  "SMBUTIL M" is run and the
        oldest 200 messages are deleted, bringing the total messages down to
        500 again, but still taking up 3MB of disk space. The sub-board will
        not increase in size (disk consumption) again unless the total number
        of messages exceeds 700.  If this is not likely to happen, then running
        "SMBUTIL P" on this sub-board will save you approximately 1MB of disk
        space.

_______________________________________________________________________________
Synchronet                           99                     Message Base: Setup
♀

        Fast Allocation:

        Fast Allocation storage method is faster than Self-packing because it
        does not search for deleted message blocks to use for new messages, it
        always adds to the end of the message base.  Because of this behavior,
        the message base will continually grow in size (consuming disk space)
        until "SMBUTIL P" is run.  Since the idea of using Fast Allocation is
        speed, it is also a good idea to speed up your "SMBUTIL P" event by
        specifying a minimum number of packable kilobytes before actually
        packing a message base. This will cause SMBUTIL to analyze the message
        base before actually packing it. This is be done by specifying the
        number of kilobytes on the SMBUTIL command line. If for example, you
        only want it to pack the message base if it can save 500k or more of
        disk space, then use "SMBUTIL P500" for a command line. This will keep
        SMBUTIL from packing the message base everytime it is run (which can be
        time consuming) even if only a small amount of disk space will be saved
        from the operation.

        You can switch between fast Fast Allocation and Self-packing storage
        methods at any time. You can even have one program importing into a
        message base using Self-packing and another using Fast Allocation and
        no harm will be done to the message base.

        Hyper Allocation:

        Hyper Allocation is much like Fast Allocation, except it is much faster
        because it does not update the message base allocation files necessary
        to be downward compatible with the Self-packing storage method. For
        this reason, you cannot change a message base from Hyper Allocation to
        Self-packing or Fast Allocation without first deleting all the messages
        in the message base (SCFG will do this for you). You must also be sure
        that all programs that write to this message base support the Hyper
        Allocation storage method (as defined in v1.20 of the SMB
        specification). If you are using any third party message import
        programs, do NOT use this storage method unless you are positive the
        program supports it. Ask the developers if you are not sure.

        Like Fast Allocation, you must run "SMBUTIL P" on Hyper Allocated
        message bases regularly. The minimum packable kilobytes analysis
        feature of SMBUTIL (i.e. "SMBUTIL P500") takes longer with a Hyper
        Allocated message base but the actual packing operation is much faster.

        To get the fastest importing/writing speed, disable Duplicate Message
        checking and LZH compression for the message base.

        Retrieving messages (exporting/reading them from the message base) is
        the same speed with all storage methods. LZH compressed message bases
        will export slower than non-compressed message bases.

Storage Directory:
        Where Synchronet should place the data files for this sub-board.
        Normally this option should be left BLANK unless it is required that
        the data be placed on a different drive letter.


_______________________________________________________________________________
Synchronet                          100                     Message Base: Setup
♀

Importing QWK Packet from Previous BBS Software
-----------------------------------------------

If you are upgrading to Synchronet from another BBS package and have your
messages in QWK packet format, you can import them into Synchronet as follows:

1.      Create message groups and sub-boards under Synchronet to accept the
        messages from your old system.
2.      Write down the conference numbers for each of your message areas from
        the old system.
3.      Rename your exported QWK packet to TEMP.QWK and copy it into your DATA
        directory.
4.      Add a QWK network hub in SCFG using TEMP for the QWK ID.
5.      Add each of your sub-boards to the list of Networked Sub-boards and
        enter the conference number from the old system. Select "Strip-out"
        for Ctrl-A handling. Set Node 1 for the call-out node.
6.      Run SBBS from your NODE1 directory and your messages should be
        imported immediately.
7.      Run SCFG and delete the TEMP QWK network hub.




































_______________________________________________________________________________
Synchronet                          101                 Message Base: Importing
♀

Posting a Message
=================

When posting a message on a sub-board, users or sysops can specify that the
message is NOT to be distributed across a message network (kept local only).
This is done by starting the message title with "NE:" which stands for
"No Echo" (only useful on networked sub-boards).
















































_______________________________________________________________________________
Synchronet                          102                   Message base: Posting
♀

Remote QWK Functions
====================
Following are examples on how to perform various functions remotely via QWK.
Note that some of these functions are intended only for users who are using QWK
mail doors to retrieve their messages from the BBS, and not for BBSs which are
QWK netted together, these commands are noted as being for users only. Although
intended for users, some of the user commands will work properly on a QWK
netted BBS (e.g. FILES would place the resulting file list into the BBSs
inbound directory), but some will not (e.g. the YOURS function).

In order to invoke the various remote QWK functions via a QWK network, you must
post a message to SBBS on one of the conferences which you are receiving from
your QWK hub. Note that the ADD and RESET functions are conference specific,
meaning that your message MUST be posted on the conference where the function
is to take effect.

NOTE: In the following examples, 'ptr' is a pointer indicating the message
      number to start at (e.g. specifying 100 would set the message pointer to
      message number 100), '-msgs' sets the message pointer to a number of
      messages from the end (e.g. -100 to set the pointer to 100 messages
      from the last message), and 'mm/dd/yy' sets the message pointer to the
      date specified (e.g. 01/01/90 sets the message pointer to January 1,
      1990).
      The '|' symbol shown in the options means OR. Function parameters in
      square brackets '[]' are optional, parameters in less than/greater than
      symbols '<>' are required. Specifying an ON/OFF function without the
      ON or OFF parameter will toggle the function OFF.

Examples:

To: SBBS (All messages must be sent to SBBS)

Subj: DROP [conf#]
Note: Drop current conference (or specified conference #) from future packets.

Subj: ADD [YOURS] [ptr | -msgs | mm/dd/yy]
Note: Add current conference to future packets and optionally set the message
      pointer.
      If "YOURS" is specified, only mail addressed to you will be packed for
      this conference.
      The YOURS option is for users only.

Subj: YOURS [ptr | -msgs | mm/dd/yy]
Note: Same as "ADD YOURS".
      For users only

Subj: RESET [ptr | -msgs | mm/dd/yy]
Note: Set message pointer for current conference.







_______________________________________________________________________________
Synchronet                          103                       Message Base: QWK
♀

Subj: SUBPTR [ptr | -msgs | mm/dd/yy]
Note: Same as "RESET".

Subj: RESETALL [ptr | -msgs | mm/dd/yy]
Note: Set message pointers for all conferences.

Subj: ALLPTR [ptr | -msgs | mm/dd/yy]
Note: Same as "RESETALL".

Subj: FREQ <filename>
Note: File Request from file transfer database (not attachments).  QWK netted
      BBSs will receive the requested file into their hubs IN sub-directory,
      normally located in the \SBBS\DATA\QNET directory

Subj: FILES [ON | OFF | mm/dd/yy]
Note: Include files list in packet and/or specify new-scan date.
      Specifying files with the date only will turn this option ON.
      For users only

Subj: ATTACH [ON | OFF]
Note: Include file attachments in packet automatically (e-mail only).
      For users only

Subj: OWN [ON | OFF]
Note: Include messages from you (affects all conferences).
      For users only

Subj: MAIL [ALL | ON | OFF]
Note: Include private mail-box (ALL includes previously read mail).
      For users only

Subj: DELMAIL [ON | OFF]
Note: Automatically delete mail-box after successful packet download.
      For users only

Subj: CTRL-A [KEEP | EXPAND | STRIP]
Note: Ctrl-A color/attribute codes - leave-in, expand to ANSI, or remove.

Subj: NDX [ON | OFF]
Note: Include index (.NDX) files (not necessary for Synchronet QWKnet)

Subj: CONTROL [ON | OFF]
Note: Include control files (DOOR.ID, CONTROL.DAT, NETFLAGS.DAT, etc)

Subj: VIA [ON | OFF]
Note: Include messge path (@VIA) line in messages.

Subj: TZ [ON | OFF]
Note: Include time zone (@TZ) line in messages.






_______________________________________________________________________________
Synchronet                          104                       Message Base: QWK
♀

Downloading Files in QWK
========================
If there are any files in the batch download queue when a QWK packet is
created, they will be added to the QWK packet automatically. This is what
makes the FREQ control command so useful. A user (or QWK network node) just
posts a message (on any sub-board) to SBBS with the title "FREQ FILENAME.EXT"
(where FILENAME.EXT is the filename and extension of the file to download).
When the REP packet is extracted, the requested file (if found) is added to
the batch download queue. Then when a QWK packet is created, the file is
automatically included. Multiple file requests can be made and all files
will be included in the QWK packet.

Sending Netmail via QWK
=======================
If a user wishes to send netmail via a QWK packet generated from his offline
mail reader, he must post a message in the E-mail conference (number 0) with
the name and address of the recipient in the TO field of the message.
(e.g. John Doe @1:103/715 would be a valid Fidonet netmail address, or
[email protected] would be a valid Internet netmail address).
This will not work if the user does not have the ability to send netmail.

If the entire netmail address is too long to fit into the TO field (up to
25 characters), the user can alternately place the word "NETMAIL" in the TO
field, and place the netmail address (name@addr) of the recipient on the FIRST
LINE of the message body.  Note that the '@' symbol MUST be present in a
netmail address if used in the 'to' field.





























_______________________________________________________________________________
Synchronet                          105                       Message Base: QWK
♀

Networking
==========

Selecting the Networks option from the SCFG will produce a list of available
network technologies.

                       ╔[■][?]══════════════════════════╗
                       ║            Networks            ║
                       ╠════════════════════════════════╣
                       ║ │QWK Packet Networks           ║
                       ║ │FidoNet EchoMail and NetMail  ║
                       ║ │PostLink Networks             ║
                       ║ │Internet NetMail              ║
                       ╚════════════════════════════════╝

Select the network technolgoy of your interest and refer to the following
section that pertains to your selected network technology.

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

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 consists of a tear line and the Synchronet product name:
---
 ■ Synchronet ■

The configured tagline text will be attached to the end of the above tagline.

















_______________________________________________________________________________
Synchronet                          106                         Networking: QWK
♀

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.
                             ╔[■][?]══════════════╗
                             ║  QWK Network Hubs  ║
                             ╠════════════════════╣
                             ║ │VERT              ║
                             ║ │                  ║
                             ╚════════════════════╝

Selecting a hub from the list of available hubs will produce a sub-menu:

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     VERT Network Hub                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Hub System ID              VERT                         ║
          ║ │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 Frequency         4 times a day                ║
          ║ │Networked Sub-boards...                                 ║
          ╚══════════════════════════════════════════════════════════╝

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

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


_______________________________________________________________________________
Synchronet                          107                         Networking: QWK
♀

Networked Sub-boards
~~~~~~~~~~~~~~~~~~~~
Selecting this option will give a sub-menu containing a list of networked
sub-boards that will look something like this:

                 ╔[■][?]══════════════════════════════════════╗
                 ║            Networked Sub-boards            ║
                 ╠════════════════════════════════════════════╣
                 ║ │DOVE-Net        General                   ║
                 ║ │DOVE-Net        Entertainment             ║
                 ║ │DOVE-Net        Debate                    ║
                 ║ │DOVE-Net        Hardware/Software Help    ║
                 ║ │DOVE-Net        Programming               ║
                 ║ │DOVE-Net        Synchronet                ║
                 ║ │DOVE-Net        Synchronet Sysops         ║
                 ║ │DOVE-Net        Domain Product Info       ║
                 ║ │DOVE-Net        Synchronet Data           ║
                 ║ │                                          ║
                 ╚════════════════════════════════════════════╝

For each sub-board the following options are available:

         ╔[■][?]══════════════════════════════════════════════════════╗
         ║                      Netted Sub-board                      ║
         ╠════════════════════════════════════════════════════════════╣
         ║ │Sub-board             DOVE-Net General                    ║
         ║ │Conference Number     2001                                ║
         ║ │Ctrl-A Codes          Leave in                            ║
         ╚════════════════════════════════════════════════════════════╝

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 version 2 BBS and the sub-board is the
        second sub-board in the first group, the conference number is 1002; if
        the sub-board is the first sub-board in the third group, the conference
        number is 3001, 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".







_______________________________________________________________________________
Synchronet                          108                         Networking: QWK
♀

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 1001, Group 2 / Sub 3 is
conference 2003, 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.
If your hub is a Synchronet BBS, use the included QNET module (*QNET),
otherwise you probably use a batch file to execute a scripted terminal program.
Example scripts for Telix, Robocomm, and Qmodem are included in the EXEC
directory (SBBSQNET.*).


























_______________________________________________________________________________
Synchronet                          109                         Networking: QWK
♀

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 level you've given the account.

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.


































_______________________________________________________________________________
Synchronet                          110                         Networking: QWK
♀

Step-by-step Instructions for Joining DOVE-Net
==============================================

DOVE-Net is a message base network connecting numerous BBSs and users on
those BBSs together through QWK and Fido network technologies. DOVE-Net
consists of primarily Synchronet BBSs. This is due to the fact that the
co-founders of DOVE-Net are also the developers of Synchronet BBS software.
DOVE-Net is not limited to one specific BBS package and welcomes any QWK or
Fido network compatible BBS to join as long as their software of choice does
not interfere with the operation of the network in any way.

For more information on DOVE-Net, download DOVE-NET.ZIP from the Digital
Dynamics' support BBS.

To join DOVE-Net:

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

2.      Select "Message Areas" and hit ENTER. If a DOVE-Net message group is
        already configured, hit ESC and skip to step 25.

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.












_______________________________________________________________________________
Synchronet                          111                         Networking: QWK
♀

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 Notices              SBBS Notes      SYNCNOTE
        Synchronet Discussion           Synchronet      SYNCMAIN
        Synchronet Sysops Only          SBBS Sysop      SYNC_SYS
        Synchronet Programming          SBBS Prog       SYNCPROG
        Synchronet Data                 Sync Data       SYNCDATA
        Domain Product Info             Domain Q&A      DOMAIN

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 HOME, ENTER, 'Y', then ENTER to set "Allow Private Posts" to "Yes".

21.     Hit 'Q', 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 'W' 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".

_______________________________________________________________________________
Synchronet                          112                         Networking: QWK
♀


32.     Now hit ENTER to edit the new hub. The window should look like this:
        (replace YOURPASS with the password you want to use for your account)

        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 VERT 1-714-529-9721 YOURPASS 100
        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 "2001" 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                         2001
        Advertisements                  2002
        Entertainment                   2003
        Debate                          2004
        Hardware/Software Help          2005
        Programming                     2006
        Synchronet Notices              2012 *
        Synchronet Discussion           2007
        Synchronet Sysops Only          2008 **
        Synchronet Programming          2013
        Synchronet Data                 2010 ***
        Domain Product Info             2009

       * Posting Requirements for the Synchronet Notices sub-board must be set
         to 'REST Q'.

      ** Access Requirements for the Synchronet Sysops Only sub-board must be
         set to 'LEVEL 90 OR REST Q'.

     *** Access Requirements for the Synchronet Data sub-board must be set to
         'REST Q'.

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

_______________________________________________________________________________
Synchronet                          113                         Networking: QWK
♀


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

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

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

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

46.     Now hit ESC to exit SCFG.

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

48.     You will need to post a "start-up" message in each DOVE-Net sub-board
        to guarantee that it is added to your new message scan on your DOVE-Net
        host BBS. Post the message to "SBBS" with a title of "CTRL-A KEEP"
        to tell the hub system to retain Ctrl-A codes in messages when creating
        your QWK packets.

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

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 may flood the network with duplicate messages.
















_______________________________________________________________________________
Synchronet                          114                         Networking: QWK
♀

Transferring Files Through QWK Network
======================================
Synchronet allows the transferring of files between a QWK network node and hub
with great simplicity. If you wish to send a file to a QWK network hub (your
system calls directly) or QWK network node (their system calls yours directly),
create a DOS subdirectory of DATA\QNET\QWKID.OUT, where QWKID is the QWK ID of
the system to which you are sending the file. Copy any files you wish to send
to this system into this directory. The next time the systems network with
each other, the files will be sent.

If your system is a QWK network node, you may request a file from your hub
by posting a private message to SBBS on any of the networked sub-boards you
get from your hub. The title of the message must contain "FREQ FILENAME.EXT"
where FILENAME.EXT is the filename and extension of the file to download.

When files are received through a QWK network, the sysop is notified of the
received file upon next logon. The file will be automatically placed in the
subdirectory DATA\QNET\QWKID.IN, where QWKID is the QWK ID of the system
that sent the file.

The transferring of files can be made automated for other programs to share
data over the network. One popular use for this is Online Games that support
inter-BBS play. One such game is Barren Realms Elite (BRE), see the external
programs section for more information on this.































_______________________________________________________________________________
Synchronet                          115                         Networking: QWK
♀

PostLink Networking
===================

PostLink is a 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 a few other networks use this technology. Selecting this option from the
networks menu will bring up the following sub-menu:

                      ╔[■][?]═══════════════════════════╗
                      ║  PostLink and PCRelay Networks  ║
                      ╠═════════════════════════════════╣
                      ║ │Network Hubs...                ║
                      ║ │Site Name           VERTRAUEN  ║
                      ║ │Site Number         5115       ║
                      ╚═════════════════════════════════╝

Site Name:
        This is the site name to be used for your BBS.

Site Number:
        This is the site number which is assigned to you by the network
        coordinator.

Selecting Network Hubs from this menu will display a list of available hubs.
Hubs can be added and/or removed from this menu.

                        ╔[■][?]═══════════════════════╗
                        ║  PostLink and PCRelay Hubs  ║
                        ╠═════════════════════════════╣
                        ║ │SCCM                       ║
                        ║ │                           ║
                        ╚═════════════════════════════╝






















_______________________________________________________________________________
Synchronet                          116                    Networking: PostLink
♀

Selecting one of the available network hubs from this list will allow you to
configure the call-out information for that hub.

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     SCCM Network Hub                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Hub Site Name              SCCM                         ║
          ║ │Call-out Command Line      %!pnet                       ║
          ║ │Call-out Node              1                            ║
          ║ │Call-out Days              Sun Mon Tue Wed Thu Fri Sat  ║
          ║ │Call-out Time              04:50                        ║
          ╚══════════════════════════════════════════════════════════╝

Hub Site Name:
        This is the name of your network hub.

Call-out Command Line:
        This is the command line which will be executed to perform the call-out
        for this hub.

Call-out Node:
        This is the number of the node which will perform the call-out for this
        hub.

Call-out Days:
        This allows you to select the days on which call-outs to this hub will
        occur.

Call-out Time:
        This allows you to select the time when call-outs to this hub will
        occur.

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 information on the Synchronet UTI Driver.

Be sure to set the "PostLink Networked" Netork Option to 'Yes' for each of
your PostLink networked sub-boards.













_______________________________________________________________________________
Synchronet                          117                    Networking: PostLink
♀

FidoNet Networking
==================

FidoNet is both a network technology (referred to as FTN) and an actual message
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, InterMail, 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 possibly 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. See Appendix B for all the available
switches for running Synchronet.

SBBSecho is an included Synchronet utiltiy (registered seperately) to
import/export NetMail and EchoMail bundles/packets.

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.














_______________________________________________________________________________
Synchronet                          118                     Networking: FidoNet
♀

Step-by-Step instructions for setting up FidoNet using SBBSecho and InterMail
=============================================================================

One of the most difficult tasks that the novice sysop will encounter is the
setting up of FidoNet.  These instructions will take you step by step through
the process of setting up FidoNet on your BBS.  Be warned that these steps are
very basic, just enough to get FidoNet up and running on your system, but it
may still be necessary for you to refer to the documentation which accompanies
the programs referred to in these steps.  For any advanced operations you will
definitely need to refer to the documentation of programs referred to in these
steps.  If you know of anyone who is already on FidoNet that is willing to help
you out, by all means ask them for their help!

NOTE that while it doesn't cost anything to have a node number (for sending
and receiving netmail) or to receive local conferences, there is usually a
nominal fee (called "cost recovery") to receive conferences from the FidoNet
backbone or files from the FidoNet filebone.

 1) First of all you will need to obtain a copy of FidoNet's Policy 4 document
    (the filename is usually POLICY4.ZIP or POLICY4.TXT), a recent nodelist
    (usually named NODELIST.???), AND a front-end mailer program.  All three of
    these can normally be downloaded from any local BBS which carries FidoNet
    (if not, an e-mail to the sysop of a FidoNet BBS can usually point you in
    the right direction).  There are several front-end mailers available such
    as FrontDoor, InterMail, D'Bridge, SEAdog, Dutchie, BinkleyTerm, and Portal
    of Power to name a few (the latter two are referred to as "FLO-Style"
    mailers and the others are referred to as "Attach-Style" mailers).  Most
    front-end mailers offer a limited evaluation version which you can try out
    before you decide to purchase the program.

 2) Read the Policy 4 document, it will give you information about FidoNet as
    well as some specifics on how to obtain a node number for your system.

 3) If you do not plan to run InterMail (or FrontDoor which is very similar)
    you must set up the front-end mailer you plan to use by following the
    directions which accompany the program and then skip to step number 9.
    The documentation will also tell you how to "compile" the nodelist file
    you've downloaded so that your front-end mailer can use it.  Use the
    temporary address specified in Policy 4 when specifying your node address
    in the front-end mailer.















_______________________________________________________________________________
Synchronet                          119                     Networking: FidoNet
♀

Setting up InterMail v2.xx or FrontDoor v2.xx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4) Install InterMail per IM.DOC (included with InterMail).

    a) If using FrontDoor, follow the FD.DOC file and substitute the letters FD
       where ever you see an IM in this section.

 5) Copy the MAILER.BAT included with SBBSecho and the EXEBBS.BAT from the
    Synchronet DOCS directory into the InterMail directory (C:\IM).

 6) Change into the InterMail directory, run IMSETUP, and perform the
    following:

    a) Under Global->Address->Main, enter your FidoNet address (or the
       temporary address specified in Policy 4 until such time as you have
       received your own address).

    b) Under Global->Filenames, verify that the paths are set similar to the
       following:

  ╔══════════════════════════════════════════════════════ Filenames and paths ╗
  ║                                                                           ║
  ║ System    C:\IM\SYSTEM\       (or C:\FD\ for FrontDoor)                   ║
  ║ Netmail   C:\IM\MAIL\                                                     ║
  ║ Files     C:\IM\INBOUND\                                                  ║
  ║ Sec Files C:\IM\INBOUND\                                                  ║
  ║*Packets   C:\IM\PACKETS\                                                  ║
  ║*Log file  C:\IM\IM.LOG                                                    ║
  ║ Banner                                                                    ║
  ║ Nodelist  C:\IM\NODELIST\                                                 ║
  ║ In-event                                                                  ║
  ║ Hudsonfmt                                                                 ║
  ║ Wildcat!                                                                  ║
  ║ Swapping  C:\IM\                                                          ║
  ║ Semaphore C:\IM\                                                          ║
  ║                                                                           ║
  ║ * = Must be unique for each Mail Server                                   ║
  ╚═══════════════════════════════════════════════════════════════════════════╝

    c) Under Modem->Advanced Setup->Connect Strings set ALL "BBSexit" levels
       to 100.  (For FrontDoor under Mailer->Errorlevels set all baud rates to
       100, Received Mail to 50, and Create .BAT file to Yes).

    d) 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.









_______________________________________________________________________________
Synchronet                          120                     Networking: FidoNet
♀

    e) Under Manager->Events, add the following event:

  ╔═════════════════════════════════════════════════════════════════════ Edit ╗
  ║ Tag         X                                                             ║
  ║ Days        -------A                                                      ║
  ║ Modifier    Ignore eventbase (*)                                          ║
  ║ Start time  04:30                                                         ║
  ║ Length      00:01                                                         ║
  ║ Errorlevel  75                                                            ║
  ║ Not used                                                                  ║
  ║ Behavior                                                                  ║
  ║ Use alias   1:103/705                                                     ║
  ║ Retry delay 0                                                             ║
  ║ Comment     Synchronet exclusive event                                    ║
  ║───────────────────────────────────────────────────────────────────────────║
  ║ Event tag A..YZ - eXternal event, errorlevel is required                  ║
  ╚═══════════════════════════════════════════════════════════════════════════╝

    f) Under Mailer->Misc, set "Trigger exit upon receipt of netmail" and
       "Upon receipt of ANY file" to Yes. This will allow for the immediate
       importation of NetMail and any File Distribution Echoes you may carry.

    g) Under Modem->Hardware, set "Lower DTR when busy" to "No".

    h) Under Modem->Command strings, set the "Down" string to "ATM0H1|".

    i) Exit IMSETUP.

 7) Unarc the nodelist file (NODELIST.???) that you downloaded previously
    into your nodelist directory.

 8) Now run IMNC to compile the nodelist.























_______________________________________________________________________________
Synchronet                          121                     Networking: FidoNet
♀

Settup up FidoNet in SCFG
~~~~~~~~~~~~~~~~~~~~~~~~~
 9) Run SCFG from one of your node directories, or hit 'C' from the waiting for
    caller screen.  Then select Networks->FidoNet EchoMail and NetMail.
    You'll then be brought to a menu that should be set up similar to this:

          ╔[■][?]════════════════════════════════════════════════════╗
          ║               FidoNet EchoMail and NetMail               ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │System Addresses           1:103/705                    ║
          ║ │Default Outbound Address   No                           ║
          ║ │Default Origin Line                                     ║
          ║ │NetMail Semaphore          C:\IM\IMRESCAN.NOW           ║
          ║ │EchoMail Semaphore         C:\IM\IMEXIT.025             ║
          ║ │Inbound File Directory     C:\IM\INBOUND\               ║
          ║ │EchoMail Base Directory                                 ║
          ║ │NetMail Directory          C:\IM\MAIL\                  ║
          ║ │Allow Sending of NetMail   Yes                          ║
          ║ │Allow File Attachments     Yes                          ║
          ║ │Send NetMail Using Alias   No                           ║
          ║ │NetMail Defaults to Crash  No                           ║
          ║ │NetMail Defaults to Direct No                           ║
          ║ │NetMail Defaults to Hold   No                           ║
          ║ │Kill NetMail After Sent    Yes                          ║
          ║ │Cost to Send NetMail       102400                       ║
          ╚══════════════════════════════════════════════════════════╝

    a) For FrontDoor the NetMail Semaphore file should be set to
       C:\FD\FDRESCAN.NOW and the EchoMail Semaphore file should be set
       to C:\FD\FDEXIT.025.

    b) For FrontDoor version 2.11, the EchoMail Semaphore file should be
       set to C:\FD\FDXIT.025.

    c) For FrontDoor version 2.20 (commercial, multinode), the EchoMail
       Semaphore file should be set to C:\FD\FDXIT#.025, where # is the
       node number (0 based).

10) Set your address to your system's FidoNet address (or the temporary address
    specified in Policy 4 until such time as you have received your own
    address).  This is the address used for sending and receiving NetMail. It
    will also be used as the default address for message sub-boards.

11) Create an origin line for your system that most likely contains your BBS
    name and phone number.










_______________________________________________________________________________
Synchronet                          122                     Networking: FidoNet
♀

12) Following is an overview of the remaining options available on this menu:

    a) System Addresses:
       This option will bring you to a sub-menu to allow you to configure
       different addresses (AKAs) for your system. Following is an example
       for a BBS configured for two fido type networks.

                         ╔[■][?]══════════════════════╗
                         ║      System Addresses      ║
                         ╠════════════════════════════╣
                         ║ │Main     1:103/705        ║
                         ║ │AKA 1    1:103/706        ║
                         ║ │AKA 2    85:805/205       ║
                         ║ │                          ║
                         ╚════════════════════════════╝

    b) Default Outbound Address:
       When a user sends netmail, this is the 'send to' address that is used
       as a default (useful for FidoNet<->Internet gateways).

    c) NetMail Semaphore:
       This is the name of the trigger file which will cause your front-end
       mailer to exit and scan for outgoing netmail.

    d) EchoMail Semaphore:
       This is the name of the trigger file which will cause your front-end
       mailer to exit and scan for outgoing echomail.

    e) Inbound File Directory:
       This is the name of the directory where your front-end mailer stores
       incoming files.

    f) EchoMail Base Directory:
       This is the base directory for your echomail subdirectories

    g) NetMail Directory:
       This is the name of the directory where your front-end mailer looks for
       and places netmail.

    h) Allow Sending of NetMail:
       When set to 'Yes' users can send netmail from your system.

    i) Allow File Attachments:
       When set to 'Yes' users can send netmail file attachments from your
       system.

    j) Send NetMail Using Alias:
       When set to 'Yes' the user alias will be used (rather than their
       real name) on outgoing netmail.

    k) NetMail Defaults to Crash:
       If set to 'Yes' netmail sent from your system will default to crash
       status (send immediately and directly).


_______________________________________________________________________________
Synchronet                          123                     Networking: FidoNet
♀

    l) NetMail Defaults to Direct:
       If set to 'Yes' netmail sent from your system will default to direct
       status (send directly).

    m) NetMail Defaults to Hold:
       If set to 'Yes', netmail sent from your system will default to hold
       status.

    n) Kill NetMail After Sent:
       Setting this to 'Yes' will delete outgoing netmail after it has been
       sent.

    o) Cost to Send NetMail:
       This is the cost (in credits) that a user will be charged when sending
       netmail.

13) Setup SBBSecho by running the ECHOCFG program and reading the documentation
    for information on the available options.

    a) Under Paths...->Outbound Directory be sure to enter the path where
       outgoing mail packets and bundles should be placed (ie: C:\IM\OUTBOUND).

    b) Select the appropriate Mailer Type.

    c) Enter your registration number (if you are a registered owner of the
       SBBSecho program).

14) Once you have done this you must now run the file MAILER.BAT (if using an
    Attach-Style mailer) to use Synchronet with your front-end mailer.
    MAILER.BAT must be run from your front-end mailer's directory (e.g. C:\IM).
    You will no longer run the file SBBS.BAT to start this node (if you run a
    multi-node system, you will still use SBBS.BAT to start those nodes which
    are not using a front-end mailer).

    a) If you are NOT using InterMail as your front-end mailer, be sure to
       modify your MAILER.BAT file to reflect the front-end mailer that you
       are using.

15) Follow the instructions given in the Policy 4 document to determine who
    you should send netmail to in order to obtain your own node number.

16) Now, from your front end mailer, send a netmail to this person following
    the instructions contained in the Policy 4 document.  Once you have done
    this and the netmail has been sent, you should patiently await a netmail
    reply containing your node number and the node number of your hub (where
    you will send/receive your echomail and netmail to/from).

17) Once you have received your node number, you'll want to replace the
    temporary node number you used in your front-end mailer as well as in
    SCFG->Networks->FidoNet Echomail and Netmail->System Addresses to it.





_______________________________________________________________________________
Synchronet                          124                     Networking: FidoNet
♀

18) Send your hub a message with the Area Manager (for the backbone <echomail>)
    and Areafix (for the filebone <files>) passwords you wish to use on their
    systems.  You will need to remember these passwords as you will be using
    them to do remote maintenance (such as adding and removing conferences and
    file areas that you wish to receive).

19) Your hub should respond with Area Manager instructions and a list of areas
    available for you to connect to.  If not, contact your hub for more
    information.

20) Look through the list of areas available to you and determine which
    conferences you'd like to carry.  In SCFG->Message Areas create a
    message group(s) for the conferences you'd like to carry.  When setting
    up a sub-board for a conference, be sure to use the "Area Tag" name
    given in the area list as the sub-board Short Name.

    a) Under Network Options... for each sub-board toggle the FidoNet
       Echomail option toggled to YES.

    b) If the conference requires a different address, configure the address
       under Network Options...

    c) If you allow aliases on your system, under Toggle Options... set Use
       Real Names to YES.

    d) If you are unfamiliar with adding message groups and/or sub-boards,
       consult that section of the Synchronet System Operator's Manual.

    e) For a more complete list of conferences available on the FidoNet
       backbone you may wish to download the file FIDONET.NA from either your
       hub or a local FidoNet BBS.  This file contains a list of ALL
       conferences carried on the backbone.

21) Once you have set up all of the conferences you'd like to carry, you'll
    need to go to SCFG->Message Areas-><group>->Export Areas...->AREAS.BBS
    (SBBSecho) to create an AREAS.BBS file for SBBSecho to use.

22) Now following the Area Manager instructions, send a message to your hub's
    Area Manager and turn on all of the conferences you wish to carry.  Note
    that there are some administrative conferences for FidoNet that your
    users shouldn't be able to read or post on, and some that even you
    shouldn't post on, there is also usually a "test" conference which you may
    want to set up to post messages on and insure that echomail is being sent
    and received properly.

23) That's about all there is to it.  You are now set up on FidoNet and should
    be able to send and receive FidoNet echomail and netmail.








_______________________________________________________________________________
Synchronet                          125                     Networking: FidoNet
♀

Examples for Receiving File Echoes via TICK (third party file echo program)
===========================================================================

Example TIC.CFG:

---------------------------------[ Begin ]-------------------------------------
IN c:\fd\file
ZONE 1 c:\fd\-mailout
NET 2
NODE 3
HOLD c:\fd\tickhold
QDIR c:\fd\tickqdir
FDLog

AREA j:\fido\backbone BACKBONE
1:2/1 xxxxx *

AREA j:\fido\SOFTDIST SOFTDIST
1:2/1 xxxxx *
---------------------------------[  End  ]-------------------------------------

In MAILER.BAT, at the end of the ":inmail" block, before "goto top":

---------------------------------[ Begin ]-------------------------------------
set tz=PST8EDT
tick >> fd.log
set tz= 
%sbbs%\exec\addfiles * /diz
---------------------------------[  End  ]-------------------------------------


























_______________________________________________________________________________
Synchronet                          126                     Networking: FidoNet
♀

Setting up ALLFIX (third party file echo program) with Synchronet BBS Software
==============================================================================

In ASETUP->System data->Global Options:

╒════════════════════════════════════════════════════════════ Global options ╕
│                                                                            │
│ Keep original file date Yes             Replace extension       No         │
│ Mailer rescan           FrontDoor       Max age of requests     0          │
│ Log style               FrontDoor       Keep exported messages  No         │
│ Mailer mode             FrontDoor       Days to keep on hold    30         │
│ Download counters                       Size of stat file       0          │
│ Update DESCRIPT.ION     No              Max TIC archive size    0          │
│ Date format             mm-dd-yy        Max size to pack        0          │
│ Min HD space to import  1024            UTC offset              -8         │
│ Process local requests  No              Max Msg size            0          │
│ MSG compatibility       Fido                                               │
│ Dupe checking           Filename                                           │
│                                                                            │
│────────────────────────────────────────────────────────────────────────────│
│                                                                            │
│ LongDesc character                      One line LongDesc       No         │
│ Filter LongDesc         No              Max len of LongDesc     0          │
│ Spaces to indent        1               Add tag to desc         No         │
│                                                                            │
╘════════════════════════════════════════════════════════════════════════════╛

Edit your MAILER.BAT:

Search for "set sbbs="
Add "set allfix=c:\allfix"

Search for ":inmail"
Add "%allfix%\allfix file mgr"
Add "%sbbs%\exec\addfiles * /diz"

Search for ":outmail"
Add "%allfix%\allfix file"

















_______________________________________________________________________________
Synchronet                          127                     Networking: FidoNet
♀

Sending FidoNet NetMail
=======================

Once you have a FidoNet address and have your Front-end mailer functioning
properly, you may send NetMail messages and allow, if you wish, your users
to send NetMail. You can set a NetMail cost in credits for users in SCFG->
Networks->FidoNet EchoMail and NetMail->NetMail Cost. Sysops and users with
the 'S' exemption will not be charged credits when sending NetMail. Users
with the 'M' restriction are not allowed to send NetMail. Users will not
be allowed to send NetMail at all, if the sysop has set SCFG->Networks->FidoNet
EchoMail and NetMail->Allow Sending of NetMail to No.

Users can optionally set a NetMail forwarding address for their account using
the "Account Defaults" menu. If the user has a NetMail address specified,
any E-mail set to that account will be automatically forwarded to the NetMail
address if the sending user wishes. This is useful for users who can receive
FidoNet NetMail on a "home" BBS system and prefer to receive their E-mail there
instead of on this particular system.

Sysops and users with the 'F' exemption can also perform other special
functions with NetMail. If NetMail Defaults to Crash status is OFF, sysops
and 'F' exempted users can override this by starting their NetMail title
with "CR:" setting the Crash status ON for that NetMail message.

Sysops and 'F' exempted users may also send File Requests by starting the title
with "FR:" and then the filename(s) being requested follow on the title. If
multiple filenames are requested, they must be separated by a space.
Example: "FR: FILE1.EXT FILE2.EXT".

Sysops and 'F' exempted users may also send File Attachments from anywhere
on the system (potentially dangerous) by starting the title with "FA:" and then
the filename(s) to attach to the netmail message. This allows the sysop to
send a file attachment to multiple users without creating multiple copies of
the attachment or requiring the attachment to be copied into the Synchronet
DATA\FILE\xxxx.OUT directory of the sending user. Since the sending user
(sysop or 'F' exempt) can attach ANY file on the system, the 'F' exemption
and sysop security level (90+) should given out with extreme caution.

Sysops and 'F' exempted users can also request a return receipt by starting
the title with "RR:". "CR:", "FR:", "RR:", and "FA:" may be used in combination
with one another, but must be specified in that order.
Example: "CR: RR: This is my title".

The "xx:" specifiers and an optional trailing space are eliminated from
the final title for the NetMail message.
Example: "CR:Hello" or "CR: Hello"
Becomes: "Hello" before it is sent out by Synchronet.








_______________________________________________________________________________
Synchronet                          128             Networking: FidoNet NetMail
♀

Internet Networking
===================

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     Internet NetMail                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │System Address             homebbs.com                  ║
          ║ │NetMail Semaphore                                       ║
          ║ │Allow Sending of NetMail   No                           ║
          ║ │Allow File Attachments     No                           ║
          ║ │Send NetMail Using Alias   Yes                          ║
          ║ │Cost to Send NetMail       0                            ║
          ╚══════════════════════════════════════════════════════════╝

System Address:
        This is the Internet address for your BBS.

NetMail Semaphore:
        This is the name of the trigger file which will cause your Internet
        mail program to exit and scan for outgoing netmail.

Allow Sending of NetMail:
        When set to 'Yes' users can send Internet netmail from your system.

Allow File Attachments:
        When set to 'Yes' users can attach files to the Internet netmail that
        they are sending.

Send NetMail Using Alias:
        When set to 'Yes' the user alias will be used (rather than their
        real name) on outgoing Internet netmail.

Cost to Send NetMail:
        This is the cost (in credits) that a user will be charged when sending
        Internet netmail.

In order for your BBS to support Internet networking (including such things as
sending/receiving Internet netmail and newsgroups, FTP, Telnet, etc.) it is
required that you obtain a third party program such as NetXpress or BBSNet.  It
is also possible (but not recommended) to use a Fido->Internet or a
QWK->Internet gateway (usually available as shareware software).














_______________________________________________________________________________
Synchronet                          129                    Networking: Internet
♀

File Transfers
==============

The Synchronet file transfer section is used for transferring data and program
files between the BBS and the remote user. Files are stored in a logical
hierarchy of libraries and directories. A library is a group of directories
that contain files of a similar subject matter.

An example file library/directory configuration:

Library Name            Directory
---------------------------------
Main                    Text
                        Utilities
                        Business
                        Graphics
                        Games
                        Communications
                        Miscellaneous

Adult                   Text
                        Animation
                        GIF files
                        TGA files

DOS CD-ROM              Utilities
                        Device Drivers
                        Business
                        Games
                        Communications
                        Programming

Windows CD-ROM          Utilities
                        BMP files
                        WAV files
                        Device Drivers
                        Games
                        Desktop Publishing
                        Fonts
















_______________________________________________________________________________
Synchronet                          130                          File Transfers
♀

Setting Up the File Transfer Section
====================================

Run the SCFG utility, and select File Options from the menu. Following are
example screens and the options available from the File Options sub-menu.

File Options
~~~~~~~~~~~~

    ╔[■][?]════════════════════════════════════════════════════════════════╗
    ║                      File Transfer Configuration                     ║
    ╠══════════════════════════════════════════════════════════════════════╣
    ║ │Min Bytes Free Disk Space        20000k                             ║
    ║ │Max Files in Batch UL Queue      10                                 ║
    ║ │Max Files in Batch DL Queue      30                                 ║
    ║ │Max Users in User Transfers      10                                 ║
    ║ │Default Credit on Upload         100%                               ║
    ║ │Default Credit on Download       90%                                ║
    ║ │Leech Protocol Detection         90% after 60 seconds               ║
    ║ │Viewable Files...                                                   ║
    ║ │Testable Files...                                                   ║
    ║ │Download Events...                                                  ║
    ║ │Extractable Files...                                                ║
    ║ │Compressable Files...                                               ║
    ║ │Transfer Protocols...                                               ║
    ║ │Alternate File Paths...                                             ║
    ╚══════════════════════════════════════════════════════════════════════╝

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.

Default Credit on Upload:
        This is the default amount used for newly created directories.

Default Credit on Download:
        This is the default amount used for newly created directories.






_______________________________________________________________________________
Synchronet                          131                Setting up File Sections
♀

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. This option also allows you to set the minimum amount of
        elapsed transfer time to be considered for a possible leech download.

        Leech protocol programs are file transfer programs (usually using
        Zmodem technology) that attempt to "fool" the BBS into thinking the
        file was not successfully transferred, when in reality it was. This is
        accomplished by the transfer program requesting a reposition (ZRPOS)
        after the last successful block and then aborting (ZCAN). A file
        transferred in this manner will not be considered a successful transfer
        by Synchronet, but will be caught as a possible leech download and
        notify the sysop (if this option is used).

        This feature is also useful for detecting the partial download of image
        (GIF) files. If you charge your users credits for downloads, this can
        be a very useful feature in detecting dishonest users. If the user
        accumulates a large number of leeches (as displayed in User Edit) and
        the user never successfully downloads a file previously logged as a
        possible leech download, the user is probably trying to get something
        for nothing, though this is hard to prove without actually watching
        the file transfer in progress.




























_______________________________________________________________________________
Synchronet                          132                Setting up File Sections
♀

Viewable Files
--------------

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

               ╔[■][?]══════════════════════════════════════════╗
               ║               Viewable File Types              ║
               ╠════════════════════════════════════════════════╣
               ║ │ZIP  %!pkunzip -v %s                          ║
               ║ │EXE  %!pkunzip -v %s                          ║
               ║ │ARJ  %!arj v -y %s                            ║
               ║ │LZH  %!lha v /m %s                            ║
               ║ │PAK  %!pak v %s                               ║
               ║ │GIF  %!gifdir %s                              ║
               ║ │NFO  *type %s                                 ║
               ║ │FAQ  *type %s                                 ║
               ║ │TXT  *type %s                                 ║
               ║ │DOC  *type %s                                 ║
               ║ │ANS  *type %s                                 ║
               ║ │ASC  *type %s                                 ║
               ║ │RIP  *type %s                                 ║
               ║ │MSG  *type %s                                 ║
               ╚════════════════════════════════════════════════╝

NOTE: When you select a file type from this list, you will be given one
      additional option (Access Requirements) which is not shown here.
      Users not meeting any access requirements which are set will not
      be able to perform, or be affected by, that function.

























_______________________________________________________________________________
Synchronet                          133                Setting up File Sections
♀

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. Shown is an example list of file types, and their
respective sub-menus and configurations:

               ╔[■][?]══════════════════════════════════════════╗
               ║               Testable File Types              ║
               ╠════════════════════════════════════════════════╣
               ║ │ZIP  %!pkunzip -t %f                          ║
               ║ │ZIP  %!pkzip -z %f < ..\text\zipmsg.txt       ║
               ║ │LZH  %!lha t /m %f                            ║
               ║ │ARJ  %!arj t -y %f                            ║
               ╚════════════════════════════════════════════════╝

ZIP type files:

      ╔[■][?]═══════════════════════════════════════════════════════════╗
      ║                        Testable File Type                       ║
      ╠═════════════════════════════════════════════════════════════════╣
      ║ │File Extension        ZIP                                      ║
      ║ │Command Line          %!pkunzip -t %f                          ║
      ║ │Working String        Testing ZIP Integrity...                 ║
      ║ │Access Requirements                                            ║
      ╚═════════════════════════════════════════════════════════════════╝

To add a ZIP comment to a ZIP type file:

      ╔[■][?]═══════════════════════════════════════════════════════════╗
      ║                        Testable File Type                       ║
      ╠═════════════════════════════════════════════════════════════════╣
      ║ │File Extension        ZIP                                      ║
      ║ │Command Line          %!pkzip -z %f < ..\text\zipmsg.txt       ║
      ║ │Working String        Adding ZIP Comment...                    ║
      ║ │Access Requirements                                            ║
      ╚═════════════════════════════════════════════════════════════════╝









_______________________________________________________________________________
Synchronet                          134                Setting up File Sections
♀

ARJ type files:

      ╔[■][?]═══════════════════════════════════════════════════════════╗
      ║                        Testable File Type                       ║
      ╠═════════════════════════════════════════════════════════════════╣
      ║ │File Extension        ARJ                                      ║
      ║ │Command Line          %!arj t %f                               ║
      ║ │Working String        Testing ARJ Integrity...                 ║
      ║ │Access Requirements                                            ║
      ╚═════════════════════════════════════════════════════════════════╝

GIF type files:

      ╔[■][?]═══════════════════════════════════════════════════════════╗
      ║                        Testable File Type                       ║
      ╠═════════════════════════════════════════════════════════════════╣
      ║ │File Extension        GIF                                      ║
      ║ │Command Line          %!gt %f                                  ║
      ║ │Working String        Testing GIF Integrity...                 ║
      ║ │Access Requirements                                            ║
      ╚═════════════════════════════════════════════════════════════════╝

If an extension of '*' is specified, all files uploaded will be tested with
this command line.  An example would be when using Domain Upload Tester from
Domain Entertainment:

               ╔[■][?]══════════════════════════════════════════╗
               ║               Testable File Types              ║
               ╠════════════════════════════════════════════════╣
               ║ │*    %!dutester %f                            ║
               ╚════════════════════════════════════════════════╝

      ╔[■][?]═══════════════════════════════════════════════════════════╗
      ║                        Testable File Type                       ║
      ╠═════════════════════════════════════════════════════════════════╣
      ║ │File Extension        *                                        ║
      ║ │Command Line          %!dutester %f                            ║
      ║ │Working String        Testing file/Scanning for viruses...     ║
      ║ │Access Requirements                                            ║
      ╚═════════════════════════════════════════════════════════════════╝

NOTE: Users not meeting any access requirements which are set will not
      be able to perform, or be affected by, that function.












_______________________________________________________________________________
Synchronet                          135                Setting up File Sections
♀

Download Events
---------------
Download events are an event that you wish to have executed before a user
downloads a file from your BBS.  This can be useful adding a comment to
a file from a CD-ROM before it gets sent to the user (as the example shows),
or to perform a virus scan, or any other function you can think of.

Here is an example showing how to change the comment in ZIP type files when
a user attempts to download a file.

               ╔════════════════════════════════════════════════╗
               ║                 Download Events                ║
               ╠════════════════════════════════════════════════╣
               ║ │ZIP  %!pkzip -z %f < ..\text\zipmsg.txt       ║
               ╚════════════════════════════════════════════════╝

Selecting the available event will allow you to edit the options available.

         ╔═══════════════════════════════════════════════════════════╗
         ║                       Download Event                      ║
         ╠═══════════════════════════════════════════════════════════╣
         ║ │File Extension        ZIP                                ║
         ║ │Command Line          %!pkzip -z %f < ..\text\zipmsg.txt ║
         ║ │Working String        Adding ZIP Comment...              ║
         ║ │Access Requirements   LIB NOT EQUAL 1                    ║
         ╚═══════════════════════════════════════════════════════════╝





























_______________________________________________________________________________
Synchronet                          136                Setting up File Sections
♀

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:

               ╔[■][?]══════════════════════════════════════════╗
               ║             Extractable File Types             ║
               ╠════════════════════════════════════════════════╣
               ║ │ZIP  %!pkunzip -o %f %g %s                    ║
               ║ │EXE  %!pkunzip -o %f %g %s                    ║
               ║ │ARJ  %!arj e -y %f %g %s                      ║
               ║ │LZH  %!lha e /m %f %g %s                      ║
               ║ │SDN  %!arj e -y %f %g %s                      ║
               ║ │PAK  %!pak e /wa %f %g %s                     ║
               ╚════════════════════════════════════════════════╝

NOTE: When you select a file type from this list, you will be given one
      additional option (Access Requirements) which is not shown here.
      Users not meeting any access requirements which are set will not
      be able to perform, or be affected by, that function.

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.






_______________________________________________________________________________
Synchronet                          137                Setting up File Sections
♀

Compressable Files
------------------

This is a list of archive file types that can be created for QWK packets
and temporary archives for download. The file types are specified by their
extension. For each file type you must specify the command line used to create
the archive. Here are some example command lines for various compression types:

               ╔[■][?]══════════════════════════════════════════╗
               ║             Compressable File Types            ║
               ╠════════════════════════════════════════════════╣
               ║ │ZIP  %!pkzip %f %s                            ║
               ║ │ARJ  %!arj a -y %f %s                         ║
               ║ │LZH  %!lha a /m %f %s                         ║
               ╚════════════════════════════════════════════════╝

For these compression command lines to work, you must have the appropriate
executable files (PKZIP, ARJ, and LHA) in your EXEC directory.





































_______________________________________________________________________________
Synchronet                          138                Setting up File Sections
♀

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 an example list of
protocols and their respective sub-menus and options:

               ╔[■][?]══════════════════════════════════════════╗
               ║             File Transfer Protocols            ║
               ╠════════════════════════════════════════════════╣
               ║ │X  %!dsz portx %u,%i est 0 %e rx %f           ║
               ║ │Y  %!dsz portx %u,%i est 0 %e rb %f           ║
               ║ │Z  %!dsz portx %u,%i est 0 %e rz %f           ║
               ║ │G  %!dsz portx %u,%i est 0 %e rb -g %f        ║
               ║ │H                                             ║
               ╚════════════════════════════════════════════════╝

DSZ Xmodem:

     ╔[■][?]══════════════════════════════════════════════════════════════╗
     ║                       File Transfer Protocol                       ║
     ╠════════════════════════════════════════════════════════════════════╣
     ║ │Mnemonic (Command Key)   X                                        ║
     ║ │Protocol Name            Xmodem                                   ║
     ║ │Access Requirements                                               ║
     ║ │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                                             ║
     ║ │Bidir Command Line                                                ║
     ║ │Uses DSZLOG              Yes                                      ║
     ╚════════════════════════════════════════════════════════════════════╝














_______________________________________________________________________________
Synchronet                          139                Setting up File Sections
♀

DSZ Ymodem:

     ╔[■][?]══════════════════════════════════════════════════════════════╗
     ║                       File Transfer Protocol                       ║
     ╠════════════════════════════════════════════════════════════════════╣
     ║ │Mnemonic (Command Key)   Y                                        ║
     ║ │Protocol Name            Ymodem                                   ║
     ║ │Access Requirements                                               ║
     ║ │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        ║
     ║ │Bidir Command Line                                                ║
     ║ │Uses DSZLOG              Yes                                      ║
     ╚════════════════════════════════════════════════════════════════════╝

DSZ Zmodem:

     ╔[■][?]══════════════════════════════════════════════════════════════╗
     ║                       File Transfer Protocol                       ║
     ╠════════════════════════════════════════════════════════════════════╣
     ║ │Mnemonic (Command Key)   Z                                        ║
     ║ │Protocol Name            Zmodem                                   ║
     ║ │Access Requirements                                               ║
     ║ │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        ║
     ║ │Bidir Command Line                                                ║
     ║ │Uses DSZLOG              Yes                                      ║
     ╚════════════════════════════════════════════════════════════════════╝

DSZ Ymodem-G:

     ╔[■][?]══════════════════════════════════════════════════════════════╗
     ║                       File Transfer Protocol                       ║
     ╠════════════════════════════════════════════════════════════════════╣
     ║ │Mnemonic (Command Key)   G                                        ║
     ║ │Protocol Name            Ymodem-G                                 ║
     ║ │Access Requirements                                               ║
     ║ │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        ║
     ║ │Bidir Command Line                                                ║
     ║ │Uses DSZLOG              Yes                                      ║
     ╚════════════════════════════════════════════════════════════════════╝








_______________________________________________________________________________
Synchronet                          140                Setting up File Sections
♀

HS/Link:

     ╔[■][?]══════════════════════════════════════════════════════════════╗
     ║                       File Transfer Protocol                       ║
     ╠════════════════════════════════════════════════════════════════════╣
     ║ │Mnemonic (Command Key)   H                                        ║
     ║ │Protocol Name            HS/Link                                  ║
     ║ │Access Requirements                                               ║
     ║ │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   ║
     ║ │Bidir Command Line       %!hslink -i2 -pb$%u -pi%i -e%e -u%g @%f  ║
     ║ │Uses DSZLOG              Yes                                      ║
     ╚════════════════════════════════════════════════════════════════════╝

NOTE: Users not meeting any access requirements which are set will not
      be able to use that protocol.

IMPORTANT: If you have Synchronet set to use anything other than UART
           you will not be able to use the DSZ transfer protocols and will
           need to locate a set of protocols that will work with your setup.
           If you are using a UART serial board, there is no reason why
           Synchronet should not be set to use UART.  Just because a front-end
           mailer or door game requires a FOSSIL driver, it does NOT mean
           that you must also set Synchronet to use a FOSSIL.





























_______________________________________________________________________________
Synchronet                          141                Setting up File Sections
♀

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 stored 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
































_______________________________________________________________________________
Synchronet                          142                Setting up File Sections
♀

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. Following is a list of options available
when creating or modifying a file library.




















_______________________________________________________________________________
Synchronet                          143                Setting up File Sections
♀

Library Options
~~~~~~~~~~~~~~~
Selecting a library name from the list of available libraries will give you a
sub-menu of options for that library.

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                       Main Library                       ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Long Name                  Main                         ║
          ║ │Short Name                 Main                         ║
          ║ │Access Requirements                                     ║
          ║ │Clone Options                                           ║
          ║ │Export Areas...                                         ║
          ║ │Import Areas...                                         ║
          ║ │File Directories...                                     ║
          ╚══════════════════════════════════════════════════════════╝

Long Name:
        This is a description of the library displayed in library listings.

Short Name:
        This is a description of the library displayed at prompts.

Access Requirements:
        These are the requirements which must be met by a user account in order
        to access this library.

Clone Options:
        Use this command to copy the options of the first directory in this
        library to all the other directories in the library.

Export Areas:
        If you wish to export the area information of all the directories in
        the current file library to a text file, use this option.

Import Areas:
        If you wish to import a text file of area information into the
        current file library, use this option.

















_______________________________________________________________________________
Synchronet                          144                Setting up File Sections
♀

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 abbreviation of the name of the directory or
something else that specifies the contents of the directory.

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" and "Search for New Files" toggle options to "No", and
"Slow Media Device" to "Yes" for each of your CD-ROM file directories.

Following is a list of options available in the SCFG when creating or modifying
a file directory.

































_______________________________________________________________________________
Synchronet                          145                Setting up File Sections
♀

Main Directory Options
~~~~~~~~~~~~~~~~~~~~~~

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                      Games Directory                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Long Name                  Games                        ║
          ║ │Short Name                 Games                        ║
          ║ │Internal Code              GAMES                        ║
          ║ │Access Requirements                                     ║
          ║ │Upload Requirements        LEVEL 20                     ║
          ║ │Download Requirements                                   ║
          ║ │Operator Requirements                                   ║
          ║ │Exemption Requirements                                  ║
          ║ │Transfer File Path         J:\GAME\                     ║
          ║ │Maximum Number of Files    500                          ║
          ║ │Purge by Age               Disabled                     ║
          ║ │Credit on Upload           100%                         ║
          ║ │Credit on Download         90%                          ║
          ║ │Toggle Options...                                       ║
          ║ │Advanced Options...                                     ║
          ╚══════════════════════════════════════════════════════════╝

Long Name:
        This is a description of the file directory that is displayed in
        directory listings.

Short Name:
        This is a description of the file directory that is displayed at
        prompts. 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.



_______________________________________________________________________________
Synchronet                          146                Setting up File Sections
♀

        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.

        Uploads:
                This short name specifies that this directory will be used
                for uploads if the user attempts to upload to a directory where
                he or she does not have sufficient upload access.
                If you wish all uploads to automatically go into one specific
                directory, set the required upload level for all other
                directories to 90 or higher (Sysop). If you don't want users
                to be able to see the files in this directory or download them
                until they are moved by the sysop, set the required access
                for your "Uploads" directory to level 90 or higher. Creating
                an "Uploads" directory also allows "Blind" batch uploads from
                the users (files need not be added to the upload queue first).






























_______________________________________________________________________________
Synchronet                          147                Setting up File Sections
♀

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.

Access Requirements:
        This is a list of security requirements to access this directory.

Upload Requirements:
        This is a list of security requirements to upload to this directory.

Download Requirements:
        This is a list of security requirements to download from this
        directory.

Operator Requirements:
        Any users meeting these criteria will be able to perform Sysop type
        activities for this directory.

Exemptions Requirements:
        Any users meeting these criteria will be considered exempt from
        credit deductions when transferring files from this directory.

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. Once this number of files is reach, no uploads will be
        allowed.

Purge by Age:
        This is maximum age of files (in days) to keep in this directory.
        The DELFILES utiltity (included with Synchronet) must be run as
        a timed event to automatically purge old files from your file areas.

Credit on Upload:
        If Credit Uploads is set to Yes in the toggle options for this
        directory, users will be credited with this percentage of the file
        size (in bytes) in credits when uploading a file to this directory.

Credit on Download:
        If Credit Downloads is set to Yes in the toggle options for this
        directory, users will be credited this percentage of credits for
        subsequent downloads of any file that they upload to this
        directory.






_______________________________________________________________________________
Synchronet                          148                Setting up File Sections
♀

Toggle Options
~~~~~~~~~~~~~~

                      ╔[■][?]════════════════════════════╗
                      ║          Toggle Options          ║
                      ╠══════════════════════════════════╣
                      ║ │Check for File Existence   Yes  ║
                      ║ │Slow Media Device          No   ║
                      ║ │Force Content Ratings      No   ║
                      ║ │Upload Date in Listings    No   ║
                      ║ │Multiple File Numberings   Yes  ║
                      ║ │Search for Duplicates      Yes  ║
                      ║ │Search for New Files       Yes  ║
                      ║ │Search for Auto-ADDFILES   Yes  ║
                      ║ │Import FILE_ID.DIZ         Yes  ║
                      ║ │Free Downloads             No   ║
                      ║ │Free Download Time         No   ║
                      ║ │Deduct Upload Time         No   ║
                      ║ │Credit Uploads             Yes  ║
                      ║ │Credit Downloads           Yes  ║
                      ║ │Credit with Minutes        No   ║
                      ║ │Anonymous Uploads          No   ║
                      ║ │Purge by Last Download     No   ║
                      ║ │Mark Moved Files as New    No   ║
                      ╚══════════════════════════════════╝

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 with a single character
        (usually G, R, or X), and the file description will begin with the
        rating letter contained in brackets.





_______________________________________________________________________________
Synchronet                          149                Setting up File Sections
♀

Upload Date in Listings:
        Setting this option to 'Yes' will cause Synchronet to place the date
        that a file was uploaded onto the first line of the file description,
        similar to the Multiple File Numberings option.

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.

Search for Duplicates:
        If this option is set to 'Yes', this directory will be searched for
        duplicate filenames when a user attempts to upload a file.

Search for New Files:
        When this option is set to 'Yes' this directory will be included in
        new file scans (for those users than have access). Set this option
        to "No" for CD-ROM directories or directories that will not be
        receiving new files on a regular basis.

Search for Auto-ADDFILES:
        When this option is set to 'Yes' this directory will be searched for
        FILES.BBS by the ADDFILES program when using the auto-add feature.

Import FILE_ID.DIZ:
        When set to 'Yes', Synchronet will attempt to import the FILE_ID.DIZ
        or DESC.SDI of any files uploaded to this directory into the file
        description.

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

Free Download Time:
        If you do not want time spent during downloading to be subtracted from
        the users time online, this option should be set to 'Yes'.

Deduct Upload Time:
        If you want the time spent uploading a file to be subtracted from the
        users available online time, this option should be set to 'Yes'.

Credit Uploads:
        If you want users who upload files to this directory to get credit
        for their upload based on the "Credit on Upload" percentage, 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 "Credit on Download"
        percentage, set this value to 'Yes'.

_______________________________________________________________________________
Synchronet                          150                Setting up File Sections
♀

Credit with Minutes:
        Setting this option to 'Yes' will cause the uploading user to receive
        time (in minutes) for their upload rather than credits.  The minutes
        a user receives will be based upon the percentage awarded multiplied
        by the time it took for the receipient of the file to download it.

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.

Purge by Last Download:
        This option is for use in conjunction with the Synchronet DELFILES
        program.  When deleting files from the filebase, if this option is
        set to 'Yes', it will compare the maximum age specified by the
        "Purge by Age" field to the date the file was last downloaded. If set
        to 'No', the maximum age will be compared to the date the file was
        uploaded.

Mark Moved Files as New:
        If this option is set to 'Yes', then when a file is moved from this
        directory to another, it's upload date will be reset to the current
        date/time automatically.































_______________________________________________________________________________
Synchronet                          151                Setting up File Sections
♀

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

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     Advanced Options                     ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Extensions Allowed         ZIP,EXE                      ║
          ║ │Data Directory             C:\SBBS\DATA\DIRS\           ║
          ║ │Upload Semaphore File                                   ║
          ║ │Sort Value and Direction   Name Ascending               ║
          ╚══════════════════════════════════════════════════════════╝

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

Data Directory:
        This is the path where the data for this directory will be located.

Upload Semaphore File:
        This is the path and name of a semaphore file used to trigger your
        front-end mailer when a file is uploaded.

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.




























_______________________________________________________________________________
Synchronet                          152                Setting up File Sections
♀

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.

Manual Upload
~~~~~~~~~~~~~
Logon to the BBS as yourself (most likely, user #1), go to the file transfer
section. Select the file area you wish to add the file to and hit 'U' for
upload. Now enter the filename. If the file is already in the storage directory
that you specified in SCFG you will be prompted for file descriptions and other
questions about the file. If the file is not already in the storage directory,
you will be prompted for the path from where to copy the file.

ADDFILES
~~~~~~~~
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.

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 security level to upload
should be set to 90 so that users will not be allowed to upload to this
directory.






_______________________________________________________________________________
Synchronet                          153                Setting up File Sections
♀

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 security 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 security 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 more
detailed description if he or she wishes.

Creating a Default Upload Directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A default upload directory is used if you want all uploads to go to a single
directory.  If you wish to use this feature, you must create a directory with
the short name up "Uploads" (not case sensitive).  Set the minimum level to
access to 90 or higher if you do not wish to allow users to see this directory.
Set the upload access level to 0 (or higher, if you want to restrict the number
of users who can upload to this directory).  You should set the required
upload access level of all other directories in the library to 90 or higher so
that all upload attempts to those directories will force the file uploaded into
this directory.












_______________________________________________________________________________
Synchronet                          154                Setting up File Sections
♀

Supporting Blind Batch Uploads
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some sysops would like for their users to be able to do a batch upload of files
to a directory without having to enter the files into an upload queue before
hand.  These are called Blind Batch Uploads.  In order for this feature to
work, you MUST have created a default upload directory (see the section above
describing this procedure).  Once you have created a default upload directory,
the user need only go to the Batch Transfer menu and begin his upload.














































_______________________________________________________________________________
Synchronet                          155                Setting up File Sections
♀

CD-ROM and Other Slow Media Devices
-----------------------------------

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:\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\GIFS.LST        GIFs
D:\DESC\GAMES.LST       Games
D:\DESC\UTILS.LST       Utilities

Or preferably:

File List               Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\GIFS\FILES.BBS       GIFs
D:\GAMES\FILES.BBS      Games
D:\UTILS\FILES.BBS      Utilities











_______________________________________________________________________________
Synchronet                          156                                  CD-ROM
♀

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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GIFs                    CD-GIFS                 D:\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" and "Search for New Files" 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 (or only once if a FILES.BBS exists in each directory). See
the Utility Refernce chapter for specifics on how to use ADDFILES. Example
(assuming description lists are in DIR## format):

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

The following command will search ALL configured directories for FILES.BBS
lists and import the files from them:

ADDFILES *

If you have a FILES.BBS format list which has a different filename, this will
search ALL configured directories for that file and import the files from them:

ADDFILES *FILES.LST

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


_______________________________________________________________________________
Synchronet                          157                                  CD-ROM
♀

Alternate File Paths
--------------------

Since a CD-ROM disk is "read only", you cannot alter the physical organization
of files and directories on the CD-ROM. Normally, you would have one logical
Synchronet file directory for every physical DOS directory. But for CD-ROMs
that have their files spread across a large number of directories, you may not
want your logical directory structure to mimick the physical structure.
Synchronet can store roughly a thousand files per directory and many CD-ROMs
have far less than that per directory to accomodate BBS software that have a
lower maximum number of files per directory. Each logical directory in
Synchronet takes up memory so it is advantageous to keep the number of
directories to a minimum when working with large quantities of files.

Synchronet's alternate file paths allow the sysop to add files from multiple
physical directories into one logical directory on the BBS. Every logical
directory on the BBS has a default storage path where uploaded files will be
received and downloaded files are sent from. If you wish to add files to an
existing logical directory that are not stored in the default storage path,
then you will need to add an alternate file path that points to the location
of these files. Then either use ADDFILES with the ".altpath" switch or use
the ;ALTUL and ;UPLOAD sysop transfer commands to add the files. You will need
to know the number of the alternate file path for which you are adding files
from, so note which alternate path number you are uploading from before running
ADDFILES or ;UPLOAD.

Alternate file paths are useful for grouping files of a similar subject from
different CD-ROMs into a single logical directory in Synchronet, thus freeing
the sysop to organize the files based on content rather than physical storage
location.

























_______________________________________________________________________________
Synchronet                          158                                  CD-ROM
♀

Chat Features
=============

Selecting the Chat Features option from the SCFG will bring you to the
following sub-menu, an explanation of the options shown here follow.

                        ╔[■][?]═══════════════════════╗
                        ║        Chat Features        ║
                        ╠═════════════════════════════╣
                        ║ │Artificial Gurus           ║
                        ║ │Multinode Chat Actions     ║
                        ║ │Multinode Chat Channels    ║
                        ║ │External Sysop Chat Pagers ║
                        ╚═════════════════════════════╝









































_______________________________________________________________________________
Synchronet                          159                           Chat Features
♀

Artificial Chat Gurus
---------------------

This selection will give you a sub-menu with a list of available artificial
gurus, here you can insert and delete gurus.

                 ╔[■][?]═════════════════════════════════════╗
                 ║              Artificial Gurus             ║
                 ╠═══════════════════════════════════════════╣
                 ║ │The Guru                                 ║
                 ║ │The Guru Number Two                      ║
                 ║ │                                         ║
                 ╚═══════════════════════════════════════════╝

Selecting a guru from the menu will bring you to a menu allowing you to
configure that guru.

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                         The Guru                         ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Guru Name                  The Guru                     ║
          ║ │Guru Internal Code         GURU                         ║
          ║ │Access Requirements                                     ║
          ╚══════════════════════════════════════════════════════════╝

Guru Name:
        The name users will see when chatting with this artificial guru.

Guru Internal Code:
        This is an 8 character code used internally by Synchronet and should be
        unique for each guru. This is also the filename which will be used for
        the intelligence engine for this guru (with the .DAT extension, located
        in your CTRL directory). See the section on customization for
        information on customizing chat gurus.

Access Requirements:
        Only users meeting the criteria set here will be able to chat with this
        guru.


Chat Actions
------------

Selecting this option will show a list of available chat action sets where you
can insert and delete action sets. Selecting an action set from this menu will
display a list of the actions contained within that set.

Synchronet comes with a default chat action set, which you can modify, or use
as a reference for creating your own action set. Each command response should
have two '%s' fields contained in the line, the first will be replaced with
the name of the user performing the action, the second with the name of the
user to which the action is directed.



_______________________________________________________________________________
Synchronet                          160                           Chat Features
♀

Multinode Chat Channels
-----------------------

Selecting this option will give you a sub-menu. An example of how a chat
channel might be set up, along with the options available, is shown:

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                     Main Chat Channel                    ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Name                       Main                         ║
          ║ │Internal Code              Main                         ║
          ║ │Cost in Credits            0                            ║
          ║ │Access Requirements                                     ║
          ║ │Password Protection        No                           ║
          ║ │Guru Joins When Empty      Yes                          ║
          ║ │Channel Guru               The Guru                     ║
          ║ │Channel Action Set         Main                         ║
          ╚══════════════════════════════════════════════════════════╝

Name:
        This is the name of this chat channel, and what will be displayed to
        users when viewing a list of available chat channels.

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

Cost in Credits:
        This is the amount of credits which will be deducted from the users
        account when joining this particular chat channel.

Access Requirements:
        A user must meet the criteria set here in order to be able to use
        (or even see) this chat channel.

Password Protection:
        If you wish to allow users to be able to lock this channel with a
        password (only users knowing this password can enter the channel), you
        should set this option to Yes.

Guru Joins When Empty:
        Set this option to Yes to have the selected chat guru enter this chat
        channel when there is only one user in the channel.

Channel Guru:
        This is the guru which will join this channel (if the above option is
        set to yes). Selecting this option will give you a list of available
        chat gurus to choose from.

Channel Action Set:
        This is the chat action set which will be available to users in this
        channel. Selecting this option will give you a list of available
        chat action sets.

_______________________________________________________________________________
Synchronet                          161                           Chat Features
♀

External Sysop Chat Pagers
--------------------------

This option allows for sysops to have custom chat pages (external to what is
available in Synchronet). Sysops can have .TON files played when certain or all
users page, or if a sound card is installed, the sysop may have a .WAV or .VOC
file play. Selecting this option will give you a list of currently configured
chat pagers.

                 ╔[■][?]═════════════════════════════════════╗
                 ║         External Sysop Chat Pagers        ║
                 ╠═══════════════════════════════════════════╣
                 ║ │%!tone /t +tdc.ton                       ║
                 ║ │%!playwave wakeup.wav                    ║
                 ║ │                                         ║
                 ╚═══════════════════════════════════════════╝

Selecting a pager from the above menu will give you other options for this chat
pager.

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                    Sysop Chat Pager #1                   ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Command Line               %!tone /t +tdc.ton           ║
          ║ │Access Requirements                                     ║
          ║ │Intercept I/O Interrupts   Yes                          ║
          ╚══════════════════════════════════════════════════════════╝

Command Line:
        This is the command line necessary to invoke the chat pager.

Access Requirements:
        This is the list of criteria a user must meet for this pager to
        affect them.

Intercept I/O Interrupts:
        If the chat pager specified produces screen output that the user
        should see (or a series of beeps that the user should hear), this
        option should be toggled to Yes.
















_______________________________________________________________________________
Synchronet                          162                           Chat Features
♀

External Program Configuration
==============================

Selecting the External Programs option from the SCFG will bring you to the
following sub-menu, an explanation of the options shown here follow.

                            ╔[■][?]═══════════════╗
                            ║  External Programs  ║
                            ╠═════════════════════╣
                            ║ │Fixed Events       ║
                            ║ │Timed Events       ║
                            ║ │Global Swap List   ║
                            ║ │OS/2 Program List  ║
                            ║ │External Editors   ║
                            ║ │Online Programs    ║
                            ╚═════════════════════╝

Fixed Events
------------

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                       Fixed Events                       ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Logon Event                                             ║
          ║ │Logoff Event                    %!logoff %#             ║
          ║ │Daily Event                     %!daily                 ║
          ╚══════════════════════════════════════════════════════════╝

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.

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.

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







_______________________________________________________________________________
Synchronet                          163                       External Programs
♀

Timed Events
------------

Selecting Timed Events from the External Programs menu will give you a list of
currently configured timed events.  Following is an example of a timed event
called MAIN, and the options available for timed events.

     ╔[■][?]══════════════════════════════════════════════════════════════╗
     ║                          MAIN Timed Event                          ║
     ╠════════════════════════════════════════════════════════════════════╣
     ║ │Internal Code                   MAIN                              ║
     ║ │Start-up Directory                                                ║
     ║ │Command Line                    %!timed                           ║
     ║ │Execution Node                  5                                 ║
     ║ │Execution Days                  Sun Mon Tue Wed Thu Fri Sat       ║
     ║ │Execution Time                  04:30                             ║
     ║ │Requires Exclusive Execution    Yes                               ║
     ║ │Force Users Off-line For Event  No                                ║
     ╚════════════════════════════════════════════════════════════════════╝

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

Start-up Directory:
        This is the directory where the event execution should take place.
        Synchronet will change to this directory before executing the command
        line for this event.

Command Line:
        This is the command line for a program that will run on the specified
        times and days.

Execution Node:
        This is the node that will execute the event.

Execution Days:
        These are the day(s) when this timed event will be executed.

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

Requires Exclusive Execution:
        You may set this event to run exclusively (all other nodes inactive
        or taken offline) by selecting this option.

Force Users Off-line For Event:
        Setting this to Yes will cause the BBS to force users offline for this
        event.




_______________________________________________________________________________
Synchronet                          164                       External Programs
♀

Global Swap List
----------------

                             ╔[■][?]══════════════╗
                             ║  Global Swap List  ║
                             ╠════════════════════╣
                             ║ │DUTESTER          ║
                             ║ │COMMAND.COM       ║
                             ║ │LIST              ║
                             ║ │TIMED             ║
                             ║ │PKZIP             ║
                             ║ │                  ║
                             ╚════════════════════╝

This is a list of programs which, when run, will cause Synchronet to swap out
of memory.  This is useful for large executables, or programs which have the
possibility of utilitizing a large amount of memory.  Shown is an example of
what might be in your swap list. Notice that it is not necessary to specify
an extension for the programs unless an extension is specified on the command
line to be executed. If a file extension is specified (EXE, COM, or BAT)
the extension must be specified on the command line for the program to be found
in the swap list.

































_______________________________________________________________________________
Synchronet                          165                       External Programs
♀

OS/2 Program List
-----------------
                             ╔[■][?]═══════════════╗
                             ║  OS/2 Program List  ║
                             ╠═════════════════════╣
                             ║ │CMD.EXE            ║
                             ║ │ZIP                ║
                             ║ │UNZIP              ║
                             ║ │                   ║
                             ╚═════════════════════╝

When running a node with Synchronet for OS/2 (SBBS4OS2), all external programs
(doors, editors, file viewers, etc) will be assumed DOS programs and executed
inside a virtual DOS machine (VDM) automatically unless the program's name is
included in this list. Only CMD.EXE (OS/2 command interpreter) should be
included with an extension (e.g. .EXE) unless you actually configure your
external program command lines in SCFG with extensions (note ZIP and UNZIP do
not have specified extensions). All native OS/2 programs that you wish to
execute from the BBS must be added to this list.




































_______________________________________________________________________________
Synchronet                          166                       External Programs
♀

External 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 (example given is for SyncEdit):

     ╔[■][?]══════════════════════════════════════════════════════════════╗
     ║                           SyncEdit Editor                          ║
     ╠════════════════════════════════════════════════════════════════════╣
     ║ │Name                            SyncEdit                          ║
     ║ │Internal Code                   SYNCEDIT                          ║
     ║ │Local Command Line              %!syncedit %! %l %f               ║
     ║ │Remote Command Line             %!syncedit %! %l %f               ║
     ║ │Access Requirements             ANSI                              ║
     ║ │Intercept I/O Interrupts        Yes                               ║
     ║ │Quoted Text                     None                              ║
     ║ │QuickBBS Style (MSGTMP)         No                                ║
     ║ │Expand Line Feeds to CRLF       No                                ║
     ║ │BBS Drop File Type              Synchronet      XTRN.DAT          ║
     ╚════════════════════════════════════════════════════════════════════╝

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

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.

Access Requirements:
        These are the requirements that a user must meet to be able to use
        this external editor.

Intercept I/O Interrupts:
        If the editor relies on Synchronet for intercepting I/O interrupts,
        this option should be set to Yes.  When set to Yes, you will be able
        to specify whether or not the editor uses WWIV color codes.

Quoted Text:
        If you want all the message text to be automatically entered into the
        message edit/quote file (INPUT.MSG or MSGTMP), set this option to
        'All'.

        If you want the user to be prompted for which lines to quote before
        running the editor, set this option to 'Prompt User'.

        If you want none of the lines to be automatically quoted, set this
        option to 'None'. This option is mainly for use with editors that
        support the QUOTES.TXT drop file (like SyncEdit v2.x).

_______________________________________________________________________________
Synchronet                          167                       External Programs
♀


QuickBBS Style (MSGTMP):
        If this editor was designed to run on QuickBBS, Remote Access, or
        SuperBBS (uses a MSGTMP file for editing), set this option to Yes.
        This option will also create a MSGINF file automatically as well.

Expand Line Feeds to CRLF:
        If this editor stores new lines as a single line feed character, set
        this option to Yes.

BBS Drop File Type:
        If this editor requires a BBS drop file (DOOR.SYS, DORINFO#.DEF, etc)
        use this option to select the drop file format.










































_______________________________________________________________________________
Synchronet                          168                       External Programs
♀

Online Programs
---------------
This selection will generate a list of configured external program sections.
You can add and remove external program sections from this list with the INS
and DEL keys. To edit an external program section or the external programs
within that section, select it with the arrow keys and hit ENTER.

For each external program section, you can set the Name, Internal Code,
and Access Requirements. Selecting "Available External Programs" will give
a list of external programs contained in this external program section.
Synchronet has been designed to eliminate the need for batch files and
drop file conversion programs to run external programs (doors) on your BBS.
Synchronet supports many different drop file types (often referred to as
drop files) listed below:

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




























_______________________________________________________________________________
Synchronet                          169                       External Programs
♀

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. In general, Call-back verifiers written for
PCBoard, GAP, QuickBBS, or Synchronet will work. 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:       Security level, Flag Set #1, Expiration Date, Minutes,
                Total Files/Bytes Downloaded, and Credits
EXITINFO.BBS:   Security level and Flag Set #1
USERS.SYS:      Security level and Expiration Date
MODUSER.DAT:    Security level, Flag Set #1-#4, Exemptions, Restrictions,
                Expiration Date, Credits, and Minutes


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

The full path and file name of the drop file can be specified on the command
line by using the %f command line specifier in SCFG.

























_______________________________________________________________________________
Synchronet                          170                       External Programs
♀

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. Hit END and ENTER for the External
Program Sections menu and select an External Program Section to add this
new program to. Select "Available External Programs" and hit the INSert key.
Enter a description for your new external program.

Now your new external program appears in the list. Hit ENTER to edit the
configuration for this program. Synchronet BBS List is given as an example.

          ╔[■][?]════════════════════════════════════════════════════╗
          ║                    Synchronet BBS List                   ║
          ╠══════════════════════════════════════════════════════════╣
          ║ │Name                       Synchronet BBS List          ║
          ║ │Internal Code              SBL                          ║
          ║ │Start-up Directory         ..\XTRN\SBL                  ║
          ║ │Command Line               SBL                          ║
          ║ │Clean-up Command Line                                   ║
          ║ │Cost in Credits            0                            ║
          ║ │Extra Minutes              0                            ║
          ║ │Suspended (Free) Time      No                           ║
          ║ │Access Requirements                                     ║
          ║ │Execution Requirements                                  ║
          ║ │Multiple Concurrent Users  Yes                          ║
          ║ │Intercept I/O Interrupts   Yes                          ║
          ║ │Swap BBS out of Memory     No                           ║
          ║ │Modify User Data           No                           ║
          ║ │Execute on Event           New User                     ║
          ║ │BBS Drop File Type         Synchronet      XTRN.DAT     ║
          ║ │Place Drop File In         Node Directory               ║
          ║ │Time Options...                                         ║
          ╚══════════════════════════════════════════════════════════╝

Name:
        This is the name of the external program that will be shown to users.

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've installed the
        program.













_______________________________________________________________________________
Synchronet                          171                       External Programs
♀

Command Line:
        This is the command required to execute your external program. If the
        path and filename for the BBS drop file is required on the command
        line, use %f to represent the path and filename. See Appendix A for
        a full list of available command line specifiers.

        You can launch a Baja module in place of a DOS executable by prepending
        an asterisk (*) to the name of the Baja module (e.g. "*MYMOD"). The
        module .BIN file must be located in your EXEC directory.

        Some programs, when set to SWAP, require ".\" to be prepended to the
        command line (e.g. ".\MYDOOR") to function properly.

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,
        you should enter the amount to charge the users here. Users with the
        'X' exemption will not be charged.

Extra Minutes:
        This option will allow you to give extra time to users for use in the
        external program they are entering.  For example, with this option set
        to 10, a user having 15 minutes left on the BBS will end up having
        25 minutes in the external program they enter.  This is especially
        useful in conjunction with the 'Suspended (Free) Time' option.

Suspended (Free) Time:
        Setting this option to "Yes" will cause a user's time left online to
        suspend (not countdown) when they enter the external program.  The
        user's time allowed in the external program, however, will be what they
        had left on the BBS.  To give them more time in the external program,
        use the above 'Extra Minutes' option.

Access Requirements:
        If you wish to limit which users have access to (can see) this program,
        use this option to set those requirements.

Execution Requirements:
        If you wish to have some users see but not be able to execute this
        program, use this option to determine what requirements must be met to
        run the program.

Multiuser:
        If this program supports multiple simultaneous users, set this option
        to "Yes".





_______________________________________________________________________________
Synchronet                          172                       External Programs
♀

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 command
        line: "%!dcdwatch %&". You will also be able to select whether or not
        the program uses WWIV color codes when setting this option to Yes.

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

Swap BBS out of Memory:
        If this program requires a large amount of free memory, set this
        option to 'Yes' and Synchronet will swap to XMS, EMS, Extended
        Memory or Disk (see "Node Toggle Options" for Swap Type selection) to
        make room for this program to execute. Setting this option to 'Yes'
        has this same effect as adding this program to the "Global Swap List",
        but is available as a toggle on this menu for your convenience.

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

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.

BBS Drop File Type:
        If your program requires a BBS drop file (most do), use this option to
        select the type of drop file to create.

Place Drop File In:
        This is the directory where the drop file will be created. In general,
        for multiuser programs or programs that can have the path and filename
        of the drop file included on the command line or in a config file,
        select "Node Directory". For single user programs that require the drop
        file to be in the current directory, select "Start-up Directory".











_______________________________________________________________________________
Synchronet                          173                       External Programs
♀

Time Options...:
        Selecting this option will bring you to a sub-menu similar to the
        following:

                   ╔[■][?]═════════════════════════════════╗
                   ║      Online Program Time Options      ║
                   ╠═══════════════════════════════════════╣
                   ║ │Extra Time                 None      ║
                   ║ │Maximum Time               None      ║
                   ║ │Suspended (Free) Time      No        ║
                   ╚═══════════════════════════════════════╝

        Extra Time:
                This option allows you to give users an extra amount of time
                (in minutes) which can be used only within this online program.

        Maximum Time:
                This option allows you to set the maximum amount of time a user
                should be able to spend in this online program (in minutes) PER
                execution (not per day or per call).

        Suspended (Free) Time:
                When this option is set to 'Yes', a users' time is suspended
                while they are within the online program.  That is, if they
                enter the door with 60 minutes remaining on the BBS, when
                they get back to the BBS they will still have 60 minutes of
                time remaining.




























_______________________________________________________________________________
Synchronet                          174                       External Programs
♀

Examples for some popular programs
----------------------------------

Legend of the Red Dragon (L.O.R.D.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From the LORDCFG program your configuration should look something like this:


                             EDITTING NODE SETUP

√ (1) Node Number      : 1
  (2) BBS Name         : BBS Name Goes Here
  (3) BBS Software     : QBBS
  (4) Path To Drop File: C:\BBS\NODE1
  (5) Fossil/Internal  : Using Regular Fossil Driver
  (6) Locked Port Speed: Port Not Locked
  (7) Comport          : Read From Drop File
  (8) Send Open Comports Command?  : Yes!
  (9) Send Reset Comports Command? : Yes!
  (A) Use Special ANSI Settings?   : No!
  (B) Use direct screen writes?    : Yes!
  (Q) Quit To Main

    You will need to do this for each of your nodes.  Be sure to set the 'Path
To Drop File' to the node directory of the node you are configuring.  The
reason we set the 'Locked Port Speed' to 'Port Not Locked' is because you
should be locking the speed of your FOSSIL when you load it, once that's done,
it can't be altered.  NOTE: When you set option 3 to QBBS you will be prompted
with with a:
                (1) Read Dorinfo1.def for all nodes.
                (2) Read DorinfoX.def, X being the node number.

You MUST select option number 1 in order for the game to work properly.

    Now go into your SCFG program and create a new external program.  It should
look like this when it's all setup:

Name                       L.O.R.D.
Internal Code              LORD
Start-up Directory         C:\SBBS\XTRN\LORD
Command Line               .\LORD /n%#
Clean-up Command Line
Multiple Concurrent Users  Yes
Intercept I/O Interrupts   No
Swap BBS out of Memory     Yes
Modify User Data           No
Execute on Event           No
BBS Drop File Type         RBBS/QuickBBS   DORINFO1.DEF
Place Drop File In         Node Directory






_______________________________________________________________________________
Synchronet                          175                       External Programs
♀

Usurper
~~~~~~~

    You MUST use a fossil driver in order to use this program.  Follow the
Usurper documentation for getting the game going.  Next, bring up the
USURPER.CFG into a text editor and edit the first few lines (or you can do it
through the EDITOR program that comes with Usurper).  It should end up looking
something like this:

Sysop Name Goes Here
BBS Name Goes Here
C:\SBBS\XTRN\USURPER\
DORINFO1.DEF

    The important things are line 3 and line 4.  Line 3 MUST be the path to
your Usurper directory (with a trailing backslash) and line 4 must be the type
of dropfile (I used DORINFO1.DEF like the Usurper documentation recommends).

    Now you'll need to go into your SCFG program and add an external program.
Set it up to look something like this:

Name                       USURPER
Internal Code              USURPER
Start-up Directory         C:\SBBS\XTRN\USURPER
Command Line               USURPER %#
Clean-up Command Line
Multiple Concurrent Users  No
Intercept I/O Interrupts   No
Swap BBS out of Memory     Yes
Modify User Data           No
Execute on Event           No
BBS Drop File Type         RBBS/QuickBBS   DORINFO#.DEF
Place Drop File In         Start-Up Directory






















_______________________________________________________________________________
Synchronet                          176                       External Programs
♀

Troubleshooting External Programs
=================================

    This section will explain common reasons why an external program may not be
functioning properly and what can be done to get the program functioning
properly.  It is impossible for Digital Dynamics to be familiar with every
available external program, therefore if you continue to have problems with
a program after reading this section, you should contact the company that wrote
the external program you are working with.

IMPORTANT NOTE: Some games will not work properly if you do not put a PATH on
                the command line (see the L.O.R.D. example), others will (see
                the Usurper example).  If your game is not working at all,
                try using a path on the command line (e.g.: .\GAMENAME).

PROBLEM : The external program works, but displays the wrong user name.
SOLUTION: Check to see that the program is looking in the proper place for the
          drop file.  Usually you will need to specify the path to look for the
          drop file on the command line or in the program's setup program or
          config file(s).

PROBLEM : The program works fine locally, but when people call in they cannot
          see anything.
SOLUTION: If the game uses a FOSSIL driver, make sure that you have a FOSSIL
          driver loaded and make sure that you've locked the baud rate at the
          same rate that you've locked Synchronet's com ports.
          If the game uses it's own internal com routines (no FOSSIL required),
          you should be able to pass it IRQ and I/O Address information (either
          through configuration files, or on the command line) otherwise the
          game probably will not work on anything other than the standard COM1
          and COM2.
NOTE    : Normally only games written for Synchronet or WWIV will ever require
          the 'Intercept I/O Interrupts' option to be set to YES.  If a game
          has it's own internal com routines or uses a FOSSIL set this option
          to NO.

PROBLEM : The program works fine locally, but when people call in they only see
          garbled information.
SOLUTION: If the game is using a FOSSIL driver, make sure the locked rate of
          the FOSSIL is the same as the locked rate in Synchronet.
          If you are running Synchronet under OS/2 and you have "Intercept I/O"
          set to "Yes" for this program, make sure you are using the SVDMANSI
          program for ANSI under OS/2.

PROBLEM : The program works fine when only one user is playing, but when a
          second user tries to enter it doesn't function properly.
SOLUTION: The program is probably not intended for multiple simultaneous users.
          Be sure to set the 'Mulitple Concurrent Users' option to NO if this
          is the case.






_______________________________________________________________________________
Synchronet                          177                       External Programs
♀

Text File Sections
==================

Run the SCFG utility, and select the Text File Sections option from the menu.
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.

Access Requirements:
        Use this option to set the security requirements to access this file
        section.

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.

To add files to a text file section, you'll need to log on to the BBS and enter
the section you would like to add files to.  Here you'll be given a choice to
add files to the section, you will be prompted for the title of the file, and
the path/filename. If you do not enter a path for the file, the default path is
the Synchronet DATA\TEXT directory PLUS the internal code of the text file
section.


























_______________________________________________________________________________
Synchronet                          178                       External Programs
♀

976/900 Number Billing
======================

There are several methods of implementing 976/900 billing support.

One method, which is internal to Synchronet, is to set up a billing node.
This method of support requires that you have your own in house 976 or 900
phone number.  Set up your 976/900 service to bill a lump sum of money
(e.g. $10.00) after the first 30 seconds of use. In SCFG, under Nodes->Node#->
Advanced Options->Cost per Call you would enter this charge (where Node# is the
number of the node which will be attached to the 976/900 line). When a user
calls this billing node, he/she will be informed that they will be charged for
the call if they do not hang up, they will then be asked for their user name
and password.  Once they've entered their account information, the account will
be credited with a number of credits (determined by the value in System->
Advanced Options->Credits per Dollar). They can now call back on a node which
is connected to a standard phone line, and they will be able to make use of the
credits.

Another method, which is cheaper and more popular, but external to Synchronet
is to use a third party 976/900 service. Once such service is called TABS. This
method consists of having your users dial a 976/900 line supplied by the
service. Initially, you are given an external program and a list of codes for
your BBS. When a user calls the 976/900 service they will be given a code to
use on your BBS. They then call your BBS, run the external program, and enter
the code that they were given. Upon entering a valid code, their account is
immediately credited with a number of credits. You are then periodically mailed
a check for the accounts which have used the service for account upgrades.

The final method, which is very expensive and very unrealistic, is to simply
attach all of your pay nodes to a 976/900 number and charge the user by the
minute for access to the BBS.























_______________________________________________________________________________
Synchronet                          179                  976/900 Number Billing
♀

Multinode Configuration
=======================

Synchronet Version 2.x runs under DOS v3.0 or greater and SHARE (or NetWare).
A DOS process is required for each node on a Synchronet system (unless
running Synchronet for OS/2). You can run multiple nodes on one cpu with DOS
multitaskers such as DESQview, Windows, or OS/2 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 SBBS4DOS 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.

























_______________________________________________________________________________
Synchronet                          180                               Multinode
♀

Multitasker Method
------------------
Any program that allows the simulataneous execution of multiple DOS programs
should be able to run multiple SBBS4DOS 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.

IMPORTANT NOTE: When multitasking using Windows or OS/2, it is suggested that
                you have a minimum 80486/33mhz CPU with a minimum of 8 mega-
                bytes of memory. This is due to the requirements of the
                operating environment, not the requirements of Synchronet.

You will need a separate IRQ line and UART I/O address for each COM port in
the computer. It is recommended that you use high speed, buffered 16550A UARTs
rather than the non-buffered 16450 UARTs which some I/O cards use. 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.




_______________________________________________________________________________
Synchronet                          181                               Multinode
♀

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.















































_______________________________________________________________________________
Synchronet                          182                               Multinode
♀

Multinode: DESQview
===================

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

















_______________________________________________________________________________
Synchronet                          183                     Multinode: DESQview
♀

Example Synchronet for DOS 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): 450 ║
║─────────────────────────────────────────────────────────────────────────────║
║ 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]                 ║
║                                                                             ║
║     F1 for Help          F10 for Advanced Options          ◀─┘ when 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 EMS/XMS/VCPI/DPMI (in K):    1024 ║
║                                                                             ║
║ Text Pages: 1               Graphics Pages: 0         Initial Video Mode:   ║
║─────────────────────────────────────────────────────────────────────────────║
║ 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)......: [N] 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] ║
║                                                                             ║
║     F1 for Help          F10 for Advanced Options         ◀─┘ when Done     ║
╚═════════════════════════════════════════════════════════════════════════════╝




_______________________________________________________________________________
Synchronet                          184                     Multinode: DESQview
♀

DVSETUP.COM:

                 ╔1══Advanced═Setup:═Performance═════════════╗
                 ║                                           ║
                 ║  Task Processing Time (in Clock Ticks)    ║
                 ║            Foreground:    1               ║
                 ║            Background:    1               ║
                 ║                                           ║
                 ║  Memory Usage (in K)                      ║
                 ║      Common Memory:      20               ║
                 ║      DOS Buffer for EMS:  2               ║
                 ║                                           ║
                 ║  Optimize communications?    (Y/N): Y     ║
                 ║  Manage printer contention?  (Y/N): N     ║
                 ║                                           ║
                 ║                                           ║
                 ║  Press Tab to advance to the next field.  ║
                 ║        Esc to undo changes.               ║
                 ║        ◀─┘ when done.                     ║
                 ║                                           ║
                 ╚═══════════════════════════════════════════╝

                 ╔1══Advanced═Setup:═Swapping═════════════════╗
                 ║                                            ║
                 ║                                            ║
                 ║  Should DESQview swap programs into and    ║
                 ║  out of memory as needed? (Y/N): N         ║
                 ║                                            ║
                 ║  Swapping directory:                       ║
                 ║                                            ║
                 ║  Note:  Leave the directory blank to swap  ║
                 ║  programs into available Expanded Memory.  ║
                 ║                                            ║
                 ║                                            ║
                 ║  Press Tab to advance to the next field.   ║
                 ║        Esc to undo changes.                ║
                 ║        ◀─┘ when 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.

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.


_______________________________________________________________________________
Synchronet                          185                     Multinode: DESQview
♀

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 have "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:

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

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:

---------------------------------[ Begin ]-------------------------------------
{Learn {Alt-\} "!startup"}
{DESQ}os1
{DESQ}os2
{Finish}
---------------------------------[  End  ]-------------------------------------















_______________________________________________________________________________
Synchronet                          186                     Multinode: DESQview
♀

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

DESQVIEW.TXT:

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

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.

IMPORTANT: When running under DESQView you will be required to load DOS's SHARE
           program.  Be sure that you do NOT load SHARE into high memory (or
           allow any memory managers to do so)!




























_______________________________________________________________________________
Synchronet                          187                     Multinode: DESQview
♀

Multinode: OS/2
===================

System Requirements
-------------------
The OS/2 operating environment requires a faster CPU and more system memory
(compared to DESQview) to run efficiently. Because of this, there are greater
system requirements for running SBBS4DOS using OS/2. First, the number of
nodes which can be run on a given CPU is approximately one half of the number
which can be run on an equivalent CPU using DESQview. Next, it is recommended
that an 80486 CPU of 33mhz (or greater), with 8 megabytes of memory (or more)
be used.

The default OS/2 communications driver is not sufficient for high speed modem
communications, it is recommended that you replace the default drivers with
a third party driver (such as SIO by Ray Gwinn). It is also recommended that
you have buffered 16550 UARTs on your I/O cards rather than the non-buffered
16450 UARTs.

You cannot use a standard DOS FOSSIL driver with OS/2. If you require the use
of a FOSSIL driver, you must use a FOSSIL driver which has been written for use
with OS/2 (such as VX00).

See the contacts reference appendix for contacting Ray Gwinn, author of SIO
and VX00 serial communications drivers for OS/2.

When running Synchronet under OS/2, be sure that you do NOT use any additional
timeslice programs such as TAME or OS2SPEED.

You should have the Win/OS2 time slice API option set to 'Yes' for all nodes
running in an OS/2 DOS session (in each node's toggle options).

Following are example settings for OS/2, you will find these settings by
clicking on the DOS Settings box for the DOS window. Settings which are not
listed should be left as default. You must run each node in its own DOS
session, consult your OS/2 user guide for more information on running multiple
DOS sessions.

DOS Settings
~~~~~~~~~~~~
COM_DIRECT_ACCESS               ON
COM_HOLD                        ON
COM_SELECT                      ALL
DOS_BREAK                       OFF
DOS_BACKGROUND_EXECUTION        ON
IDLE_SECONDS                    0
IDLE_SENSITIVITY                100
HW_TIMER                        ON
INT_DURING_IO                   ON






_______________________________________________________________________________
Synchronet                          188                         Multinode: OS/2
♀

Multinode: Windows 3.x
======================

System Requirements
-------------------
The Windows operating environment requires a faster CPU and more system memory
(compared to DESQview) to run efficiently. Because of this, there are greater
system requirements for running Synchronet using Windows. First, the number of
nodes which can be run on a given CPU is approximately one half of the number
which can be run on an equivalent CPU using DESQview. Next, it is recommended
that an 80486 CPU of 33mhz (or greater), with 8 megabytes of memory (or more)
be used.

Following are example settings for Windows. Settings which are not listed
should be left as default. A setting with (check) next to it means the box
for that setting should be marked, and (no check) means the setting should
not be marked.

386 Enhanced Mode Settings
~~~~~~~~~~~~~~~~~~~~~~~~~~
All com ports should be set to Never Warn.

Set the Minimum Timeslice to 15.

Exclusive in Foreground (no check).

PIF Settings
~~~~~~~~~~~~
Program Filename        : SBBS.BAT
Startup Directory       : C:\SBBS\NODE1 (modify as required)
Video Memory            : (Text should be checked)

Memory Requirements
        KB Required     : 450
        KB Desired      : 640

*EMS Memory
        KB Required     : 360
        KB Limit        : 1024

*XMS Memory
        KB Required     : 360
        KB Limit        : 1024

*NOTE: EMS and/or XMS memory will need to have a value if you wish to allow
       Synchronet to swap using either of these.

Display Usage
        Windowed        : (check)

Execution
        Background      : (check)



_______________________________________________________________________________
Synchronet                          189                  Multinode: Windows 3.x
♀

PIF Settings - Advanced Options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Multitasking Options
        Background Priority     : 70
        Foreground Priority     : 70
        Detect Idle Time        : (no check)

Memory Options
        EMS Memory Locked       : (check)
        XMS Memory Locked       : (no check)
        Uses High Memory Area   : (no check)
        Lock Application Memory : (check)

Display Options
        Emulate Text Mode       : (check)
        (all remaining options) : (no check)

Other Options
        Allow Close When Active : (check)


IMPORTANT: These are settings to get you started!  Different machines and
configurations require different settings, and it may take some trial and
error with different memory and timeslice settings to get everything working
as you desire.  Also note that the default windows communications driver
probably will NOT be sufficient for high speed modems, and you will probably
want to purchase a third party communications driver that can handle higher
baud rates under windows. When running windows, be sure to load SHARE before
you run windows!


























_______________________________________________________________________________
Synchronet                          190                  Multinode: Windows 3.x
♀

Multinode: Windows 95
=====================

System Requirements
-------------------
The Windows 95 operating environment requires a faster CPU and more system
memory (compared to DESQview) to run efficiently. Because of this, there are
greater system requirements for running Synchronet using Windows 95.  You
should follow the recommendations included with Windows 95 for your system and
memory requirements, we recommend a minimum 80486 CPU of 33mhz with at least 8
megabytes of memory.

Basically Windows 95 straight out of the box will run Synchronet without any
problems.  Following is some information to help you get Synchronet set up
under Windows 95 and to help get it running a little more efficiently.

First we want to set up an ICON for each of the Synchronet nodes you plan to
run under Windows 95.  The following steps will guide you through adding one:

1) From Windows 95 Explorer go to the directory of the node you are setting up,
   (e.g. for node 1 this would normally be C:\SBBS\NODE1).

2) On the right side of Explorer you'll see SBBS.BAT, click on it with your
   RIGHT mouse button.

3) Go to NEW and click on SHORTCUT.

4) Click on BROWSE, find the SBBS.BAT file in the sub-directory for this node
   and DOUBLE CLICK on it.

5) Click on NEXT.

6) Click on CHOOSE ICON and select the ICON you wish to use for this node.

7) Click FINISH.

That's all there is to creating an ICON (shortcut) for Synchronet.  Do this for
each of your Synchronet nodes.  Now there are a couple of settings you'll want
to change for better efficiency:

1) For each node set the IDLE SENSITIVITY to it's lowest (all the way to the
   left-hand side).

2) In SCFG under each node, set the toggle option 'Windows/OS2 Time Slice API'
   to 'YES'.










_______________________________________________________________________________
Synchronet                          191                   Multinode: Windows 95
♀

Multinode: LAN
==============

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). If one drive is used
for all BBS data, then simply remove all drive letters from the configured
paths in SCFG (and each workstation can use different drive letters if
necessary).

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

NOTE: When using Netware 3.x or 4.x you should create a SHELL.CFG or NET.CFG in
      the directory where your workstation loads your network files.  In the
      SHELL.CFG or NET.CFG file you should have the line: SHARE=OFF.  You will
      also need to load the SHARE program that comes with DOS. Most other
      networks also require that you use the SHARE program that is included
      with DOS.

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


























_______________________________________________________________________________
Synchronet                          192                          Multinode: LAN
♀

CHKSMB - Checks mail/message base for validity
==============================================

usage: chksmb [/opts] <filespec.SHD>

opts:
       s - stop after errored message base
       p - pause after errored messsage base
       q - quiet mode (no beeps while checking)

WARNING: All BBS nodes should be DOWNed (offline) or inactive when utilizing
         the CHKSMB utility.

The purpose of the CHKSMB utility is to insure that mail and/or message bases
are valid.  If you suspect that your mail, or one of your message bases has
become corrupted, you can run CHKSMB.  This will inform you of any possible
corruption, and display information which may be useful in determining the
cause of the corruption.

Example command line:

        CHKSMB \SBBS\DATA\MAIL \SBBS\DATA\SUBS\*.SHD

to check your e-mail and sub-board data files for possible corruption.

Most mail and/or message bases which are corrupted can be reconstructed
(fixed) using the SMBUTIL program with the pack option.

Message bases with corrupted index files must be fixed with the FIXSMB program.


























_______________________________________________________________________________
Synchronet                          193               Utility Reference: CHKSMB
♀

FIXSMB - Rebuild Synchronet Message/Mail Base
=============================================

usage: fixsmb [/opts] <smb_file>

 opts:
       m - mail format instead of sub-board format

   ex: FIXSMB /M C:\SBBS\DATA\MAIL
   or: FIXSMB C:\SBBS\DATA\SUBS\DEBATE

Use the FIXSMB utility whenever CHKSMB shows that a message base has become
corrupted due to problems with the index.










































_______________________________________________________________________________
Synchronet                          194               Utility Reference: FIXSMB
♀

SMBUTIL - Synchronet Message Base Utility
=========================================

usage: smbutil [/opts] cmd <filespec.SHD>

cmd:
       l[n] = list msgs starting at number n
       r[n] = read msgs starting at number n
       v[n] = view msg headers starting at number n
       k[n] = kill (delete) n msgs
       i<f> = import from text file f
       s    = display msg base status
       c    = change msg base status
       m    = maintain msg base - delete old msgs and msgs over max
       p[k] = pack msg base (k specifies minimum packable Kbytes)
opts:
       a    = always pack msg base (disable compression analysis)
       f    = fast msg creation mode
       d    = disable duplicate message checking
       z[n] = set time zone (n=min +/- from UT or 'EST','EDT','CST',etc)



































_______________________________________________________________________________
Synchronet                          195              Utility Reference: SMBUTIL
♀

The SMBUTIL can be used for several things, but most importantly, it must be
used for maintaining your Synchronet message base (using the 'm' command). This
command causes SMBUTIL to mark old messages, and messages over the maximum sub-
board limit, as deleted so that their spaces can be used by new messages. If
you are using the 'Hyper Allocation' or 'Fast Allocation' method for your
message bases, you must also use this utility to pack your message bases (using
the 'p' command) periodically.  The pack command causes SMBUTIL to compress the
message bases removing any unused spaces (messages marked as deleted).

SMBUTIL maintenance and/or packing should be done using your daily event (or
after importing from a network such as FidoNet).  If your message base is using
the 'Fast Allocation' or 'Hyper Allocation' storage methods, you should run
maintenance before packing (there is no reason to pack if you do not run
maintenance!).  If your message base is set up for the 'Self Packing' method,
you do NOT need to use SMBUTIL to pack, only to perform maintenance.

Example batch file lines for SMBUTIL would read:

for maintenance and packing (100k or more per sub):

        SMBUTIL mp100 \sbbs\data\subs\*.shd

for maintenance only (self-packing sub-boards):

        SMBUTIL m \sbbs\data\subs\*.shd

WARNING: All BBS nodes should be DOWNed (offline) when using SMBUTIL with the
         pack option!  To do this, set the SMBUTIL event to be 'Exclusive' in
         the SCFG program.

When using the pack command, SMBUTIL will check to see if it is necessary for
you to pack your message base, if you want to skip this checking and have it
unconditionally pack the message base (useful when attempting to repair a
corrupted message base), you should add the '/a' switch to the command line:

        SMBUTIL /a p \sbbs\data\subs\*.shd

The maintenance and pack commands are likely all that you will ever need to
SMBUTIL for.
















_______________________________________________________________________________
Synchronet                          196              Utility Reference: SMBUTIL
♀

SMBACTIV - Checks Synchronet Message Base Activity
==================================================

SMBACTIV.EXE is used to create a list of the number of users that are currently
reading each message area (sub-board) on your BBS. If a message area has a
very low number of active users, then it may be a waste of disk space and
memory on your BBS.

Before SMBACTIV is run, you must have your SBBSNODE environment variable set
to point to a valid node directory. Example:

SET SBBSNODE=C:\SBBS\NODE1

SMBACTIV can be run with no parameters to display a list of all your sub-boards
and the number of active users. If you wish to keep this list for reference,
it is a good idea to redirect the output to a file or printer. Example:

SMBACTIV > PRN

You can also specify a maximum number of active users to include in the list
of sub-boards as a paramter. Example:

SMBACTIV 50

would create a list of all sub-boards that have 50 or less active users. To
create a list of sub-boards that have no active users, you would use:

SMBACTIV 0



























_______________________________________________________________________________
Synchronet                          197             Utility Reference: SMBACTIV
♀

ADDFILES - Adds Files to Synchronet File Database
=================================================

usage: addfiles code [.alt_path] [/opts] ["*user"] +list [desc_off] [size_off]

   or: addfiles code [.alt_path] [/opts] ["*user"]  file "description"

available opts:

       a    import ASCII only (no extended ASCII)
       d    delete list after import
       e    do not import extended descriptions
       f    include file date in descriptions
       t    include today's date in descriptions
       i    include added files in upload statistics
       n    do not update information for existing files
       o    update upload date only for existing files
       u    do not update upload date for existing files
       z    check for and import FILE_ID.DIZ and DESC.SDI
       k    keep original short description (not DIZ)
       s    search for files in directory (no file list)
       *    use * in place of code for Auto-ADD of FILES.BBS
            use *filename to Auto-ADD a different filename

example for importing FILES.BBS format:
       addfiles games +c:\lists\files.bbs

example for importing DIRxx format:
       addfiles games +c:\lists\dir01 33


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. Use * for Auto-ADD.





_______________________________________________________________________________
Synchronet                          198             Utility Reference: ADDFILES
♀

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

/opts:
-----
If desired, you may specify a list of options. The available options are:

A - Import ASCII character only (ignore any extended ASCII or control chars)
D - If you want ADDFILES to delete the file list after importing it
E - If you want ADDFILES to NOT import extended descriptions
F - Automatically include the file date in the beginning of the description
T - Automatically include the today's date in the beginning of the description
I - Include files that are added in the system's upload statistics
N - Do not update any information for files already in the database
O - Only update the upload date for files already in the database
U - Do not update upload date for files already in the database
Z - Check for and import FILE_ID.DIZ and DESC.SDI as extended description
K - Keep original short description (don't override with DIZ)
S - Search for files in directory (no file list for names and descriptions)

*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

_______________________________________________________________________________
Synchronet                          199             Utility Reference: ADDFILES
♀

+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 (.).
        Example: TICTAC.ZIP      is OK
                 TICTAC ZIP      is NOT OK
                 TICTAC  .ZIP    is OK
Lines beginning with control characters 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 file list is specified on the command line after the plus (+)
character. Example:

ADDFILES GAMES +FILES.BBS

If the file list is not located in the current directory, you must specify
the complete path to the file list:

ADDFILES GAMES +C:\LISTS\FILES.BBS

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

ADDFILES GAMES

Would add files to the GAMES directory using GAMES.LST as the file list. If
GAMES.LST is can not be found, it will look for FILES.BBS in the current
directory or in the directory's storage path.

If a file list is specified on the command line, but is not found in the
current directory, the storage path for that directory is searched. If the
file list exists, it will be imported from there.


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.

_______________________________________________________________________________
Synchronet                          200             Utility Reference: ADDFILES
♀

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 13. Example:

ADDFILES GAMES +DIR10 33 13











































_______________________________________________________________________________
Synchronet                          201             Utility Reference: ADDFILES
♀

FILELIST  - Generate Synchronet File Directory Listings
=======================================================

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 Commands - 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
          /NOT code Exclude specific directory
          /CAT      Concatenate to existing outfile
          /PAD      Pad filename with spaces
          /HDR      Include directory headers
          /CDT      Include credit value
          /ULN      Include uploader's name
          /ULD      Include upload date
          /DFD      Include DOS file date
          /DLD      Include download date
          /DLS      Include total downloads
          /NOD      Exclude normal descriptions
          /NOE      Exclude normal descriptions, if extended exists
          /EXT      Include extended descriptions
          /JST      Justify extended descriptions under normal
          /+        Include extended description indicator (+)
          /-        Include offline file indicator (-)
          /*        Short-hand for /PAD /HDR /CDT /+ /-










_______________________________________________________________________________
Synchronet                          202             Utility Reference: FILELIST
♀

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 (e.g. /LIB "short name"). If you want to
include all the directories on your system in the list, use the "/ALL"
parameter.

If you want to exclude a specific directory from a library (when using the
"/LIB" or "/ALL" parameters), use the "/NOT" switch and follow the switch
with the internal code of the directory to NOT include in the list. If you
wish to exclude multiple directories, you must use multiple "/NOT" switches.

If you want the list to be appended to an existing file rather than overwrite
the original file, include the "/CAT" switch on your command line.

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 DOS file date to be included in the file listing, use the
"/DFD" 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.






_______________________________________________________________________________
Synchronet                          203             Utility Reference: FILELIST
♀

If you want the normal description to be excluded only if an extended
description exists, then use the "/NOE" switch. This is useful for generating
file lists from a directory where the original descriptions were imported
from an ASCII file list using ADDFILES. When using this switch, you do not
have to include the "/EXT" switch.

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

If you want extended descriptions to be automatically justified under the
normal description, include the "/JST" switch on the command line. You do not
have to include the "/EXT" switch if you use this switch.

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.






_______________________________________________________________________________
Synchronet                          204             Utility Reference: FILELIST
♀

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                          205             Utility Reference: FILELIST
♀

DUPEFIND - Synchronet Duplicate File Finder
===========================================

DUPEFIND.EXE is used to find duplicate file names in your Synchronet file
database. This is most useful for CD-ROM installations, where files may be
duplicated on the CD-ROM and your hard disk. Duplicate files can be a waste
of memory and disk space on your BBS.

Before DUPEFIND is run, you must have your SBBSNODE environment variable set
to point to a valid node directory. Example:

SET SBBSNODE=C:\SBBS\NODE1

DUPEFIND can be run with no parameters to search all of your file directories
in Synchronet for duplicate file names. If you wish to keep this list for
reference, it is a good idea to redirect the output to a file or printer.
Example:

DUPEFIND > PRN

You can also specify a starting and ending library number to limit the search
to certain libraries. Example:

DUPEFIND 1 3

would only search file libraries 1 through 3 for duplicate file names.





























_______________________________________________________________________________
Synchronet                          206             Utility Reference: DUPEFIND
♀

DELFILES - Removes Files from Synchronet File Database
======================================================

   usage: DELFILES <dir_code or * for ALL> [switches]

switches: /LIB name All directories of specified library
          /NOT code Exclude specific directory
          /OFF      Remove files that are offline (don't exist on disk)
          /NOL      Remove files with no link (don't exist in database)
          /RPT      Report findings only (don't delete any files)

Examples:
~~~~~~~~~
If you wanted to remove ALL files that are offline (don't exist on disk) you
would use the command line:

        DELFILES * /OFF

To remove files that exist on the disk but not in the Synchronet file database
you would use:

        DELFILES * /NOL

Or to simply remove files that match the criteria specified in the SCFG program
you would use:

        DELFILES *

The /NOT parameter is used to exclude certain directories:

        DELFILES * /NOT GAMES /NOT TEXT

Or you can specify a library name rather than a directory name:

        DELFILES /LIB <library name>

Appending /RPT to the command line will cause DELFILES to generate a report
of files that would have been removed, but it will not actually remove any
files.
















_______________________________________________________________________________
Synchronet                          207             Utility Reference: DELFILES
♀

Synchronet MLABELS Utility
==========================

The MLABELS utility is used to generate a list of mailing labels from a
Synchronet user database. Two basic label forms are supported, single
column (e.g. Avery 4145) and double column (e.g. Avery 4143). Specific
groups of users to print labels for can be specified by level, flags,
exemptions, or restrictions. If the BBS is real name based (no aliases), and
the "Company Name" new user question is toggled on in SCFG, then the company
name will appear at the top of the address and an ATTN: <User's Name> can
optionally  be added to the end of the address (with the use of the "/A"
command line switch).

Syntax:

        MLABELS C:\SBBS\DATA\USER [-required] [/options] <output>

User Data Path
~~~~~~~~~~~~~~
The first parameter is the path to your USER.DAT file. The example given is
the default location of the USER.DAT file ("\SBBS\DATA\USER").

Requirements
~~~~~~~~~~~~
The second parameter, "-require" is optional. Use this parameter to specify
a security requirement for the users to be included. Multiple "-require"
parameters can be specified, and the syntax is as follows:

-L#             set minimum level to # (default is 0)
-M#             set maximum level to # (default is 99)
-F#<flags>      set required flags for flag set # (Default is flag set #1)
-E<flags>       set required exemption flags
-R<flags>       set required restriction flags

The syntax of the -require option is identical to the ALLUSERS utility, so
please see the chapter on ALLUSERS for examples of how to use this parameter.

Options
~~~~~~~
The next parameter, if specified, are one or more valid option characters
following the slash '/' character. The available option characters are:

D               Double column labels
A               Add ATTN: <Alias/Real Name> to the labels











_______________________________________________________________________________
Synchronet                          208              Utility Reference: MLABELS
♀

Output
~~~~~~
The last parameter is the name of the output file. If you want the output
to go immediately to the printer, specify "PRN" as the output file.

Example:

        MLABELS \SBBS\DATA\USER PRN

If you wish to view the labels before you print them, specify a filename.

Example:

        MLABELS \SBBS\DATA\USER LABELS.TXT









































_______________________________________________________________________________
Synchronet                          209              Utility Reference: MLABELS
♀

Complete Example
~~~~~~~~~~~~~~~~

MLABELS \SBBS\DATA\USER -L50 -M59 -FP /DA PRN

The above command line would create a double wide mailing list containing all
users with security levels between 50 and 59 and flag 'P' from flag set #1,
and send the output directly to the printer, adding "ATTN: <Alias/Name>"
to the end of each label.

Example label:
~~~~~~~~~~~~~
John Doe
555 Main St.
Small Town, Ny 01234
ATTN: Mr. Anonymous







































_______________________________________________________________________________
Synchronet                          210              Utility Reference: MLABELS
♀

Synchronet QWKNODES Utility
===========================

usage: qwknodes [/opts] cmds

 cmds: r  =  create ROUTE.DAT
       u  =  create USERS.DAT
       n  =  create NODES.DAT

 opts: f  =  format addresses for nodes that feed from this system
       a  =  append existing output files
       t  =  include tag lines in NODES.DAT
       l  =  include local users in USERS.DAT
       m# =  maximum message age set to # days

The QWKNODES utility is used to scan through all the messages in all of your
QWK networked sub-boards and create one or more lists:

ROUTE.DAT
---------
The DATA\QNET\ROUTE.DAT file is automatically created and maintained by SBBS.
It includes the routing necessary to get netmail from your BBS to any other
QWKnet BBS (using Synchronet's QWKnet extensions) in your QWK network. Entries
are automatically added, modified, and removed (when out-dated). You can use
QWKNODES to create this file (by scanning your QWK networked message bases),
but it isn't normally necessary.

If you are a QWKnet hub and wish to create a ROUTE.DAT for your QWKnet nodes
(other BBSs that call your BBS for QWKnet messages), you must include the
/F command line option when creating the file (and DO NOT put that ROUTE.DAT
in your DATA\QNET directory as the routing information will be incorrect for
your system). This is a convenience for your QWKnet nodes which allows them to
immediately send routed QWK netmail (without waiting for SBBS to create the
ROUTE.DAT automatically while parsing incoming echomail).

USERS.DAT
---------
The DATA\QNET\USERS.DAT file (if it exists) is used by SBBS to look-up user
names on other BBSs in your QWK network when attempting to send e-mail to an
unknown user name. The QWKNODES utility must be used to create this file (most
likely via timed event). If the /L command line option is specified when this
file is created, it will include the names of users that posted from YOUR BBS
as well as all others in the network (not of any use to SBBS, but informative
if you wish to create a list of ALL active users in your QWK network). Only
users who are active in the message bases (on any of the BBSs) will appear in
the USERS.DAT file.

NODES.DAT
---------
While this file is informative (list of all QWKnet nodes that have generated
messages in your QWKnet sub-boards) it is not used by SBBS currently. If the
/T command line option is specified when this file is created, it will include
a copy of each node's tagline in the list in addition to their QWK-ID and
routing details.

_______________________________________________________________________________
Synchronet                          211             Utility Reference: QWKNODES
♀


/A
--
The /A option is used to append (concatenate) an existing output file. If this
option isn't specified any existing output file (ROUTE.DAT, USERS.DAT, or
NODES.DAT) will be truncated and overwritten.

/M#
---
The maximum message age option is used to specify a maximum age of messages
(in days) to include in the list of messages scanned to obtain user/node
/routing information from (example: /M90 to specify a maxium age of 90 days
causing QWKNODES to ignore any messages older than 90 days). The default
behavior is all messages (no maximum age).

Note: Output files are created in the current directory.
      While it is possible to create all three output files from one
      execution of QWKNODES, the U command will cause duplicate entries
      in the NODES.DAT and ROUTE.DAT files. So it is best to create the
      USERS.DAT in a separate execution of the QWKNODES utility. Example:

        QWKNODES RN     -> To create ROUTE.DAT and NODES.DAT
        QWKNODES U      -> To create USERS.DAT
































_______________________________________________________________________________
Synchronet                          212             Utility Reference: QWKNODES
♀

Synchronet ALLUSERS Utility
===========================

ALLUSERS can allow a sysop to modify the security settings for a large number
of users with one command line. If you're a Synchronet sysop, you may have
found yourself at one time or another going through the internal User Editor
searching for users with a certain flag or exemption and changing their level,
removing an exemption, adding a restriction, etc. The User Editor's ARS search
facility is very quick and flexible, but having to hand modify each user, even
with the use of macros, can be very tedious with a large user database.

This program attempts to eliminate the monotony of such a task. With a single
command line, you can change security levels, add/remove flags, exemptions,
or restrictions to some or all of the users in your database. The syntax is
pretty simple:

Syntax
~~~~~~
ALLUSERS C:\SBBS\DATA\USER -require /modify


User Data Path
~~~~~~~~~~~~~~
The first parameter, "C:\SBBS\DATA\USER" is the directory where your USER.DAT
file is located. The example given is the default location of the USER.DAT
file. If the USER.DAT is in the current directory, the path should be simply
"." for current directory. This parameter is not optional.


Requirements
~~~~~~~~~~~~
The second parameter, "-require" is optional. Use this parameter to specify
a security requirement for the modifications to follow. Multiple "-require"
parameters can be specified, and the syntax is as follows:

-L#             set minimum level to # (default is 0)
-M#             set maximum level to # (default is 99)
-F#<flags>      set required flags for flag set # (Default is flag set #1)
-E<flags>       set required exemption flags
-R<flags>       set required restriction flags

Examples:

-L20  indicates that only users with a level of 20 or higher will be modified
-M80  indicates that only users with a level of 80 or lower will be modified
-FC   indicates that only users with flag 'C' from flag set #1 will be modified
-F3G  indicates that only users with flag 'G' from flag set #3 will be modified
-RA   indicates that only users with the 'A' restriction will be modified

If multiple requirement parameters are specified, they must each begin with
a dash '-' character and be separated by at least one space.




_______________________________________________________________________________
Synchronet                          213             Utility Reference: ALLUSERS
♀

Examples:

-L50 -M59  indicates that only users between level 50 and 59 will be modified
-RB -F2M   indicates that only users with the 'B' restriction and flag 'M' in
           flag set #2 will be modified

Multiple required flags may be specified as well.

Example:

-F4AC      indicates that only users with both the 'A' and 'C' flags from
           flag set #4 will be modified
-EPLM      indicates that only users with the 'P', 'L', and 'M' exemptions
           will be modified

Modifications
~~~~~~~~~~~~~
Next on the command line are one or more modification parameters. Each
modification parameter begins with the slash '/' character. The available
modification parameters are as follows:

/L#                     set level to #
/F#[+|-]<flags>         add or remove flags from flag set #
/E[+|-]<flags>          add or remove exemption flags
/R[+|-]<flags>          add or remove restriction flags

Examples:

/L20  indicates that all users' levels will be changed to 20
/FA   indicates that flag 'A' from flag set #1 will be added to all users
/F3-G indicates that flag 'G' will be removed from flag set #3 for all users
/E+L  indicates that exemption 'L' will be added to all users
/R-N  indicates that restriction 'N' will be removed from all users

Flag set #1 is the default, so "/F1+A" and "/F+A" are equivalent.
Addition of flags (+) is the default, so "/F+A" and "/FA" are equivalent.
Flags and parameters are not case sensitive, so "/FA" and "/fa" are equivalent.

Multiple modification parameters can be used.

Example:

/L40 /F2-Z   indicates that all users will be set to level 40 and have flag
             'Z' from flag set #2 removed

Multiple flags per modification may be specified.

Example:

/RAB         indicates that both 'A' and 'B' restrictions will be added to
             all users.




_______________________________________________________________________________
Synchronet                          214             Utility Reference: ALLUSERS
♀

Complete Examples
~~~~~~~~~~~~~~~~~
To change all level 20 users to level 30, use the following command line:

ALLUSERS C:\SBBS\DATA\USER -L20 -M20 /L30

To give all QWKnet node users the 'M' exemption, use the following command:

ALLUSERS C:\SBBS\DATA\USER -RQ /EM

To give all users below level 90, the 'B' restriction, use the following:

ALLUSERS C:\SBBS\DATA\USER -M89 /RB

To give all users with level 50 or higher, the 'M' and 'L' exemptions:

ALLUSERS C:\SBBS\DATA\USER -L50 /EML

To remove flag 'C' from flag sets #1 and #2 from all users:

ALLUSERS C:\SBBS\DATA\USER /F1-C /F2-C


































_______________________________________________________________________________
Synchronet                          215             Utility Reference: ALLUSERS
♀

Synchronet AUTONODE Utility
===========================

The AUTONODE utility is used for automatically finding an available local
node for logon and running that node. You set the first local node number
in SCFG->System->Advanced Options->First Local Auto-Node.

In order for the AUTONODE utility to run, you must first set the SBBSCTRL
and SBBSNODE environment variables. Add the lines:

SET SBBSCTRL=C:\SBBS\CTRL
SET SBBSNODE=C:\SBBS\NODE1

to your AUTOEXEC.BAT file. If your CTRL or NODE1 directories are in a different
locations, then specify the correct paths accordingly.

This utility is useful for systems that have more than one local node. This
eliminates the need for those users to change into an unused node directory
and run SBBS. It will automatically find the first unused local node and
take them to the logon prompt. When they logoff, they will return to the
DOS prompt.

If for some reason, you do not wish the user to automatically go to a logon
prompt or to exit back to DOS after logoff, you can specify which command
line to use when running SBBS. The default is "SBBS L Q", which tells
Synchronet to take the user straight to the logon prompt and then quit back
to DOS.




























_______________________________________________________________________________
Synchronet                          216             Utility Reference: AUTONODE
♀

Synchronet Node Display/Control Utility
=======================================

The NODE utility can be used to display or control the status of nodes from
the DOS prompt or via batch files.

usage: node [/debug] [action [on|off]] [node numbers] [...]

actions (default is list):

list        = list status
anon        = anonymous user
lock        = locked
intr        = interrupt
down        = shut-down
rerun       = rerun
event       = run event
nopage      = page disable
noalerts    = activity alerts disable
status=#    = set status value (definition of status values at end of section)
useron=#    = set useron number
action=#    = set action value (definition of action values at end of section)
errors=#    = set error counter
conn=#      = set connection value
misc=#      = set misc value
aux=#       = set aux value
extaux=#    = set extended aux value

Before the NODE utility can be run, the SBBSCTRL environment variable must
be set to point to your CTRL directory. Example:

SET SBBSCTRL=C:\SBBS\CTRL

Place this line in your AUTOEXEC.BAT file to automatically set this variable
at boot-up. It is necessary for the NODE utility to find the shared node
control files. If your CTRL directory is in a different location, use the
correct path for the SET command.

If you want to be able to run the NODE utility from any directory, you must
have the NODE.COM program in one of your DOS search directories. Either copy
this file into a directory already in your DOS search path, or add your
Synchronet EXEC directory to your search path in your AUTOEXEC.BAT. Example:

SET PATH=C:\DOS;C:\UTIL;C:\SBBS\EXEC

(DOS and UTIL directory are included for example only).









_______________________________________________________________________________
Synchronet                          217                 Utility Reference: NODE
♀

Running NODE
------------

To run the NODE utility, you must type the word "NODE", an action (ex: "LOCK"),
then a list of nodes to take the action on (ex: "1 2 4 5"). If no node numbers
are specified, it is assumed you wanted to perform the action on ALL nodes.

Some actions can have an option "ON" or "OFF" state specified. Typing "NODE
LOCK 1" would toggle the "locked" state of node 1. If it were previously off,
it would be set to on. To be sure you are setting the state to either on or
off rather than toggling, you may specify on or off (e.g. "NODE LOCK ON 1"
would set the locked state of node 1 to on).

Some actions are setting a value for the node status. These actions are listed
with "=#" after the action word. This indicates that you must specify a numeric
value for that status option (e.g. "NODE USERON=1 5" would set the current
user number on node 5 to 1).

The optional "/debug" switch can be used to view the current numeric values
associated with the node status.



































_______________________________________________________________________________
Synchronet                          218                 Utility Reference: NODE
♀

Example Usage
-------------

Example #1: To list the status of all your nodes, type

NODE LIST


Example #2: To lock node 1, type

NODE LOCK ON 1


Example #3: To unlock nodes 1 and 2, type

NODE LOCK OFF 1 2


Example #4: To set the status of node 3 to "Offline", type

NODE STATUS=5 3


Example #5: To interrupt and lock node 4, type

NODE INTR ON 4 LOCK ON 4


Example #6: To clear the error counter of all nodes, type

NODE ERRORS=0


Example #7: To toggle the "rerun" status of all nodes, type

NODE RERUN


Example #8: To down node 2, type

NODE DOWN ON 2














_______________________________________________________________________________
Synchronet                          219                 Utility Reference: NODE
♀

Definition of Numeric Values
----------------------------
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 (aux=program number)
9       Main Defaults Section
10      Transfer Prompt
11      Downloading File (aux=estimated time of transfer completion)
12      Uploading File
13      Bidirectional Transfer (aux=estimated time of transfer completion)
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 (aux=node chatting with)
23      Paging another node for Private Chat (aux=node being paged)
24      Retrieving file from a sequential device (aux=device num)













_______________________________________________________________________________
Synchronet                          220                 Utility Reference: NODE
♀

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      Message is waiting for node









































_______________________________________________________________________________
Synchronet                          221                 Utility Reference: NODE
♀

UTI Driver
==========

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 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
confernece list to avoid a catastrophe. However, you should still "Update" the
network or mail software to avoid configuration confusion - especially when
deleting sub-boards.



























_______________________________________________________________________________
Synchronet                          222           Utility Reference: UTI Driver
♀

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





























_______________________________________________________________________________
Synchronet                          223           Utility Reference: UTI Driver
♀

System/Node Statistics Log Viewing Utility
==========================================

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























_______________________________________________________________________________
Synchronet                          224                 Utility Refernece: SLOG
♀

Daily Statistics Editor Documentation
=====================================

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































_______________________________________________________________________________
Synchronet                          225             Utility Reference: DSTSEDIT
♀

TOTALS: External Programs Credit Gain/Loss Log Totalling Utility
================================================================

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



































_______________________________________________________________________________
Synchronet                          226               Utility Reference: TOTALS
♀

ANS2MSG
=======

ANSI to Synchronet Ctrl-A message format conversion utility 

This utility will convert basic non-animated ANSI files into Synchronet Ctrl-A
code files that can be displayed to olor or monochrome ansi users with 
attractive results as well as non-ansi users. This allows you to use an ANSI
drawing program (such as TheDraw) to create your menus in ANSI and convert the
ANSI file to Ctrl-A message format for your .ASC or .MSG version. Or you can
use the converted file for all users by keeping the ANSI (.ANS) version in
a directory other than TEXT\MENU.

If, for example, you create a main menu with an ANSI drawing program that you
want your ASCII and monchrome ANSI users to see with attractive output, use
ANS2MSG to create the .MON and .ASC versions.

Type: ANS2MSG MAIN.ANS MAIN.MON
in your TEXT\MENU directory to create the monochrome version. 

Type: ANS2MSG MAIN.ANS MAIN.ASC
in your TEXT\MENU directory to create the ASCII version.

If you rename MAIN.ANS or move into a directory other than TEXT\MENU, then
you will not need the .MON version as the .ASC version will be used for all
termain types.

This utility is also useful for creating colorful system, newuser, feedback
and other Synchronet .MSG files for display. For example, create 
TEXT\SYSTEM.ANS with your favorite ANSI editor and then convert to .MSG by
typing: ANS2MSG SYSTEM.ANS SYSTEM.MSG

Be aware that ANSI animation codes are NOT supported since there aren't Ctrl-A
equivalents. The following ANSI codes (preceeded by <ESC>[) are supported:





















_______________________________________________________________________________
Synchronet                          227              Utility Reference: ANS2MSG
♀

ANSI Code       Ctrl-A Code     Explanation (* indicates not supported by IBM)
------------------------------------------------------------------------------
2J              L               Clear Screen
#C              7Fh-FFh         Move cursor right # columns
0m              N               Normal attribute
1m              H               High intensity
2m              N               Low intensity *
3m              I               Italic *
4m              I               Underline *
5m              I               Blink
6m              I               Rapid Blink *
7m              H               Reverse Video *
8m              E               Concealed text *
30m             K               Foreground black
31m             R               Foreground red
32m             G               Foreground green
33m             Y               Foreground yellow
34m             B               Foreground blue
35m             M               Foreground magenta
36m             C               Foreground cyan
37m             W               Foreground white
40m             0               Foreground black
41m             1               Foreground red
42m             2               Foreground green
43m             3               Foreground yellow
44m             4               Foreground blue
45m             5               Foreground magenta
46m             6               Foreground cyan
47m             7               Foreground white


























_______________________________________________________________________________
Synchronet                          228              Utility Reference: ANS2MSG
♀

MSG2ANS
=======

Converts Synchronet Ctrl-A file to ANSI escape sequences.

This utility allows you to convert files that use Ctrl-A codes into ANSI files.
(the oposite of the ANS2MSG utility).

The syntax is: MSG2ANS infile.ext outfile.ext

The extension for the input file will most likely be .ASC or .MSG and the
output file should be .ANS.

This utility is also useful for viewing files with Synchronet Ctrl-A codes from
the DOS prompt.

Example: MSG2ANS MAIN.ASC CON

This will read from the Ctrl-A file MAIN.ASC and write to your screen using
ANSI escape sequences.



































_______________________________________________________________________________
Synchronet                          229              Utility Reference: MSG2ANS
♀

Troubleshooting
===============

    Before contacting Digital Dynamics about any problems you encounter, you
should check to see if your problem is listed here, as well as do a review of
the manual.
    If you are having problems with a program which is external to Synchronet
(e.g. doors, add-ons, memory managers, multi-taskers, mail tossers, front-end
mailers, hardware, etc.) you should contact the manufacturer of that
particular product.
    If all else fails, and you must call Digital Dynamics for help in solving
your problem, be sure that:

        1) You are at your BBS machine.
        2) You can duplicate the problem.

Problem : Ymodem-G doesn'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, you
          must use a registered copy of DSZ.COM (or EXE).
          See DSZ.DOC for more information on registering DSZ.


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.


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

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.













_______________________________________________________________________________
Synchronet                          230                         Troubleshooting
♀

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


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.


Problem : When answering calls, Synchronet displays "Unknown 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 Configuration Reference for more information.


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.
          Some ANSI drivers may also cause this problem. Use the standard DOS
          ANSI.SYS for your console driver.


Problem : When running external programs under OS/2 that require intercepted
          I/O to be displayed remotely (like PKZIP, Synchronet Blackjack,
          FEdit, etc) the output does not appear at all remotely and ANSI
          escape sequences display as garbage.

Solution: OS/2's DOS console driver has a DOS compatibility bug. Run
          SVDMANSI.COM (from the EXEC directory) and remove ANSI.SYS from your
          CONFIG.SYS and DOS settings. See SVDMANSI.DOC for more information.





_______________________________________________________________________________
Synchronet                          231                         Troubleshooting
♀

Problem : At the WFC screen, Synchronet shows that a node has errors, and I
          can't get them to stop showing.

Solution: You must log on to the BBS, and at the main menu prompt type ;ERR,
          the errors will be displayed to you, and you will be asked if you
          want to clear the critical error counter, answer YES to clear the
          errors.
          You may also clear the errors using the Synchronet node utility, by
          typing NODE ERRORS=0 at the DOS prompt.


Problem : One of the BBS nodes will run fine, and then after one or two callers
          the modem won't reinitialize (Synchronet returns NO RESPONSE).

Solution: Be sure that the com port on that node is NOT using the same IRQ or
          I/O address as any other com port or device in your computer.  Some
          motherboards have com ports built onto the board itself, if your
          motherboard is like this, and you are not using those ports, you
          should make sure they are disabled.


Problem : My users see garbage when Synchronet runs from my front-end mailer,
          or when they run an external door.

Solution: Check to make sure that the DTE rate that you have set in your front
          end mailer or door matches what you have configured for Synchronet.
          If you are using a FOSSIL driver, the DTE rate you have set up for
          the FOSSIL must be the same as what you have set up for Synchronet
          (e.g. if your FOSSIL rate is locked at 38400, then that Synchronet
          node must have its port locked at 38400).


Problem : I am running a program as a door that was not written to be a BBS
          door.  It functions fine locally, but when someone runs the program
          remotely their screen remains blank.

Solution: Make sure you have set 'Intercept I/O' turned on for that program,
          if there is still nothing displayed to the user, it's likely that
          the program uses direct screen writes, which would require the use
          of a doorway program for it to be usable via modem.  If the program
          uses graphics, it is most likely that you will not be able to use it
          remotely.


Problem : When posting a message or sending email, the BBS immediately responds
          with 'ABORTED' right after I enter a title for the message.

Solution: You have an external editor defined, and that editor is not working
          properly.  A couple of reasons an external editor may not function
          properly is either not enough memory available for it to run, or
          you have used an improper command line for that editor.




_______________________________________________________________________________
Synchronet                          232                         Troubleshooting
♀

Problem : I am trying to add another BBS node using DesqView, when I try to
          open another window for that node, I get the message 'A Non-Swappable
          Window is in the Way'.

Solution: You do not have enough memory available on this machine for another
          window to be opened. You should attempt to make more EMS available.


Problem : I am running under Windows, when the board runs it says 'Share
          Installed' but it then says 'File Locking Failed'.

Solution: You MUST run share from the DOS prompt BEFORE running Windows.


Problem : I am receiving sharing violations while Synchronet is running.

Solution: Disable 'Swap to XMS' in the advanced settings for each node using
          the SCFG program.


Problem : I am receiving errors with an action of "opening" and a doserr
          of 04h (as shown in the ERROR.LOG).

Solution: You need to increase the number on the FILES= statement in your
          CONFIG.SYS. FILES=20 should be plenty for Synchronet.


Problem : I (or a co-sysop) lost carrier while shelled to DOS remotely and
          the BBS didn't return to waiting for a call.

Solution: Create two batch files (2.BAT and 3.BAT) in a directory that is
          in your DOS search path with one line containing the word "EXIT".


Problem : When typing ;DOS, ;SLOG, or ;NLOG from the main menu I get "Incorrect
          DOS version" or nothing at all.

Solution: Make sure the COMMAND.COM for the version of DOS you are running is
          in your DOS search path. If multiple copies of COMMAND.COM exist on
          your disk drive, make sure they are all for the same version.















_______________________________________________________________________________
Synchronet                          233                         Troubleshooting
♀

Customization: Menus and Text Files
===================================

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
WIP     Contains WIP escape sequences for use with DC-Term
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.

The best way to edit files with Ctrl-A codes is to first convert them to ANSI
with MSG2ANS.EXE (see the Utility reference for more information). Then edit
with an ANSI editor (such as TheDraw). Then convert back to Ctrl-A format
using ANS2MSG.EXE (see the Utility reference for more information).















_______________________________________________________________________________
Synchronet                          234           Customization: Menus and Text
♀

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
BATFLAG         Batch flag command key menu
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
FLAGS1          Flag set #1 descriptions for use within User Edit
FLAGS2          Flag set #2 descriptions for use within User Edit
FLAGS3          Flag set #3 descriptions for use within User Edit
FLAGS4          Flag set #4 descriptions for use within User Edit
LOGOFF          Logoff ('O' command) screen
LOGON           Logon screen (LOGON2, LOGON3, ... LOGON9 also supported)
MAILREAD        Reading mail menu
MAIN            Main section menu
MAINCFG         Main configuration menu
MAININFO        Main information menu
MSGSCAN         Message reading/scanning menu
MULTCHAT        Multinode chat menu
PRIVCHAT        Private node-to-node chat menu
QWK             QWK Packet 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
XFERINFO        Transfer section information menu













_______________________________________________________________________________
Synchronet                          235           Customization: Menus and Text
♀

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
DIRSx           File Directory listing, 'x' is the library number
XTRN_SEC        External Program Sections
XTRNx           External Program listing, 'x' is the section number
TEXT_SEC        Text File Section listing
TEXTx           Text File listing, 'x' is the text file section number
CHAN            Multinode Chat Channels
TMESSAGE        Displays when the user enters the transfer section
TPOLICY         Transfer policy (&T transfer section command)

Other Optional Message Files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you want to have an information file displayed for sub-boards when using
the 'I' scanning command and 'IS' main menu 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 'ID' 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.









_______________________________________________________________________________
Synchronet                          236           Customization: Menus and Text
♀

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\ANSWER.RIP         Answer message for RIP 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 (after
                        failing to guess correctly)
TEXT\TOOSLOW.MSG       *Displayed to users logging onto a node at less than the
                        minumum configured connect rate for that node
TEXT\BADCID.MSG        *Displayed to users calling from a number contained in
                        CID.CAN
TEXT\BADNAME.MSG       *Displayed to new users trying to use a name contained
                        in NAME.CAN
TEXT\BADPHONE.MSG      *Displayed to new users using a number contained in
                        PHONE.CAN
TEXT\BADFILE.MSG       *Displayed to user trying to upload filename contained
                        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)





























_______________________________________________________________________________
Synchronet                          237           Customization: Menus and Text
♀

Logon Message Flow Chart
~~~~~~~~~~~~~~~~~~~~~~~~
Displayed filenames are in upper case.

(Note: LOGON*.* are not displayed for local logons)

╔═══════════════╗
║ TEXT\ANSWER.* ║
╚═══════╤═══════╝
┌───────┴──────┐
│ Logon Prompt │
└───────┬──────┘
  ┌─────┴─────┐ ┌─────┐ ╔═══════════════╗ ╔═════════════════╗
  │ New User? ├─┤ Yes ├─╢ TEXT\SBBS.MSG ╟─╢ TEXT\SYSTEM.MSG ║
  └─────┬─────┘ └─────┘ ╚═══════════════╝ ╚════════╤════════╝
     ┌──┴─┐                               ╔════════╧═════════╗
     │ No │                               ║ TEXT\NEWUSER.MSG ║
     └──┬─┘                               ╚════════╤═════════╝
        │                                ┌─────────┴──────────┐
        │                                │ Password Selection │
        │                                └─────────┬──────────┘
        │                               ┌──────────┴────────────┐
        │                               │ Default Configuration │
        │                               └──────────┬────────────┘
        │  ╔═══════════════════╗ ┌─────┐ ┌─────────┴──────────┐
        │  ║ TEXT\FEEDBACK.MSG ╟─┤ Yes ├─┤ Feedback Required? │
        │  ╚═════════╤═════════╝ └─────┘ └─────────┬──────────┘
        │    ┌───────┴───────┐                  ┌──┴─┐
        │    │ Send Feedback │                  │ No │
        │    └───────┬───────┘                  └──┬─┘
        │  ┌─────────┴─────────┐                   │
        │  │ New User Event(s) ├───────────────────┘
        │  └─────────┬─────────┘
        │  ╔═════════╧═════════╗
        └──╢ TEXT\MENU\LOGON.* ║
           ╚═════════╤═════════╝
          ╔══════════╧═════════╗
          ║ TEXT\MENU\LOGON2.* ║
          ╚══════════╤═════════╝
          ╔══════════╧═════════╗
          ║ TEXT\MENU\LOGON3.* ║
          ╚══════════╤═════════╝
                    ...

          ╔══════════╧═════════╗
          ║ TEXT\MENU\LOGON9.* ║
          ╚══════════╤═════════╝
            ┌────────┴───────┐
            │ Logon Event(s) │
            └────────────────┘





_______________________________________________________________________________
Synchronet                          238           Customization: Menus and Text
♀

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.

The order of the % specifiers (if they exist) in a TEXT.DAT line cannot be
altered. The display of %s specifiers can be supressed by changing the '%s' to
'%.0s'. Another way to supress the display of specifiers is to enclose them
between Ctrl-A( and Ctrl-A). Any text between Ctrl-A( and Ctrl-A) would only
be displayed to users of level 90 or higher. To supress the display to all
users, put the text/specifiers between Ctrl-ACtrl-Z and Ctrl-A) (assuming
that the Z flag from flag set #1 is not set on any user accounts).

** 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 erroneously or even fail to
initialize.
















_______________________________________________________________________________
Synchronet                          239           Customization: Menus and Text
♀

Node Action Text
~~~~~~~~~~~~~~~~
The node action text can be over-riden by editing the NodeAction lines in
the TEXT.DAT file (see previous section for details on TEXT.DAT). The node
action text is what is displayed on the node status line when a node is in
use. (i.e. instead of "Node  1: So-and-so uploading at 14400bps", you could
make it say whatever you like).

You can also include the following optional specifiers (in this order):

%s      User's name or alias
%u      User's security level
%u      User's age
%c      User's sex (gender, M or F)
%s      User's computer type
%s      User's note
%s      Date user was first online
%u      Auxillary value (chat channel, door number, paged node, etc)
%u      Connection rate (in bps)

If you include any of the above specifiers, you must also include any of the
specifiers above it. The order of the specifiers cannot be changed. If you
wish to supress the display of a %s specifier, use "%.0s" instead of "%s".
To supress other specifiers, see the previous section for details.































_______________________________________________________________________________
Synchronet                          240           Customization: Menus and Text
♀

Trash Can Files
~~~~~~~~~~~~~~~
Trash can files are used to be able to reject text during certain sequences on
the BBS.  For example, if you don't want a user to be able to log on with a
certain name or use a certain phone number, you would place the information you
don't want them to use into the appropriate trash can file.  Synchronet looks
for trash can files in the \SBBS\TEXT directory, certain ones may already
exist, others will need to be created if you wish to use them.  The names of
the various trash can files and their function are as follows:

TEXT\CID.CAN    You MUST have caller ID capabilities in your area (as well as a
                modem which can support those capabilities) in order to use
                this file.  When a call comes in to the BBS who's caller ID
                phone number matches a phone number in this file, the call will
                be rejected.

TEXT\NAME.CAN   When a user attempts to use a name contained in this file as
                the name for their user account, they will be told that s/he
                cannot use that name.
                If the file TEXT\BADNAME.MSG exists, this will be displayed to
                the user.

TEXT\FILE.CAN   When a user uploads a file to the transfer section who's
                filename matches one of the names contained in this file, the
                user will be told that s/he cannot upload the file.
                If the file TEXT\BADFILE.MSG exists, this will be displayed to
                the user.

TEXT\PHONE.CAN  When a user attempts to use a phone number contained in this
                file as a phone number for their user account, they will be
                told that s/he cannot use that phone number.  This file can
                also be used by the Synchronet Callback Verifier program.
                If the file TEXT\BADPHONE.MSG exists, this will be displayed to
                the user.

The trash can files also allow special key characters to be used within them,
the tilde '~' character means "contained within" and the carrot '^' character
means "begining with".  For example:

sysop   in the name.can would mean users could not use the name "sysop".

sysop^  would mean users could not use names beginning with the word "sysop",
        like "sysopa" or "sysops" etc.

sysop~  would mean users could not use names that have the word "sysop"
        anyhwere in them, like "imthesysop" or "mesysophere".

These key characters can be used in any of the trash can files.







_______________________________________________________________________________
Synchronet                          241           Customization: Menus and Text
♀

Customization: Message Variables
================================

Using Message Variables
~~~~~~~~~~~~~~~~~~~~~~~
Message Variables (also called @-Codes) are a way to customize text files in
Synchronet to display information about the user online or the BBS.
If Synchronet encounters an @-Code in a text file (ie: TEXT.DAT, menus, etc.),
it will replace the @-Code in the file with the information that it corresponds
with. @-Codes in e-mail messages and posts will only be expanded if they were
posted locally (not networked) by user #1. TEXT.DAT lines that have %
specifiers willnot expand @-Codes unless the % specifiers are removed.

For example, placing the following line in a text file displayed to a user
named Fred Jones living on 100 Maple Street:

        Hi @ALIAS@, you live at @ADDR1@ don't you?

Would result in the user seeing:

        Hi Fred Jones, you live at 100 Maple Street don't you?

It's that simple.  The following is a list of the @-Codes that Synchronet will
recognize. Remember that the Code NAME must begin and end with an @ symbol.
The two columns after the description of the @-Code show which other BBS
programs also support that @-Code (either PCBoard or Wildcat).

The @-Codes with "[...]" following the name indicate that you can have the
variable displayed with padding. If the @-Code name ends in "-L" the variable
will be left justified and "-R" indicates it will be right justified. If for
example, the user's name is Bob, the text string "___@NAME-L@___" would display
to the user as "___Bob     ___" and the text string "___@NAME-R@___" would
display to as "___     Bob___". If you want the string to be padded longer, you
can add extra characters to the end of the @-Code name and before the
terminating '@' sign. So for example, "___@NAME-L#####@___" would display as
"___Bob          ___" (the "___" segments of the above text examples are only
to demonstrate where the padding begins and ends).

*** Synchronet Supported @-Codes ***
( * Indicates Synchronet specific )

Note: All codes must be uppercase and sandwiched between @ symbols
      (e.g. @USER@).












_______________________________________________________________________________
Synchronet                          242        Customization: Message Variables
♀

Code            Description                                     PCB     WC
------------------------------------------------------------------------------
ADDR1           User's street address                           N       Y
ALIAS           User's name or alias                            N       Y
AUTOMORE        Toggle automatic pausing                        Y       N
BAUD            User's connect rate (DCE) in bps                N       Y
BBS             Name of BBS                                     N       Y
BDATE           User's birthdate (MM/DD/YY)                     N       Y
BEEP            Generate a beep                                 Y       N
BELL            <same as BEEP>                                  N       Y
BOARDNAME       <same as BBS>                                   Y       N
BPS             <same as BAUD>                                  Y       N
BYTELIMIT       User's free credits per day                     Y       N
BYTESLEFT       User's total credits                            Y       N
CALLS           Total number of logons for user                 N       Y
CITY            User's city                                     Y       Y
CLS             Clear screen                                    Y       Y
COMPANY         User's company name or real name                N       Y
CONF            Name of current Group and Sub-board             N       Y
CONFNUM         Number of current Group and Sub-board           Y       N
CPU             User's computer type                            N       Y
DATA            <same as PHONE>                                 N       Y
DATAPHONE       <same as PHONE>                                 Y       N
DATE            Current system date                             N       Y
DAYBYTES        Number of free credits used today by user       Y       Y
DIR           * Current file directory short description        N       N
DIR-L[...]    * " " padded and left justified                   N       N
DIR-R[...]    * " " padded and right justified                  N       N
DIRL          * Current file directory long description         N       N
DIRL-L[...]   * " " padded and left justified                   N       N
DIRL-R[...]   * " " padded and right justified                  N       N
DN            * Number of current file directory                N       N
DL            * " " padded and left justified (4 chars wide)    N       N
DR            * " " padded and right justified (4 chars wide)   N       N
DLBYTES         Total bytes downloaded by user                  Y       N
DLFILES         Total files downloaded by user                  Y       N
DLKLIMIT        User's total credits (in kilobytes)             N       Y
DOWNK           Total kilobytes downloaded by user              N       Y
DOWNS           <same as DLFILES>                               N       Y
EXDATE          User's expiration date (MM/DD/YY)               N       Y
EXPDATE         <same as EXDATE>                                Y       N
EXPDAYS         Days left before user expires                   Y       Y
FIRST           User's first name/alias                         Y       Y
FIRSTREAL     * User's first real/company name                  N       N
FREESPACE       Free disk space available for uploads           Y       N
FROM            User's location (City, State)                   N       Y
GRP           * Current message group short description         N       N
GRP-L[...]    * " " padded and left justified                   N       N
GRP-R[...]    * " " padded and right justified                  N       N
GRPL          * Current message group long description          N       N
GRPL-L[...]   * " " padded and left justified                   N       N
GRPL-R[...]   * " " padded and right justified                  N       N
GN            * Number of current message group                 N       N
GL            * " " padded and left justified (4 chars wide)    N       N

_______________________________________________________________________________
Synchronet                          243        Customization: Message Variables
♀

GR            * " " padded and right justified (4 chars wide)   N       N
HANDLE        * User's chat handle                              N       N
HANGUP          Immediately disconnect user                     Y       N
HOMEPHONE       <same as PHONE>                                 Y       N
KBLEFT          User's total credits (in kilobytes)             Y       Y
KBLIMIT         User's free credits per day (in kilobytes)      Y       N
LAST          * User's last name (alias)                        N       N
LASTREAL      * User's last real/company name                   N       N
LASTCALLERNODE  Name of user last on this node                  Y       N
LASTDATEON      Date of user's last logon (MM/DD/YY)            Y       N
LASTNEW         Date of user's last new file scan (MM/DD/YY)    N       Y
LASTON          Date and time of user's last logon              N       Y
LASTTIMEON      Time of user's last logon (HH:MM am)            Y       N
LEFT            <same as MINLEFT>                               N       Y
LIB           * Current file library short description          N       N
LIB-L[...]    * " " padded and left justified                   N       N
LIB-R[...]    * " " padded and right justified                  N       N
LIBL          * Current file library long description           N       N
LIBL-L[...]   * " " padded and left justified                   N       N
LIBL-R[...]   * " " padded and right justified                  N       N
LN            * Number of current file library                  N       N
LL            * " " padded and left justified (4 chars wide)    N       N
LR            * " " padded and right justified (4 chars wide)   N       N
MAXDK           <same as KBLIMIT>                               N       Y
MEMO            Date of user's last password modification       N       Y
MEMO1           User's note                                     N       Y
MEMO2           <same as COMPANY>                               N       Y
MINLEFT         Time left in minutes                            Y       N
MORE            <same as PAUSE>                                 Y       N
MSGLEFT         Total number of messages posted by user         Y       N
MSGREAD         Number of messages read by user this call       Y       N
MSGSLEFT        <same as MSGLEFT>                               N       Y
NAME          * User's name or alias                            N       N
NAME-L[...]   * User's name (padded and left justified)         N       N
NAME-R[...]   * User's name (padded and right justified)        N       N
NOACCESS      * Why user was denied access (last false ARS)     N       N
NODE            Number of current node                          Y       Y
NODE###         Status of node number ###                       N       Y
NUMCALLS        <same as TCALLS>                                Y       N
NUMDIR          Number of current library and directory         Y       N
NUMTIMESON      <same as CALLS>                                 Y       N
PAUSE           Immediately produces a [Hit a key] prompt       Y       Y
PHONE           User's phone number (###-###-####)              N       Y
PON             Toggles automatic screen pause for everyone     Y       N
POFF            Toggles automatic screen pause for everyone     Y       N
PREVON          <same as LASTCALLERNODE>                        N       Y
QUESTION      * Current Yes/No question (for TEXT\MENU\YESNO.*) N       N
REAL          * User's real first name                          N       N
SEC             User's security level                           N       Y
SECURITY        <same as SEC>                                   Y       N
SINCE           Date of user's first call (MM/DD/YY)            N       Y
STATE           User's state (from location)                    N       Y
SUB           * Current message sub-board short description     N       N
SUB-L[...]    * " " padded and left justified                   N       N

_______________________________________________________________________________
Synchronet                          244        Customization: Message Variables
♀

SUB-R[...]    * " " padded and right justified                  N       N
SUBL          * Current message sub-board long description      N       N
SUBL-L[...]   * " " padded and left justified                   N       N
SUBL-R[...]   * " " padded and right justified                  N       N
SN            * Number of current message sub-board             N       N
SL            * " " padded and left justified (4 chars wide)    N       N
SR            * " " padded and right justified (4 chars wide)   N       N
SYSDATE         <same as DATE>                                  Y       N
SYSOP           Name of System Operator                         N       Y
SYSTIME         <same as TIME>                                  Y       N
TCALLS          Total number of logons for system               N       Y
TFILE           Total number of files on system                 N       Y
TIME            Current system time                             N       Y
TIMELEFT        <same as MINLEFT>                               Y       N
TIMELIMIT       Maximum time per call in minutes                Y       N
TIMEON          Time used this call in minutes                  N       Y
TIMEUSED        <same as TIMEON>                                Y       N
TLEFT         * Time left (H:MM:SS)                             N       N
TMSG            Total number of messages on system              N       Y
TPERC         * Time allowed per call (H:MM:SS)                 N       N
TPERD         * Time allowed per day (H:MM:SS)                  N       N
TUSED         * Time used this call (H:MM:SS)                   N       N
TUSER           Total number of user slots on system            N       Y
UPBYTES         Total bytes uploaded by user                    Y       N
UPFILES         Total files uploaded by user                    Y       N
UPK             Total kilobytes uploaded by user                N       Y
UPS             <same as UPFILES>                               N       Y
USER            User's name or alias (same as ALIAS)            Y       Y
VER             BBS version number                              N       Y
WHO             Display status of all active nodes              Y       N
ZIP             User's zip/postal code                          N       Y

There a few special Synchronet specific @-Codes which require a parameter
(following the colon and before the terminating @ symbol):

SETSTR:STR      Sets the current Baja command string to STR
EXEC:MODNAME    Execute a loadable (Baja) module, EXEC\MODNAME.BIN
TYPE:FILENAME   Display a specific filename (must specify path and file ext.)
MENU:FILENAME   Display a menu file (from TEXT\MENU with automatic file ext.)

Synchronet command line specifiers may be used in the FILENAME parameter to
the TYPE: @-Code allowing symbolic replacment for specific Synchronet
directories (%!, %z, %k, %j, etc).

Examples:

@EXEC:MYMOD@
@TYPE:%zSYSTEM.MSG@
@MENU:YESNO@






_______________________________________________________________________________
Synchronet                          245        Customization: Message Variables
♀

Customization: Message Color Codes
==================================

Synchronet supports six different Color Code formats.  When Synchronet
encounters one of these Color Codes in a message, it changes the text following
the Color Code to the specified color.  Support of the formats which are not
native to Synchronet (WWIV, Celerity, Renegade, PCBoard, and Wildcat) can be
toggled on and off from the Synchronet Configuration utility (System->Message
Options->Extra Attribute Codes). The non-Synchronet color codes (Extra
Attribute Codes) only affect the text that is displayed on the SAME LINE.  When
using Synchronet color codes, the new color is retained from line to line until
another color code is processed or the end of the text is reached.











































_______________________________________________________________________________
Synchronet                          246      Customization: Message Color Codes
♀

Synchronet Format
~~~~~~~~~~~~~~~~~
The native Synchronet Color Code format (preferred) consists of a Control-A
followed by a singe character.  The following is a list of valid Control-A
Color Codes:

        Foreground      Background
        ----------      ----------
Black       K               0
Red         R               1
Green       G               2
Yellow      Y               3
Blue        B               4
Magenta     M               5
Cyan        C               6
White       W               7

        Attribute       Description
        ---------       -----------
High        H           High Intensity
Blink       I           Blinking
Normal      N           No Special Attributes (Normal)
Pause       P           Insert a Pause Prompt into message
Pause Reset Q           Reset the line counter for the auto screen-pause
Delay       ,           Insert a Tenth Second Delay into message
Delay       ;           Insert a Half Second Delay into message
Delay       .           Insert a Two Second Delay into message
Date        D           Display the system date
Time        T           Display the system time
Cls         L           Insert a Form Feed (Ctrl-L, Clear Screen) into message
Clreol      >           Clear to End of Line (leave cursor in current position)
Bckspc      <           Non-destructive backspace (Ctrl-H)
CR          [           Carriage return (Ctrl-M)
LF          ]           Line feed (Ctrl-J)
Ctrl-A      A           Send an actual Ctrl-A character
Sync        S           Synchronize output with remote system
EOF         Z           End of displayable text in this file

Normal      -           Same as 'N' but only sends ANSI codes if the
                        High Intensity, Blinking, or Background attribute is
                        set.

Normal      _           Same as 'N' but only sends ANSI codes if the
                        Blinking or Background attribute is set.











_______________________________________________________________________________
Synchronet                          247      Customization: Message Color Codes
♀

Synchronet also supports Special Control-A codes used to hide text from users
not meeting certain criteria (ie: Security Level or Flags from Flag Set #1).
The following is a list of Special Control-A codes, and a brief description
of each code's usage:

Code            Description
----------      -----------
^A thru ^Z      Only display the following text to users with the corresponding
                flag A through Z turned on (from Flag Set #1).

 !              Toggle the text display off/on for users of less than level 10.
 @              "                                                         " 20.
 #              "                                                         " 30.
 $              "                                                         " 40.
 %              "                                                         " 50.
 ^              "                                                         " 60.
 &              "                                                         " 70.
 *              "                                                         " 80.
 (              "                                                         " 90.
 )              Restore the displaying of text to ALL users.

 "<filename>    Display contents of <filename> (from your TEXT directory) 

High Bit        (greater than ASCII 127) Used for cursor right positioning.


WWIV Format
~~~~~~~~~~~
Synchronet also supports Color Codes which are native to WWIV BBS software.
These codes consist of a Control-C followed by a number (0 through 7):

Code            Color
----            -----
 0              Normal
 1              High Intensity Cyan
 2              High Intensity Yellow
 3              Normal Magenta
 4              High Intensity White with Blue Background
 5              Normal Green
 6              High Intensity Blinking Red
 7              High Intensity Blue
 8              Low Intensity Blue
 9              Low Intensity Cyan












_______________________________________________________________________________
Synchronet                          248      Customization: Message Color Codes
♀

Celerity Format
~~~~~~~~~~~~~~~
Synchronet also supports Color Codes which are native to Celerity BBS software.
These codes consist of a pipe symbol '|' followed by a letter (case sensitive):

Code            Color (foreground)
----            ------------------
 k              Normal Black
 b              Normal Blue
 g              Normal Green
 c              Normal Cyan
 r              Normal Red
 m              Normal Magenta
 y              Brown
 w              Normal White
 d              High Intensity Black
 B              High Intensity Blue
 G              High Intensity Green
 C              High Intensity Cyan
 R              High Intensity Red
 M              High Intensity Magenta
 Y              Yellow
 W              High Intensity White
 S            * Swap foreground and background

Example: "|b|S|W" would set the current color to high intensity white on a
         blue background.

Note:    Due to conflicting escape sequences (namely, the pipe character),
         Celerity color codes are not supported when using RIP terminal mode.

























_______________________________________________________________________________
Synchronet                          249      Customization: Message Color Codes
♀

Renegade Format
~~~~~~~~~~~~~~~
Synchronet also supports Color Codes which are native to Renegade BBS software.
These codes consist of a pipe symbol '|' followed by a number (0-23):

Code            Color
----            -----
 0              Normal Black
 1              Normal Blue
 2              Normal Green
 3              Normal Cyan
 4              Normal Red
 5              Normal Magenta
 6              Brown
 7              Normal White
 8              High Intensity Black
 9              High Intensity Blue
 10             High Intensity Green
 11             High Intensity Cyan
 12             High Intensity Red
 13             High Intensity Magenta
 14             Yellow
 15             High Intensity White
 16             Background Black
 17             Background Blue
 18             Background Green
 19             Background Cyan
 20             Background Red
 21             Background Magenta
 22             Background Brown
 23             Background White

Example: "|15|17" would set the current color to high intensity white on a
         blue background.

Note:    Due to conflicting escape sequences (namely, the pipe character),
         Renegade color codes are not supported when using RIP terminal mode.


















_______________________________________________________________________________
Synchronet                          250      Customization: Message Color Codes
♀

PCBoard/Wildcat Format
~~~~~~~~~~~~~~~~~~~~~~
Two of the Color Code formats which Synchronet supports (PCBoard and Wildcat)
use similar, yet cryptic, methods of displaying colors.  The PCBoard method
uses the format "@X<Background><Foreground>", and Wildcat uses the format
"@<Background><Foreground>@".  The following is a list of the Background and
Foreground choices available:

<Background>    Color   Attribute       <Foreground>    Color   Attribute
------------    -----   ---------       ------------    -----   ---------
      0         Black   Normal                0         Black   Normal
      1         Blue      "                   1         Blue      "
      2         Green     "                   2         Green     "
      3         Cyan      "                   3         Cyan      "
      4         Red       "                   4         Red       "
      5         Magenta   "                   5         Magenta   "
      6         Brown     "                   6         Brown     "
      7         White     "                   7         White     "
      8         Black   Blinks Foreground     8         Black   High Intensity
      9         Blue      "                   9         Blue      "
      A         Green     "                   A         Green     "
      B         Cyan      "                   B         Cyan      "
      C         Red       "                   C         Red       "
      D         Magenta   "                   D         Magenta   "
      E         Brown     "                   E         Yellow    "
      F         White     "                   F         White     "

Example: "@1F@" in Wildcat format and "@X1F" in PCBoard format would set the
         current color to high intensity white on a blue background.


























_______________________________________________________________________________
Synchronet                          251      Customization: Message Color Codes
♀

SIF Questionnaire File
======================

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)














_______________________________________________________________________________
Synchronet                          252                      Customization: SIF
♀

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.






_______________________________________________________________________________
Synchronet                          253                      Customization: SIF
♀

GURU.DAT
========

The Synchronet Guru is an artificial intelligence engine that users can chat
with for entertainment or educational purposes. You may wish to fool the users
into believing the guru is a live human, or tell them up-front that it's just
a program.

You may have up to 500 different guru available to chat with on your BBS,
each with its own "personality" and "intelligence". You add additional gurus
in SCFG->Chat Options->Artificial Gurus. You can specify access requirements
(see the ARS chapter for details) for each guru, allowing you to have specific
gurus for different groups of users or allow users to choose which guru they
want to chat with.

The gurus of your BBS can be "taught" to respond to keywords and phrasing that
your users use when chatting with him. The default 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. 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
(expression)
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 (e.g. (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 of the remaining
expressions are ignored until 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.

_______________________________________________________________________________
Synchronet                          254                 Customization: GURU.DAT
♀

The simplest form 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 (e.g. 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 caret '^'symbol (e.g. 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) (e.g. 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 (e.g. the expression,
(GURU&(HELLO|HI)) will evaluate as true if the user inputs either "guru" and
"hello", or "guru" and "hi").

Expressions may also contain AR strings within square brackets ([ and ]). The
expression (HELLO&GURU&[LEVEL 20]) would evaluate as TRUE only if the user
typed the words "HELLO" and "GURU" and had a level of 20 or higher. See the
ARS chapter for details on the AR string syntax and possible keywords.































_______________________________________________________________________________
Synchronet                          255                 Customization: GURU.DAT
♀

RESPONSES:

Each expression can be followed by up to 100 responses 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 variable
with a back-quote (`) character. The valid response variables 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
G       Guru's name
H       Hang up on the user (immediately)
I       System's QWK ID
J       Current day of the month
L       User's security level
M       Current month
N       User's note (location, if Aliases not allowed)
O       Sysop's name
P       User's phone number
Q       Quit chat
R       User's real name (address, if Aliases not allowed)
S       System name
T       Current time
U       User's upload bytes
W       Current day of the week
Y       Current year
Z       User's zip/postal code
$       User's credits
#       User's age
!       Toggle The Guru's typing mistakes Off/On
_       Pause in response

Three of the above response variables 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
Alt-G locally), '!' Toggle typing mistakes, and '_' pause in response.

e.g. The expression/response pair:

(HELLO)
Hello there, `a...

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

See CTRL\GURU.DAT for more detailed examples of GURU.DAT programming.



_______________________________________________________________________________
Synchronet                          256                 Customization: GURU.DAT
♀

Appendix A: Command Line Specifiers
===================================

Specifiers (argument replacement) for use with command lines in SCFG and many
string-related Baja functions.

%a      User alias or name (may require surrounding with "'s)
%b      Baud (DTE) rate
%c      Connect description
%d      Connect (DCE) rate
%e      Estimated CPS rate*10
%f      File path/name (example: C:\SBBS\NODE1\DOOR.SYS)
%g      Temp directory (example: C:\SBBS\NODE1\TEMP\)
%h      HardWare flow control (Y/N)
%i      COM port IRQ line (if UART) or channel number (if Int 14h driver)
%j      Data directory (example: C:\SBBS\DATA\)
%k      Control directory (example: C:\SBBS\CTRL\)
%l      Maximum lines per message
%m      Minutes in the user's minute bank
%n      Node directory (example: C:\SBBS\NODE1\)
%o      Sysop's name (as specified in SCFG)
%p      COM port number (0 if local node)
%q      System's QWK ID (as specified in SCFG)
%r      Rows on user's terminal screen
%s      File specification (example: C:\FILES\*.ZIP) or current command string
%t      Time (in seconds) user has left online
%u      UART I/O address in hex or F=FOSSIL, B=PC BIOS, E=PS/2, D=DigiBoard
%v      Synchronet version (example: 200a is Version 2.00 Revision a)
%w      Timeslice API types supported (decimal bit field)
%x      User's command shell (internal code)
%y      COMSPEC environment variable or DOS Command Interpreter (if SBBS4OS2)
%z      Text directory (example: C:\SBBS\TEXT\)
%!      EXEC directory (example: C:\SBBS\EXEC\)
%#      Node number (same as SBBSNNUM environment variable)
%*      Node number (0 padded to 3 digits)
%$      User's credits
%%      Percent symbol
%&      Used for DCDWATCH utility
%1      User number
%2      User number (0 padded to 2 digits)
%3      User number (0 padded to 3 digits)
%4      etc...













_______________________________________________________________________________
Synchronet                          257     Appendix A: Command Line Specifiers
♀

Appendix B: Synchronet (SBBS/SCFG) Command Line Options
=======================================================

The Synchronet BBS program (SBBS.EXE or SBBS4OS2.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 require 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
F       Force daily event
        - Used to force SBBS to execute its internal daily maintenance
L       Local logon only
        - If you want Synchronet to immediately go to the local logon prompt
I       Don't initialize modem
        - If you don't want Synchronet to initialize the modem
D       Force Synchronet to think DCD is high
        - Normally only used for NULL modem connections
Zs      Pass Caller-ID string on command line as 's'
        - Used in combination with 'C#' option, normally from front-end mailer
O       Execute all pending events and immediately exit
        - Used with front-end mailers
R#      Additional rioctl call
        - This switch is for the internal use of Synchronet only (DO NOT USE)
V       Version information
        - Displays the detailed version and revision information of SBBS

















_______________________________________________________________________________
Synchronet                          258 Appendix B: SBBS/SCFG Command Line Optio
ns
♀

The Synchronet Configuration Utility (SCFG.EXE, SCFG32.EXE or SCFG4OS2.EXE)
requires at least one command line switch (hard-coded into the included
SBBS.BAT and SBBS.CMD files): the path to your Synchronet CTRL directory
(e.g. "SCFG ..\CTRL"). While no other command line options are normally needed,
the following command line options may be specified:

/M      Show free memory in upper right corner
        - Show available memory instead of current time (n/a in SCFG4OS2.EXE)
/N      Don't use EMS for overlay caching
        - Don't use Expanded Memory if detected (only in SCFG.EXE)
/S      Don't check directories
        - Don't create directories on the disk(s) if they don't exist
/F      Force save of config files
        - Used by the Synchronet INSTALL program
/U      Update all message base status headers
        - Forces the update of SMB headers to match current config
/H      Don't update message base status headers
        - Don't attempt to update SMB headers to match config (if changed)
/T#     Set supported time slice APIs to # 
        - 0=DV if detected(default), 1=Int28, 2=WinOS2, 4=NoDV (SCFG.EXE only)
/B#     Set automatic back-up level
        - Set number of back-up files (*.CN# files) to keep (default=3 max=10)

































_______________________________________________________________________________
Synchronet                          259 Appendix B: SBBS/SCFG Command Line Optio
ns
♀

Appendix C: SBBS Environment Variables
======================================

During operation, Synchronet may write to several different environment
variables which can be utilized by other programs.  Some of these environment
variables are also used by the utility programs that are included with
Synchronet as well as third party programs written for Synchronet.  Following
is a list of environment variables and a brief explanation of them:

SBBSCTRL        This variable contains the path of the Synchronet CTRL
                directory.  This variable is NOT set by (and not required to
                run) SBBS, it must be set manually prior to running any
                programs which require it (the Synchronet NODE utility, for
                example).

SBBSNODE        This environment variable contains the path of the node
                directory of the current node. This variable is set by
                SBBS at the time it is executed. Some off-line utilities
                may require this environment variable be set during boot-up
                (AUTOEXEC.BAT), in which case it should point to your NODE1
                directory. SBBS.EXE will automatically reset this variable
                to point to the current node directory, for any online programs
                it may execute.

SBBSNNUM        This variable contains the NUMBER of the active node.  This
                variable is set by SBBS at the time it is executed.

SBBSFILENAME    This variable contains the NAME of the file currently being
                processed (up to 12 characters including '.', not padded with
                spaces).  This variable is set by Synchronet during 'Testable
                Filetype' events. The same information is written to the file
                SBBSFILE.NAM in the current node directory.

                NOTE: Upon returning from a 'Testable Filetype' event,
                      Synchronet will read in information contained in the
                      file SBBSFILE.NAM located in the current node directory
                      to determine if the filename has changed during the
                      testing process.

SBBSFILEDESC    This variable contains the ONE LINE DESCRIPTION of the file
                currently being processed (up to 58 characters).  This variable
                is set by Synchronet during 'Testable Filetype' events. The
                same information is written to the file SBBSFILE.DES in the
                current node directory.

                NOTE: Upon returning from a 'Testable Filetype' event,
                      Synchronet will read in information contained in the
                      file SBBSFILE.DES located in the current node directory
                      to determine if the file description has changed during
                      the testing process.





_______________________________________________________________________________
Synchronet                          260  Appendix C: SBBS Environment Variables
♀

DSZLOG          This variable is automatically set by Synchronet to point to
                the file PROTOCOL.LOG in the current node directory. If a
                transfer protocol has been configured (in SCFG) to support
                DSZLOG, then this log file will be read in by Synchronet after
                the transfer is complete, to determine which files were
                successfully transferred and which files were not.

















































_______________________________________________________________________________
Synchronet                          261  Appendix C: SBBS Environment Variables
♀

Appendix D: 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: BBS Callers Digest Monthly BBS Related Publication
Company: Callers Digest, Inc.
Address: 701 Stokes Rd., Medford, NJ 08055
  Voice: 609-953-9110
         800-822-0437 Orders Only
    FAX: 609-953-7961
    BBS: 609-235-5297

Product: BBSNet Internet Access Door and IPDoor Slip/PPP Internet Access
Company: MurkWorks
Address: PO Box 610, Potsdam, NY 13676
  Voice: 315-268-1000
    FAX: 315-268-9812
    BBS: 315-268-6875
Internet: [email protected]

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: Boardwatch Magazine Monthly BBS Related Publication
Company: Boardwatch Magazine
Address: 7586 West Jewell Ave. Suite 200, Lakewood, CO 80232
  Voice: 303-973-6038
         800-933-6038 Orders Only
    FAX: 303-973-3731
    BBS: 303-973-4222
FidoNet: 1:104/555
Internet: [email protected]

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








_______________________________________________________________________________
Synchronet                          262                    Appendix D: Contacts
♀

Product: COMM-DRV Universal Serial Communications Driver
Company: Willies' Computer Software Company
Address: 2470 S.Dairy Ashford Suite 188, Houston TX 77077
  Voice: 713-498-4832
    BBS: 713-568-6401
    FAX: 713-568-3334
FidoNet: 1:106/14
Internet: [email protected]
CompuServe: 75300,3427

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: Domain Poker, Shopper, Dice War, and other Synchronet software
Company: Domain Entertainment
Address: PO Box 2425, Buena Park, CA 90621-2425
    FAX: 714-739-0669
  Voice: 714-739-0904
    BBS: 714-521-9439
             739-0669 ZyXEL/V.32bis
FidoNet: 1:103/516
DOVE-Net: sysop@DOMAIN
Internet: [email protected]

Product: Doorway remote PC/ANSI terminal emulation software
Company: TriMark Engineering
Address: 406 Monitor Lane, Knoxville, TN 37922
  Voice: 800-OPN-DRWY
         615-966-3667

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: 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




_______________________________________________________________________________
Synchronet                          263                    Appendix D: Contacts
♀

Product: GEcho FidoNet EchoMail Program
Contact: Gerard J. van der Land
Address: Cannenburg 23, 3772 BH Barneveld, The Netherlands
FidoNet: 2:283/15
  Voice: 31-3420-21792
Contact: John Johnson
Address: 1806 S. Everett, Wichita, KS 67213-2806, USA
FidoNet: 1:291/12
    BBS: 316-945-7761
Contact: Jonathan Rapoport
Address: 48 Robinter Drive, Willowdale, Ontario M2M 3R2, CANADA
FidoNet: 1:250/802
  Voice: 416-226-5907
    BBS: 416-222-9644

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: InterMail FidoNet Front-end Mailer and InterEcho Tosser/Scanner
Company: InterMail Sales Inc.
Address: 9050 Pines Blvd, Suite 430, Pembroke Pines, FL 33024
  Voice: 305-436-1587
    FAX: 305-436-5587
    BBS: 305-436-1884
FidoNet: 1:1/133 or 1:369/102

Product: Modem Base Pro database door for BBSs
Company: Integrated Solutions
Address: 2995 Van Buren Blvd, Box A-13-189, Riverside, CA 92503
  Sales: 800-633-6636
 Office: 909-695-6677
Support: 909-695-6669
    BBS: 909-695-6676
    FAX: 909-695-5360
Internet: [email protected]

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: NetXpress Internet Gateway for Synchronet
Company: Merlin Systems
  Voice: 613-749-0888
    FAX: 613-741-7583
    BBS: 613-741-7583
FidoNet: 1:163/509
    Web: http://www.merlinsys.com
Internet: [email protected]

_______________________________________________________________________________
Synchronet                          264                    Appendix D: Contacts
♀

Product: Online Access Quarterly BBS Related Publication
Address: 920 N. Franklin, Suite 203, Chicago, IL 60610
  Voice: 312-573-1700
FidoNet: 1:115/662
Prodigy: THKP14A
CompuServe: 70324,343
America Online: TracyW1314

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: [email protected]
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: 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 V.32/V.32bis
             529-9547 V.FC
             529-9721 ZyXEL
FidoNet: 1:103/705
   RIME: VERTRAUEN #5115
DOVE-Net: sysop@VERT
Internet: [email protected]

Product: TABS 900 Billing Service
Company: True Media Inc.
Address: 1270 Clearmont Street Northeast, Palm Bay, FL 32905
  Voice: 800-755-8227 Information
         407-722-3150 Technical Support
    FAX: 407-722-3154
    BBS: 407-722-3406


_______________________________________________________________________________
Synchronet                          265                    Appendix D: Contacts
♀

Product: Telix Communications Software
Company: deltaComm Development
Address: PO Box 1185, Cary, NC 27512
  Voice: 919-460-4556
         800-TLX-8000 Orders Only
    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
         800-255-4101 Orders Only
    FAX: 714-693-8811
    BBS: 714-693-0762
FidoNet: 1:103/725
























_______________________________________________________________________________
Synchronet                          266                    Appendix D: Contacts
♀

Appendix E: Wait for Call Status Display
========================================

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
sysop (User #1) has EXPERT mode turned ON and this node has Status Screen While
WFC set to Yes in SCFG->Nodes->Node #->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.




















_______________________________________________________________________________
Synchronet                          267          Appendix E: WFC Status Display
♀

Appendix F: Node Status Display
===============================

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.















_______________________________________________________________________________
Synchronet                          268         Appendix F: Node Status Display
♀

  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 # to finish external event.


























_______________________________________________________________________________
Synchronet                          269         Appendix F: Node Status Display
♀

Appendix G: Log File Line Type Specifiers
=========================================

Each line in the daily caller log has a line type specifier (the first 2
characters). The specifiers and their descriptions follow:

!! Critical error
!* User auto-deleted
!% User expired
!= New day for statistics
!: Ran event
@  Modem connection established
@- Modem connection terminated
@! Modem error
@* Caller-ID information
@R RIP support detected
@W WIP support detected
++ 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- Deleted E-mail
E+ Sent E-mail
EN Sent NetMail
E! E-mail error
C  Chat function
U+ Upload
U- Removed Upload
U! Attempted upload
D- Download
D! Attempted download
X- External program execution
T- Read text file
M+ Moved message
Q! QWK error
L! Log already exists (possible crash)
$+ 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.


_______________________________________________________________________________
Synchronet                          270              Appendix G: Log Line Types
♀

Appendix H: File Formats
========================

XTRN.DAT

        This is the drop 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 (in seconds)
Yes                                     ANSI ? (Yes/No/Mono)
24                                      Lines per screen
10770335                                Credits
99                                      Security Level
                                        -unused-
12/31/69                                Birthdate
M                                       Sex (Gender)
1                                       User number
714-529-9525                            User phone number
0                                       COM port (0 if no modem or local)
3                                       COM port IRQ (or channel number)   [1]
2f8                                     COM port I/O address (in hex)      [2]
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














_______________________________________________________________________________
Synchronet                          271                Appendix H: File Formats
♀

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 Flags #1
 BC   G  JK N                           User's Flags #2
A          L       T                    User's Exemptions
    D                                   User's Restrictions
2b43cfd0                                Expiration Date (Unix format in hex)
PO Box 501                              User's Address
Yorba Linda, Ca                         User's Location
92686                                   User's Zip/Postal Code
A   E                                   User's Flags #3
 B  EFG                                 User's Flags #4
1                                       Timeslice API types
Rob Swindell                            User's real name or company name
14400                                   User's DCE rate
..\EXEC\                                EXEC directory (BBS executable files)
..\TEXT\                                TEXT directory (TEXT files)
TEMP\                                   TEMP directory
VERT                                    System's QWK ID
22C8                                    Node toggle options (in hex)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[1]: IRQ line if UART COM port type or Channel (zero based) if Int 14h type
[2]: I/O base address if UART COM port type or:

        F = FOSSIL
        B = PC BIOS
        E = PS/2 BIOS
        D = DigiBoard
















_______________________________________________________________________________
Synchronet                          272                Appendix H: File Formats
♀

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                                      Security Level
                                        -unused-
AB  E   I                               Flags #1 to add
      G                                 Flags #2 to add
A              P   T                    Exemptions to add
                                        Restrictions to add
2b43cfd0                                Expiration Date (Unix format in hex)
0                                       Add these number of minutes to bank
                           XYZ          Flags #3 to add
                       TUV              Flags #4 to add
         J                              Flags #1 to remove
           L                            Flags #2 to remove
                                        Flags #3 to remove
                                        Flags #4 to remove
   D                                    Exemptions to remove
A                                       Restrictions to remove

        If any of the lines in the file are blank, that user item is not
        modified. The security level cannot exceed 89.


NOTE: Technical specifications and C source code for Synchronet configuration
      and data files can be downloaded from our BBS.
























_______________________________________________________________________________
Synchronet                          273                Appendix H: File Formats
♀

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 X3.64 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.

Baja:
        Baja (bä'hä) is a tool used to create command shells and modules for
        Synchronet multinode BBS software (see DOCS\BAJA.DOC).

Baud:
        An obsolete term defining the number of signal-level changes per
        second. The CCITT now prefers to use "symbols per second". For example
        a V.22bis connection transfers only 600 symbols per second, but in this
        protocol each symbol can represent up to four values; thus, you have an
        effective transmission rate of 2,400 bps. V.32 is a 2,400
        symbol-per-second (9,600-bps) modulation protocol.

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.
        On a multinode BBS, all nodes must use the same live database for
        users, messages, and file transfers.

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.




_______________________________________________________________________________
Synchronet                          274                                Glossary
♀

Chat:
        Online real-time communication between users either in line by line
        (multinode chat) or key by key (private chat).

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 male 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. Command lines configured
        in SCFG can use special command line specifiers for variable parameter
        replacement. See Appendix A for more infomration.

Compression:
        See Archive.

Conference Mail:
        See EchoMail.

Co-sysop:
        BBS user with additional privileges to enable partial system
        maintenance. Co-sysops on a Synchronet system would usually have
        a security level 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.

CrashMail:
        Referring to FidoNet NetMail being sent immediately and directly (not
        routed) to the BBS or network address of the destination person.
        A more accurate term would be Crash NetMail, or NetMail with Crash
        status.

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.



_______________________________________________________________________________
Synchronet                          275                                Glossary
♀

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.

Echo:
        The term "Echo" or "Echo Conference" is often used to refer to a
        sub-board where messages are distributed across a message network. The
        term actually comes from FidoNet EchoMail - the technology used to
        distribute sub-board messages across FidoNet.

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

EchoMail Program:
        If the front-end mailer does not directly support EchoMail, an EchoMail
        program is necessary. TosScan, Squish, GEcho, and FreeMail are examples
        of EchoMail programs.

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.




_______________________________________________________________________________
Synchronet                          276                                Glossary
♀

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.

Front-end Mailer:
        An EMSI compatible FidoNet message front-end. FrontDoor, SEAdog,
        Binkley, and D'bridge are examples of front-end mailers.

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.

Level or Security Level:
        A decimal value in the range of 0 to 99 that determines a user's
        security level on Synchronet BBS. A user's level 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, General Text File Sections, Transfer Libraries, and
        Directories the user can access.

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

Message Network:
        Two or more BBSs sharing public message sub-boards (Aka Echoes) where
        messages posted on one BBS get distributed to the other BBSs on the
        network. There are many different network techologies used for the
        distribution of networked messages. Synchronet supports the most
        popular technlogies; QWK, FidoNet, and PostLink.

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.



_______________________________________________________________________________
Synchronet                          277                                Glossary
♀

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.

NetMail:
        A personal message sent to a specific person on a specific BBS or at
        a specific network address through a message network. Most commonly
        used in referrence to FidoNet NetMail.

Network:
        Connection of two or more computers to facilitate the sharing of
        resources. See LAN and Message Network.

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 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. QWK packets may also be used for message networking.







_______________________________________________________________________________
Synchronet                          278                                Glossary
♀

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.

SCFG:
        Synchronet configuration program. This program is run locally by
        hitting C at the waiting for call screen or by running "SCFG" from
        any node directory.

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 security 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 credits and transfer access are not
        required.

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.




_______________________________________________________________________________
Synchronet                          279                                Glossary
♀

Throughput:
        The effective rate of data flow for a file transfer, measured in bits
        per second. Throughput depends on the connect rate and the
        error-control and data-compression protocols, if any.

UART:
        Universal Asynchronous Receiver Transmitter. The IC (Integrated
        Circuit) 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. 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 level to 90 and
        the upload level 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.

























_______________________________________________________________________________
Synchronet                          280                                Glossary
♀

Index
=====


@-Code           242, 245

976/900          179

Access           18-20, 29, 30, 33, 38, 51, 54, 56, 58, 59, 69, 70, 72, 74,
                 84, 86, 89, 91, 93, 110, 113, 133-137, 139-141, 144, 146-
                 150, 154, 160-162, 167-169, 171, 172, 178-182, 186, 188, 192,
                 220, 254, 262, 265, 272, 274

Access Requirement String  74

Actions          19, 159, 160, 217, 218

Activity         20, 197, 217, 220, 221, 268

Adapter          263

Add-on           11, 53, 230

ADDFILES         126, 127, 149, 150, 153, 157, 158, 198-202, 204

Age              14, 15, 30, 57, 64, 65, 75, 84, 85, 93, 94, 127, 146, 148,
                 151, 212, 240, 256

AKA              116, 123

ALLFIX           127

ALLMAIL          235

Allocation       99, 100, 185, 196, 223

ALLPTR           104

ALLUSERS         208, 213-215

ALTUL            61, 158

Anonymous        14, 15, 59, 68, 69, 88, 95, 149, 151, 210, 217, 221, 269

ANS2MSG          227-229, 234

ANSI             57, 58, 70, 71, 75, 90, 104, 108, 167, 175, 177, 227-229,
                 231, 234, 237, 239, 247, 263, 271, 274

Answer           22, 23, 29, 30, 44, 45, 49, 72, 112-114, 150, 157, 181, 183,
                 232, 237, 238, 252, 253, 271

API              33-35, 188, 191, 257, 259, 272

_______________________________________________________________________________
Synchronet                          281                                   Index
♀


Appendix         61, 116, 118, 137, 172, 188, 257-273, 275

Archive          12, 127, 134, 137, 138, 230, 274, 275

ARJ              133-135, 137, 138, 274

ARQ              48

ARS              67, 73-87, 213, 244, 254, 255

ASCII            22, 36, 38, 54, 59, 60, 72, 97, 153, 156, 198-200, 202, 204,
                 227, 234, 248, 252, 271, 273, 274

Attach           15, 38, 65, 68, 88, 104, 106, 119, 122-124, 128, 129, 154,
                 179

Attribute        14, 16, 71, 104, 192, 228, 234, 236, 239, 246, 247, 251,
                 274

Auto-ADDFILES    149, 150

Auto-Configuration  44, 45, 50, 53

Auto-Delete      270

Auto-Detect      35, 37, 46, 49, 52

Auto-Message     72, 220

AUTONODE         24, 216

Backbone         119, 125, 126

Backup           239

BADCID           51, 237

BADFILE          237, 241

BADNAME          237, 241

BADPHONE         237, 241

Baja             25, 61, 133, 172, 245, 257, 274

BATCHXFR         235

BATDPROT         139, 235

BATFLAG          235

BATUPROT         139, 235


_______________________________________________________________________________
Synchronet                          282                                   Index
♀

Baud             43, 120, 177, 190, 243, 257, 274

Bidirectional    139, 220, 235, 264

Billing          38, 179, 265

BiModem          231

BIOS             42, 43, 180, 181, 186, 231, 257, 258, 272

Birthdate        30, 75, 243, 271

BNU              42, 118, 262

Bps              31, 44-46, 53, 75, 80, 85, 86, 118, 240, 243, 258, 264, 268,
                 274

BULKMAIL         60

Bulletin         274

Byte             41, 64, 65, 71, 73, 86, 131, 148, 170, 181, 243, 256, 274

Call-out         61, 101, 107, 109, 113, 114, 117

Callback         49, 241

Caller-ID        20, 48, 51, 57, 258, 270

Capture          55, 57, 58

CCITT            274

CD-ROM           61, 130, 136, 142, 143, 145, 149, 150, 153, 156-158, 201,
                 204, 206, 262

CHAIN.TXT        169

Chat             12, 22-24, 56, 61, 65, 67-69, 72, 159-162, 220, 221, 235,
                 240, 244, 254, 256, 268, 270, 275

CHKSMB           193, 194

CHUSER           58

CID              51, 237, 241

Co-sysop         233, 275

Color            16, 38, 104, 106, 167, 173, 184, 234, 236, 239, 246-251

Color Code       16, 167, 173, 246-251

Command Line Option  211, 258, 259

_______________________________________________________________________________
Synchronet                          283                                   Index
♀


Command Line Specifier  61, 139, 170, 172, 245, 257, 275

Command Shell    12, 21, 22, 24, 58, 257, 274

Compress         9, 11, 12, 44, 49, 61, 81, 82, 87, 95, 96, 100, 131, 138,
                 195, 196, 230, 265, 274, 275

Conference       99, 101, 103-105, 108, 109, 113, 119, 125, 222, 223, 275

Contact          116, 125, 177, 188, 223, 230, 262-266

Conversion       19, 137, 169, 227

Convert          19, 24, 187, 227, 229, 234, 253

Corrupt          192-194, 196

CPU              180, 181, 183, 184, 188, 189, 191, 243

CrashMail        275

CRC              15, 94

Credit           19, 21, 23, 24, 26, 28, 38, 55, 57, 64-69, 71, 73, 75, 124,
                 128, 129, 131, 132, 146, 148-151, 161, 170-172, 179, 201-
                 203, 205, 226, 243, 244, 256, 257, 270-273

Ctrl-A           71, 101, 104, 106, 108, 109, 113, 114, 227-229, 234-236,
                 239, 247, 252

CTS              44, 45

Cursor           21, 55, 70, 228, 231, 247, 248, 274

Customiz         160, 234-256

D'bridge         118, 119

Daily            14, 15, 25, 37, 38, 57, 65, 163, 196, 225, 258, 269, 270

DAT              38, 60, 67, 70, 104, 160, 167, 169-171, 205, 208, 211-213,
                 239, 240, 242, 254-256, 271, 273

Database         15, 61, 62, 104, 145, 153, 157, 181, 198-200, 202, 205-208,
                 213, 223, 264, 274

DCD              44, 258

Dcdwatch         173, 257

DCE              44, 46, 48, 243, 257, 258, 272, 275

Deactivate       67, 68

_______________________________________________________________________________
Synchronet                          284                                   Index
♀


Decompression    275

Default          10, 21-24, 29, 32, 35, 49, 55, 57, 59, 67, 68, 70, 72, 74,
                 77, 85, 86, 95-98, 106, 112, 122-124, 128, 131, 145,
                 154, 155, 158, 160, 178, 188-190, 202, 203, 208, 212-214,
                 216, 217, 220, 238, 254, 259

Definition       54, 106, 217, 220, 256, 274

Delay            44, 45, 121, 247

DELFILES         148, 151, 207

DELMAIL          104

DESQview         33-35, 90, 180, 183-189, 191, 233, 263

Device           40-43, 130, 145, 149, 156, 157, 220, 232

Dial-up          275

DigiBoard        42, 43, 257, 272

DigiCHANNEL      42

Directory        9, 11, 12, 15, 23, 29, 31-33, 37-39, 44, 50-55, 61, 62, 69,
                 75, 97-101, 103, 104, 109, 111, 115, 117, 118, 120-124, 128,
                 130, 137-139, 142-158, 160, 164, 170-173, 175, 176, 178, 181,
                 184-186, 189, 191, 192, 197-200, 202-207, 211-213, 216,
                 222, 224, 225, 227, 230, 231, 233-236, 239, 241, 243,
                 248, 253, 254, 257, 259-261, 267, 270-272, 275

Disable          14, 15, 18, 20, 22, 34, 36, 37, 39, 44, 45, 47, 49, 55, 93,
                 100, 132, 146, 195, 217, 221, 232, 233, 268

Disallow         20, 51, 56, 181, 274

Disassembler     43

Disconnect       55, 244

DOOR.SYS         168-170, 257

DOORFILE.SR      169

Door             11, 12, 44, 103, 104, 118, 141, 166, 168-170, 174, 230, 232,
                 240, 257, 262, 264, 272

Doorway          232, 263

DORINFO          168, 169, 175, 176

DOS              9, 12, 14, 31-35, 42, 56, 59, 61, 62, 75, 93, 115, 118, 130,

_______________________________________________________________________________
Synchronet                          285                                   Index
♀

                 134, 148, 149, 156-158, 161, 164, 166, 167, 172, 178, 180,
                 184-188, 192, 198, 202-205, 216, 217, 222, 223, 229, 231-
                 233, 257, 258, 263, 268

DOSKEY           231

DOVE-Net         90, 108, 111-114, 263, 265

Download         15, 21, 62, 64, 65, 67, 68, 71-73, 75, 88, 97, 104,
                 107, 110, 111, 114, 115, 125, 127, 131, 132, 136, 138-141,
                 146-151, 153, 154, 157, 181, 202, 203, 205, 235, 256, 267,
                 270, 275

DPMI             184

Dropfile         176

DSTS             225

DSTSEDIT         225

DSZ              12, 139-141, 230, 263

DSZLOG           139-141, 261

DTE              44, 45, 232, 257, 271

DTR              43, 48, 49, 121

DUPEFIND         206

Duplicate        14, 15, 93, 94, 100, 114, 149, 150, 195, 206, 212, 230

DV               185-187, 259

DVANSI           186, 187

DVSETUP          185

E-mail           14, 15, 32, 60, 64, 65, 68, 70, 72, 88, 95, 104, 105, 119,
                 128, 154, 181, 193, 211, 235, 242, 267, 270

Echo             19, 32, 49, 52, 102, 121, 126, 127, 186, 266

EchoMail         97, 98, 106, 118, 122-125, 128, 211, 263, 264, 275

Edit             21, 28, 32, 54, 55, 58, 59, 61-73, 91, 106, 112, 113, 121,
                 127, 132, 136, 139, 157, 167, 169, 171, 175, 225, 234-236,
                 239, 252, 254

Editor           19, 21, 22, 31, 32, 34, 59, 163, 166-168, 176, 213, 225,
                 227, 232, 234, 235

Electronic Mail  15, 88

_______________________________________________________________________________
Synchronet                          286                                   Index
♀


Email            26, 57, 232, 267

EMS              34, 35, 39, 173, 184, 185, 189, 190, 233, 259

Emulate          190

Emulation        70, 263

EOF              247

EOT              253

Error            19, 20, 39, 41, 46, 48, 49, 94, 132, 134, 182, 185, 190,
                 217, 219, 223, 231-233, 254, 267, 270

Error-correcting  49

Errorlevel       52, 120, 121, 186

Ethernet         263

ETX              252

European         19, 20, 65, 67, 70

Event            15, 25, 37, 38, 57, 100, 118, 120, 121, 131, 134, 136, 148,
                 163, 164, 171, 173, 175, 176, 196, 211, 217, 220, 221, 238,
                 258, 260, 269, 270

EX-ASCII         22

Exclusive        121, 164, 189, 196

EXEBBS.BAT       120

Execute          12, 15, 33, 38, 39, 53, 60, 61, 75, 107, 109, 117, 134, 136,
                 163-166, 171-173, 175, 176, 186, 239, 245, 258, 260, 275

Exemption        15, 18, 21, 26-29, 32, 54-59, 61, 64, 66-68, 70, 71, 75, 88,
                 95, 110, 128, 146, 148, 151, 170, 172, 208, 213-215, 235,
                 272, 273, 275

EXITINFO.BBS     169, 170

Expand           32, 104, 108, 167, 168, 242

Expiration       21, 24, 28, 55, 57, 65, 70, 71, 170, 243, 272, 273

Expire           17, 19, 20, 23-27, 64, 68, 75, 243, 270

Extended         21, 33-36, 39, 54, 65, 67, 68, 70, 71, 154, 173, 181, 198-
                 200, 202, 204, 205, 217, 274


_______________________________________________________________________________
Synchronet                          287                                   Index
♀

External Editor  21, 22, 163, 167, 232

External Program  11, 12, 44, 59, 60, 69, 70, 72, 133, 134, 137, 163-179,
                 181, 186, 220, 226, 231, 236, 270-273

Extraction       275

FAQ              133

FAX              46, 48, 52, 53, 262-266

FEdit            231

Feedback         21, 25, 37, 57, 72, 114, 227, 237, 238, 267

FIDO             42, 111, 123, 126, 127, 129

FidoNet          68, 90, 97, 98, 105, 106, 118-128, 196, 262-266, 275

FIFO             41

File Format      168, 170, 200, 201, 271-273

File Section     12, 69, 70, 131-155, 178, 236

FILELIST         200-205

Filename         14, 32, 55, 59, 60, 93, 98, 104, 105, 115, 119, 120, 127,
                 137, 139, 148, 150, 152, 153, 156, 157, 160, 161, 164, 167,
                 172, 173, 178, 181, 189, 198-200, 202-205, 209, 231, 234,
                 237, 238, 241, 245, 248, 260

FILESTAT         205

FIXSMB           193, 194

Flags            28, 29, 54, 55, 57, 64, 66-71, 78, 82, 84, 146, 147, 208,
                 213, 214, 235, 248, 268, 272, 273

FOSSIL           42-44, 118, 141, 173, 175-177, 188, 232, 257, 262, 266, 272

FREQ             68, 104, 105, 115

Front-End        51, 98, 118, 119, 123, 124, 128, 141, 152, 230, 232, 258,
                 263, 264

FrontDoor        51, 118-120, 122, 127, 263

FTN              118

FTP              129

G-Files          220


_______________________________________________________________________________
Synchronet                          288                                   Index
♀

Games            11, 12, 115, 130, 142, 143, 146, 156, 157, 177, 198-201,
                 204, 207, 236

Garbage          231, 232

Garbled          177

Gate             97

Gating           97

Gender           22, 67, 75, 79, 240, 271

General          39, 69, 70, 76-83, 89, 90, 93, 97, 108, 111, 113, 170, 173,
                 181, 182, 236

Glossary         274, 275

Graphical        265

Graphics         130, 142, 143, 184, 232

Graphs           205

Guest            30, 68

Guru             39, 56, 60, 159-161, 220, 254-256, 271

HAM              43

Handle           22, 64, 65, 67, 108, 190, 192, 223, 244, 254

Hang-up          21

Hardware         44, 45, 48, 54, 89, 90, 108, 112, 113, 121, 181, 182, 230,
                 257, 263, 264, 271

Hierarchy        130

High-speed       41, 44, 49, 266

Hot-key          19, 20, 139

HS/Link          141, 231, 264

Hub              61, 101, 103, 104, 106-110, 112-117, 124, 125, 211

Hub-ID           61

Hyper            99, 100, 196

Icons            143

Identifier       222

_______________________________________________________________________________
Synchronet                          289                                   Index
♀


Idle             33-35, 188, 190, 191

Import           44, 45, 50, 91, 99-101, 118, 127, 144, 149, 150, 153, 157,
                 195, 198, 199, 202, 222, 223

Inactivity       17, 18, 34, 36-38, 69

Inbound          103, 120, 122, 123

Incoming         49, 52, 123, 211

Initialize       12, 239, 258

Installation     9-11, 206

Insufficient     41, 82

Interaction      163

Intercept        162, 167, 171, 173, 175-177, 232

InterMail        118-120, 124, 264

Internet         97, 105, 106, 123, 129, 262-265

Interrupt        34, 35, 55, 59, 69, 162, 167, 171, 173, 175-177, 217, 219

IO               188

IRQ              40-43, 45, 177, 181, 232, 257, 271, 272

ISA              64

Justify          202

Keyboard         34-36, 40, 55, 180, 184, 275

Keystroke        54, 55, 231

Keyword          74, 82, 83, 86, 254, 255

Kilobyte         24, 73, 75, 100, 131, 243-245, 267

Label            65, 208-210

LAN              180, 192, 263, 264, 266

LAPM             48

Leech            57, 65, 67, 73, 131, 132

Lha              133, 134, 137, 138


_______________________________________________________________________________
Synchronet                          290                                   Index
♀

Lightbar         12, 111, 113, 114, 171

Loadable Module  17, 25

Local            14, 19, 20, 23-25, 29, 31, 32, 34, 36, 54-59, 61-64, 68, 75,
                 88, 90, 91, 102, 109, 119, 125, 127, 167, 177, 180, 211, 216,
                 220, 232, 238, 242, 256-258, 271

Location         13, 17, 19, 20, 22, 32, 52, 57, 64, 65, 67, 70, 137, 146,
                 158, 208, 213, 216, 217, 230, 237, 243, 244, 256, 272

Lock             24, 55, 56, 58, 68, 69, 161, 190, 217-219

Login            25

Logoff           25, 29, 36, 163, 173, 216, 221, 231, 235

Logon            17, 19, 21, 25, 29-32, 34-37, 54, 56, 57, 59, 64, 65, 68-
                 70, 72, 75, 88, 110, 114, 115, 153, 163, 173, 205, 216, 220,
                 231, 235, 238, 243-245, 252, 258, 267, 270

Logs             38, 56, 57, 59, 118, 163, 226, 269, 270

LZH              95, 96, 100, 133, 134, 137, 138, 274

Macro            38, 54, 213

Magic Word       23

Mail             14, 15, 32, 60, 63-65, 68, 70, 72, 88, 95, 103-105, 118-
                 120, 124, 128, 129, 154, 181, 193, 194, 211, 220, 222, 230,
                 235, 242, 267, 270, 275

Maintenance      15, 55, 59, 96, 125, 196, 204, 258, 275

Megabyte         24, 73, 96, 181, 183, 188, 189, 191

Membership       265

Memory           33-35, 39, 60, 61, 158, 165, 171, 173, 175, 176, 180,
                 183-185, 187-191, 197, 206, 223, 230-233, 254, 259, 263

Menu Files       235

Message Base     14, 15, 89-105, 111, 193-197, 211, 222, 259

Mhz              181, 188, 189, 191

MLABELS          208-210

Mnemonic         139-141, 239

MNP              48


_______________________________________________________________________________
Synchronet                          291                                   Index
♀

Modem            31, 32, 39-53, 64, 65, 69, 120, 121, 173, 180, 181, 188,
                 190, 231, 232, 241, 258, 264, 266, 270, 271, 274, 275

Module           17, 25, 61, 109, 133, 172, 245, 274

MODUSER          169, 170, 273

Monochrome       227, 234

Motherboard      180, 232

Mouse            33, 191, 265

MSG2ANS          229, 234

Multinode        22, 122, 159, 161, 180-192, 235, 236, 256, 265, 268, 274,
                 275

Multitasker      35, 180, 181, 192, 263

Multiuser        172, 173, 181

Netmail          14, 15, 65, 68, 69, 72, 88, 105, 106, 118-125, 128,
                 211, 270, 275

Network          12, 14, 43, 72, 88, 93, 95-97, 99, 101-103, 105-107, 109-
                 112, 114-118, 122-125, 128, 180, 192, 196, 211, 222, 265,
                 274, 275

Networking       106-129, 180, 220, 266, 269

New-Scan         61, 104, 146

Newsgroup        129

NFO              133

Node-to-node     235, 268

Nodelist         119-121

Node Utility     217, 218, 232, 260, 268

Non-compressed   100

Non-data-compressing  44

Non-destructive  247

Non-standard     42

Non-Swappable    233

Non-UART         40, 42, 43

_______________________________________________________________________________
Synchronet                          292                                   Index
♀


Notify           132

Off-hook         44, 49, 258, 271

Offline          24, 25, 62, 105, 146, 149, 153, 164, 193, 196, 202, 204,
                 207, 219, 220, 269

On-hook          258

Online Game      11, 12, 115

Online Program   163, 169, 174, 260

Operator         17, 54, 93-96, 125, 146, 148, 245, 254, 271

Optimize         185

OS/2             33, 35, 90, 163, 166, 177, 180, 181, 188, 231

Out-of-time      19, 20

Overlay          33, 34, 259

Override         106, 128, 192, 199

Overwrite        71, 203

Pack             14, 15, 100, 107, 113, 127, 193, 195, 196

Packet           14, 15, 43, 72, 97, 99, 101, 103-107, 112, 114, 118, 120,
                 124, 138, 205, 220, 230, 235, 237

PAD              43, 202-205, 239, 242-245, 257, 260

Paging           55, 220, 221

Paramter         80, 197, 199

Password         13, 17-20, 23, 30, 34-36, 38, 54, 57, 58, 64, 65, 67, 70,
                 113, 114, 125, 161, 179, 238, 244

Pathname         184

Pause            21, 44, 49, 186, 193, 244, 247, 256

PC BIOS          42, 43, 257, 272

PCBOARD.SYS      169

Permanent        15, 69, 95, 96

PKUNZIP          12, 107, 113, 133, 134, 137, 230


_______________________________________________________________________________
Synchronet                          293                                   Index
♀

PKZIP            12, 107, 113, 134, 136, 138, 165, 230, 231, 265, 274

PostLink         97, 98, 106, 116, 117, 222, 223, 265

PPP              262

Pre-pack         14, 15

Priority         34, 35, 190

Private          14, 65, 70, 88, 95, 96, 104, 110, 112, 115, 154, 220,
                 235, 268, 274, 275

Programmers      11

PROM             180

Prompt           9, 13, 25, 29-31, 34, 35, 63, 66-69, 72, 73, 91, 93, 110,
                 114, 144, 146, 157, 167, 216, 217, 220, 229, 232, 233, 238,
                 244, 247, 253, 258

Protocol         12, 21, 48, 59, 73, 131, 132, 139-141, 230, 235, 261, 274

PS/2 BIOS        42, 43, 272

Purge            14, 15, 93, 94, 146, 148, 149, 151

Qedit            32

QEMM             263

Qmodem           109

Questionnaire    23, 67, 73, 252

Queue            105, 131, 147, 155, 181

Quick-Validate   28, 71

Quick-Validation  17, 28, 55, 71

Quiet            29, 55, 59, 69, 70, 75, 193, 220, 269

QWK              13-15, 38, 72, 93, 97, 99, 101, 103-115, 129, 138, 205, 211,
                 220, 230, 235, 237, 256, 257, 270, 272

QWK Network      14, 72, 97, 101, 103, 105, 107, 110, 115, 211

QWKID            115

QWKnet           15, 61, 104, 211, 215

QWKNODES         211, 212


_______________________________________________________________________________
Synchronet                          294                                   Index
♀

RAM              38, 183

RANDOM           17, 75, 93, 149, 254, 256

Real name        13, 22, 30, 34, 35, 64, 65, 67, 71, 95, 123, 125, 129, 208,
                 243, 256, 272, 274

Real-time        181, 275

Reboot           36

Rebuild          194

Recipient        15, 96, 105

Record           51, 61, 182, 192

Redirect         197, 206, 231

Reinitialization  45

REL              46, 48

RelayNet         116, 265

Remote           13, 19, 25, 34, 36, 54-56, 58, 59, 64, 103, 125, 130, 139,
                 167, 168, 181, 231-233, 247, 263, 268, 275

Repair           196

Requirement      14, 15, 23, 24, 31, 32, 41, 52, 74-79, 81, 85-87, 91, 93,
                 113, 133-137, 139-141, 144, 146, 148, 160-162, 167, 169, 171,
                 178, 181, 188, 189, 191, 208, 213, 254

Requirements     14, 15, 23, 24, 31, 32, 41, 52, 74, 78, 91, 93, 94, 113,
                 133-137, 139-141, 144, 146, 148, 160-162, 167, 169, 171,
                 178, 181, 188, 189, 191, 208, 213, 254

Rerun            56, 57, 59, 217, 219, 269

RESET            14, 34, 36, 103, 104, 151, 175, 221, 247, 260

RESORT           61

Restriction      21, 27-30, 55, 57, 66, 67, 71, 72, 75, 110, 128, 170, 208,
                 213-215, 235, 272, 273

Result           45-49, 52, 53, 84-86, 132, 227, 231, 239, 242

RIME             116, 265

Ring             44, 45

RIP              75, 133, 234, 237, 249, 250, 270

_______________________________________________________________________________
Synchronet                          295                                   Index
♀


RTS              45

SBBS4DOS         75, 180, 181, 188

SBBS4OS2         75, 166, 257, 258

SBBSCTRL         216, 217, 224, 260

SBBSECHO         118-120, 124, 125

SBBSNNUM         257, 260

SBBSNODE         157, 197, 198, 204, 206, 216, 260

SBBSQNET         109

Scan             21, 54, 61, 70, 95, 96, 104, 114, 123, 129, 134-136, 146,
                 150, 153, 201, 211, 212, 236, 244

Scanner          264

SCFG             11-13, 30, 31, 33, 41, 43, 44, 46, 51, 53, 55, 57, 68, 71,
                 73, 88-90, 100, 101, 106, 109, 111, 114, 117, 118, 122, 124,
                 128, 131, 137, 142, 145, 153, 157, 159, 163, 166, 170,
                 175, 176, 178, 179, 191, 192, 196, 207, 208, 216, 231, 233,
                 252, 254, 257-259, 261, 267, 275

SCFG32           33, 259

SCFG4OS2         33, 259

Script           109, 114, 184, 186, 187

Scroll           24, 55, 57, 68

SEAdog           42, 119

Search           32, 61, 62, 67, 71, 73, 100, 127, 137, 145, 149, 150, 157,
                 198, 199, 206, 213, 217, 222, 233

Security         17, 21, 26, 54, 56, 66, 67, 70, 71, 73-87, 93, 94, 128, 137,
                 148, 153, 154, 170, 178, 181, 208, 210, 213, 240, 244, 248,
                 256, 270, 271, 273, 275

Self-packing     99, 100, 196

Semaphore        37, 97, 98, 120, 122, 123, 129, 152

Send             15, 36, 60, 68, 69, 72, 88, 96, 105, 109, 110, 115, 122-
                 125, 128, 129, 154, 175, 210, 211, 238, 247, 268

Sent             37, 44, 49, 53, 55, 65, 72, 97, 103, 106, 115, 122-125, 128,
                 136, 147, 158, 220, 235, 267, 270, 275

_______________________________________________________________________________
Synchronet                          296                                   Index
♀


Serial           40-44, 118, 141, 184, 188, 262, 263, 266

Server           43, 120, 180

Setup            46, 52, 90-100, 114, 120, 124, 141, 175, 177, 184, 185, 187

Share            38, 40, 42, 43, 90, 115, 118, 180, 184, 187, 190, 192, 217,
                 233

Shell            12, 21, 22, 24, 56, 58, 59, 192, 257, 274

Shutdown         56, 59, 269

SIF              23, 38, 73, 252, 253

Simultaneous     97, 117, 149, 172, 177, 181, 182, 185, 192

SIO              188

SLOG             60, 224, 233

SMBACTIV         197

SMBUTIL          15, 94, 99, 100, 193, 195, 196

Sort             61, 152

Speaker          36, 49

Specifications   273

Specifiers       61, 68, 128, 137, 172, 239, 240, 242, 245, 257, 270, 275

Startup          38, 186, 187, 189

Step-by-step     111, 114, 119

Storage Method   99, 100, 196

Strip            101, 104, 108, 109

STX              252

Sub-board        9, 21, 54, 69, 70, 72, 75, 88-102, 105-115, 117, 118, 122,
                 125, 181, 193, 194, 196, 197, 211, 222, 223, 236, 243-245,
                 267

Sub-menu         16, 19, 27, 37, 39, 46, 107, 108, 116, 123, 131, 134, 139,
                 144, 159-161, 163, 174

Sub-op           15, 94, 96

Subject          90, 93, 130, 142, 158, 234

_______________________________________________________________________________
Synchronet                          297                                   Index
♀


SVDMANSI         177, 231

SVGA             64

Swap             34, 35, 37, 39, 60, 120, 163, 165, 171-173, 175, 176, 184,
                 189, 233, 249

Synchronet for DOS  33, 184

Synchronet for OS/2  33, 166, 180

Synchronize      247

Tagline          97, 106, 107, 109, 112, 211

TAME             188

Task             9, 118, 119, 185, 205, 213, 234

Technical        89, 90, 112, 265, 273

Technology       90, 106, 116, 118, 132, 263

Telephone        275

Telnet           129

Template         252, 253

Terminal         36, 39, 44, 49, 55, 70, 75, 109, 249, 250, 257, 263, 271,
                 274

Terminology      118

Testable         131, 134, 135, 260

TIC              126, 127

Tick             126, 185, 266

Time Slice       34, 35, 188, 191, 259

Time Zone        14, 104, 195

Time-out         173, 182

Timed Event      148, 163, 164, 211, 220

Timer            40, 45, 69, 188

Timeslice        33, 35, 188-190, 257, 272

Toggle           10, 11, 13, 16, 17, 19-22, 29, 31, 34, 43-46, 48, 49, 51,

_______________________________________________________________________________
Synchronet                          298                                   Index
♀

                 55, 56, 58, 59, 68, 69, 71, 93, 95, 97, 103, 112, 125, 145,
                 148, 149, 153, 154, 157, 162, 173, 188, 191, 208, 218,
                 243, 244, 246, 248, 256, 267, 272

TOOSLOW          237

Tosser           230, 264

TOTALS           226

TPOLICY          236

Transfer         12, 39, 44, 46, 58, 59, 61-63, 68-70, 72, 104, 106, 115,
                 130-132, 139-143, 146-149, 153-155, 157, 158, 181, 202, 205,
                 220, 231, 235, 236, 241, 261, 263, 264, 268, 274, 275

Transfer protocol  12, 59, 131, 139-141, 235, 261

Trash can        241

TRIBBS.SYS       169

Trigger          98, 121, 123, 129, 152

Troubleshooting  177, 230-233

TSR              231

Type             9, 12, 22, 43, 44, 46, 47, 49, 50, 61, 64, 65, 69, 77, 80-
                 82, 85, 86, 97, 111, 123, 124, 133-138, 148, 153, 157, 167-
                 169, 171, 173, 175, 176, 218, 219, 225, 227, 231, 232, 234,
                 240, 243, 245, 253, 255-258, 267, 270, 272, 274

TZ               104, 126

UART             40-45, 141, 181, 188, 257, 272

UEDIT            55, 58, 63, 64, 235

Unarc            121

Uncompress       9, 11

Undeleted        17

Universal        43, 117, 263

Unix             90, 272, 273

Unpack           107, 113

Unreceived       268

Unrecognized     223

_______________________________________________________________________________
Synchronet                          299                                   Index
♀


Unsuccessful     132

Upgrade          9, 170, 179, 272

Upload           14, 15, 39, 53, 61, 62, 64, 65, 67, 71, 72, 75, 88, 97, 107,
                 110, 131, 134, 135, 139-141, 146-155, 158, 198, 199, 202,
                 230, 235, 237, 241, 243, 256, 267, 270

UPS              245

User-to-User     154

USERS.SYS        169, 170

UTI Driver       117, 222, 223

Validate         28, 67, 71, 94

Validation       17, 19-21, 28, 37, 55, 71, 114, 237

Variable         197, 198, 204, 206, 216, 217, 224, 242-245, 256, 257, 260,
                 275

VDM              166

Verbal           46, 48, 52, 53

Verification     170

Verified         204

VERT             61, 107, 112, 113, 265, 272

Vertrauen        112, 116, 265, 271

Viewable         24, 131, 133, 269

VX00             188

Waiting For Call  12, 39, 49, 54, 59, 63, 69, 171, 220, 235, 267, 269

Web              264

WFC              29, 30, 33, 34, 36, 37, 59-61, 224, 232, 235, 267, 268, 270

Windows 3.x      189, 190

Windows 95       191

WWW              264

X00              42, 118, 266


_______________________________________________________________________________
Synchronet                          300                                   Index
♀

Xmodem           139, 230, 263

XMS              34, 35, 39, 173, 184, 189, 190, 233

XTRN.DAT         167, 169, 171, 271

Ymodem           140, 230, 263

Zmodem           132, 140, 230, 263














































_______________________________________________________________________________
Synchronet                          301                                   Index
♀