
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

      A.  Press (A) to "Create a new LORD.DAT file with defaults"
      B.  Under "Main" select "Configured Nodes"
      C.  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:

      A.  Set "(3) BBS Software" to DOORSYS.  This is telling LORD that our BBS
          will create a DOOR.SYS file containing information about the user.
 
      B.  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.

      C.  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:

      A.  Press ] to "Go forward a node"
      B.  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:

   A.  Set the display text to whatever you want.  Lets use (L) LORD and we'll
       make the L key what executes the door.

   B.  Set "Hot key" to L

   C.  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.

   D.  By default Mystic creates a "Goto new menu -> main" command so just
       press enter on that.

   E.  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)"

   F.  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.