Synchronet BBS - Multinode Bulletin Board Software


Back to Table of Contents

[15.1] - CHKSMB - Checks mail/message base for validity

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

opts:
       s - stop after errored message base
       p - pause after errored message 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.

[15.2] - 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.

[15.3] - 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)


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.

[15.4] - 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

[15.5] - 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.

.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

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

[15.6] - 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 /+ /-

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

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 '+' identifiers for extended descriptions to be included in the
list, use the "/+" switch.

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

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

SBBSNODE Environment Variable:

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

Example:

SET SBBSNODE=C:\SBBS\NODE1

Examples:

FILES.BBS

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

FILELIST GAMES FILES.BBS

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

FILELIST.TXT

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

FILELIST /* /ALL FILELIST.TXT

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

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


FILESTAT.TXT

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

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

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


NOTE:

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

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

[15.7] - 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.

[15.8] - 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.

[15.9] - 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

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

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

[15.10] - 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.

/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 maximum 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

[15.11] - 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.

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.

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

[15.12] - 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.

[15.13] - 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).

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.

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

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	Bi-directional 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)

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

[15.14] - 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
conference list to avoid a catastrophe. However, you should still "Update" the
network or mail software to avoid configuration confusion - especially when
deleting sub-boards.

ERROR LEVELS

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

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


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

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

[15.15] - 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

[15.16] - 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 separate 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

[15.17] - TOTALS: External Programs Credit Gain/Loss Log Totaling 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

[15.17] - ANS2ASC

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 color 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 monochrome ANSI users to see with attractive output, use
ANS2ASC to create the .MON and .ASC versions.

Type: ans2asc main.ans main.mon
in your TEXT\MENU directory to create the monochrome version. 

Type: ans2asc 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
terminal 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: ans2asc system.ans system.msg

Be aware that ANSI animation codes are NOT supported since there aren't Ctrl-A
equivalents. The following ANSI codes (preceded by <ESC>[) are supported:

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

[15.18] - ASC2ANS

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 opposite of the ANS2ASC utility).

The syntax is: asc2ans main.asc main.ans

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: asc2ans main.asc con

This will read from the Ctrl-A file MAIN.ASC and write to your screen using
ANSI escape sequences.

Back to Top


Copyright 2000 by Rob Swindell

Synchronet BBS Software
(Synchronet) Version 3 is comprised of several documentation,
library, executable, and source code files, all of which are covered by the
GNU General Public License
with the exception of the following portions covered by
the GNU Lesser General Public License: SMBLIB and XSDK.

Synchronet Version 2 (for DOS and OS/2) and its source code was released to the
Public Domain
by Digital Dynamics in 1997 and remains Public Domain software today.
Synchronet Version 3 is not Public Domain software.

Rob Swindell
PO Box 501
Yorba Linda, CA 92885
http://www.synchro.net

For the complete Copyright Information please read the Copyright Documentation .