ABOUT DOS DOORS AND WINDOWS BBSES


This guide provides an example of how to perform an installation of a DOS door game with Mystic BBS for Windows.

Before we begin, there are a few things that need to be understood about doors and Windows:

The first thing to understand is that newer 64-bit versions of Windows cannot execute DOS doors (or any DOS software) and therefore, the Windows operating system must be 32-bit in order to run DOS doors. This is a Windows restriction, not a BBS restriction and holds true for all BBS software.

The second thing to understand is that a layer between the DOS door and the modern BBS is required in order to translate input and output from the game to your BBS. This is true for all BBS softwares, including others that may appear to be "transparent"; they are using one too.

In the case of Mystic, it does not currently package itself with a driver to translate DOS serial and fossil I/O but fear not there are many free drivers available to download.

CHOOSING A DRIVER FOR DOS I/O REDIRECTION

There are several drivers available some are better than others, some are still supported, some are not, etc. In this case we are going to use one called NetFoss.

NetFoss is chosen because it is still supported, it is free, and it is the most efficient driver available. Its written entirely in Assembler which makes it lightning fast (according to it's documentation), and it uses a tiny 16KB footprint while running!

NetFoss can be downloaded from http://pcmicro.com/NetFoss

DIRECTORY STRUCTRURE FOR THIS EXAMPLE

In this example, we have Mystic BBS installed to C:\MYSTIC and the doors will be installed in a subdirectory C:\MYSTIC\DOORS, so that all doors and related files are all tucked away neatly in their own subdirectory

SOFTWARE REQUIRED/USED FOR THIS TUTORIAL

NetFoss v1.12A (I/O driver)
Legend of the Red Dragon v4.07 (DOS door)

SOFTWARE INSTALLATION - NETFOSS

First lets set up NETFOSS. This is a relatively quick and painless setup and it only has to be done one time ever. Once this is done, we can run all doors without having to change anything.

  1. First extract the contents of NETF112A.ZIP into its own directory. In our tutorial we are using C:\MYSTIC\NETFOSS
  2. Move NETFOSS.DLL from your C:\MYSTIC\NETFOSS directory to your C:\windows\system32 directory. This is VERY important!

    *IF YOU HEAR A BEEP WHEN YOU TEST YOUR DOOR LATER OR YOU GET A "Can't find netfoss.dll" message when you run the door, its because this step was not done correctly!

  3. Open NF.BAT. We need to change a few things here because it has some directories inside that we need to change. Rather than typing line by line instructions lets just do this: Basically we need to make NF.BAT look like
    this
       @echo off
       c:\mystic\netfoss\netfoss.com %1
       if errorlevel 1 goto end
       c:\mystic\netfoss\netcom.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
       c:\mystic\netfoss\netfoss.com /u  
       :end

In other words, we are adding in the %1 as instructed in the documentation and we are changing the paths to reflect where we really have NETFOSS installed which is c:\mystic\netfoss (not c:\netfoss).

4. Once that is saved you are done. You'll never have to touch NetFoss again

for any other doors, and it can be left alone to do what it does!

SOFTWARE INSTALLATION - LORD

Lets install the DOS door Legend of the Red Dragon. We start this by unzipping LORD407.ZIP into its own directory. The 4.07 version comes annoyingly "double zipped" meaning inside of LORD407.ZIP there is another LORD.ZIP.

Unzip the contents of LORD.ZIP into the C:\MYSTIC\DOORS\LORD directory

Now the setup of every door is going to be completely different, because it is dependant on the door itself. LORD could be considered one of the "difficult" doors to setup. Lets look at the steps to setup LORD as shown from the INSTALL text file that comes with the door:

  1. Edit C:\MYSTIC\DOORS\LORD\START.BAT and notice at the top it says this:
      REM cd \LORD
      REM ^ Set this to your LORD path

Now change those REM lines so they look like this:

cd c:\mystic\doors\lord

IE it should look something like:

      cd c:\mystic\doors\lord
      @echo off
      <a bunch of other crap here>   

2. Run LORDCFG. Now it says we need to setup each node that we want to use.

In our case we have a 3 node BBS setup using Mystic, so we'll setup 3 nodes

  1. Press (A) to "Create a new LORD.DAT file with defaults"
  2. Under "Main" select "Configured Nodes"
  3. Answer yes to the "Node 1 doesn't exist" question to config node 1

Now there are many settings here such as things like BBS Name. These things should be self-explained so lets only focus on what is required to get this thing setup:

  1. Set "(3) BBS Software" to DOORSYS. This is telling LORD that our BBS will create a DOOR.SYS file containing information about the user.
  2. Set "(4) Path to dropfile" to "C:\MYSTIC\TEMP1".

    Mystic creates door drop files in a temporary directory used by each node for example C:\MYSTIC\TEMP1 would be node 1. C:\MYSTIC\TEMP2 would contain the door drop files for node 2, and so on.

    Since we are currently configuring LORD node 1, we want to tell it where to find the DOOR.SYS for node 1 which is C:\MYSTIC\TEMP1.

  3. Set "(5) Fossil / Internal" to Fossil. This is telling the door to use an old DOS "fossil" driver for I/O which is exactly what NetFoss is used for!

Thats it. But since we have 3 nodes, we need to do this same thing for all three nodes. Here's how:

  1. Press ] to "Go forward a node"
  2. When asked to "Create node 2 data" say Yes.

LORD will copy over the settings you've already created for node 1, so there is really only one thing that needs to change. You guessed it (I hope) its the "Path to the drop file":

      C.  Set "(4) Path to the dropfile" to "C:\MYSTIC\TEMP2".  Remember we
          said Mystic creates the DOOR.SYS file for each node in its temp 
          directory, and since we are configuring Node 2 in LORD we must tell
          it what that directory is: C:\MYSTIC\TEMP2

Now repeat the same steps above to create the configuration for Node 3 and exit out of LORDCFG. We are done configuring LORD for all 3 nodes.

CREATING A MENU COMMAND IN MYSTIC TO EXECUTE LORD

Now we put it all together by creating a menu command in Mystic! The first thing to do is load into Mystic's configuration and open the Menu Editor, then select whatever menu it is that you want to add the option to run the door.

To do this: run mystic -cfg from the commandline in C:\MYSTIC to start the configuration.

Once inside the menu editor, select the menu you want to add the option to and press / to bring up the list of commands. Select I to insert a new command whereever you want it. Then press ENTER on the new command to edit it:

  1. Set the display text to whatever you want. Lets use (L) LORD and we'll make the L key what executes the door.
  2. Set "Hot key" to L
  3. Now press TAB to switch to menu commands. This changes the editor mode to allow you to configure what Mystic actually does when this letter is pressed.
  4. By default Mystic creates a "Goto new menu -> main" command so just press enter on that.
  5. Press ENTER on Command and Mystic will bring up a list of menu command options. You can just start typing "door.sys" and Mystic will automatically figure out what you want, and move you to the "DG" menu command. Select "DG Execute door (DOOR.SYS)"
  6. The data field when using the DG command defines the command line that Mystic will execute. Lets set this up to call NETFOSS and tell it we want it to run LORD. This is the command line we need to use:

c:\mystic\netfoss\nf.bat /N%3 /H%0 c:\mystic\doors\lord\start.bat %3

Now lets discuss what this means. %0 passes the telnet socket handle which is a requirement by NetFoss, and %3 translates to the node number which is required to pass to both NETFOSS and LORD's "start.bat". All doors in the future will be configured in the following format:

c:\mystic\netfoss\nf.bat /N%3 /H%0 <DOOR COMMAND LINE>

G. Now that you've set the DATA field to run the correct command line you

can exit out and save the menu.

CONCLUSION, TESTING AND TROUBLESHOOTING

Now keep in mind you only ever have to configure NetFoss once and then you it never has to be done again. And also keep in mind that LORD is one of the more annoying doors to configure (IMO).

As mentioned above, the only thing that needs to be done for additional doors is to prefix their command line in the DATA portion of the menu command with the NETFOSS stuff:

c:\mystic\netfoss\nf.bat /N%3 /H%0 <DOOR COMMAND LINE>

Remember to configure all of your doors to use a FOSSIL if they have the option to use serial or fossil.