====== Synchronet Configuration Utility ======

The Synchronet Configuration Utility (SCFG) is used for viewing and modifying the primary [[config:ini files]] in the Synchronet ''[[dir:ctrl]]'' directory.

{{:util:scfg.3.20.main.png?800|SCFG Main Menu}}

===== Invoke =====

  * SCFG may be invoked from the [[:monitor:sbbsctrl|Synchronet Control Panel]] with the BBS->Configure menu option:
   {{:monitor:sbbsctrl_configure.png|}}

  * Or by running ''scfg'' from a command prompt.
:!: Note: If the Synchronet ''[[dir:exec]]'' directory is not in your search path, you may need to change the current working directory (e.g. using ''cd'') or specify the //full path// to ''scfg''.

  * Or by selecting the "Synchronet Configuration" option (''ANSI'' or ''dumb'') from the "Operator" External Program Section in the BBS.

  Operator External Programs:

  Num │ Name
  ────┼─────────────────────────────────
    1 │ Synchronet Configuration (ANSI)
    2 │ Synchronet Configuration (dumb)
    3 │ Check Setup
    4 │ File Manager
    5 │ Initial FidoNet Setup
    6 │ FidoNet Configuration (ANSI)
    7 │ FidoNet Configuration (dumb)
    8 │ Auto-install New External Programs

  Which or Quit:
===== Executable =====

SCFG is a native executable program.

On Windows, the executable file is: ''[[dir:exec]]/scfg.exe''

On UNIX, the executable file is: ''[[dir:exec]]/scfg''

===== Command-line =====

Help on the command-line usage can be displayed by executing the command: ''scfg -?'' or ''scfg --help'':

<code>
usage: scfg [ctrl_dir] [options]

options:

-w                run initial setup wizard
-f                force save of configuration files
-a                update all message base status headers
-h                don't update message base status headers
-u#               set file creation permissions mask (in octal)
-k                keyboard mode only (no mouse support)
-c                force color mode
-m                force monochrome mode
-e#               set escape delay to #msec
-insert           enable keyboard insert mode by default
-import=<fname>   import a message area list file
-faddr=<addr>     specify your FTN address for imported subs
-misc=<value>     specify option flags for imported subs
-g#               set group number (or name) to import into
-host=<name>      set hostname to use for alternate sbbs.ini file
-iX               set interface mode to X (default=auto) where X is one of:
                   X  = X11 mode
                   C  = Curses mode
                   F  = Curses mode with forced IBM charset
                   I  = Curses mode with forced ASCII charset
                   W  = Windows console mode
                   G  = Windows graphics mode
                   GF = Windows graphics mode, full screen
                   A  = ANSI mode
                   D  = standard input/output/door mode
-A                use alternate (ASCII) characters for arrow symbols
-v#               set video mode to # (default=42)
-l#               set window lines to # (default=auto-detect)
-s#               set window scaling factor to # (default=1.0)
-y                automatically save changes (don't ask)
</code>

:!: Note: some of the interface mode values are only available on particular platforms/operating systems.

===== ctrl Directory =====

If the ''[[config:env#SBBSCTRL]]'' environment variable is set, then SCFG will find the [[config:ini files]] without needing you to specify the path to the ''[[dir:ctrl]]'' directory  (''[ctrl_dir]'') on the command-line.

If the ''[[config:env#SBBSCTRL]]'' environment variable is **not** set and the ''[ctrl_dir]'' is not specified on the command-line, SCFG will look for the [[config:ini files]] in the ''/sbbs/ctrl'' directory, by default.

===== scfg.ini =====

The default user interface/display control settings of SCFG can be overridden by creating the file ''[[dir:ctrl]]/scfg.ini'' (new to SCFG v3.20).

All of the ''scfg.ini'' keys are in the //root// (global) section:

^ Key             ^ Default Value      ^ Description ^
| ''video_mode''  | ''42'' (80x25 LCD) | The text/video output mode |
| ''uifc_mode''   | ''0''              | Bit-flags controlling the user interface library, see ''uifc.h'' for bit definitions, e.g. set to ''2'' to disable mouse support |
| ''ciolib_mode'' | ''0'' (auto)       | Console I/O Library Interface mode, see ''ciolib.h'' for value definitions, e.g. set to ''4'' to enable ANSI output mode |
| ''lines''       | //auto-detect//    | Height of user interface window, in rows/lines of text (usually, 25) |
| ''insert''      | ''false''          | Set to ''true'' to enable keyboard insert mode by default, not overwrite |
| ''esc_delay''   | ''25''             | Milliseconds to wait for escape sequence, differentiating between ESC key press and extended key escape sequence |
| ''scaling''     | ''0'' (auto)       | Initial display scale of graphical window, fractions supported |

If the ''[[dir:ctrl]]/scfg.ini'' file does not exist, SCFG will fallback to using the file ''[[dir:ctrl]]/[[config:uifc.ini]]'', if it exists.
===== Usage =====

==== Help ====

At any time within SCFG, you can press the ''F1'' or ''?'' keys or click the ''?'' on a window to get online help about the list of options or items being viewed or the option being edited.

==== Navigation keys: ====

^ Key(s)                         ^ Action ^
| ''Up'' and ''Down'' arrows    | Move the lightbar that highlights the desired item|
| ''Page Up'' and ''Page Down'' | Move the lightbar up or down one "screen full" at a time |
| ''Home''                      | Highlight first option in the menu |
| ''End''                       | Highlight the last option in the menu |
| '' Enter''                    | Select the highlighted item |
| ''Esc'' or ''Backspace''      | Return to the previous menu, or if at the top-level menu, quit the SCFG application |
| ''F1'' or ''?''               | Display help text on current windows/dialog/list |
| ''Ctrl-F''                    | Find an option or item in a list |
| ''Ctrl-G''                    | Find next option or item in list (after use of ''Ctrl-F'') |
| Letters/numbers               | Pressing the first letter or number of an item in the menu will highlight that item |

==== Editing keys: ====

^ Key(s)                                   ^ Action ^
| ''Insert'' or ''+''                      | Insert new items in lists |
| ''Delete'' or ''-''                      | Delete items from lists |
| ''Ctrl-C'' or ''F5'' or ''Ctrl-Insert''  | Copy item from list into clipboard |
| ''Ctrl-X'' or '' Shift-Delete''          | Cut item from list into clipboard |
| ''Ctrl-V'' or ''F6'' or ''Shift-Insert'' | Paste clipboard item into list (above highlighted item) |

==== Initial Setup Wizard ====

When SCFG detects a new Synchronet installation, it'll start its //Initial Setup Wizard// which will prompt the sysop for various important [[install:setup|initial configuration settings]].

  ╔═════════════════════════════════════════════════════╗
  ║ New install detected, starting Initial Setup Wizard ║
  ╠═════════════════════════════════════════════════════╣
  ║ │OK                                                 ║
  ╚═════════════════════════════════════════════════════╝

The SCFG ''-w'' command-line option can also be used to force SCFG to execute its //Initial Setup Wizard//.

  ┌─────────────────────────────┤ Setup Wizard ├─────────────────────────────┐
  │                                                                          │
  │                                  Welcome                                 │
  │   _________                   .__                                __      │
  │  /   _____/__.__. ____   ____ |  |_________  ____   ____   _____/  |_    │
  │  \_____  <   |  |/    \_/ ___\|  |  \_  __ \/  _ \ /    \_/ __ \   __\   │
  │  /        \___  |   |  \  \___|   Y  \  | \(  <_> )   |  \  ___/|  |     │
  │ /_______  / ____|___|  /\___  >___|  /__|   \____/|___|  /\___  >__|     │
  │         \/\/         \/     \/     \/                  \/     \/         │
  │                                                                          │
  │ This wizard will take you through the configuration of the basic         │
  │ parameters required to run a Synchronet Bulletin Board System.  All of   │
  │ these configuration parameters may be changed later if you choose.       │
  │                                                                          │
  │ Press  ENTER  to advance through the setup wizard or  ESC  to move       │
  │ backward or abort the wizard.                                            │
  │                                                                          │
  │                                                                          │
  │                                │Continue                                 │
  └──────────────────────────────────────────────────────────────────────────┘
===== Configure =====

  * ''[[config:Nodes]]''
  * ''[[config:System]]''
  * ''[[server:|Servers]]''
  * ''[[config:Networks]]''
  * ''[[config:File Areas]]''
  * ''[[config:File Options]]''
  * ''[[config:Chat Features]]''
  * ''[[config:Message Areas]]''
  * ''[[config:Message Options]]''
  * ''[[config:Command Shells]]''
  * ''[[config:External Programs]]''
  * ''[[config:Text File Sections]]''

===== See Also =====
  * [[util:|Utilities]]
  * [[dir:CTRL]] Directory
  * [[config:env#SBBSCTRL]] environment variable
  * [[config:|Configuration]]
  * [[config:cmdline|Command Lines]]
  * [[config:uifc.ini]]
  * [[ref:uifc|User Interface Library (UIFC)]]

{{tag>configure scfg uifc}}
