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

You can donate to the Synchronet project using PayPal.


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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
module:index [2020/11/11 14:33]
mlong [Modules] add webv4 external link
module:index [2021/02/13 11:44]
Line 1: Line 1:
-====== ​Modules ​======+====== ​Install-xtrn.js (Automated Install for External Programs) ​====== 
 +A utility used to aid in installing programs to the External Programs section.
-Synchronet loadable modules are "in-process"​ executable interpreted scripts.+This script parses a .ini file (default filename is install-xtrn.ini) and installs the external programs defined within into the Synchronet BBS 
 +configuration file: ctrl/​xtrn.cnf. ​ The programs defined within this file can by online programs (a.k.a. Doors), editors, or events.
-Modules are typically located in the ''​[[dir:​exec]]''​ directory and written in either [[util:​Baja]] (compiled to ''​.bin''​ files) ​or [[custom:​JavaScript]] ​(''​.js'' ​files).+If the door is included with Synchronet, ​or Synchronet already has a configuration for it (in xtrn/​3rdp-install),​ you can use the install-xtrn.js script to install your door. For third party doors, you should extract the door files into your external directory first, and perform any required unpacking/​installing of the files. Once the final executable file is in place, Synchronet can check for a file signature match and install the door configuration if it has a matching known configuration for it.
-Modules (written in [[util:​Baja]] or [[custom:​JavaScript]]) are used to provide services to [[:​server:​terminal|Terminal Server]] users via [[:​custom:​command shell|command shells]], editors, games, add-ons, etc. as well as timed and network call-out events for the sysop.+===== Running ​the Script ====
-Modules (written in [[custom:JavaScript]]) may also be used as mail processors with the [[:​server:​mail|Mail Server]], dynamic HTML index file generation with the [[:​server:​ftp|FTP Server]], external content handlers for the [[:​server:​web|Web Server]], CGI and other uses with [[:​util:​JSexec]].+Run ''​[[dir:exec]]/jsexec install-xtrn.js''​
-Source code for modules included with Synchronet is available in [[dev:CVS]].+This script can also be invoked using the ;EXEC sysop command while logged into the terminal server, ​for example:
-{{indexmenu>​.|tsort}}+'';​exec ?​install-xtrn''​
-  * [[https://​​echicken/​synchronet-web-v4/​wiki|Web v4]]+You can also specify a specific directory to install by including the path to the program:
 +''​[[dir:​exec]]/​jsexec install-xtrn.js ../​xtrn/​minesweeper''​
 +'';​exec ?​install-xtrn ../​xtrn/​minesweeper''​
 +===== Command Line Options =====
 +^ Command ^ Description ^
 +^ -auto ^ Don't prompt for a list of doors to install ^
 +^ -debug ^ Shows what would happen (does not make changes) ^
 +^ -overwrite ^ Overwrite already-installed door ^
 +===== Third Party External Programs (Doors) =====
 +Configs are located in xtrn/​3rdp-install to support installing third party external programs. These configs are version-specific and are based on a MD5 hash against the game's executable.
 +The general instructions are:
 +  - Download the file from the program author'​s website
 +  - Extract the file into the destination directory of your xtrn folder
 +  - Inside that directory, do any actions you need to get the files into their final state. For example, extracting any included zip files, running any uncompressors or installer programs, installing any patches (like tppatch for Turbo Basic programs), etc.
 +  - Review the sysop documentation for the program
 +  - Run the install-xtrn.js. If it finds a match (based on a MD5 sum of the executable),​ it will give you the option to install the program and decide which external section to place it into. If it does not give you the option, then either no configuration exists in xtrn/​3rdp-install for this program or this particular version of the program, or you may have missed a step preparing the files
 +  - Perform any required tasks according to the sysop documentation,​ such as resetting the program, etc.
 +  - Apply any registration codes you have for the program
 ===== See Also ===== ===== See Also =====
-  * [[custom:|Customization]] +  * [[:util:index:​|Utilities]] 
-  * [[custom:Command Shell]] +  * [[:howto:​door:​index ​|Install Doors]] 
-  * [[util:​|Utilities]] +{{tag>}}
-  * [[service:|Services]] +
-{{tag>​javascript baja}} 

In Other Languages