
                       ============================
                                 GoodUser!
                       ============================


                     Copyright 2004 - BBSFiles.com

                               original
                     COPYRIGHT 1992,95 T&J Software

                       VERSION 1.7      01/02/94

                                    By

                               Tom Wildoner


LATEST VERSION:
===============
Please visit http://BBSFiles.com for the latest version of this program.

DISTRIBUTION:
=============
You may make this file available for downloading from your BBS or you may
upload it to any BBS of your choice, provided that you do not make any
changes to the contents of the archive (ZIP file). The archive and its
individual contents may not be used by any service that charges any money
whatsoever, without the written permission of the author.

LEGALITIES:
===========
      THIS SOFTWARE AND ACCOMPANYING MATERIALS ARE DISTRIBUTED "AS IS"
      WITHOUT WARRANTY, EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
      LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
      FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL ANYONE INVOLVED WITH
      THE CREATION AND PRODUCTION OF THIS PRODUCT BE LIABLE FOR INDIRECT,
      SPECIAL, OR CONSEQUENTIAL DAMAGES, ARISING OUT OF ANY USE THEREOF
      OR BREACH OF ANY WARRANTY.

PROGRAM DESCRIPTION:
====================
Special thanks to Robert Cole from Mustang Software for this idea!

This door works exactly opposite of BadUser. By editing the GOODUSER.LST
file you can allow only your good users to enter door games. Great for a
tournament play between a select group of users on your board.

If a "Good User" is found, he is told that his access has been granted
to the selected door. If a person is not listed in the GOODUSER.LST
file, he is told that he does not have access to the door.


CONFIGURATION:
=============

Example configuration file for PCBOARD.SYS
------------------------------------------

C:\PCB\PCBOARD.SYS  <=-  (Full pathname of your PCBOARD.SYS file)
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)

Example configuration file for USERS.SYS
----------------------------------------

C:\PCB\USERS.SYS    <=-  (Full pathname of your USERS.SYS file)
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)

Example configuration file for DOOR.SYS
---------------------------------------

C:\BBS\DOOR.SYS     <=-  (Full pathname of your DOOR.SYS file)
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)

Example configuration file for USERINFO.DAT
-------------------------------------------

C:\BBS\USERINFO.DAT <=-  (Full pathname of your USERINFO.DAT file)
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)
NOTE: DOOR.SYS must be in the SAME directory as USERINFO.DAT

Example configuration file for CALLINFO.BBS
-------------------------------------------

C:\BBS\CALLINFO.BBS <=-  (Full pathname of your CALLINFO.BBS file)
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)

Example configuration file for DORINFOx.DEF
-------------------------------------------

C:\BBS\DORINFOx.DEF <=-  (Full pathname of your DORINFOx.DEF file
                          where 'x' is the BBS Node number.
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)

Example configuration file for SFDOORS.DAT
------------------------------------------

C:\BBS\SFDOORS.DAT  <=-  (Full pathname of your SFDOORS.DAT file)
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)

Example configuration file for GTUSER.BBS
-----------------------------------------

C:\BBS\GTUSER.BBS   <=-  (Full pathname of your GTUSER.BBS file)
T&J Software        <=-  (Change this to your BBS name)
Tom                 <=-  (The Sysop's first name)
Wildoner            <=-  (The Sysop's last name)
1                   <=-  (COM port number - defaults to 1)
1                   <=-  (Node number - defaults to 1)

This Door is multi-node  compatible so you may run more than 1 node from
the same .CFG file provided the path to your system file (DORINFOx.DEF,
CALLINFO.BBS, etc) is exactly the same unless you are using environment
variables, (q.v.)

Environment Variables
=====================

PCBoard automatically creates the %PCBDRIVE% & %PCBDIR% environment
variables. Non-PCBoard systems may also use these variables by including
the following in either your BBS batch or AUTOEXEC.BAT
  SET PCBDRIVE=C:               <- Drive letter of your BBS files
  SET PCBDIR=\BBSDIR            <- Path to your BBS files
Then in your Door .CFG file instead of putting C:\BBSDIR\DOOR.SYS, you
would put %PCBDRIVE%%PCBDIR%\DOOR.SYS. This allows you to use just one
.CFG file for multi-node operation!

To specify a non-standard IRQ, put the IRQ number after the .CFG on the
command line.  For example:

     LEMON30 LEMON.CFG /5
or using the PCBDRIVE procedure:   SET IRQ=5   and use
     LEMON30 LEMON.CFG /%IRQ%

This tells the program to use IRQ 5 instead of the standard IRQ.

  Had reports of conflicts when using non-standard IRQ's on Novell/Netware
 systems. Seems Novell also uses the / character so something went screwy
 somewhere. So I added the * (asterisk) which may be used instead of the /
 in case of a conflict. In other words, /%IRQ% and *%IRQ% will both work
 and are interchangeable.

When specifying the location of the system file on line 1 of the doors .CFG
file, you may use the environment variables %pcbdrive%, %pcbdir%, %pcbnode%,
and %wcnodeid%. Some examples:
 PCBoard: 
   USERS.SYS in C:\PCB           - %pcbdrive%%pcbdir%\USERS.SYS
   USERS.SYS in C:\PCB\NODE1     - %pcbdrive%%pcbdir%\NODE%pcbnode%\USERS.SYS

 Wildcat!:
   USERINFO.DAT in C:\WC\NODE1   - C:\WC\NODE%wcnodeid%

Non-PCBoard systems may use the PCB environment variables by setting them
in either AUTOEXEC.BAT or in the batch that runs the door. For example:
 SET PCBDRIVE=C:
 SET PCBDIR=\BBSDIR
 SET PCBNODE=1

Fossil Driver Support
---------------------
DoorFrame supports the use of Fossil drivers.  To tell your Door to use the
Fossil driver instead of the standard COM ports, just put /FD on the command
line when running the door. For example:
     MYDOOR MYDOOR.CFG /FD
indicates that a Fossil driver is present and should be used. If no Fossil
driver is detected, DoorFrame will print a message to that effect and exit
the door gracefully.

Sysop Keys
==========

F3    -  Toggles the printer On/Off. Value is passed to PCBoard and/or
         written to DOOR.SYS and USERS.SYS
F4    -  Toggles the Page Bell on/off. Value is passed to PCBoard
         and/or written to DOOR.SYS and USERS.SYS
F5    -  DOS Shell. Allows SysOp to exit to DOS from inside a DOOR.
F7    -  Toggles the Caller Alarm On/Off. Value is passed to PCBoard
         and/or written to DOOR.SYS and USERS.SYS
F8    -  Returns the caller involuntarily to the BBS.
F9    -  Toggles the local display On/Off. Value is passed to PCBoard
         and/or written to DOOR.SYS and USERS.SYS
F10   -  Activates SysOp CHAT mode within the DOOR.
ESC   -  Deactivates CHAT mode.  DOOR is resumed.
UP    -  Give the caller extra time while in the DOOR.  
DN    -  Subtract time from the caller while in the DOOR. 
HOME  -  HELP key for Status Line options.
ALT-N -  SysOp next on toggle. Value passed to PCBoard. (PCBoard only)
ALT-X -  PCBoard will exit after current caller logs off. Value is
         passed to PCBoard. Not available on non-PCBoard systems.

SAMPLE DOOR BATCH FILE:
======================

ECHO OFF
CD\WC30\DOOR\LEMON
GOODUSER GOODUSER.CFG
IF EXIST BAD.BAD GOTO QUIT
LEMON LEMON.CFG
:QUIT
IF EXIST BAD.BAD DEL BAD.BAD

1: Turn ECHO OFF -- not needed
2: Change to your door directory.
3: Run GoodUser -- if an unlisted user is found the program will create a
   small file called BAD.BAD.
4: Checks to see if BAD.BAD was created -- if it was it will skip to
   QUIT and bypass the real door. If the BAD.BAD file is not found
   your real door will operate as normal.
5: Your actual door program (however many lines it takes).
6: Batch file branch if an unlisted user was found.
7: Delete the BAD.BAD file if it is there.

To run in LOCAL mode simply enter: GOODUSER LOCAL

EDITING THE GOODUSER.LST FILE:
=============================
Simply add one name per line. This is your list of users who have access
to the door.


VERSION HISTORY:
================
Version 1.00 ......... First release. 03/14/92
Version 1.10 ......... Updated routines. 05-17-1992
Version 1.20 ......... Updated routines. 10-12-1992
Version 1.30 ......... Updated routines. 11-27-1992
Version 1.40 ......... Added support for COM 1-15. 06-05-1993
Version 1.50 ......... Added better support for Wildcat IM and
                       PCBoard/M versions, dropped support for
                       CHAIN.TXT, and added better internal error
                       checking routines. 08-11-93
Version 1.60 ......... Updated to DoorFrameX v3.1 routines. 01-01-94
Version 1.70 ......... Updated to newer DoorFrameX routines and
                       added RIP detection. 01-02-95

REGISTERING:
============
None required.

