home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / TICP210.LZH / TICK210.DOC < prev    next >
Text File  |  1992-03-28  |  72KB  |  1,525 lines

  1.                                TICK v2.10
  2.  
  3.  
  4.                                WHAT IS IT?
  5.  
  6.      Tick is a program which does for files what echomail does for 
  7. messages.  It was largely inspired by the program "Flea", by Ron Bemis. 
  8. Tick picks up on that concept, and adds to it.
  9.  
  10.      Using any ASCII editor, you set up a configuration file to tell 
  11. TICK about your system and to set up file echo areas.  TICK then looks
  12. in your inbound area for received TIC attaches, tosses them to the echo-
  13. area directory you specify, appends the FILES.BBS in that area, and 
  14. optionally echos the files to other systems you specify. If your BBS 
  15. doesn't use a FILES.BBS, you can have TICK create a user-customized 
  16. file-list in the format you would like (so long as it's ASCII).  You can 
  17. set up different areas for different file-echos, much as you may have 
  18. many echotags in echomail.  In each file-echo area, you may list up to 
  19. 100 nodes to which you echo the files.  The program establishes
  20. passwords  which are used to verify that the files you receive are from
  21. the node  you expect them to be from.  You may also specify which nodes
  22. in a file echo are allowed to send you files, which may only receive
  23. files from you but not send them to you, or which nodes may send you
  24. files but never receive them from you.
  25.  
  26.      TICK will allow you to configure so that it creates FLO file
  27. attaches  for mailers such as Binkley and Opus,  which use them, or MSG
  28. attaches for Seadog-type systems that use that kind of attach. This
  29. second method is referred to as "FIDO" mode within TICK. When TICK
  30. creates an attach, it sends both the desired file, and a small control
  31. file which contains seenby and other information.  The preferred
  32. information file is the TIC file, which is defined in FSC-0028.  TICK
  33. will also generate the FLE file format for communication with FLEA.  The
  34. choice of which file format to use may be made for each echoed system,
  35. independently of other systems echoed.  You may set TICK to receive both
  36. TIC's and FLE's, or have it process only TIC's received.  The choice of
  37. which file format you send to other nodes is independent of which file
  38. format you received with the original file.
  39.  
  40.      Files are entered into an echo using the companion program HATCH. 
  41. HATCH uses the same configuration file as TICK.
  42.  
  43.      If you are upgrading, please read this entire document before   
  44. running this version of TICK, as there are many changes you need to be
  45. aware of.
  46.  
  47.  
  48.                              WHAT DOES IT DO
  49.  
  50.      When TICK operates, it looks for inbound files with the extension
  51. TIC (or FLE).  These are "control" files which tell the program what the
  52. name of the "real" file is, the echo area it is to go to, and what
  53. systems have already seen the file.  The information is checked against
  54. the configuration file, and if passwords match and the area exists, the
  55. file is tossed to the "destination directory" established when the AREA
  56. was set up. (The file is moved to the destination directory by renaming
  57. it if it is possible, or by copying and deleting the original if it is
  58. not possible). The FILES.BBS in that directory is appended with the   
  59. description (again, part of the TIC file).  If there are other nodes
  60. listed for that echo, TICK will then create new TICs or FLEs for them,
  61. and will create FLO files or MSG attaches to those nodes in the
  62. outbound.  The attaches will send the new TIC and the "real" file to the
  63. other nodes.  This does NOT happen if that node is already listed in the
  64. seenby line of the original TIC.
  65.  
  66.      TICK should be called in your batch file after receiving files.  It
  67. is designed so that you may redirect its output to the Binkley.log, 
  68. Opus.log, or to a log of its own.  In the simplest form, the command
  69. would look something like this:
  70.  
  71.            TICK >> Binkley.Log
  72.  
  73.            or
  74.  
  75.            TICK >> Tick.Log
  76.  
  77.      If running from a shell (not suggested), it would be preferable to
  78. use a separate log to avoid problems of writing to a file which may
  79. already be open.
  80.  
  81.                          THE CONFIGURATION FILE
  82.  
  83.      Before TICK or HATCH can run, you will need to create a   
  84. configuration file to tell the program about your system, select
  85. optional parameters, and to establish file-echo AREAS.  Each AREA (you
  86. may have many) is equivalent to a different echo area in echomail, and
  87. lists the nodes that you receive from and send to. The addresses of the
  88. nodes are zone aware.
  89.  
  90.      The brackets indicate optional items, and should NOT be entered in
  91. the real configuration file.
  92.  
  93.      The format of the configuration file follows:
  94.  
  95.       IN c:\file\inbound        (This specifies the inbound area)
  96.  
  97.       ZONE 1 c:\opus\outbound   (This specifies the Outbound area)       
  98.                                 (The FIRST Zone is the DEFAULT Zone)
  99.  
  100.       ZONE 2 c:\opus\outbound.002
  101.  
  102.       ZONE 3 c:\opus\out3       (Zones need not follow Binkley           
  103.                           style)
  104.  
  105.       NET 266                   (Your Net)
  106.  
  107.       NODE 12                   (Your Node)
  108.  
  109.       HOLD c:\holddir\          (Where outbound TICs and FLEs are
  110.                                  kept)
  111.  
  112.       QDIR c:\qdir              (MUST be defined - This is the
  113.                                  directory used as a holding area
  114.                                  for pre-release files.)
  115.  
  116.       [ListFmt %3:-13 %1]       (Alters the default format of the
  117.                                  FILES.BBS)
  118.  
  119.       [ListName Files.Bbs]      (Alters default name / location of
  120.                                  FILES.BBS)
  121.  
  122.  
  123.       [AKA 1:1/313]             (Adds your AKA addresses to the
  124.       [AKA 5:678/90]             Seenby lines)
  125.  
  126.  
  127.       [STOPDUP [c:\tickdir]]    (Optional parameter, turns on
  128.                                  Stopdup feature - Specifies where
  129.                                  DUP files are to be are to be
  130.                                  kept)
  131.  
  132.       [QUIET]                   (Optional - Stops beeping on fatal
  133.                                   error)
  134.  
  135.       AREA c:\file\ticktest TICKTEST
  136.            Local ListName c:\files\RBBS.LST
  137.            1:266/1 Passwrd1 [FLAGS]   (Where flags = [*][&][F]
  138.            2:512/26 Pass2p                           [C|H|P|T][An])
  139.  
  140.       [TEMP c:\ramdisk]         (Optional directory for temporary
  141.                                  files)
  142.  
  143.       [FIDO]                    (Send files as MSG attaches instead
  144.                                  of FLO attaches)
  145.  
  146.       [MAIL c:\netmail]         (Location of Netmail - Required if
  147.                                  FIDO specified)
  148.  
  149.       [FLEA]                    (If present, tells the program to
  150.                                  also process inbound FLE files)
  151.  
  152.       [LOGPATH]                 (If present, log the PATH lines to
  153.                                  the logfile)
  154.  
  155.       [LOGSEEN]                 (If present, log SEENBY lines to
  156.                                  the logfile)
  157.  
  158.       [CRC]                     (Enable CRC testing)
  159.  
  160.       [LogCRC]                  (Place copy of CRC in the log)
  161.       [Crc2Dup]                 (Place copy of CRC in the DUP file,
  162.                                  Necessary for DupByCRC)
  163.  
  164.       [DupByCRC]                (Dupe file by CRC.  See [LOCAL
  165.                                  DupByCRC] below for more
  166.                                  information.)
  167.  
  168.       [NoWait]                  (Prevent HATCH's from hanging a
  169.                                  batch file on errors
  170.                                  or ommissions)
  171.  
  172.       [Local]                   (Specifies the next argument is to
  173.                                  be processed for only this area)
  174.  
  175.       [MailerKills]             (Defines how TICK will generate FLO
  176.                                  attach files, with respect to the
  177.                                  deletion of the TIC files.  See
  178.                                  below for more information.)
  179.  
  180.       [RAID]                    (Allows creation of .RAD file for
  181.                                  certain utilities such as RAID to
  182.                                  generate announcments of locally
  183.                                  hatched files.)
  184.  
  185.       [REPLACE]                 (Allows the replacing of files,
  186.                                  optionally on an area-by-area
  187.                                  basis.  See below for more
  188.                                  infomation.)
  189.  
  190.       [FDLog]                   (Forces TICK to log all activities
  191.                                  in FrontDoors logfile format.)
  192.  
  193.       [LOCAL BigDesc]           (Allows large file descriptions
  194.                                  See below for more information.)
  195.  
  196.       [ForceINTL]               (An INTL Kludge will be inserted
  197.                                  for a MSG attach even if it's the
  198.                                  same zone)
  199.  
  200.      The brackets indicate optional items, and should NOT be entered in
  201. the real configuration file.
  202.  
  203.      Now ... an item by item description:
  204.  
  205.       IN c:\netfile
  206.  
  207.      This entry should point to the inbound files area. Directory
  208. entries in the TIC configuration file may be entered with or without
  209. trailing backslashes,  and must reference an existing directory.
  210.       ZONE 1 c:\opus\outbound
  211.  
  212.           This specifies the Outbound area for zone 1.  TIC allows 
  213.           multiple zones in multiple outbound areas (Binkley style). 
  214.           The ZONE line may be repeated for as many zones as you are
  215.           communicating with.  THE FIRST ZONE STATEMENT MUST REFERENCE
  216.           YOUR OWN ZONE, and is used as the default zone when a control
  217.           file (TIC or FLE) does not contain a specified zone. The
  218.           control file must have at least one ZONE line.  Your MAIN
  219.           (DEFAULT) address consists of this zone, and your NET and NODE
  220.           statements.
  221.  
  222.       ZONE 2 c:\opus\outbound.002
  223.  
  224.           This tells the system where to place FLO files for zone 2. 
  225.           Note that a directory must be declared for each zone you plan
  226.           to address, even if you run FIDO mode and don't create FLO
  227.           files.
  228.  
  229.       ZONE 3 c:\opus\out3
  230.  
  231.           The directory must be specified for each zone. Tick does NOT
  232.           asssume that zones other than your own are named the way they
  233.           are done in Binkley.
  234.  
  235.       NET 266
  236.  
  237.           This line must contain your primary net number, and is
  238.           required.
  239.  
  240.       NODE 12
  241.  
  242.           This line must contain your primary node number, and is also
  243.           required. (In a future release, I'll change this so you can
  244.           just specify your address as NET/NODE on the same line).
  245.  
  246.       HOLD c:\holddir\
  247.  
  248.           This specifies the location of the "HOLDing" directory.  This
  249.           is where the outbound TIC and FLE control files are stored
  250.           until your mailer sends them.  It also will be used by future
  251.           TICK versions to hold other information as well.  This
  252.           directory is maintained by TICK, and should not contain other
  253.           files. Know what you are doing before changing anything in
  254.           this directory.
  255.  
  256.       QDIR c:\qdir
  257.  
  258.           This directory should be a separate directory and should
  259.           contain nothing.  It is used to hold files that are pending
  260.           pre-release.
  261.       [ListFmt  %3:-13  %1]
  262.  
  263.           This optional entry allows you to alter the default format of
  264.           the "Files.BBS" file that TICK has always created.   The
  265.           format may be compatible with TBBS, RBBS, Maximus, and nearly
  266.           any other BBS that uses an ASCII file as a files list. 
  267.           Additional descriptions are below.  The numbers shown in this
  268.           example are the default parameters used if you do NOT declare
  269.           a ListFmt.
  270.  
  271.       [ListName Files.Bbs]
  272.  
  273.           Just as TICK may give you a different format for the
  274.           FILES.BBS, it is not restricted to the name "FILES.BBS".  It
  275.           is possible to have it called by any legal dos filename.  You
  276.           may locate the file in any directory, rather than the same
  277.           directory that the files go to, and you may specify that ALL
  278.           descriptions go to the SAME file if that is what you require.
  279.           (See more below).
  280.  
  281.       [AKA 1:1/313]
  282.       [AKA 5:678/90]
  283.  
  284.  
  285.           These entries direct TICK to add these nodes to the
  286.           Seenby list.  It is now possible to establish a link
  287.           with chosen nodes using the AKA address instead of
  288.           your main address. (See more below.)
  289.  
  290.       [STOPDUP c:\tickdir]
  291.  
  292.           This optional line, if present, activates a function
  293.           similar to the STOPDUP program I had written to help
  294.           limit duplicate files from being passed by Flea. 
  295.           What it does is to keep a list of all filenames 
  296.           processed in each echo area. Whenever a new file is
  297.           received in an echo area, the filename is compared
  298.           to all  names in the list.  If that name has
  299.           previously been seen, the incoming TIC or FLE file
  300.           has its extension renamed to .BAD, and the received
  301.           file is ignored.  If you later decide that the file
  302.           should be passed anyway, you may rename the BAD file
  303.           back to TIC or FLE, and delete the filename from the
  304.           appropriate ECHONAME.DUP file.  The next time TICK
  305.           is run, the file will be passed.  As implied above,
  306.           when STOPDUP is specified, TICK keeps a file in the
  307.           specified (or default, if none is specified)
  308.           directory for each echo area you have set up.  If
  309.           the echotag is  "NODELIST", then the file name is
  310.           "NODELIST.DUP".  This behavior is modified by the
  311.           "LOCAL STOPDUP xxx" line (below) and when  you use
  312.           "DupByCRC".
  313.       [QUIET]
  314.  
  315.           If this is not present, TICK will beep should it
  316.           need to abort with a fatal error.  Non-fatal errors
  317.           will not cause a beep in any case.
  318.  
  319.       AREA c:\file\ticktest TICKTEST
  320.            Local ListName c:\files\RBBS.LST
  321.            1:266/1  Password     [*][&][F][T]([H][An] or [C])            
  322.            2:512/26 SECRET
  323.  
  324.           This structure is used to define the echo areas.  It
  325.           is analogous to the AREAS.BBS used by confmail.  For
  326.           each echo, you use the keyword AREA, followed by the
  327.           directory, followed by the echotag.  The following
  328.           lines are in the format shown above, consisting of
  329.           ZONE:NET/NODE PASSWORD FLAGs.  There may be up to
  330.           100 such addresses lines present in each AREA.  An
  331.           AREA ends at the first line NOT in the ADDRESS
  332.           PASSWORD format, such as a blank line.  The
  333.           exception is that lines beginning with the keyword
  334.           "LOCAL" do not end an area if they immediately
  335.           follow the AREA line.  These LOCAL lines are used to
  336.           establish special treatment specific to that area
  337.           only.  Please note that AREA NAMES ARE LIMITED TO 8
  338.           CHARACTERS, and must be valid characters for DOS
  339.           filenames.
  340.  
  341.           The password is the password used for that
  342.           particular node, and may be up to 8 characters.  It
  343.           is case insensitive.  The other node must specify
  344.           the same password for your node in his TIC.CFG file. 
  345.           The "*",  if present, specifies that you will accept
  346.           files coming from that node.  If not present, you
  347.           may send files to that node, but will not accept
  348.           them from him/her.
  349.  
  350.           The "&", if present, tells TICK and HATCH to ignore
  351.           that node when sending files.  Files are never sent
  352.           to a node which has the "&" flag.  If combined with
  353.           the "*" flag, that node becomes a "receive-only"
  354.           node for that area.  You will accept files coming
  355.           from the node, but will NOT echo files TO it.  If
  356.           the "&" flag is present but the "*" flag is NOT
  357.           present, the node may neither send nor receive from 
  358.           you, and is effectively commented out without ending
  359.           the area.
  360.  
  361.           This is probably the least understood area of TICK. 
  362.           Here is an example:
  363.            AREA C:\DIST\ANSI\ANSI_ADM ANSI_ADM
  364.                    1:116/36        PASSWORD        H
  365.                    1:274/13        SECRET          &*
  366.                    1:365/12        UNKNOWN         &*
  367.                    1:395/3         OTHERONE        &*
  368.                    1:2604/101      BAR             &*
  369.                    1:3629/269      FOO             &
  370.  
  371.           This allows 1:274/13, 1:365/12, 1:395/3 and
  372.           1:2604/101 to hatch files into the ANSI_ADM file
  373.           area.  TICK will only create ONE outgoing TIC, to
  374.           1:116/36.  1:3629/269 is "commented out", thus not
  375.           allowing that node to send or receive files in this
  376.           area.
  377.  
  378.           It  is  possible  to tell TICK to generate CLO
  379.           (crash) and HLO (hold) files directly, or to
  380.           generate FLO (normal) files as the default.  The way
  381.           this is done is to append a "C" for crash or a "H"
  382.           for hold as the last token in the system you are
  383.           connecting to.  The "C" and "H" are mutually
  384.           exclusive.  If you attempt to use them both in the
  385.           same line, TICK will issue a warning, and will treat
  386.           the system as a HOLD.  If you are running in the
  387.           FIDO mode, the MSG produced should have the Crash or
  388.           Hold bits set as appropriate.  In the Non-Fido mode,
  389.           FLOs, CLOs, or HLOs are produced.  The Address and
  390.           password are separated by whitespace, as are the
  391.           password and flag fields. The FTCH*& flags are in
  392.           any order, but are contained in a single "word". 
  393.           They must NOT be separated from each other by
  394.           spaces.
  395.  
  396.           The "F", if present, may be upper or lower case (as
  397.           may be the C, T or H), and specifies that you will
  398.           send Flea compatible files (FLE extension) to that
  399.           node (instead of sending TIC files).  The format of
  400.           the received file is irrelevant.
  401.  
  402.           The "T", if present, will send the destination node
  403.           the file that is being distributed, but not the
  404.           .TIC.  This should only be used if the receiving
  405.           node is not intending on passing the file on to
  406.           another node via TICK, and has no desire to have
  407.           TICK automatically update their FILES.BBS.
  408.  
  409.           The "An" flag takes the form of the letter "A",
  410.           followed immediately by a single hex number ranging
  411.           from "0" to "F".  This is used to designate that an
  412.           AKA address is to be used in the link to the node
  413.           declared on this line.  Further description is
  414.           below.
  415.           The AREA statement, as mentioned, may have up to 100
  416.           nodes listed for each echo.  You may repeat the AREA
  417.           statement for as many echos as you carry.  The
  418.           statement is considered to end at the first line
  419.           which is not in ZONE:NET/NODE PASSWORD form. (The
  420.           LOCAL lines are a partial exception to this rule).
  421.           DO NOT TRY TO "COMMENT OUT" (with a ";") A LINE IN
  422.           AN AREA!  It will cause the area to END at that
  423.           line, which is probably not what you had in mind.
  424.  
  425.       [FLEA]
  426.  
  427.           This statement tells the program that it is also to
  428.           process any inbound FLE files as well as TIC files. 
  429.           The default is to process only TIC format.  (Again,
  430.           you may SEND either format regardless).
  431.  
  432.       [TEMP] c:\ramdisk
  433.  
  434.           This allows you to specify where TICK will write its
  435.           temporary files.  Choosing a ramdisk here will speed
  436.           up the processing.  If this is not included in your
  437.           CFG file, TICK will use the default directory for
  438.           your temporary files.
  439.  
  440.       [FIDO]
  441.  
  442.           What this will do is to have TICK create MSG
  443.           attaches rather than FLO files.  (See WARNING
  444.           below!)  This will force TICK to handle attaches to
  445.           messages rather than creating FLO files.  The TIC's
  446.           and FLE's are still placed in the outbound. The code
  447.           will try to put both file attaches in the same
  448.           message if there is room.  If the combined length of
  449.           the paths and filenames exceed the 72 byte field
  450.           allowed, two messages will be created instead. The
  451.           created messages will have the killsent flag set, so
  452.           that your mailer may kill the message once it is no
  453.           longer needed.  I am assuming that whatever software
  454.           you are running will respect the "killsent" flag and
  455.           delete the MSG file which "points to" the TIC of FLE
  456.           in the outbound.  What TICK does is to find all MSG
  457.           files which are file attaches, local, private, have
  458.           the killsent flag set, and are from "TICK".  It
  459.           takes the subject lines from MSG's meeting these
  460.           criteria, and writes them to a temp file.  It then
  461.           looks at all TIC's and FLE's in the outbound(s). 
  462.           Any which do not have an active MSG attach are
  463.           considered "orphans" and are deleted.
  464. WARNING:  DO NOT RUN TICK IN THE FIDO MODE IF YOU HAVE ANY TIC'S OR
  465. FLE'S IN THE OUTBOUND WHICH ARE "POINTED TO" BY FLO FILES.
  466.  
  467. TICK will find no MSG attach, assume that the TIC/FLE's are orphans, and
  468. delete them!
  469.  
  470.       [MAIL c:\netmail]
  471.  
  472.           This entry is REQUIRED if you are running in the
  473.           FIDO mode.  It allows TICK to find your netmail
  474.           directory for MSG's.  If you do NOT use the FIDO
  475.           mode, this entry is not needed.
  476.  
  477.       [LOGPATH]
  478.  
  479.           If present, path information (present in the TIC
  480.           format files) will be sent to your log file for
  481.           future reference.  This is useful in determining
  482.           topology.  Also, since the time and date that each
  483.           system processed the file is included in the PATH,
  484.           this allows you to see how much delay was
  485.           encountered on each leg of the trip.
  486.  
  487.           If present, all seenby lines in the received TICs or
  488.           FLEs are also logged to the LOG file.  This results
  489.           in very large logs, and is only intended for
  490.           debugging and finding problems.
  491.  
  492.       [CRC]
  493.  
  494.           Tick generates a CRC-32 on all files that it
  495.           processes.  If you include CRC in your CFG file, the
  496.           CRC in the inbound TIC file will be compared to the
  497.           one calculated.  If they don't match, TICK will not
  498.           process the file.  The most common reason for the
  499.           CRC-32 to not match is the system that sent the file
  500.           added an archive comment to the file before it was
  501.           sent.  If you add archive comments, ensure it has
  502.           been sent to all the systems it was destined for
  503.           BEFORE adding the comment.  The other common reason
  504.           is a grunged file was received during the file
  505.           transfer.
  506.  
  507.       [LogCRC]
  508.  
  509.           If this is in your CFG, the CRC-32 will be logged to
  510.           the logfile.
  511.       [Crc2Dup]
  512.  
  513.           This will cause the CRC-32 to be stored in the DUP
  514.           file.  An example of why you would want to use this
  515.           keyword is if you had an area that received a file
  516.           on an updated basis, and it was always the same
  517.           filename.  You would want to only abort the
  518.           distribution if the file has not been seen before.
  519.  
  520.       [NoWait]
  521.  
  522.           This prevents HATCH from looping back for new input
  523.           when you enter an incorrect FILEname or AREAname.
  524.  
  525.       [MailerKills]
  526.  
  527.           Tick users may now choose between the "#" flag and
  528.           the "^" flag in FLO files, to select the method of
  529.           killing the TIC files after they are sent.  The
  530.           default is to set the "#" flag, which instructs the
  531.           mailer to truncate the file after sending.  TICK
  532.           will delete it on the following run.  If you place
  533.           the keyword "MailerKills" in the CFG file, TICK will
  534.           use the "^" flag, and assumes that the mailer will
  535.           kill the TIC file after it is sent. NOTE: When you
  536.           first make this conversion, any existing attaches of
  537.           TICs will still be truncated rather than deleted. 
  538.           You will need to either run a program that will kill
  539.           the remaining 0-length files in the HOLD directory
  540.           (such as Kill0.LZH), delete them manually, or do a
  541.           run of TICK  *WITHOUT*  the MailerKills flag to get
  542.           rid of those old ones.
  543.  
  544.       [RAID]
  545.  
  546.           If you add the keyword "RAID" to your TIC.CFG, HATCH
  547.           will generate a new file in the HOLD directory.  The
  548.           file will have the extension "RAD", and should
  549.           enable a future version of RAID (and any other file
  550.           announcement program that cares to use it) to
  551.           announce files that are locally hatched.
  552.  
  553.  
  554.       [REPLACE]
  555.  
  556.           TICK now supports a REPLACE function.  If an inbound
  557.           TIC has a "Replaces abc.xyz" line in it, and if you
  558.           configure TICK to allow it, the old file (if it
  559.           exists in the destination directory) will be either
  560.           deleted or moved to a different directory before the
  561.           new file is moved to the destination. To activate
  562.           this feature, add the keyword "REPLACE" to your
  563.           TIC.CFG.  That will cause the replace function to be
  564.           active in all areas, and will result in old versions
  565.           being DELETED if the inbound TIC has that name as
  566.           the parameter of the REPLACES line. If you follow
  567.           the "REPLACE" keyword with a valid directory name,
  568.           the old file will be moved there instead.  If a file
  569.           by the same name already exists in the "old  file"
  570.           directory, TICK will leave the file alone and note
  571.           that in the log.  The Replace function does not
  572.           accept wildcards for replacement . . . I felt that
  573.           the security issues were too great.  There are also
  574.           2 additional LOCAL keywords . . . If you have put a
  575.           REPLACE line in your TIC.CFG, but do NOT want to
  576.           allow replacements in certain areas, then add a
  577.           "LOCAL NoReplace" line in those AREA blocks (after
  578.           the AREA line, but before the node listing).  If you
  579.           do NOT want REPLACE to be active in most areas, but
  580.           DO want it in certain areas,  then do not put a
  581.           REPLACE line in your TIC.CFG, and add a "LOCAL
  582.           REPLACE" line to those AREA blocks. Note that if you
  583.           want a replaced file to be MOVED to an "old files"
  584.           directory, you must put a REPLACE line in the CFG.  
  585.  
  586.           (e.g. -  Local "Replace c:\oldfiles" is NOT valid).  
  587.           
  588.  
  589.           I should mention that TICK will not  remove  the 
  590.           entry from the FILES.BBS at this time.
  591.  
  592.       [FDLog]
  593.  
  594.           If you add the keyword "FDlog" to your TIC.CFG, TICK
  595.           and HATCH will log in a format that should be more
  596.           compatible with Frontdoor.  There is one case where
  597.           the log format will be invalid, If TICK or HATCH
  598.           detects an error while reading the CFG, but before
  599.           it has read the line telling it to use Frontdoor
  600.           mode, the log message will be in the default
  601.           (Opus/Binkley) format.  You can reduce the risk of
  602.           this happening by placeing FDLog near the beginning
  603.           of the CFG file so it's read early.
  604.  
  605.  
  606.      All lines other than the ZONE and AREA structure lines may be in
  607. any order, and need not be left justified.  Unknown lines are ignored.
  608.                      DEFINING A FILES.BBS-TYPE FILE
  609.  
  610.  
  611.      Thanks to a lot of help from Bob Hartman, TICK supports the   
  612. file-list format needed by many different BBS packages.  If you don't do
  613. anything special, the defaults establish a file-list file called
  614. "FILES.BBS" in each "toss-to" directory.  (The "toss-to" directory is
  615. the directory that is associated with an AREA, and to which the received
  616. file is tossed).
  617.  
  618.      Bob Hartman has provided a great deal of the code to allow multiple
  619. formats of files.bbs files.  Following is the description provided by
  620. Bob.  You can set the output format of the files.bbs file by adding a
  621. line to your config file with the keyword "LISTFMT" followed by the
  622. format you desire.
  623.  
  624.      Any character not proceeded by a % is just put into the string. If
  625. the character is a %, then the stuff following it is interpreted as
  626. follows:
  627.  
  628.           y stands for the length of the field to use.  If it
  629.           is a negative number, then it is meant to be left
  630.           justified.  A positive number is    right justified. 
  631.           If it does not appear, or is zero, then the field is
  632.           considered to be unlimited.
  633.  
  634.           z stands for special processing.  The first one
  635.           defined was '1', and it is used only in the file
  636.           description for TBBS systems.  It will append a
  637.           return and an exclamation point and then continue
  638.           the description.  This is for TBBS' "linked comment"
  639.           fields.  2 and 3 are also now defined, and are
  640.           described below.
  641.  
  642.           %x[:y[.z]]       (y = LENgth of field, z =
  643.           "specification")
  644.  
  645.       where x is 1-8 (or 100) and stands for:
  646.  
  647.                 1 - file description
  648.  
  649.                 2 - path to file with trailing backslash
  650.  
  651.                 3 - actual file name
  652.  
  653.                 4 - file size
  654.  
  655.                 5 - date as mm-dd-yy  -  There are changes here.
  656.                     If you simply specify this as "%5", you will get the
  657.                     "file-date".  If you specify it like this: "%5:8.3",
  658.                     you will get the SYSTEM date.  This should be
  659.                     helpful for RBBS boards,  and others that need to
  660.                     list the date received, rather than the file-date.
  661.  
  662.                 6 - Day-of-the-week - This will give you the day of
  663.                     the week (spelled out fully) if you specify "%6". 
  664.                     This is the day the FILE was created.  If you want
  665.                     only the first 3 characters (as in "Mon", "Tue",
  666.                     etc), then specify it as "%6:3".  If you want the
  667.                     SYSTEM day-of-week, then specify it as "%6:3.3" for
  668.                     the 3 character string, or as "%6:0.3" for the full
  669.                     string. (A length of "0" is interpreted as an
  670.                     unlimited field).
  671.  
  672.                 7 - Hex CRC value for the file.
  673.  
  674.                 8 - Prints the name of the PRIMARY area (that the
  675.                     file was received in) to the Files.bbs
  676.  
  677.                 100 - See below.
  678.  
  679.  
  680.      So, for TBBS systems, the file should look like:  full_path_name
  681. file_name description(40 chars+linked comments) 
  682. and the line format would be:
  683.  
  684.                %2%3 %3 %1:-40.1
  685.  
  686.      For RBBS it would be:
  687.  
  688.                %3:-12%4:9  %5  %1:-43 001
  689.  
  690.           where the 001 would be whatever file area they wanted to
  691.           specify.
  692.  
  693.      For Opus systems it would be:
  694.  
  695.                %3:-13 %1
  696.  
  697.           (which is the default if you don't set the ListFmt descriptor
  698.           in the CFG file.)
  699.  
  700.      Now for the really fun part!  There is another value x can take. 
  701. The format %100:y.z is used to set up special wrapping for long comment
  702. lines. Here is a portion of the description Bob sent me.
  703.  
  704.      %100 is very new.  It is used to set the indent and the first
  705. indent character for overflow lines.  The length parameter (after the
  706. colon) gives the indent length, while the specification parameter (after
  707. the period) gives the ASCII value for the first character of the line.
  708. It is probably wise for people to make this the first thing in their
  709. format string if they wish to use it (otherwise they may have wrapped
  710. before it gets evaluated). For example, Opus systems might want:
  711.  
  712.           %100:1    This makes it a single space as indent (or) %100:20
  713.           which would give a 20 character indent.
  714.      They can also do wild things like:
  715.  
  716.           %100:20.45  which (I think) will output 20 spaces on the new
  717.           line, but after a '-' is put there first.
  718.  
  719.      %100 comes into play whenever the specification type of a parameter 
  720.   (the field after the period) is a 2.  TBBS uses a 1, while this new   
  721. stuff uses a 2.  I imagine that descriptions are the most likely place   
  722. for it to be used.  TBBS needs two special characters for the   
  723. continuation line,  so it cannot be done using the %100. Of course, this 
  724.   makes things VERY interesting, and very tricky.  It is easy for people 
  725.   to screw I up, so recommend that they experiment.  It is all automatic 
  726.   for TBBS systems, but for others, this hopefully gives them the
  727. ability    to do what they need.
  728.  
  729.      One interesting sidenote.  When using a length with either the TBBS
  730. .1 or other style .2 specification, the length given is used on ALL
  731. lines. For example, using %1:-40.1 as in a TBBS style line will break
  732. the description into a 40 character block, add \n!> (tbbs specific),
  733. then add the next 40 characters of the description (and repeating if
  734. necessary), padded out with spaces if necessary!  This way things always
  735. remain in the correct columns if necessary.  It shouldn't matter.  If
  736. people complain, then it might be able to change it later on.
  737.  
  738.      For Opus, try this:  ListFmt %100:31%3:-12 %1:-48.2
  739.  
  740.      That tells TICK to set indent at 31 spaces for wrap-around. The
  741. first entry in the line is the filename (which starts flush against the
  742. left, hence there is no space after the "31").  The filename field is
  743. left justified, and occupies 12 characters.  It is followed by a space
  744. and then the DESCription, which is left justified, occupies 48 spaces,
  745. and will wrap to the next line inset by 31 spaces.
  746.  
  747.      The wrap feature is not polished.  It will wrap at the specified
  748. length even if it comes in the middle of a word.
  749.  
  750.      You now have the option of having the file created called   
  751. something other than "FILES.BBS", by using the keyword "ListName".
  752.  
  753.      The FileFmt and ListName may be different for each AREA if you
  754. want.  Here's how it all works:
  755.  
  756.  
  757.      If you do nothing, TICK will create FILES.BBS in the "toss-to"
  758. directory as always.
  759.  
  760.      If you add the keyword LISTNAME, followed by a "simple" (ie.-
  761. without drive:\path\) filename, TICK and HATCH will use that filename in
  762. each "toss-to" directory.
  763.      If you follow LISTNAME by a complete filespec, then the FILES.BBS
  764. type file will be named what you want, and will also be created in the
  765. specified directory,  instead of the default of the "toss-to" directory. 
  766. This would allow you to send *all* areas descriptions to the *same*
  767. description file, as is done for RBBS.
  768.  
  769.      Last . . .  If you follow LISTNAME with a drive:\path\ ONLY, you
  770. will get the default "FILES.BBS" filename in the specified directory.
  771.  
  772.  
  773.      Here are some examples of LISTNAME:
  774.  
  775.            LISTNAME  RBBS.FIL
  776.  
  777.           This gives you a file called "RBBS.FIL" in each "toss-to"
  778.           directory.
  779.  
  780.            LISTNAME C:\files\TBBS.TXT
  781.  
  782.           This will give you a single file named TBBS.TXT in the
  783.           C:\files\ directory for all AREAs (unless overridden by a
  784.           LOCAL keyword - see below).
  785.  
  786.            LISTNAME c:\foo\
  787.  
  788.           This will give you a single FILES.BBS in directory c:\foo\ 
  789.           for all areas (unless overridden with a LOCAL).
  790.  
  791.      You may, as before, choose an alternate line format with thev
  792. "ListFmt" keyword.  The format you select serves as the default format
  793. for any areas not overriding it with a LOCAL command.
  794.  
  795.  
  796.                            LOCAL AREA KEYWORDS
  797.  
  798.  
  799.      You may also have differing files.bbs-type filenames and directory  
  800.  locations for specific areas.  You accomplish this by the "LOCAL"
  801. keyword in the area definition.
  802.  
  803.      AREAs were previously defined as the keyword "AREA", followed by
  804. the "toss-to" directory, the AREA's tag, and the (optional) secondary
  805. tag.  This line was followed by one or more lines of "addresses -
  806. passwords - flags".  The area ended at the first line not in the
  807. standard "Address-PW-Flags" format.  This format will still work, but
  808. you may now have additional lines between the "AREA" line and the
  809. address lines, transforming the AREA line into an area definition BLOCK,
  810. instead of LINE.
  811.  
  812.      The additional lines MUST begin with the keyword LOCAL.
  813.           NOTE: IF YOU HAVE ANY LINES (INCLUDING BLANK LINES) BETWEEN
  814.           THE "AREA" LINE AND THE ADDRESS LINES, AND THE LINES DO NOT
  815.           BEGIN WITH THE KEYWORD "LOCAL", THE AREA WILL END RIGHT THERE,
  816.           AND NO NODES WILL BE ASSOCIATED WITH THAT AREA!
  817.  
  818.      If you do not define a LOCAL for a certain area, then that area
  819. defaults to the name or format defined globally, or to FILES.BBS in the
  820. toss-to directory, and "%3:-13  %1" for the format.  Examples follow:
  821.  
  822.            AREA c:\file\softdist SOFTDIST
  823.            LOCAL LISTNAME f:\farm\animal.bbs
  824.            LOCAL LISTFMT %3:-13 Hello there %1
  825.            1:266/21 password C*
  826.            1:261/662 hitom C
  827.  
  828.            AREA c:\file\beans BEANS
  829.            LOCAL LISTNAME Foo.txt
  830.            7:26/67 whomi H
  831.            1:266/13 wham C*
  832.  
  833.      The first example creates an area with 2 listed nodes.  The
  834. "files.bbs" for that area will be called "animal.bbs", and will be
  835. located in the directory  "f:\farm".  The Line format will be the
  836. filename in a left justified 13 character field, followed by the
  837. constant text "Hello there", followed by the description text.  The area
  838. ends after the second node, because there is a blank line there.
  839.  
  840.      The second area is tagged "BEANS".  The "files.bbs" will be called
  841. "Foo.txt", and will be located in the "toss-to" directory called
  842. "c:\file\beans".  The format will default to the format defined in the
  843. global LISTFMT statement, or to "%3:-13 %1 if none has been defined.
  844.  
  845.    [LOCAL STOPDUP]
  846.  
  847.                Tick now allows a LOCAL STOPDUP feature.  You still need
  848.           to have the main [STOPDUP c:\dupdir] line in your TIC.CFG to
  849.           activate STOPDUP processing in the first place.  The presence
  850.           of a LOCAL STOPDUP in an area all by itself will NOT turn on
  851.           STOPDUP in that area.
  852.  
  853.                If you do not put a [LOCAL STOPDUP dupfile] statement in
  854.           your area, then that area's dup file will use the area's tag
  855.           with a DUP extension as the filename for its dup file, as
  856.           before.  If you *do* put in the new local line, then the
  857.           "dupfile" name that follows the "Local Stopdup" will be the
  858.           root name for that dup file.  It will be appended with a DUP
  859.           extension.  For example:
  860.  
  861.                 AREA d:\file\long BRAVO
  862.                 Local Stopdup Tango
  863.                 1:266/12 password *C
  864.                 1:13/13 wordpass C
  865.                The DUP file for the above area would be called
  866.           Tango.DUP, and     would reside in the Dup directory specified
  867.           in the regular STOPDUP cfg line.  Without the local line, the
  868.           file would have been called  BRAVO.DUP.
  869.  
  870.                What this does is gives you the option of merging certain
  871.           echos to use the same DUP file.  This possibility should be
  872.           used with care.  Just because *YOU* happen to carry both of
  873.           the merged echos, that doesn't always insure that all your
  874.           downstream nodes carry both echos.  If a DUP entry generated
  875.           from echo A stops the same file from passing in echo B, you
  876.           may be preventing nodes who carry only B from getting it at
  877.           all.
  878.  
  879.     [LOCAL BigDesc]
  880.  
  881.                Tick now has provisions for sending large descriptions to
  882.           a message in netmail or an echo.  Here's how it works:
  883.  
  884.                In each are you want to activate large-description
  885.           capability, add the local line:
  886.  
  887.            LOCAL BigDesc mask tag [tag ...]
  888.  
  889.                Where "MASK" is a file mask indicating what files will
  890.           trigger a description message.  If a file fitting that mask is
  891.           being echoed in that area, the file will be echoed as normal,
  892.           but also a PKT in the inbound will be created, containing the
  893.           text of the message.  The TAG entries indicate where the
  894.           message should end up.  If the tag is an echomail area tag,
  895.           then the description will enter that echo.  If the tag is "*",
  896.           the description message will end up in your netmail area.  For
  897.           example:
  898.  
  899.            Local BigDesc *.SDA newfiles *
  900.  
  901.                This will result in any *.SDA files (which arrive with
  902.           valid TICs) to be tossed to the file echo area and echoed to
  903.           other nodes in that area,  (all as before).  In addition, a
  904.           PKT will be created in the inbound, with a message in the
  905.           echomail area "newfiles", and in your netmail area.  You can
  906.           send a description to as many echos as you     please, simply
  907.           by adding additional tags to the local Bigdesc line.
  908.  
  909.  
  910.                Right now, I'm filtering any characters below 20H execpt
  911.           for C/R and Tab, and I'm also filtering any characters above
  912.           7FH. Message size is limited to approx 10K.  A description
  913.           larger than that will be truncated.  
  914.                Presumably, the SDS will not want to use SDA as the
  915.           agreed upon extention to trigger a description message.  Since
  916.           the mask is local to each area, that presents no problem.  (I
  917.           suggest the mask *.DES, but that's not up to me).
  918.  
  919.                With this method, a user calling your board might have
  920.           the choice of reading a description echo online, or of simply
  921.           dpowloading the DES files in the file area.
  922.  
  923.                You will probably want to define a few more lines in your
  924.           TIC.CFG.  The message fields TO, FROM, SUBJECT default to
  925.           "All", "Tick x.xx", and the filename of the file being shown
  926.           respectively.  To change them,     define the following lines:
  927.  
  928.                 TO Binkley Zealots
  929.                 SYSOP Tom Hendricks
  930.                 SUBJECT Latest Binkley Utility!
  931.  
  932.                The ORIGIN line defaults to "Lazy Sysop (Z:NET/NODE)",
  933.           and can be changed with the line:
  934.  
  935.                ORIGIN  Your source for BBS Utilities!
  936.  
  937.                Please note that these 4 lines are GLOBAL in scope. 
  938.           There is presently no provision for LOCAL definitions here.
  939.  
  940.  
  941.                Note that you should *NOT* add the address at the end of
  942.           the line yourself, as TICK adds it for you.  The Origin line
  943.           is limited to 79 characters, including the " * Origin: " which
  944.           TICK also adds.
  945.  
  946.                Some tossers will not toss PKT's if there is no SEEN-BY
  947.           line present in an echo message (Squish is one such program). 
  948.           To please such programs, add the keyword PKTSEENBY to the
  949.           TIC.CFG.
  950.  
  951.                The PKT will contain your main address as the TO and From
  952.           address in the headers, and in your Origin line.  If you run a
  953.           secure tosser, you will need to add your own address to your
  954.           areas.bbs (or whatever it's called on your system) for that
  955.           echo.
  956.     [LOCAL DupByCRC]
  957.     [LOCAL NoDupByCRC]
  958.  
  959.                If you add the keyword DupByCRC, and have the CRC2DUP
  960.           option active, then STOPDUP will cause TICK to test not only
  961.           the NAME of the file, but also the CRC32 of the file. A "hit"
  962.           will only occur if the the CRC matches as well as the name. 
  963.           This will allow same-named files to pass Stopdup if the files
  964.           are different than the one previously seen.  If the older /
  965.           same-named file is still in the "toss-to" directory, it will
  966.           (presently) be overwritten.
  967.  
  968.                If you choose to not set the global DupByCRC keyword,
  969.           which affects ALL areas, you can selectively still employ the
  970.           new dup-check routine in selected areas of your choice by
  971.           adding a "LOCAL DupByCRC" to the list of LOCAL lines following
  972.           the AREA definition line.
  973.  
  974.                Should you decide you want to use the CRC dup checking
  975.           routine in most areas, but wish to exclude a few, you may
  976.           place the DupByCRC keyword in the TIC.CFG, and add a "LOCAL
  977.           NoDupByCRC" line to the list of LOCAL lines following the AREA
  978.           definition line.
  979.  
  980.                If you decide to use the newer CRC-based DUP detection,
  981.           any DUP file lines that contain only a filename and no CRC
  982.           number (such as may exist from previously running the 
  983.           programs  without CRC2DUP in the TIC.CFG) will be tested by
  984.           the older stopdup logic.
  985.    
  986.    [Local Passthru]
  987.  
  988.                To make an area a passthru area (Much like passthru areas
  989.           in EchoMail), Use the PassThru keyword in its AREA block. 
  990.           TICK will make its attaches as usual, but will *not* update
  991.           the FILES.BBS.  At each run thereafter, TICK will test all
  992.           attaches (either MSG or FLOs, for FIDO or native mode
  993.           respectively), and will kill the file when there are no active
  994.           attaches.  If the passthrough file is also a pre-release file,
  995.           the passthrough process will be postponed until the file is
  996.           released.  Be aware that if you define a secondary area, and
  997.           that secondary area is passthru, the file will be tossed there
  998.           and treated as a passthru file (ie deleted).  Likewise, if a
  999.           nonpassthru area is secondary to an area that *is* passthru,
  1000.           the inbounds will be tossed to the non-passthru area and
  1001.           treated as non-passthru.  (These actions will be influenced by
  1002.           stopdup, as previously).
  1003.                              MORE ON CRC-32
  1004.  
  1005.  
  1006.      CRC-32 checking is present in TICK/HATCH.  All files processed by
  1007. either program will have the CRC computed and present in the outbound
  1008. TIC's.  If you add the keyword "CRC" to your CFG file, then inbound
  1009. TIC's that have CRC's in them will have that CRC compared to the
  1010. computed CRC.  If the numbers don't match, the file will fail.  TIC's
  1011. received from older versions, having no CRC line, will be spared this
  1012. check, but outbound TIC's will still have the CRC line in either case. 
  1013. One negative side effect of this is that significant time is required to
  1014. calculate the CRC.  I feel that the added safety is worth it, however.
  1015.  
  1016.      If you would like the CRC value to appear in your log file, add the
  1017. keyword "LOGCRC" to your TIC.CFG.  If you choose to log your CRC's, the
  1018. value in the log will be followed by a star (*) if the inbound file also
  1019. had a CRC in the TIC.
  1020.  
  1021.      If you want to also save the CRC in the *.DUP file after each
  1022. filename, add the keyword "CRC2DUP".
  1023.  
  1024.      Having the CRC compared to the CRC present in the inbound TIC can
  1025. cause problems in at least one situation.  If you run a program like
  1026. STRIPZIP to eliminate potentially dangerous ASCII sequences from
  1027. received ZIP files, the CRC of the file you received will no longer
  1028. match the CRC in the TIC file.  To get around this problem, there is a
  1029. command line switch for this situation.  What you do is to NOT define
  1030. "CRC" in your TIC.CFG file.  When you receive new files, first run TICK
  1031. with the command line switch "/OC".  That will cause TICK to test the
  1032. unmodified file's CRC against what is present in the TIC.  (It also
  1033. tests for proper password, proper FROM address, etc.)  If the CRC's do
  1034. not match, the TIC file is renamed to "*.BAD".  If all is well, the file
  1035. is not further processed, and outbound TICs/FLEs are *not* created. 
  1036. This mode is a "check-only" mode.  After running TICK with the /OC
  1037. switch, you can then run STRIPZIP.  After Stripzip, have the batch file
  1038. call TICK, this time *without* the /OC switch.  Tick will process
  1039. normally, and will ignore the CRC in the inbound TIC's, since you don't
  1040. have CRC in the TIC.CFG.  The new CRC generated in the outbound TIC's
  1041. will be proper for the file as you are sending it.
  1042.                                   AKA's
  1043.  
  1044.  
  1045.      Several of you have asked for this feature.  Here's how it works:
  1046.  
  1047.      For each alternate address you are known by, add a line to the CFG
  1048. file beginning with the keyword "AKA", and followed by your address in
  1049. [zone:]net/node format.  If the zone is not present, it defaults to the
  1050. default zone (the first ZONE statement in the CFG file).  For example:
  1051.  
  1052.            AKA 1:1/313
  1053.  
  1054.      When I place this in my CFG file, I will add both my main address
  1055. of 1:266/12, and 1:1/313 to the seenby list in my outbound TIC's and
  1056. Fle's.
  1057.  
  1058.      You may specify for each node you send to, what address you are
  1059. sending from.  All addresses still appear in the seenbys.
  1060.  
  1061.      Here's how it works:  There is an additional flag for the node's
  1062. flag field (the field where you specify if that node is <C>rash, <H>old,
  1063. <*>, etc).  If you want that node to receive from you as your primary
  1064. address, you need make no change.  If you want to send to that node as
  1065. an AKA, the new flag is "A", followed by the number of the AKA to use
  1066. (from 0 to F in Hex).  The number corresponds to the order that you have
  1067. defined AKA's in your CFG file . . .  The first AKA is "0", the second
  1068. is "1", etc.
  1069.  
  1070.      NOTE THAT THE NUMBERING STARTS AT '0', NOT AT '1'.
  1071.  
  1072.      For example, to send to node 2:512/26 using my first AKA of   
  1073. 1:1/313, I would set the node up like this:
  1074.  
  1075.           2:512/26 Password HA0*
  1076.  
  1077.      This will instruct TICK to communicate with that node as 1/313,
  1078. send it HOLD, and accept files from him as well.  Since I will be now
  1079. sending to 2:512/26 as 1:1/313, he must set up my node as 1/313 in his
  1080. TIC.CFG, and need NOT set up my node as 266/12.
  1081.  
  1082.      The number after the "A" must be a single character, and must not
  1083. be separated from the "A" by a space
  1084.  
  1085.      USE CAUTION WITH SENDING TO OTHERS AS YOUR AKA!  If not carefully
  1086. used, this will increase the likelyhood of a DUP ring.  It's recommended
  1087. that AKA's only be used when crossing between zones at a designated
  1088. "gate", which does not loop back into the first zone somewhere else.  Oh
  1089. yes . . . The limit on AKA's is 16 of 'em.
  1090.                           FINDING THE CFG FILE
  1091.  
  1092.  
  1093.      The TICK program, and accompanying HATCH program should be placed
  1094. in any convenient directory.  When run, both programs need to find the
  1095. configuration file.  Tick / Hatch first looks to see if you have entered
  1096. the configuration file as a command line parameter.  If you choose this
  1097. method, the following form applies:
  1098.  
  1099.           TICK /Cc:\other.cfg
  1100.  
  1101.      The "/C" may be upper or lower case.
  1102.  
  1103.      If there is no command line parameter, TICK next looks to see if
  1104. you have set the environmental variable TIC as in:
  1105.  
  1106.           TIC=C:\OTHER.CFG
  1107.  
  1108.      Where C:\OTHER.CFG is the configuration file to be used this run. 
  1109. If neither option is chosen, then the default is to use the file TIC.CFG
  1110. in the current directory.  If no such file is available, TICK aborts
  1111. with a fatal error.
  1112.  
  1113.      In addition to the CFG file,  you must set the TZ environmental
  1114. variable to the difference between local time and GMT.  This is the same
  1115. variable used by Opus and many other bbs-related programs.  For the
  1116. Eastern time zone, it would be set to TZ=EST5EDT.  In your batch file,
  1117. have the line:
  1118.  
  1119.           SET TZ=EST5EDT
  1120.  
  1121.      WARNING: Bob Germer pointed out to me that this form of TZ variable
  1122. can cause problems for Opus, depending on what version of DOS you run. 
  1123. If you experience problems with other programs using this TZ string, you
  1124. could use the form:
  1125.  
  1126.           SET TZ=EST5
  1127.  
  1128.      This will work for both TICK and Opus.  Its disadvantage is that
  1129. you will need to change the "5" to "4" during daylight savings time. The
  1130. first format will give the correct results within TICK in standard and
  1131. in daylight time zones without the need to manually alter the string. 
  1132. An alternative would be to set the EST5EDT format in your batch file
  1133. that calls TICK, and reset it to the EST5 format after TICK has been
  1134. run.
  1135.  
  1136.  
  1137.                     TICK AND OTHER FILE-ECHO SOFTWARE
  1138.  
  1139.  
  1140.      The TIC file format should be compatible with the files produced by
  1141. Randall Greylock's UPCL program.  TICK also offers support of the FLE
  1142. file created by Ron Bemis' FLEA.
  1143.                                   HATCH
  1144.  
  1145.  
  1146.      Files are started into a file-echo with the program HATCH.  HATCH
  1147. uses the same configuration file (see below) as TICK, and the CFG file
  1148. must be present for either program to run.  File-echos are set up in
  1149. AREAs, each AREA having an echo tag, similar to the echotag in echomail. 
  1150. An AREA name may be up to 8 characters, and must consist of characters
  1151. legal in a dos filename.  You may have multiple AREAs (and probably
  1152. will).  When you run HATCH, you need to tell it what AREA you are
  1153. hatching the file in, the file's name and location, and the description
  1154. to put in the FILES.BBS of the directory associated with that AREA. 
  1155. This may be done interactively, or from the command line.
  1156.  
  1157.      If you choose to use hatch interactively, as most do, just enter
  1158. HATCH (optionally followed by the CFG file to use, as in :
  1159.  
  1160.           HATCH /cOTHER.CFG
  1161.  
  1162.      Hatch will first ask you how many days to wait before releasing
  1163. this file.  If you want it to be released immediatly, simply press
  1164. enter.  If you want to use the "pre-release" function of TICK / HATCH,
  1165. then enter the number of days to wait until it can be released.  Please
  1166. see the notes later in the documentation about pre-release files.
  1167.  
  1168.      Hatch will then prompt you for the AREA (file-echo tag) that you
  1169. want to send the file in.  If the AREA is not valid, HATCH will let you
  1170. know.
  1171.  
  1172.      Hatch will then prompt you for the filename.  HATCH prefers that
  1173. the file you HATCH to be in the "toss-to" directory associated with the
  1174. AREA at the time of hatching.  If you MUST hatch from a directory
  1175. normally NOt associated with that AREA, You will need to include the
  1176. full pathspec as in previous versions of HATCH.  If you place the file
  1177. in the "toss-to" directory first, you need only give the filename when
  1178. you hatch.  If the file is not found, hatch will say so and abort.
  1179.  
  1180.      Then, Hatch will ask for the DESCRIPTION that will be placed in the
  1181. FILES.BBS for that file.  It is recommended that the file to be hatched
  1182. be located in the "destination directory" normally associated with that
  1183. AREA.  If it is NOT, it will still send the file just fine and the
  1184. FILES.BBS will be updated.  However, your BBS will likely report that
  1185. the file is MISSING.
  1186.  
  1187.      If you choose to enter all or some of the information from the   
  1188. command line, there are additional command line switches.  These are the
  1189. most commonly used (Their usages are described below):
  1190.  
  1191.           /A , /F, /R0, /ON, and /D.
  1192.      The /A switch specifies the file-echo AREA to hatch into.  The /F
  1193. switch specifies the file to hatch.  The /D switch specifies the
  1194. description line to use for the FILES.BBS.  Like the "/C", all the new
  1195. parameters are NOT separated from the switch-letter.  e.g.: The area
  1196. SOFTDIST would be written as /aSOFTDIST instead of /A SOFTDIST.
  1197.  
  1198.      An example:
  1199.  
  1200.      To hatch the file FOO.ext in area SOFTDIST with the description
  1201. line "This is the Description", use the following line:
  1202.  
  1203.      HATCH /aSOFTDIST /fFOO.ext /dThis is the description >> logfile.log
  1204.  
  1205.      Any parameters NOT specified on the command line are prompted for
  1206. as before.  If the /D description switch is used, it must be the last
  1207. switch on the command line, as it is of variable length and number of
  1208. tokens (words).  The description may be up to 80 characters long, but it
  1209. is strongly recommended that the description be kept below 50
  1210. characters.
  1211.  
  1212.      In conjunction with DAYNBR.ARC, this should make hatching of
  1213. nodediffs and other automatically generated files effortless and
  1214. automatic with the proper batch file.
  1215.  
  1216.      The above example shows another design feature of TICK and HATCH.
  1217. Both are designed to allow redirection of output to a log file for
  1218. review of what has happened.  The sign-on credits will go to the screen,
  1219. not the log.  The log is formatted to match the form of the Binkley and
  1220. Opus logs.  In fact, I use the same log for Binkley, Opus, and Tick
  1221. here.  The ">>" redirects the log output as an append.
  1222.  
  1223.      Hatch allows you to re-enter an incorrectly entered area or
  1224. filename.  The AREA comes first, then the filename, then the description
  1225. when running in the interactive mode.  (The AREA *must* precede the
  1226. filename  in interactive mode,  since TICK needs to know where to look
  1227. for the file when you don't enter the path).
  1228.  
  1229.      Having HATCH loop back for a file not present or a misspelled area
  1230. name could present problems for those of you who use batch processing
  1231. and don't want the hatch to "hang" looking for keyboard input that is
  1232. never coming.  For this reason there is a "NOWAIT" option available.
  1233. Either put the keyword "NOWAIT" in the CFG file, or have the batch call
  1234. HATCH with the switch "/ON"  (without the quotes.  The "O" stands for
  1235. "Option", by the way.)
  1236.                      PRE-RELEASE AND SECONDARY AREAS
  1237.  
  1238.  
  1239.      Tick 2.10 added several enhancements, two of the most significant
  1240. of which are PRE-RELEASE and SECONDARY AREAS.  These are more difficult
  1241. to describe than to use.  What follows is an attempt to explain them.
  1242.  
  1243.      A little historic background may be helpful.  Back when the SDS as
  1244. we now know it got started, one of the ideas was that we could make
  1245. provision for software to be distributed within the SDS-RC structure
  1246. into each region before the official release date, so that when a major
  1247. release, such as a new Binkley came around, it would be readily
  1248. available everywhere at once on release day.  This concept is
  1249. PRERELEASE.  To date, the only implementation had been in FLEA.  That
  1250. provided the ability to distribute a file throughout the network, but
  1251. would delay the toss to the downloadable directory until the official
  1252. release time.  That was good so far as it went, but it made the
  1253. assumption that the SDS would consist of a small number of distribution
  1254. nodes, and that the net-level sysops would get the files by FREQing from
  1255. their regional SDS nodes.  The SDS and other distribution networks
  1256. developed in a different direction, however.  In most cases the net
  1257. level nodes are directly linked into the networks, elimination the need
  1258. for FREQ entirely.  This expansion rendered the simpler prerelease
  1259. method unworkable.
  1260.  
  1261.      What was really needed was a method of limiting the distribution of
  1262. pre-released files to the core structure of the distribution network,
  1263. and to pass the files "down the pipe" on the release date. TICK should
  1264. now makes this possible.
  1265.  
  1266.      When a file is hatched into an echo, it will now be possible to
  1267. specify a release delay of a certain number of days.  The file will
  1268. immediately be sent only to those nodes which are designated as having
  1269. permission to receive pre-released files.  Those nodes will likewise
  1270. send the file only to similarly privileged nodes.  Until the time of
  1271. release, the files will reside in a special "quarantine" directory
  1272. (QDIR).  When the release time arrives, the file will be tossed to its
  1273. destination directory, and sent to those nodes which have not yet
  1274. received it.  This is the basic PRE-RELEASE concept.
  1275.  
  1276.         Within an AREA block, those nodes that may receive a pre-release
  1277. file before the release date should have a "P" flag in the flag field. 
  1278. When you HATCH a file, the prompt for "Release in how many days?" is now
  1279. active. If you just press <enter>, the file is a normal file and is not
  1280. delayed.  If you have a file that you want to send as a pre-release,
  1281. place the file into the QDIR directory.  (QDIR SHOULD NEVER BE A
  1282. DOWNLOADABLE DIRECTORY). When the prompt for release days comes up,
  1283. answer with the number of days to delay.  (You may bypass the prompt by
  1284. using the /Rx command line option, where "x" is the number of days to
  1285. delay.  /R2 delays 2 days, /R0 is a normal release.
  1286.  
  1287.      If you have specified a pre-release file, then only those nodes
  1288. that have a "P" flag will get the file immediately.  Please note that
  1289. only nodes that are also running TICK 2.10 or higher should be given "P"
  1290. status.  Those nodes will have TIC's and attaches created.  The TIC's
  1291. will have the seenbys for all nodes that will eventually receive the
  1292. file.  In addition, there will be a "*.TOK" file also created in the
  1293. HOLD directory.  That file resembles a TIC closely, but has the seenby's
  1294. for the pre-release nodes only.
  1295.  
  1296.      Each time you run TICK 2.10+, the program will first scan the HOLD
  1297. directory for TOK files.  If it finds any, it examines them to see if
  1298. the associated pre-release file is "ripe" yet.  When it is, the file is
  1299. moved to the destination (downloadable) directory, the FILES.BBS is
  1300. updated, and new attaches are created to those nodes that do not have
  1301. the "P" flag.
  1302.  
  1303.      Pre-release can be set up in two ways.  Currently, in the SDS the
  1304. public file-echos go not only to the SDS nodes, but to the "end-user"
  1305. nodes as well.  If files are to be directly pre-released into the public
  1306. echos such as SOFTDIST, then any node that receives pre-release files in
  1307. that fashion must be running TICK 2.10 or higher, as lower numbered
  1308. version will forward all files without reservation, as will FLEA (with
  1309. minor reservation).  This could still be used in this fashion if all SDS
  1310. RC's decide to run the new TICK when it's ready. The second way, and
  1311. probably the more secure way, would be to set up a separate pre-release
  1312. file-echo associated with each public file-echo.  For example, PRESOFT
  1313. could be associated with SOFTDIST, PREBINK could be associated SDSBINK,
  1314. etc.  When these would be set up, the public area would be listed as a
  1315. secondary area.  Then all nodes listed in the PRExxx file-echo could be
  1316. "P" nodes, and non-P nodes would be in the secondary area.  This way,
  1317. there would be less chance of accidentally linking to a non-prerelease
  1318. node in the public echo. This setup would not effect the normal
  1319. operation of the public file-echos at all.
  1320.  
  1321.         EXAMPLE:
  1322.  
  1323.                 AREA d:\prebink PREBINK SDSBINK
  1324.                          1:261/662 password *HP
  1325.                          1:135/204 passw2    HP
  1326.  
  1327.                 AREA d:\sdsbink SDSBINK
  1328.                          1:261/662 passw3    *H
  1329.                          1:266/13  passw4     C
  1330.                          1:132/101 passww     C
  1331.  
  1332.      In this example, you can receive normal file from 261/662 in either
  1333. PREBINK or SDSBINK.  You can receive Pre-Release file from 261/662 in
  1334. PREBINK.  If you receive a normal file in PREBINK, all nodes listed in
  1335. BOTH areas will get it immediately.  If you receive a normal file in
  1336. SDSBINK, then only those nodes in SDSBINK will receive the file, and if
  1337. you receive a pre-release file in PREBINK, then it will be echoed to
  1338. 135/204 immediately, and will be released to the rest of the nodes when
  1339. it's ripe.
  1340.  
  1341.      NOTE:  With the addition of pre-release, it's VERY important that   
  1342. the TZ environmental variable be set properly.  If it isn't, release   
  1343. times will be off.
  1344.    
  1345.  
  1346.                              SECONDARY AREAS
  1347.  
  1348.  
  1349.      SECONDARY AREAS is another added feature, which may be used
  1350. independently or in conjunction with pre-release.  Presently, file echos
  1351. are defined with an echo tag, just as in echomail.  It is now possible
  1352. to associate a secondary echo (carrying its own echo tag) with a primary
  1353. echo.  In such a setup, any files hatched or received in the secondary
  1354. area would echo only in that area.  Files hatched or received in the
  1355. primary area would echo in both primary and secondary areas.  For
  1356. example: Someone recently mentioned in SOFTWARE that he was receiving
  1357. the new releases of "Remote Access" BBS directly from Oz in an echo with
  1358. the tag of RA_DIST (That's not the actual name, but it will serve for
  1359. now).  He now has to manually alter the tag to SOFTDIST to distribute it
  1360. via SDS.  If RA_DIST is set up as a primary area, with SDSRA as its
  1361. secondary area, he could receive the file in RA_DIST, and distribute it
  1362. in SDSRA automatically.  Note that the use of SDSRA as a secondary area
  1363. of RA_DIST does not interfere with its usual use, where it is defined as
  1364. a primary area elsewhere in the TIC.CFG file.  Also note that echoing in
  1365. SDSRA does not "flow backwards" into RA_DIST.  A segment of a TIC.CFG
  1366. with such a setup follows:
  1367.  
  1368.       Area c:\sds\softdist SDSRA
  1369.            1:266/12 Password *C
  1370.            2:512/26 Pass2     H
  1371.            1:116/29 Lhz       H
  1372.  
  1373.       Area c:\sds\ra_dist RA_DIST SDSRA
  1374.            3:333/29  Pass3   *C
  1375.            1:261/662 Pop     *C
  1376.            1:116/29  Lhz      C
  1377.  
  1378.  
  1379.      In the above segment, files passed in SDSRA will echo as they
  1380. always have.  They will NOT be echoed to 1:266/12 or to 2:512/26. Files
  1381. received in RA_DIST from 3:333/29 will be echoed to 1:261/662 and
  1382. 1:116/29 as RA_DIST, and will be echoed to 1:266/12 and 2:512/26 as
  1383. SDSRA files.  (1:116/29 will NOT receive files received in RA_DIST as a
  1384. SDSRA file, because when the primary area is processed, his seenby is
  1385. added before the secondary area [SDSRA] is processed ... He WILL receive
  1386. files that were  received  in SDSRA  as  SDSRA files, however.)
  1387.              USING PRE-RELEASE AND SECONDARY AREAS TOGETHER
  1388.  
  1389.  
  1390.      Although pre-release is independent of secondary areas, a good use
  1391. of the combination would provide additional security against the
  1392. premature distribution of a pre-released file.  What I thought of doing
  1393. was this:  Set up a primary area for each echo, and use those areas for
  1394. pre-release files only.  Each primary area would have as a secondary
  1395. area, the file echoes we all know and love.  Files that were not pre-
  1396. release would be distributed in the usual echoes. Pre-release files
  1397. would travel in the pre-release echoes, and be released into the normal
  1398. echoes at release time.  For example:  SOFTDIST is defined as a primary
  1399. echo in one part of the TIC.CFG.  PRESOFT is defined as a primary echo
  1400. in another part of the TIC.CFG, and has SOFTDIST defined as a secondary
  1401. area to it.  Only authorized nodes would be linked to PRESOFT, while the
  1402. whole world is linked to SOFTDIST.  A pre-release file would be
  1403. distributed by the SDS-RC structure via PRESOFT, and on release date
  1404. would be tossed into SOFTDIST in each region    simultaneously.  By
  1405. using the separate areas, the chance of an unauthorized node
  1406. inadvertently being sent a pre-release file is reduced.
  1407.    
  1408.  
  1409.                           COMMAND LINE SWITCHES
  1410.  
  1411.  
  1412.      There are a number of command line switches that are useful.  At
  1413. the present time these consist of /C /A /F /D /ON /OC /Rx /X.  They are
  1414. defined as follows:
  1415.  
  1416.      "/Cc:\subdir\other.CFG"
  1417.  
  1418.                This will define the file c:\subdir\other.cfg as the CFG
  1419.           file to use for this run of TICK or HATCH.
  1420.  
  1421.      "/Asoftdist"
  1422.  
  1423.                This tells HATCH that the AREA you are HATCHing into is
  1424.           the area called SOFTDIST.  It is ignored when used with TICK.
  1425.  
  1426.      "/Fc:\utility.ext"
  1427.  
  1428.                This tells HATCH that the file you are HATCHing is
  1429.           c:\utility.ext
  1430.  
  1431.      "/DThis is a useful utility"
  1432.  
  1433.           This will set the DESCription to "This is a useful utility". 
  1434.           It is used only with HATCH, and if used must be the LAST
  1435.           switch on the command line.
  1436.      "/ON"
  1437.  
  1438.                This switch tells HATCH to not loop back for corrected
  1439.           input when it can't find the FILE or AREA you are HATCHing.
  1440.  
  1441.      "/OC"
  1442.  
  1443.                Runs TICK in the "check mode".  Errors will set the
  1444.           inbound *.TIC to *.BAD, but no tossing or forwarding of files
  1445.           occurs.
  1446.  
  1447.      "/R2"
  1448.  
  1449.                This is used by Hatch only, and secifies the number of
  1450.           days to delay the hatching of this file.  "X" is the number of
  1451.           days to delay.  /R2 delays 2 days, /R0 is a normal release.
  1452.  
  1453.      "/X"
  1454.  
  1455.                This is used by Hatch only, to allow you to designate a
  1456.           filename to replace with the file you are now hatching.  The
  1457.           switch is /X, and must be immediately (no spaces) followed by
  1458.           the filename you are replacing.  The filename should NOT
  1459.           contain a path, Drive letter, or wildcard characters (* or ?). 
  1460.           If you enter "HATCH /X" by itself (no filename to replace),
  1461.           HATCH will not ask you about the replace function in the
  1462.           interactive mode.
  1463.  
  1464.  
  1465.  
  1466.                                ERRORLEVELS
  1467.  
  1468.  
  1469.      Tick and Hatch exit with the following errorlevels if there is a
  1470. fatal error:
  1471.  
  1472.               1 = Error reading a file
  1473.               2 = Error Writing a file
  1474.               3 = Out of Memory
  1475.               4 = Invalid CFG file
  1476.               5 = Invaild PATH or filespec
  1477.               6 = Processing Error
  1478.  
  1479.  
  1480.  
  1481.                             PARTING COMMENTS
  1482.  
  1483.  
  1484.      I hope you find this utility useful.  Tick may be used in any non-
  1485. commercial environment free of licensing charges.  It may be freely
  1486. distributed so long as there is no charge for it and it is distributed
  1487. only in the original archive.
  1488.      There is NO warranty with this product, and I assume no   
  1489. responsibility for any damages it might do to your system, nor any
  1490. consequential damages.  If it breaks, you own both pieces.
  1491.  
  1492.      In other words, you assume all risks should you decide to use it. 
  1493. It is working well on my system, and on the systems of those brave
  1494. sysops who have helped me beta test it.
  1495.  
  1496.      I want to thank George Peace (1:13/13), Jeff Myers (1:266/13), Bob
  1497. Germer (1:266/21), Don Dawson (1:141/730), Randall Greylock (1:321/202),
  1498. Mike Fuchs (1:266/71), Tom Hendricks (1:261/662), and many others for
  1499. their assistance in testing.
  1500.  
  1501.      Special thanks go to Bob Hartman (1:132/101), for sending code to
  1502. allow us all those wonderful variations on the FILES.BBS-type file.  I'm
  1503. certain that those of you who run a BBS that can't use a FILES.BBS are
  1504. especially grateful as well.
  1505.  
  1506.      I also would like to thank Jeff Nonken (1:103/322) for the code
  1507. which allows the paths set in the environment to end either with or
  1508. without a backslash,  Scott Dudley (1:249/106) for help with the command
  1509. line parser, and Jim Nutt for the MSG structure I used in implementing
  1510. the "Seadog-type" file attaches.
  1511.  
  1512.      Documentation produced by Erik VanRiper (1:107/230).
  1513.  
  1514.      I should also mention that Binkley is a trademark of Spark   
  1515. Software/Bit Bucket Software, Flea is a trademark of Ron Bemis, Opus is
  1516. trademarked by Wynn Wagner III, and Seadog is a trademark of SEA (System
  1517. Enhancement Associates).  (If I spelled any of these wrong or got any of
  1518. these credits wrong, I'm certain someone will tell me sooner or later.) 
  1519. Other names mentioned may be trademarked by their respective owners.
  1520.  
  1521.  
  1522.                           Barry Geller
  1523.                            Maple Shade Opus
  1524.                             1:266/12
  1525.                              609-482-8609