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

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

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:

ANS	Contains ANSI escape sequences suitable for color display
MON	Contains ANSI escape sequences suitable for monochrome display
ASC	Contains just ASCII text

All of the above file types can contain ctrl-a codes, and only the ASC file
must exist. If you create a menu entirely of ctrl-a codes, you don't need the
ANS or MON files and they should be deleted as the BBS automatically filters
color ctrl-a codes for monochrome and non-ANSI users.

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 SBBS editor (;EDIT from the main
menu) and it will display the attributes as you edit the file. The SBBS editor
limits the line length to 79 characters which may not be sufficient for lines
with multiple ctrl-a codes.

Menu Files		Description
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ADVMAIN  ANS		Advanced main commands menus
ADVMAIN  MON
ADVMAIN  ASC
ADVXFER  ANS		Advanced transfer commands menus
ADVXFER  MON
ADVXFER  ASC
ALLMAIL  ANS		Sysop's reading all mail on system menus
ALLMAIL  MON
ALLMAIL  ASC
ATTR	 ASC		Ctrl-A code menu for use within the SBBS editor
BATCHXFR MON		Batch transfer menu
BATCHXFR ASC
BATCHXFR ANS
BATDPROT ANS		Batch download transfer protocols
BATDPROT MON
BATDPROT ASC
BATUPROT MON		Batch upload transfer protocols
BATUPROT ASC
BATUPROT ANS
BIPROT	 ASC		Bidirectional transfer protocols
BIPROT	 ANS
BIPROT	 MON
CHAT	 MON		Chat section menu
CHAT	 ASC
CHAT	 ANS
DLPROT	 MON		Download transfer protocols
DLPROT	 ASC
DLPROT	 ANS
EDITOR	 ASC		SBBS editor commands and line editing keys
EXEMPT	 ASC		Exemption flag descriptions for use within User Edit
SENTMAIL ANS		User reading sent menu
SENTMAIL ASC
SENTMAIL MON
LOGOFF	 ANS		Logoff ('O' command) screen
LOGOFF	 ASC
LOGOFF	 MON
LOGON	 ANS		Logon screen
LOGON	 MON
LOGON	 ASC
MAILREAD MON		User reading mail menu
MAILREAD ANS
MAILREAD ASC
MAIN	 ANS		Main section menu
MAIN	 MON
MAIN	 ASC
MAINFLAG ASC		Main flag descriptions for use within User Edit
MSGSCAN  ASC		User message scanning menu
MSGSCAN  MON
MSGSCAN  ANS
MULTCHAT ASC		Multinode chat menu
MULTCHAT ANS
MULTCHAT MON
QWK	 ASC		QWK Packet menu
REPORTS  ASC		Sysop report section menu
RESTRICT ASC		Restriction flag descriptions for use within User Edit
SYSSMAIL ANS		Sysop additional commands while reading sent mail
SYSSMAIL MON
SYSSMAIL ASC
SYSMAILR ANS		Sysop additional commands while reading mail
SYSMAILR MON
SYSMAILR ASC
SYSMAIN  ASC		Sysop additional commands for main section
SYSMSCAN ANS		Sysop additional commands while message scanning
SYSMSCAN MON
SYSMSCAN ASC
SYSXFER  ASC		Sysop additional commands for transfer section
TEMPXFER ANS		Temporary directory commands menu
TEMPXFER ASC
TEMPXFER MON
TRANSFER ANS		Transfer section menu
TRANSFER MON
TRANSFER ASC
UEDIT	 ASC		User Edit (for Aliases) menu
UEDIT	 MON
UEDIT	 ANS
ULPROT	 ANS		Upload transfer protocols
ULPROT	 MON
ULPROT	 ASC
USEREDIT ASC		User Edit (for Non-Aliases) menu
USEREDIT ANS
USEREDIT MON
WFC	 ANS		Waiting for call menu
WFC	 MON
WFC	 ASC
XFERFLAG ASC		Transfer flag descriptions for use within User Edit

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

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

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

DATA\SUBS\GENERAL.MSG

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

DATA\DIRS\GAMES.MSG

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

DATA\DIRS\GAMES.HDR

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

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

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

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

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

Source Code
~~~~~~~~~~~
If you purchased the source code to Synchronet, refer to SOURCE.DOC for more
information on editing and compiling a modified version of Synchronet.

/* End of CUSTOM.DOC */
