
                -= Interface to Synchronets FOSSIL driver =-
                              for EleBBS/Win32

                            Release version 2.0
                             December 31, 2001

                           Coded by Maarten Bekers
                          Documented by Mike Ehlert

____________________________________________________________________________


 This interface allows the Windows version of EleBBS to use the Synchronet
 FOSSIL driver to run DOS doors via telnet or dialup under Windows NT.

 *************************************************************************
 *** No other drivers are needed. (You don't need COM/IP or Netmodem). ***
 *************************************************************************

 Requirements:

        * EleBBS/Win32 (Other Win32 BBS packages may also work)
        * Windows NT4, Windows 2000, or Windows XP (any version)
        * 2 files from Synchronet 3.xx BBS (DOSXTRN.EXE, SBBSEXEC.DLL)



 How to install:

 1.  First have EleBBS/Win32 up and running. <www.elebbs.com>

 2.  Copy the following files included in this archive to your
     main EleBBS Directory:
     SYNCFOS.EXE, DOSXTRN.EXE and SBBSEXEC.DLL.

 3.  Run the menu editor (ELCONFIG -M) and choose the desired language
     (ie: English) and select the menu to place the door in.

     Initially you could try adding a door to your MAIN.MNU, though
     if you plan to offer several door games, you could later create a
     separate GAMES.MNU, and add a "goto GAMES" option in your main
     menu.

     Move the cursor to the position in your menu you wish the door
     to be placed, and press the <Insert> key to add a menu option,
     and then press <Enter> to edit it.

     You will see these default menu options:

         Action   Display only (Type 0)
         Display
         OptData
         HotKey
         AutoExec No
         Colour   Colour example

         MinSec   0                TimeUsed 0               FlatCost 0
         MaxSec   0                TimeLeft 0               TimeCost 0
         A flags  --------         Age      0               Terminal Any
         B flags  --------         MinSpeed 0               Nodes
         C flags  --------         MaxSpeed 0               Groups
         D flags  --------         Credit   0               DayTimes
         Lightbar


 3a. Move the cursor to the "Action" option and press <Enter>.
     Select "External - door, exits" followed by
     "7 Execute sub-program".

 3b. Move the cursor to the "Display" option and press <Enter>.
     Type in what you want to be displayed on your users menu.
     You can press F1 to change colors, F2 to sample how it
     looks so far, or F3 to add a macro. Press <Enter> when
     you are done.
     ** Important ** : If you use ANSI screens to display menus
     rather then having EleBBS create the menu screens itself,
     (done using a type-40 command in your menu) then just put
     a semicolon ";" on the Display line and press <Enter>.
     This will prevent a carriage return from being displayed.

 3c. Move the cursor to the "OptData" option and press <Enter>.
     This is where the command line goes that runs the door,
     or runs a batch file which will run the door.
     Enter the following:

     <path\filename of syncfos> <path of door32.sys> <path\filename of door>

     door32.sys is a special drop file created by EleBBS/Win32.
     Since drop files are always created in the current nodes directory,
     you should be able to specify ".\" which means the directory that is
     currently active.

     Many doors require a batch file, often needed to change to the
     doors directory before executing the door itself. You can replace
     the <path\filename of door> with <path\filename of batch file>.
     Note that the "*C /c" macro used by Win9x and DOS to allow running
     a batch file, is never needed under Windows NT, 2000, or XP.

     Assuming that EleBBS is located in c:\ele, the Optdata command
     line should look something like this:

     c:\ele\syncfos.exe .\ c:\ele\doors\doorgame.bat *N

     The optional *N macro passes the node number to the doorgame.bat
     file, which can be referenced as %1 (the first parameter passed)
     in the batch file itself.

 3d. Move the cursor to the "HotKey" option and press <Enter>.
     Now press the key that you would like to cause this door to be
     run, followed by <Enter>. Usually either a letter from A-Z or a
     number 0-9, though other characters could be used as well.
     Note that if you assign the same hotkey to more then one menu
     option in a menu, then only the first option which qualifies
     will be executed.

 3e. If you want to specify security levels or flag settings required
     to access this door, you can define those in the MinSec, MaxSec,
     and the A,B,C,D flags. Otherwise just skip over to the next step.

 3f. If your menu uses Lightbars, you will need to edit the lightbar
     text and position for the Display text. Otherwise just skip to
     the next step. To define a lightbar, move the cursor to the
     "Lightbar" option and press <Enter>. Next select the "Position"
     option, and enter the X and Y coordinates where the lightbar
     should appear on the users screen (X=horizontal, Y=vertical).
     Next select the "LowItem" option, and enter the Display text
     shown in the color(s) when the lightbar is not active.
     Press F1 to change colors, F2 to see a sample of the lightbar,
     F3 to add a macro, and <Enter> when done.  Next do the same
     for the "HighItem" option, which should be set to the colors
     when the lightbar is active. Finally set the "Enabled" to "yes".
     Press ESC to return to the menu editor.

 3g. If you want to set other limitations on who can access this
     menu option, then set the other menu options accordingly.
     (ie: TimeLeft, Age, Credit, Terminal type, Nodes, Groups, etc.)
     Otherwise just leave these options at their defaults.

 3f. Once you are done editing your menu options, press ESC to return
     to the Menu Editor, and answer "Yes" to save changes. You can
     press ESC again to exit the menu editor.


  4. Next you need to configure your door.
     To perform this step, you will need to read the documentation
     that came with your door.
     Most doors include a configuration program, but many doors
     use text based config files that you need to configure with
     a text editor. There is often a separate config file needed
     for each node, though this is not always the case.

     Most DOS doors support a FOSSIL driver. Using a FOSSIL driver
     is optional on some DOS doors, in which case it must be
     configured to use a FOSSIL driver rather then direct
     communication with a COM port.
     
     Dropfiles are used by most doors, to get information from the
     BBS such as: The users name or handle, the amount of time they
     are allowed to use in the door, their terminal settings, their
     com port number, and their connection speed.

     Most doors allow you to select a dropfile type, such as DOOR.SYS
     or DORINFO1.DEF. I suggest you always choose DOOR.SYS, as this
     is the most common dropfile. You can also use DORINFO1.DEF, but
     some doors assume that its called DORINFOx.DEF, where x= the node
     number. Since EleBBS (and most BBS's) create only a DORINFO1.DEF
     for each node, this could be a problem.

     The most advanced dropfile type is EXITINFO.BBS, which contains
     detailed information about the user. This is only supported by
     doors designed specifically for EleBBS, RA, or ProBoard. One
     advantage to this drop file, is the door is allowed to make
     changes to this dropfile, which is read back by EleBBS after
     the door exits. This makes it useful for doors that need to
     alter the users settings, such as timebanks and mail doors.

     Some doors are smart enough to look for the dropfiles in the
     current directory, and automatically look for the doors data files
     in the directory where the door itself is located. Unfortunately
     most doors do NOT work this way, and need to be told the full
     path to the dropfile for each node.

     EleBBS always creates all dropfiles in the current directory
     where it was started, known as a node directory. For example:

     c:\ele        main elebbs directory, where elebbs.exe is.
     c:\ele\node1  where node #1 is started.
     c:\ele\node2  where node #2 is started.
     c:\ele\node2  where node #3 is started.

     If EleBBS.EXE is started from a batch file, then the batch file
     itself is responsible for changing to the proper node directory
     before running EleBBS.EXE from the main directory.
     If EleBBS.EXE is started by TelSrv.EXE (The Telnet Server),
     then the node directories must be defined in ELCONFIG.EXE
     under PATHS SYSTEM > PATHS > NODE PATHS
     (ie: c:\ele\node*N would be used, as *N is replaced with the
     actual node number).

     Since most doors look for their data files in the current
     directory, you will usually need to run a batch file that
     changes to the doors directory before running the door's EXE.
     The batch file does not need to change back to the node directory
     afterwards, as this is automatically done by EleBBS itself.

     An example batch file could look like this:

     cd\ele\lord
     lord.exe %1 /drew


     In this example, the batch file changes to the \ele\lord
     directory, and then runs lord.exe, passing it two parameters.
     The %1 parameter is used to pass the node number (assuming that
     *N was the first optional parameter passed to the batch file
     on the menus type-7 Optdata command line), and in this case
     the door wants an additional parameter "/drew" in order to
     function.

     Other doors often need to be passed the name of a config file
     on the command line, such as this example:

     cd\ele\ea
     ea.exe ea%1.cfg

     And then you would need to edit a separate config file for each
     node you wish to support, such as ea1.cfg, ea2.cfg, and so on.
     These config files usually include a full path and filename to the
     dropfile which should be used, in addition to other information.

     Another popular method used by some doors, is to pass the
     path and/or the dropfile name on the command line, like so:

     cd\ele\gifsee
     set gifdesk=file
     gifsee.exe c:\ele\node%1\exitinfo.bbs


     Again, you will need to consult the documentation that came
     with your door to know exactly how your batch file or command
     line should look, as not all doors do it the same way.

     Syncfos ignores the "FOSSIL com port" it is told to use, so it
     really makes no differnce if the door is attempting to talk to
     COM1 or COM2. However, many door games were written before there
     was telnet support, or were written with older door libraries
     which often only support COM1 through COM9, and some doors only
     support up to COM4.
     Therefore SyncFos allows the door to specify any FOSSIL comport,
     and it will work even if all the nodes are set to use COM1 for
     example. When running EleBBS's TelSrv.EXE, EleBBS.EXE is not
     passed a comport number on the command line, so it will allways
     pass the COM port number specified in MODEM.RA to the dropfiles
     it creates. As long as the comport defined in MODEM.RA
     (found in ELCONFIG > MODEM > OPTIONS > COMPORT) is less then 5,
     most doors will work on all 255 nodes! :)
     

____________________________________________________________________________

 Frequently Asked Questions:

  Q:  Will SyncFos run under Windows 95, 98, or ME?
  A:  No.

  Q:  Will SyncFos run under Windows NT, 2k, or XP?
  A:  Yes.

  Q:  Do I need to run COM/IP to get doors to work under telnet?
  A:  No. You only need TelSrv.exe (included with EleBBS).

  Q:  Will SyncFos work with the DOS or 386 version of EleBBS?
  A:  No. It will only work with the Windows version.

  Q:  Will SyncFos work with any DOS based BBS programs?
  A:  No. (unless they are ran as a door from a Win32 BBS).

  Q:  Will SyncFos work with other Windows BBS programs?
  A:  It should work with any Windows 32-bit BBS that supports Door32.

  Q:  Will SyncFos be needed in future version of EleBBS?
  A:  No. It will be built-in to future versions.

  Q:  Why is SyncFos not as fast as the COM/IP FOSSIL?
  A:  Some FOSSIL drivers are faster then others. 

  Q:  Will SyncFos work with doors that do not support a FOSSIL driver?
  A:  No.

  Q:  My doors docs mention to put "*M" or "*C /C" on the command line.
      Do I need to use these?
  A:  No. *M is only used by the DOS version of EleBBS, and "*C /C" was
      Only needed to run a batch file under DOS or Win9x.

  Q:  How do I pass the node number to the door?
  A:  Put *N somewhere on the type-7 Optdata command line, and it will
      be replaced with the node number.
      If you are using a batch file to run the door, then the batch file
      will see the first parameter passed to it as %1, and the second
      parameter passed as %2, etc.

___________________________________________________________________________

 Credits:

  A big thanks to Synchronet author Rob Swindell for developing the
  FOSSIL driver used by SyncFos.

____________________________________________________________________________

