====== Command Shells ====== Configure the list of [[server:Terminal]] Server command shells available to your BBS users using the [[util:SCFG]]->Command Shells menu. ╔═══════════════════════════════════════════╗ ║ Command Shells ║ ╠═══════════════════════════════════════════╣ ║ │Synchronet (Classic) ║ ║ │Synchronet (Novice) ║ ║ │WWIV Clone ║ ║ │PCBoard Clone ║ ║ │Wildcat Clone ║ ║ │MajorBBS Clone ║ ║ │Renegade Clone ║ ║ │Oblivion/2 Clone ║ ║ │Deuce's Lightbar Shell ║ ║ │ ║ ╚═══════════════════════════════════════════╝ A command shell is a programmed command and menu structure that you or your users can use to navigate the BBS Terminal Server. For each command shell, there must be an associated ''.js'' or ''.bin'' file in your ''[[dir:exec]]'' or ''[[dir:mods]]'' directory for Synchronet to execute upon user logon. Command shells may be [[custom:JavaScript]] modules (''.js'' files), created with any text editor. There is a JavaScript load library, ''shell_lib.js'' to help make writing command shells in JavaScript more quickly/easily. See ''exec/default.js'' for an example command shell that uses ''shell_lib.js''. Legacy command shells may be created or modified by using the [[util:Baja]] compiler to turn Baja source code (''.src'') files into binary files (''.bin'') for Synchronet to interpret. See the example ''.src'' files in the ''exec'' directory and the documentation for the Baja compiler for more details. ===== Command Shell ===== ╔══════════════════════════════════════════════════════════╗ ║ Synchronet (Classic) ║ ╠══════════════════════════════════════════════════════════╣ ║ │Name Synchronet (Classic) ║ ║ │Internal Code DEFAULT ║ ║ │Access Requirements ║ ╚══════════════════════════════════════════════════════════╝ ^ Option Name ^ Description ^ | Name | Display name shown to users when they choose a command shell. | | Internal Code | Up to 8 valid filename characters. The shell file is loaded as ''.js'' (or ''.bin'' for legacy Baja shells) from the user's [[dir:mods]] or [[dir:exec]] directory at login. | | Access Requirements | An [[access:requirements|ARS]] expression — only users matching the requirements may select or be auto-assigned this shell. | When a user has multiple shells available, they can switch between them with the '';SHELL'' [[module:str_cmds|string command]]. The default shell for new users is configured under [[#new_user_values|System → New User Values → Command Shell]]. //(See [[config:system#new_user_values|System Configuration]].)// ===== See Also ===== * [[:config:|config index]] * [[util:baja]] — Baja compiler for legacy ''.bin'' shells * [[custom:javascript]] * [[custom:command_shell|Custom command shell development]] * [[module:str_cmds]] {{tag>configuration command_shell scfg}}