Both sides previous revisionPrevious revisionNext revision | Previous revision |
howto:door:index [2020/03/28 16:07] – [Command Line] Added %s - startup directory digital man | howto:door:index [2024/10/15 15:38] (current) – Add 31-line DOOR.SYS, removed UTIDOOR.TXT digital man |
---|
| |
BBS "doors" are external online programs, often games, that may be installed on a BBS system for its remote terminal users to use interactively. Doors are usually 16-bit DOS programs from "back in the day" and can be challenging to get working on the computers and operating systems of today. A little patience and the use of pages like this one can usually get them working however. | BBS "doors" are external online programs, often games, that may be installed on a BBS system for its remote terminal users to use interactively. Doors are usually 16-bit DOS programs from "back in the day" and can be challenging to get working on the computers and operating systems of today. A little patience and the use of pages like this one can usually get them working however. |
| |
| |
| |
==== Supported External Program Types ==== | ==== Supported External Program Types ==== |
| |
^ I/O Method ^ Description ^ Examples ^ Typical Drop File Types ^ OS ^ | ^ I/O Method ^ Description ^ Examples ^ Typical Drop File Types ^ OS ^ |
| [[ref:FOSSIL]] | 16-bit DOS BBS doors and external editors | TradeWars 2002, GlobalWar, LORD, FDSZ | DOOR.SYS and DORINFO#.DEF | Windows | | | [[ref:FOSSIL]] | 16-bit DOS BBS doors and external editors | TradeWars 2002, GlobalWar, LORD, FDSZ | DOOR.SYS and DORINFO#.DEF | Windows and [[howto:dosemu|Linux]]| |
| COM/UART | 16-bit DOS BBS doors and external editors | DSZ, NukeWars | DOOR.SYS and DORINFO#.DEF | Windows | | | COM/UART | 16-bit DOS BBS doors and external editors | DSZ, NukeWars | DOOR.SYS and DORINFO#.DEF | Windows | |
| DOS Console | 16-bit Synchronet and WWIV doors and external editors | Food Fight! Rigor Mortis, Dragon's Hoard, SBJ/SBL v2.x | CHAIN.TXT and XTRN.DAT | Windows | | | DOS Console | 16-bit Synchronet and WWIV doors and external editors | Food Fight! by Rigor Mortis, Dragon's Hoard, SBJ/SBL v2.x | CHAIN.TXT and XTRN.DAT | Windows | |
| TCP/IP Socket | Native TCP/IP BBS doors and external editors | DoorMUD, PimpWars/Win32, Darkness/Win32, SBJ/SBL v3.x | DOOR32.SYS and XTRN.DAT | Windows and *nix | | | TCP/IP Socket | Native TCP/IP BBS doors and external editors | DoorMUD, PimpWars/Win32, Darkness/Win32, SBJ/SBL v3.x | DOOR32.SYS and XTRN.DAT | Windows and *nix | |
| Standard | Native stdio/console programs (traditionally, UNIX) | PimpWars/Linux, Lord/X, "scfg -d", cmd.exe, bash, pico | DOOR32.SYS | Windows and *nix | | | Standard | Native stdio/console programs (traditionally, UNIX) | PimpWars/Linux, Lord/X, "scfg -d", cmd.exe, bash, pico | DOOR32.SYS | Windows and *nix | |
| |
| ==== Supported Drop File Types ==== |
| Synchronet can create and read-back a variety of drop file types based on the requirements of the door program: |
| |
| ^ Software ^ Write File(s) ^ Read File(s) ^ |
| | Mystic | ''DOOR32.SYS'' | | |
| | GAP (original)| ''DOOR.SYS'' (31 lines) | ''DOOR.SYS'': Flags, SecLevel, ExpireDate, FileDLed, KBsDLed | |
| | GAP (extended)| ''DOOR.SYS'' (52 lines) | ''DOOR.SYS'': Flags, SecLevel, ExpireDate, FileDLed, KBsDLed, MinuteCredits | |
| | WWIV | ''CHAIN.TXT'' | | |
| | PCBoard 15.x | ''PCBOARD.SYS'' and ''USERS.SYS'' | ''USERS.SYS'': SecLevel and ExpireDate | |
| | QuickBBS | ''DORINFO#.DEF'' and ''EXITINFO.BBS'' | ''EXITINFO.BBS'': Flags and SecLevel | |
| | Wildcat! 2.x | ''CALLINFO.BBS'' | | |
| | SpitFire | ''SFDOORS.DAT'' | | |
| | TriBBS | ''TRIBBS.SYS'' | | |
| | Solar Realms | ''DOORFILE.SR'' | | |
| | Synchronet | ''XTRN.DAT'' | ''MODUSER.DAT'': Credits, SecLevel, Flags, ExpireDate, MinuteCredits | |
| |
=== CIOXTRN === | === CIOXTRN === |
| |
Some doors may require the sysop to run some sort of //setup// or //initialization// program before the door can be used, so be sure to read the door's documentation files (e.g. ''readme.1st'', ''sysop.txt'', ''*.doc'', etc.) first. Remember that most door documentation was written in the 1990's (or earlier), so take some instructions (specifically those referring to FOSSIL drivers) with a grain of salt. | Some doors may require the sysop to run some sort of //setup// or //initialization// program before the door can be used, so be sure to read the door's documentation files (e.g. ''readme.1st'', ''sysop.txt'', ''*.doc'', etc.) first. Remember that most door documentation was written in the 1990's (or earlier), so take some instructions (specifically those referring to FOSSIL drivers) with a grain of salt. |
| |
| ==== Automated Install ==== |
| |
| 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. |
| |
| Run ''[[dir:exec]]/jsexec install-xtrn.js'' |
| |
| For more information, see [[module:install-xtrn|Install Xtrn]] |
| |
| ==== Manual Install ==== |
| |
If the door you're installing is listed in the following [[#how-to_install_specific_doors|How-To Install pages]], that might be all the instructions you need. | If the door you're installing is listed in the following [[#how-to_install_specific_doors|How-To Install pages]], that might be all the instructions you need. |
| |
=== DOSXTRN.EXE === | === DOSXTRN.EXE === |
This 16-bit DOS component of the Synchronet FOSSIL driver for Windows (all flavors) is called ''DOSXTRN.EXE'' and it is located in the Synchronet ''[[dir:exec]]'' directory. This program [[:faq:win#win64|will not work]] with 64-bit versions of Windows since Microsoft does not include a DOS virtual machine (NTVDM) with those versions of Windows. | The 16-bit DOS component of the Synchronet FOSSIL driver for Windows (all flavors) is called ''DOSXTRN.EXE'' and it is located in the Synchronet ''[[dir:exec]]'' directory. This program [[:faq:win#win64|will not work]] with 64-bit versions of Windows since Microsoft does not include a DOS virtual machine (NTVDM) with those versions of Windows. |
| |
=== Windows 9x === | === Windows 9x === |
===== Configuration ===== | ===== Configuration ===== |
| |
Add the program in SCFG [[util:SCFG:external programs:Online Programs]] under ''%%Available Online Programs...%%'' in a new or existing Online Program Section. | Add the program in SCFG [[util:SCFG:external programs:Online Programs]] under ''%%Online Programs...%%'' in a new or existing Online Program Section. |
| |
The most critical [[util:SCFG]] configuration options for successful installation of an online program (door) are: | The most critical [[util:SCFG]] configuration options for successful installation of an online program (door) are: |
- [[#Start-up Directory]] | - [[#Start-up Directory]] |
- [[#Command Line]] | - [[#Command Line]] |
- [[#Intercept I/O]] | - [[#I/O Method]] |
- [[#Native Executable]] | - [[#Native Executable/Script]] |
- [[#BBS Drop File Type]] | - [[#BBS Drop File Type]] |
| |
The ''Clean-up Command Line'' may contain Command Line [[config:cmdline#Specifiers]]. | The ''Clean-up Command Line'' may contain Command Line [[config:cmdline#Specifiers]]. |
| |
The [[#Native]], [[#Intercept I/O]], and [[#Use Shell To Execute]] options affect the execution of the ''Clean-up Command Line'' (if non-blank). | The [[#Native]], [[#I/O Method]], and [[#Use Shell or New Context]] options affect the execution of the ''Clean-up Command Line'' (if non-blank). |
| |
Most external programs do not require a ''Clean-up Command Line'' to be specified. | Most external programs do not require a ''Clean-up Command Line'' to be specified. |
Note: for multiple-user programs, it is highly recommended that the BBS drop file be created in the ''[[dir:node]]'' directory. | Note: for multiple-user programs, it is highly recommended that the BBS drop file be created in the ''[[dir:node]]'' directory. |
| |
==== Intercept I/O ==== | ==== I/O Method ==== |
| |
If this program requires the BBS to intercept standard console input and output operations, then this option should be set to ''Standard''. | |
| |
* Most BBS doors will require this option be set to ''No''. | If the program requires the BBS to intercept standard console input and output operations, then this option should be set to ''Standard''. |
* BBS Doors that use FOSSIL I/O must have this option set to ''No''. | |
* BBS Doors that use COM/UART I/O must have this option set to ''No''. | |
* BBS Doors that use Socket I/O must have this option set to ''No''. | |
| |
When executing an in-process module (Baja or JavaScript), the ''Intercept I/O'' option is not used. | * Most 16-bit (DOS) BBS doors will require this option be set to ''FOSSIL or UART'' (only available for 16-bit DOS programs). |
| * Most //native// (Win32 or *nix) BBS doors will require this option be set to ''Socket'' (only available for native programs). |
| * When executing an in-process module (Baja or JavaScript), the ''I/O Method'' option is not applicable. |
| |
==== Native Executable ==== | ==== Native Executable/Script ==== |
| |
If this program is native to the host operating system (e.g is **not** a 16-bit DOS program), then this option should be set to ''Yes''. | If this program is native to the host operating system (e.g is **not** a 16-bit DOS program), then this option should be set to ''Yes''. |
* BBS Doors that use Socket I/O are native (32-bit or 64-bit) programs and must have this option set to ''Yes''. | * BBS Doors that use Socket I/O are native (32-bit or 64-bit) programs and must have this option set to ''Yes''. |
| |
When executing an in-process module (Baja or JavaScript), the ''Native Executable'' option is not used (all modules are native). | When executing an in-process module (Baja or JavaScript), the ''Native Executable/Script'' option is not used (all //modules// are native). |
| |
==== Use Shell to Execute ==== | ==== Use Shell or New Context ==== |
| |
If this program requires a command shell (e.g. it's a *nix shell script, ''.sh'' file, or Windows ''.bat'' or ''.cmd'' file), then this option should be set to ''Yes''. | If this program requires an OS command shell (e.g. it's a *nix shell script, ''.sh'' file, or Windows ''.bat'' or ''.cmd'' file), then this option should be set to ''Yes''. |
| |
When executing an in-process module (Baja or JavaScript), this option is not used. | When executing a JavaScript module, enabling this option forces a new JS engine context (i.e. sandbox) to be created and used to execute the script. |
| |
==== Modify User Data ==== | ==== Modify User Data ==== |
* File Uploaded | * File Uploaded |
* File Downloaded | * File Downloaded |
| * Local/Sysop Chat |
| |
If an event is selected, you may also specify that the program may be executed **only** on that event and not purposely selected by the user from a menu for manual execution. | If an event is selected, you may also specify that the program may be executed **only** on that event and not purposely selected by the user from a menu for manual execution. |
| |
===== How-To Install Specific Doors ===== | ===== How-To Install Specific Doors ===== |
| Note: When using Linux with dosemu, specify full filename with extension under the Command Line option in the [[util:scfg]] External Programs settings, more specifically when using batch (.bat) files. For example LORD2 would be "lord2.bat %#" and not "lord2 %#" which is mentioned on the [[howto:dosemu|Use DOS Doors with Synchronet on Linux]] page. |
| |
{{indexmenu>.|tsort}} | {{indexmenu>.|tsort}} |
* [[:howto:|How-To Pages]] | * [[:howto:|How-To Pages]] |
* [[:howto:cioxtrn]] | * [[:howto:cioxtrn]] |
| * [[https://www.youtube.com/channel/UCcHJZZmXcXRtJjqCr9_W4eA|Door Game Review Videos]] |
| * [[https://if50.substack.com/p/1991-trade-wars-2002|Trade Wars 2002]] |
| |
{{tag>door fossil uart}} | {{tag>door fossil uart}} |
| |