                        TPK-7 ver. 1.3R by Ken GM1JLP


                              What is TPK-7 ?

     It is a powerful, multi-featured server for adding to the excellent
     Automated Packet Program TPK by F1EBN.


                        What you need to use TPK-7 ?

     First of all, you must have TPK ver. 1.82. (Sorry but this only runs
     on a MS-DOS computer) A printed copy of the TPK manual may be helpful.
     Though it is possible to run TPK and the TPK-7 Server on a XT
     computer, a 286 AT or better with 1 MB. of memory is recommended
     for best operation.

     * IMPORTANT!! Before installing this software Read this doc file!

     Many hours have gone into write this documentation in order make it
     easier for you to get TPK-7 running properly. PLEASE don't let our
     efforts be wasted.. READ THE DOCs!  It is hoped that we have covered
     everything  you will required to have a successful installation.


                           Contents of TPK-7.ZIP

     TPK-7.DOC  This documentation file formatted for printing on an IBM
     TPK-7.EXE  Executable program.
     TPK-7.CFG  Sample Configuration file for TPK-7.EXE (MUST be modified!)
     DIRC.EXE   Simple program to generate the DIRC.TPK file.
     DIRC.TXT   Text file on how to use DIRC.


     TPK-7 is a server for TPK 1.82 that automatically takes care of:

     1. Sends ACKnowledgements when messages with /ACK or /QSL are
        received.

     2. Sends *.COR files upon reception of *.ERR messages.
        (as long as the original files is in the specified directories)

     3. Notifies you if files can't be found or if they are not in the
        right place.

     4. Sends *.ERR messages when received 7+ messages are not decoded
        successfully.

     5. Sends re-formatted DIRC.TPK upon reception of a /REQDIR message.
        (can also use separate file in place of DIRC.TPK)

     6. Sends file(s) in 7+/ascii upon reception of /REQFIL message(s).

     7. Allows setting of a limit on the number of files downloadable
        by each user per MONTH.

     8. Auto 7plus decoding/deleting and delayed sending (if required)

     9. When 7plus is decoded, it allows for the moving to a different
        directory.

    10. Sends a message to you when the 7+ file has been decoded ok

    11. Allows you to have a file to specify calls not to send files to.

    12. Creates a log of all user requests and the return from TPK-7.

    13. Has a detailed debug mode for checking problems during setting up.


                          Detailed TPK-7 commands

    /REQINFO - sends the user a message informing them of how to use the
               server.

    /REQDIR - sends the user a reformatted DIRC.TPK file split up into
              parts, if necessary. Part sizes are set with DirSize in
              TPK-7.CFG.  (DIRC.TPK can be replaced with any filename you
              like as long as the format is retained and the name changed
              in the TPK-7.CFG)

    /REQFIL - When a /REQFIL is received the program looks in the DIRC.TPK
              to see if the file is in the list. If it finds the file name,
              it then looks to see if the file exists in its indicated
              directory.  If the file is location, it is sent in parts as
              set by PartSize and if the MaxPer is set then they are added
              to the out-going stack  to send later,  otherwise they are
              added to MAIL.IN for TPK to handle at the next forward
              session.

     * You might see in the  MSG_PRIV list the size of the outgoing 7+
       climbing in increments of PartSize.   e.g. 2000 4000 6000 etc.

     This  is a  bug in  TPK  not the  TPK-7 server. The 7+ is of the
     PartSize but TPK doesn't read the MAIL.IN properly in this case.
     The parts will be sent properly it is only in the list that they
     appear as large files.

     If the requester asks for a file that is not in the DIRC.TPK then
     they will be sent a  message requesting them to check the spelling
     and re-request.

     If the requester asks for a file that is in the DIRC.TPK, but not
     in the location specified in DIRC.TPK, they will be sent a message
     telling them of the problem and that you have been advised.
     You will be sent a message advising of the problem.

     TPK-7 also allows a PART to be requested. This is also done by the
     /REQFIL command used the following way:

     /REQFIL <filename.ext> <Pnnn>   e.g. /REQFIL TPK-7.ZIP P01
      Would send ONLY part 1 of the TPK-7.ZIP file to the sender.

      (This only works on 7+ files not text files.)

     Multiple requests are allowed so that the requester can ask for
     several files or parts at once. NB /REQFIL *.* does NOTHING other
     than sending the user a message asking them to check the spelling.

     If more parts are requested than allowed, the requester will be
     sent a message saying: "Too Many Files" were requested.

     * The maximum number of requests per month can be set in the TPK-7
       configuration file.


     7+ Reception :

     If you receive a 7+ file in its entirety then TPK-7 will send you
     a private message informing you of the reception of the whole file,
     if MoveDecoded is set then it will be moved to the directory specified
     in the MoveTo setting, else it will be left in the SaveDir directory.
     (see TPK-7.CFG file settings).

     If  you receive a private 7+ message then TPK-7 will send back an ACK
     to the  sender to inform them that the file has been received.
     (when all decoded OK)

     If you download a 7+ file that needs correcting then TPK-7 will send
     a .ERR  message to the sender of the file requesting a .COR file.


     .ERR reception :

     If you receive a .ERR message from a user then the .COR will be
     automatically generated and sent to the requester If the file is
     found in the directories listed at the end of the TPK-7.CFG file.


     .COR reception :

     If you get a .COR file, TPK-7 will try and correct a file in the
     SaveDir if  no file is found then the .COR file will be deleted,
     else if the correction is successful you will be sent a message,
     and if the MoveDecoded is set it will be moved to the new directory.


     Log File :

     The log file is called TPK-7.LOG and is in the TPK home directory.
     This will contain details of the user's callsign and file that they
     requested, along with the response from TPK-7 (Sent/not found etc)


     Debug File :

     This file called TPK-7.DBG and is located in the TPK home directory.
     It allows you to see in detail what TPK-7 is doing. e.g. If a /REQFIL
     is received then the debug file will contain a search of the DIRC.TPK
     file to look for the file specified, if found the command line passed
     to 7Plus and the return from 7Plus. The file is appended to each time
     TPK-7 is run.
     (Runs are separated by ***** start of main debug and ***** end of main
      debug.)

     * Only use debug mode for setting up and testing!
       This file can grow VERY large, so remember to delete it from
       time to time!


     Installation of the TPK-7 server :

     The installation is very straight forward.

     Put TPK-7.EXE in your main TPK directory or SERVERS directory.
     (e.g.  C:\TPK or C:\TPK\SERVERS directories)

     Put TPK.CFG in the same directory as TPK-7.EXE.
     Change the settings in TPK-7.CFG to customize YOUR settings.


     Changes to CONFIG.TPK :

     Make the following changes to your CONFIG.TPK file.

     Add :  BR RXMSG SE C:\TPK\TPK-7.EXE  (change DIR if needed)

     Also in your CONFIG.TPK file DELETE or place a '#' in front of
     any line containing 7plus in it, this includes :

     br rxmsg 7plus decode
     br rxmsg 7plus encode
     br txmsg 7plus encode


     * This is because TPK-7 decodes all the incoming 7+ and handles
       the error and corrections automatically.

     * Sending of 7plus by pressing ALT 7 from within the TPK message
       editor is NOT effected.


     Set-up of the DIRC.TPK file :

     The /REQDIR server uses the DIRC.TPK file to send a list of files
     to the requester.

     The  directory  info is  not sent,  only the  files & their
     descriptions as you have them set-up in your DIRC.TPK file.

     This is a text file that you can modify in your text editor.
     You can make various changes to customize this file listing as long
     as you have the &c:\files\text\ and file name in the proper location.

     * The DOS editor works fine for this. (EDIT.COM - MS-DOS ver. 5 to 7)

     For the /REQFIL part to work you MUST set up a DIRC.TPK file.
     This is done as per the TPK (1.82) manual page 92.
     You can also use the  DIRC.EXE also by GM1JLP.
     (Read the DIRC.TXT file that comes with DIRC.EXE for info).

     You can now have a separate file list for TPK-7. The file must be
     in the same format as DIRC.TPK. See FileList setting in TPK-7.CFG.


     Sending TEXT files :

     TPK-7 can also send Text files without changing them to 7plus format.
     To send file as Text, you must make the following change in your
     DIRC.TPK file. Add the word TEXT to the line containing the directory
     of the file.

     e.g. &c:\files\text\ TEXT

     * Be sure that all files set-up this way are text files.
       As this will only work with ASCII text files.


     Setting up the TPK-7.CFG file :

     Explanations of some of the settings in the TPK-7.CFG file:

     NB: Any line beginning with a # is ignored.

     DO NOT alter the order of the lines!
     You can add comments preceded by a # at the start of a line.

     ACK=

     If ACK=0 then ack/qsl lines will be ignored. If ACK=1 ack/qsl requests
     will be answered with your Ack message. They will also be advised of
     the time and date there message was received.

     AckFile=

     Change AckFile to the name of the file in your TPK directory
     containing the message that you want appended to ack/qsl messages.

     * If this file is not found then no text is added. Only the Date/Time
       received is sent. This allows you to customize your Ack messages.

     DEBUG=

     If DEBUG=1 then a file TPK-7.DBG is created where you will see what
     the server did every time it was called. This enables you to pin-point
     a error if something goes wrong (doesn't it always?).

     TPKDIR=

     Change the TPKDIR according to where TPK.EXE is located. TPK-7 needs
     to know where to find the main TPK directory.

     SAVEDIR=

     Change the SAVEDIR to where you want the incoming 7+ to be saved.
     * * This DIRECTORY MUST EXIST! * *

     FileList=

     Change this to the name of your file list. This can remain as DIRC.TPK
     if you like. Or you have the option of having a separate file list for
     TPK-7 and call it what you like. The file must be in the same format
     as the DIRC.TPK. This allows for having a file list for local users
     that is different from the one used for TPK-7 file requests.

     MoveDecoded=

     If MoveDecoded=1, decoded 7+ files will be moved to the directory you
     have set as the MoveToDir. SET to 0 if you want the files to stay in
     the SAVEDIR.

     MoveToDir=

     The MoveToDir should be changed to were you want the decoded 7+ files
     to be saved, if you have set MoveDecoded to 1.

     7PLUSVER=

     The 7PLUSVER should be set to what version you are using.
     e.g.  2.11=211, 2.15=215 etc.

     PartSize=

     PartSize should be set to the size of sent 7+ you want. If greater
     than 10KB or less than 1KB it will reset to 3KB parts.

     NumberPer=

     The NumberPer should be set to the total number of parts that you want
     sent out over a 24 hour period. (0 means l don't care send them all)

     NB This only effects /REQFIL bits, not any 7+ generated from within
        TPK.

     AutoKill=

     If AutoKill is set to 0 then received 7+ messages will be marked '+',
     if set to 1 then, after successful decoding, the messages will be
     killed. The decoded 7+ will remain in the SaveDir until all parts
     are received.

     Tpk-7Kill=

     If Tpk-7Kill=0 then TPK-7 generated messages remain in the message
     list. If set to 1 these messages will killed. This only effects SENT
     messages from TPK-7 (e.g. ack's, directory lists, etc)

     Indent=

     Set Indent to 0 if you only want to respond to /REQ's at the start
     of a line or 1 if you are allowing it to be offset by spaces/Tabs.

     NB If there is anything BEFORE the /REQ then the /REQ is ignored.

     TextSize=

     TextSize is set to the maximum size of ASCII sends. This applies
     to directory and /REQFIL'd text files. If set to 5000, the file will
     be split in to 5000 byte long parts. If files are smaller they are
     send in  one message, else they are split into TextSize parts and the
     subject  line will contain P0x/0d. Where x is the part number and d
     is the total  number of parts. (There is a certain amount of
     flexibility in the size, in that it allows for files of greater than
     the size by 300 bytes to be sent as one message or part)

     MaxReqs=

     MaxReqs is set to the maximum number or file requests you want to
     allow per user month. It must be >0! If you don't want a limit set it
     to 300 or so.

     No of BBS calls=

     This is the number of bbscallsigns that are following, One per line
     please. If your country uses a standard callsign for bbs's (like UK's
     GB7xxx then just put in the first set of the call , in the UK GB7)


     Directories to search for corrections to .ERR files:

     Enter the directories that will be searched for corrections to
     .ERR files.

     * Remember... only one Directory per line.


           That's all there is to setting up the TPK-7.CFG file!

                                   * * *


     To allow the Killing/Marking of 7+ AND the DELAYED SEND
     ************** You must do the following **************

     The update of the message lists AND 7+ bits to send is done when you
     call TPK-7 with the command UPDATE.

     If you do NOT use MakeList (or similar) Put into the INITDCNX macro :

     INITDCNX /exec TPK-7 UPDATE^M  (change the TPK-7 to point to where
     you have TPK-7 stored,   if not in the TPK home DIR) You can create
     this MACRO from TPK main screen, by pressing Alt-M.

     If you don't have an INITDCNX macro press A then type in the above
     line, then press enter. Choose Q and Y to save.
     (NB INITDCNX and UPDATE must be in UPPER CASE)

     If using MAKELIST, modify your MAKELIST macro by adding the line:
     /shell TPK-7 UPDATE^M at the end.

     You can also put it on a MACRO key. (e.g. shift F1)  You can then run
     it occasionally or put it on a timed macro. You can make a MACRO
     key from TPK main screen, by pressing Alt-T.
     (See TPK DOCs for details)

     This is also used by the Updating of the filelists to '+' or 'K'
     so in all cases please set this macro, even if you don't use the
     delayed send.

     When the macro is run,  IF TPK-7 does anything then it will put
     a message  in the capture window of TPK.

     Messages are :

     1) Deleting d:\ttt\xxxxx\ttttt->nnnnn

     2) Updating d:\ttt\xxxxx\ttttt->nnnnn

     3) Moving nn 7+ messages to MAIL.IN     : ONLY IF DELAYED SENDING

     In cases 1 & 2 the d:\ttt\xxxxx\ttttt will be the message list it
     is working  on (i.e. the BBS or MSG_PRIV) and nnnnn will be the
     message number. (d:\ttt\ is the TPK home DIR xxxxxx will be the lists
     directory (usually LISTS))

     e.g. Updating C:\TPK\LISTS\MSG_PRIV->1234

     In case 3 the nn is the number of 7+ messages that it is sending.  If
     you have a limit of 12 and 3 to send and NONE have been sent today
     then it will be 3, if say 10 had already been sent then it would be 2,
     leaving 1 to send tomorrow.

     NB TPK-7 DOES NOT TOUCH MSG_PRIV.NUM or BBS.NUM files.
        Only the .LST  files are modified.


     Files created :

     NUMB.7   - Date and number sent and number left to send
                ONLY if delayed sending is enabled

     MAIL.7   - 7+ Parts left to send
                ONLY a/a

     Numb.Dat - Data for marking the lists with the '+' char.
                ALWAYS

     (MAIL.IN - The import mail file read by TPK.)


     IGNORE.LST :

     The IGNORE.LST is optional and if it does not exist then anyone
     can get files from you. BUT if a call is in the IGNORE.LST and they
     send you a  message containing a /REQ*, /ACK or /QSL then it will be
     ignored.

     NB Do not append the BBS callsign as this may cause errors as
        TPK does not always append the @BBS.


     Sample IGNORE.LST

     # This is a sample IGNORE.LST
     # any line beginning with a
     # is a comment line
     A1PEST
     # the above callsign would be ignored by TPK-7 so any
     # ack/qsl/req requests would be ignored.
     # just add callsigns as you require.


     The Ack/Qsl return allows you to append a text file to it, This file
     should be in your TPK directory and be called what ever you have
     specified on the AckFile= line in the CFG file.


     Examples of ACK.TXT files :

     73 from GM1JLP




     Documentation for this version of  TPK-7  were modified and updated by
     VE5KC - Ken from the Ver. 1.0. DOC file, information from GM1JLP and
     personal experience gained as a beta tester of  TPK-7. The file has
     been spell checked several times. An attempt has been made to have
     proper page breaks those of us who like to print out the DOC files.
     Some IBM printer codes have been used in formatting this file. Despite
     the hours spent in editing there may still be errors.
     (hopefully not too many... hi..)

     TPK-7 ver. 1.2 has under gone several months of  beta testing. This
     has be a co-operative effort with GM1JLP,  ver. 1.0  users and beta
     testers world wide, all doing their part with suggestions for
     improvements and changes.

     This was an excellent example of how we can use packet (and Internet)
     to co-ordinate and work on a project!  Ideas for changes or beta
     problems were quickly exchanged as were rewrites and program updates.

     Thanks to ON4BAM - Maurice for his help in generate the Ver. 1.0. doc
     file and to  the beta testers around the world!

     !! A SPECIAL THANKS to GM1JLP for all the time and effort in making
        TPK-7 an exceptional server, from myself & fellow TPK users !!

     This program is provided AS IS and with no warranty as to its
     suitability for your particular set-up or configuration. l will not
     be held responsible for any data loss real or imagined that  may be
     caused by the running of my program. The program is used entirely at
     the users option.

     TPK-7  Copyright  (c) 1995 TraqSoft.



     FREE use of TPK-7 is granted to all BONA FIDE Radio Amateurs.
     (A note of thanks to Ken would be nice! - VE5KC)

     Written by : Ken GM1JLP@GB7JED.#71.GBR.EU
     via internet to Ken@tp.scotborders.co.uk

     (Written in Borland C++ ver 3.1)

     All copyright's acknowledged!


                                  * * * * *


     Ver 1.0R  First Official Public Release.

     Ver 1.2R  Second Public Release.

     Ver 1.3R  Third Public Release

     -  Added save sender to d/led 7+

     -  Added Killing of TPK-7 generated files after sending

     -  Added fix for err files that start with a NULL char in position 1

     -  Added fix for From lines from tcp/ip senders with the T:From line

     -  Changed the CFG FILE.

     -  Added MOVE decoded file to new DIR if required AND NOT move
        if already exists.

     -  Updated MOVE to show file size of decoded file.

     -  Added a kill to stop multiple /ack,/qsl loops. Now will NOT
        send a qsl/ack if the subject line is TPK-7 ACK: (or QSL)

     -  Added a tpk-7kill= in the CFG file. If =0 the it will LEAVE
        TPK-7 generated messages in the list, if =1 will kill them as
        before.

     -  Changed the way that l search the MSG_PRIV.LST. If a * is found
        before the end of the file then that is treated as the last MSG
        for TPK-7's  UPDATE function. This is because TPK will send out
        7+ in batches and the text could be after the 7+ so that the kill
        would jump over the UNSENT  7+ if message from TPK-7 had been sent
        further up the list.

     -  Added MaxReqs to  limit the Maximum number of files that can
        be requested in a Month. his means that you can limit stations
        requesting too many files by setting a monthly max.

     -  Modified it so that the update of files requested IGNORES Parts
        and failed

     -  DOC file now formatted for printing with headings and page numbers

     New for 1.3R :
     -  Added don't send 7+Ack's to BBS or Auto7p/7pServ handlers

     -  Fixed a bugette that wouldn't send text files over 32K in size.

     Ver 1.31R Fix for a release in the USA.

     Other TPK Servers by GM1JLP Available :

     TAGLINE.ZIP  -  Add your personalized signature automatically to
                     messages you send. The time and date the message
                     is sent is also added.  Optional "TAGLINE" sayings
                     can also be randomly added.

     TPK-7BUL.ZIP -  If you are using delayed sending of 7+ and want
                     to delay  bulletins as well as /REQFIL's. This
                     program is called when you are sending the bulletins
                     and it adds them to the 'To-send'list of TPK-7. They
                     will then be sent out at the rate specified in the
                     TPK-7.cfg file. (NumPer part)

     LISTSRV.ZIP -   Allows messages or 7plus to be sent to a group
                     of people in a list. It has delayed sending if used
                     with TPK-7.

     These files can be received by send a /REQFIL <file> or a /REQDIR
     for a complete listing of available files on your nearest
     Files Server.

     (Please.. Use file servers as close to your QTH as possible!)

     TPK-7 File Servers : (check for updated list:  SERV_LST.TXT)


                          -------------------------

     GM1JLP@GB7JED.#71.GBR.EU        (Ken  -  Scottish Borders, UK.)
     VE4UA@VE4KV.#WPG.MB.CAN.NOAM    (Werner - Winnipeg, MB. Can.)
     VK2YX@VK2TGB.NSW.AUS.OC         (Pete   - Australia)
     ZS6ANW@ZS6AI.TVL.ZAF.AF         (Joe - Africa)
     ON4BAM@ON6AR.#AN.BEL.EU         (Maurice - Belgum)

                                --------------------------

Note from the Author :

 l have had very little to do with the writing of the txt & doc files for TPK-7
it was generated by Ken VE5KC (.doc) and Ernie G3ZXN (.txt) so any flames....

But seriously .. l have put a lot of effort in to the writing of this program
and am going to ask YOU to do someting for me (...groan... l hear!!)
NO l am NOT GOING TO ASK FOR MYSELF...........................................

Unlike some authors who want money l am asking for CHARITY, not for me but
for some of the animals who have been abandoned or mistreated.

If you use TPK-7 and find it usefull , please send a DONATION to your local
ANIMAL SHELTER or to BORDERS ANIMAL WELFARE , c/o me and l will pass it on.
The donation can be 50p, a can of dog food or WHY. l dont care, all l am looking
for is some help for the shelters. l myself have a rescued dog (a 4 year old
German Shepard/ Rough Collie X who is totally MAD!!! we have had him for 2 years
now) and have given one to my mother-in-law ( a Cairn terrier).

These shelters run PURELY on donations and so l am hoping that some tpk-7 users
will come forward and donate something to them.

If however you feel that that is too much touble / costs too much then please
delete tpk-7 from your system.

On a final note :
 A HUGE thank you to all of the beta testers, l woln't name you but you know who
 you are. Thanks for the feedback, suggestions (GROAN!!!) and bug reports
 (TOO MANY!!!! ;-))))))
YOU are the people who have made TPK-7 ONE (if not THE) BEST SERVER's for TPK!!!

Ken GM1JLP
