Synchronet v3.18b-Win32 (install) has been released (Sept-2020).

Synchronet is switching to Git

You can donate to the Synchronet project using PayPal.

External Programs Section

The xtrn_sec.js module provides the “External Programs” (doors) menu for the Terminal server users.


This module (xtrn_sec) should be the default value of SCFG->System->Loadable Modules->Xtrn Section.


The normally expected usage is just to invoke xtrn_sec.js with no arguments. If, however, you wish to have the module skip the menu of external program sections and go directly to the menu of available programs within one specific section, pass the internal-code of the desired program section section as an argument to xtrn_sec.js.


exec_bin xtrn_sec games

However, when installed correctly, this module should run whenever the Baja XTRN_SECTION function is invoked.


load('xtrn_sec.js', 'games');

However, when installed correctly, this module should run whenever the JS bbs.xtrn_sec() method is invoked.


The xtrn_sec module supports the following configuration options in the [xtrn_sec] section of the ctrl/modopts.ini file:

Option Default Description
multicolumn true Use a multiple-column program list when there are more than singlecolumn_height items
multicolumn_separator “ ” Separator displayed between columns of program names
multicolumn_fmt text[XtrnProgLstFmt] Display format used for multiple columns
singlecolumn_fmt (see source) Display format used for single column
singlecolumn_margin 7 Desired button margin (below program list), in rows
singlecolumn_height screen_rows - singlecolumn_margin The maximum length of a single column list
header_fmt text[XtrnProgLstHdr] Program list header format
titles text[XtrnProgLstTitles] Program list titles
underline text[XtrnProgLstUnderline] Underline string
which text[WhichXtrnProg] Which prompt
sort false Re-sort (alphabetically) the list of programs and program sections before displaying to the user
autoexec false Automatically execute a section's program when there is only one program available within that section
clear_screen true Clear the screen before each program list
clear_screen_on_exec false Clear the screen before executing any/all programs
eval_before_exec Evaluate the specified JavaScript expression before executing any/all programs
eval_after_exec Evaluate the specified JavaScript expression after executing any/all programs
restricted_user_msg text[R_ExternalPrograms] Message displayed users with X-restrictions
no_programs_msg text[NoXtrnPrograms] Message displayed when there are no external programs available


Display Files

  • The auto-generated external program section list can be replaced by creating the optional file text/menu/xtrn_sec.*.
  • Each program list can have an optional header displayed by creating the file text/menu/xtrn<sec_num>_head.*.
  • Each auto-generated program list can be replaced by creating the optional file text/menu/xtrn<sec_num>.*.
  • Each external program can have an optional file displayed before execution by creating the file text/menu/xtrn/<code>.*


This module uses the fonts.js library and ctrl/fonts.ini file to optionally load door-specific fonts before executing an external program and restore the default font upon returning from the external program.

; Door Sections
; -------------
; Each BBS external online program (e.g. door game) may have its own desired
; fonts and some programs may even have customized fonts made just for that
; game (e.g. LORE).
; These sections are named with the form: '[xtrn:<code>:<char>]
; where <code> is the external program's Internal Code (as configured in SCFG)
; and <char> is the relevant character height.
; Note: you must utilize xtrn_sec.js rev 1.18 or later for this feature:

See Also

In Other Languages
Translations of this page: