Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
custom:command_shell [2023/02/26 15:27] – [Command Shell] The .bin stubs for JS shells are not required in v3.20 digital mancustom:command_shell [2023/06/18 14:10] (current) – [See Also] add js tag and link digital man
Line 3: Line 3:
 A command shell is a special form of a Synchronet module which is responsible for displaying text (menus, prompts, etc.) to remote [[server:terminal]] users and accepting their input as commands to perform BBS functions (e.g. reading messages, downloading files, chatting, playing games, etc.). A command shell is a special form of a Synchronet module which is responsible for displaying text (menus, prompts, etc.) to remote [[server:terminal]] users and accepting their input as commands to perform BBS functions (e.g. reading messages, downloading files, chatting, playing games, etc.).
  
-In Synchronet v3, command shells are typically written in a BASIC-like language (in a ''.src'' file) and compiled with a program called [[util:Baja]] into an interpreted binary (''.bin'') file. While it is also possible to write command shells in [[custom:JavaScript]], doing so is not as easy as we intend it to be one day. In Synchronet versions prior to v3.20, a JavaScript command shell actually required a small ''.bin'' module (compiled Baja source) as a stub to load and execute the JavaScript (''.js'') file.+In Synchronet v3, command shells are typically written in a BASIC-like language (in a ''.src'' file) and compiled with a program called [[util:Baja]] into an interpreted binary (''.bin'') file. It is also possible to write command shells in [[custom:JavaScript]]. In Synchronet versions prior to v3.20, a JavaScript command shell actually required a small ''.bin'' module (compiled Baja source) as a stub to load and execute the JavaScript (''.js'') file.
  
 A BBS can have one or more command shells available for its users (configured in [[util:SCFG]]->Command Shells). If the BBS has more than one shell available, each user can pick their shell of preference in their user configuration menu and the BBS will remember their shell of choice and use it for each of their logon sessions. A sysop can even make select shells only available to specific groups/sub-groups of users based on a wide range of [[:access:]] criteria (including terminal type/capabilities). A BBS can have one or more command shells available for its users (configured in [[util:SCFG]]->Command Shells). If the BBS has more than one shell available, each user can pick their shell of preference in their user configuration menu and the BBS will remember their shell of choice and use it for each of their logon sessions. A sysop can even make select shells only available to specific groups/sub-groups of users based on a wide range of [[:access:]] criteria (including terminal type/capabilities).
  
-There are many existing Synchronet command shells available (e.g. [[ftp://vert.synchro.net/main/BAJAMODS/00index.html|here]] and [[ftp://vert.synchro.net/main/SBBS_3RD/00index.html|here]]). +There are many existing Synchronet command shells available (e.g. [[http://vert.synchro.net/files/Main/BAJAMODS/|here]] and [[http://vert.synchro.net/files/Main/SBBS_3RD/|here]]). 
  
-The default command shell (''default.bin'') is officially referred to as the //Synchronet Classic Shell// (it emulates the Synchronet v1 user interface) and if you and your users have no special requirements or preferences, it'll probably be the only shell you'll ever need (source code is ''[[dir:exec]]/default.src''). If you or your users are used to another BBS menu/command style, there are shells available which emulate the style of other classic BBS programs (e.g. WWIV, Renegade, PCBoard, MajorBBS, Wildcat!, etc.) as well as shells which are intended for use by users of limited BBS experience (e.g. //Synchronet Simple Shell//), and specialized shells (e.g. ''sdos'' emulates MS-DOS and ''lbshell'' is a full-screen light-bar shell by [[person:Deuce]] written in JavaScript).+The default command shell (''default.js'') is officially referred to as the //Synchronet Classic Shell// (it emulates the Synchronet v1 user interface) and if you and your users have no special requirements or preferences, it'll probably be the only shell you'll ever need (source code is ''[[dir:exec]]/default.js''). If you or your users are used to another BBS menu/command style, there are shells available which emulate the style of other classic BBS programs (e.g. WWIV, Renegade, PCBoard, MajorBBS, Wildcat!, etc.) as well as shells which are intended for use by users of limited BBS experience (e.g. //Synchronet Simple Shell//), and specialized shells (e.g. ''sdos'' emulates MS-DOS and ''lbshell'' is a full-screen light-bar shell by [[person:Deuce]]).
  
 Shells included with Synchronet: Shells included with Synchronet:
-  * Synchronet (Classic) (''default.bin'')+  * Synchronet (Classic) (''default.js'')
   * Synchronet (Novice) (''simple.bin'')   * Synchronet (Novice) (''simple.bin'')
   * WWIV Clone (''wwiv.bin'')   * WWIV Clone (''wwiv.bin'')
Line 19: Line 19:
   * MajorBBS Clone (''major.bin'')   * MajorBBS Clone (''major.bin'')
   * Renegade Clone (''renegade.bin'')   * Renegade Clone (''renegade.bin'')
-  * Deuce's Lightbar Shell (''lbshell.bin''/''lbshell.js''+  * Deuce's Lightbar Shell (''lbshell.js''
-  * SDos (''sdos.bin'')+  * Simulated MS-DOS (''sdos.bin'')
  
 Installing 3rd party command shells, modifying existing/stock command shells, or creating your own command shells from scratch are all options available to Synchronet sysops. These options provide the capability for a sysop to create a highly customized interface and experience for their BBS users. Installing 3rd party command shells, modifying existing/stock command shells, or creating your own command shells from scratch are all options available to Synchronet sysops. These options provide the capability for a sysop to create a highly customized interface and experience for their BBS users.
Line 26: Line 26:
 ===== See Also ===== ===== See Also =====
   * [[:custom:|Customization]]   * [[:custom:|Customization]]
 +  * [[:custom:JavaScript]]
   * [[:util:Baja]]   * [[:util:Baja]]
  
-{{tag>baja}}+{{tag>baja javascript}}