TAGNITE UTILITY V3.1 Note: See history.doc for updates in 3.1. TAGNITE is a nightly utility program written for TAG 2.6. To date, TAGNITE will delete inactive users, delete EMail to deleted users, delete any macros belonging to deleted users, modify up to 12 files (ASCII or ANSI) with names and amounts or uploads/downloads/publicposts, and rebuild NAMES.LST if needed. Included in this zip file should be 8 files: TAGNITE.EXE - main program TAGNITE.CFG - configuration file TAGNITE.DOC - documentation TAGNITE.CLR - sample color ansi output template TAGNITE.MSG - sample ascii output template SLTIMES.EXE - modifies the SL times on TAG HISTORY.DOC - listing of the modifications to TAGNITE SLTIMES.EXE - Sets up security levels and times REMOVE.EXE - Remove '`' marks from USER.LST. THE CONFIGURATION FILE The sample configuration file that you now have is called TAGNITE.CFG, but can be called anything you like. The name of the configuration file is passed to TAGNITE through a command line parameter (this will be explained later). The best way to explain the configuration file commands will be by showing you the TAGNITE.CFG file and explaining the options used and telling you about the variations on each command. So, print out a copy of the .CFG file or pull it into an editor or word processor. After each command is explained, take a minute to look at how it is used in the sample .CFG file. If the first character on a line is a percent '%' sign, the line is ignored, or said to be remarked out. If a double percent '%%' is encountered as the first 2 characters of a line, all lines after are treated as a remark, until another set of double percents are encountered as the first 2 characters of a line. The rest of this section will list a command, followed by the explanation of it,followed by an. GFILES PATH= Tells where to find the tag\gfiles directory. The path MUST be followed by a '\'. GFILES PATH=C:\TAG\GFILES\ TAG PATH= Tells where to find the main tag directory. The path MUST be followed by a'\'. TAG PATH=C:\TAG\ TAGNITE PATH= Tells where to find the path to TAGNITE. The path MUST be followed by a'\'. TAGNITE PATH=C:\TAG\TAGNITE\ DELETE DAYS=<0-32767> Tells how many days that a user must not have called before the user will be deleted. 0 days tells TAGNITE not to delete any users. DELETE DAYS=90 DELETE SL= Tells TAGNITE to only delete users who's SL is equal to or less than the delete SL. DELETE SL=199 DELETE TIMES CALLED=<0-32767> Tells TAGNITE to only count users who have called X number of times or less. (Since a user who has only called 1 or 2 times total, then not called for 90 days is likely to be someone who will not call again, but a user who has called 500 times then not called for 90 days most likely is just away) 0 in this field tells TAGNITE to not use this # in deciding if a user is to be deleted. DELETE TIMES CALLED=0 * NOTE * - TAGNITE will not delete a user whos PROTECTION FROM DELETION flag is set. REPORT= This is the log file that info on the daily runs will be placed into. REPORT=C:\TAG\TAGNITE.LOG TOP DATE SYMBOL= When this symbol is encountered in a template file, it is replaced with the current date (MM/DD/YY). TOP DATE SYMBOL=` TOP NAME LENGTH=<0-64> This is the size that the user name output in the output files will be. The field will be truncated or padded as needed. TOP NAME LENGTH=25 TOP INPUT FILE= This is the name of a template file used in the creation of bulletin or logon files. TOP INPUT FILE=C:\TAG\GFILES\LOGON3M.DAT TOP OUTPUT FILE= This is the name of an outputfile that is created with the help of the main template. TOP OUTPUT FILE=C:\TAG\GFILES\LOGON3.MSG *NOTE* the top output and input must be paired off. THERE MUST ME AN EQUAL NUMBER OF EACH (up to 12 each!) LEECH SYMBOL= When this symbol is encountered in a template file followed by a number, it will be replaced with the leech of this orders name. If it is encountered followed by a number followed by the leech symbol again, it will be replaced with the leech amount. LEECH SYMBOL=% LEECH SL= Tells TAGNITE to only count users whos SL is equal to or less than the leech SL. LEECH SL=199 LEECH CHECK BY= Tells TAGNITE how to calculate leeching.'C' means per call leeching.'R' means ratio of downloads to uploads. LEECH CHECK BY=R LEECH BY= Tells TAGNITE to calculate leech formulas with K-bytes or number of Downloads. LEECH BY=K UPLOAD SYMBOL= When this symbol is encountered in a template file followed by a number, it will be replaced with the uploader of this orders name. If it is encountered followed by a number followed by the uploader symbol again, it will be replaced with the uploaders amount. UPLOAD SYMBOL=^ UPLOAD SL= Tells TAGNITE to only count users whos SL is equal to or less than the uploader SL. UPLOAD SL=199 UPLOAD CHECK BY= Tells TAGNITE how to calculate uploading.'C' means per call uploads.'R' means ratio of uploads to downloads. UPLOAD CHECK BY=R UPLOAD BY= Tells TAGNITE to calculate upload formulas with K-bytes or number of uploads. UPLOAD BY=K POST SYMBOL= - when this symbol is encountered in a template file followed by a number, it will be replaced with the poster of this orders name. If it is encountered followed by a number followed by the poster symbol again, it will be replaced with the posters amount.(POST IS ONLY CALC'D BY #POSTS PER CALL) POST SYMBOL=@ POST SL= Tells TAGNITE to only count user whos SL is equal to or less than the post SL. POST SL=199 MAX TIME SL= Tells TAGNITE what the upper SL limit is when calculating a new SL. MAX TIME SL=180 MIN TIME SL= Tells TAGNITE what the lower SL limit is when calculating a new SL. MIN TIME SL=5 LOGON SL CHANGE= Tells TAGNITE how much to add or subtract to the base SL based on how many times the user has logged on. LOGON SL CHANGE=-2 POST SL CHANGE= Tells TAGNITE how much to add or subtract to the base SL based on how many times the user has made a public post. POST SL CHANGE=3 UPLOAD SL CHANGE= Tells TAGNITE how much to add or subtract to the base SL based on how many files the user has uploaded. UPLOAD SL CHANGE=5 DOWNLOAD SL CHANGE= Tells TAGNITE how much to add or subtract to the base SL based on how many files the user has downloaded. DOWNLOAD SL CHANGE=-3 BASE TIME SL= Tells TAGNITE what security level to use as a starting point before adding and subtracting for posts/logons/uploads/downloads. BASE TIME SL=45 REPORT LOGON ATTEMPTS= This tells TAGNITE to report illegal logon attempts on an account that exceeds this number when TAGNITE is run. REPORT LOGON ATTEMPTS=5 SEND MESSAGES TO= All important messages that go in the report file can also be placed in a 1 line message to the specified user. If this user has his mail be forwarded, then the forwarded to user will get the messages. If set to 0 no messages will be sent. SEND MESSAGES TO=1 CHECK STATE BY ZIPCODE If this line is present in the configuration file, TAGNITE will attempt to verify a user's zipcode against the state that the user is in. NOTIFY USERS OF PROBLEMS If this line is present in the configuration file, TAGNITE will send "SHORT MESSAGES" telling him that there is a problem with his account. (i.e. bad zipcode/state combination). WHAT IS A TEMPLATE FILE? The template files are optional files that allow you to format the 'top output' files. After TAGNITE calculates the amounts for leeches, uploaders, and/or posters, it then sorts them from the highest to lowest. It then reads in your template files and looks for the symbols telling where to insert data. (TAGNITE INSERTS, NOT OVERWRITES). Thus, if the template file line read as follows: TODAYS DATE IS `! if ` is the symbol for the current date, then the output files version of the line will read as follows: TODAYS DATE IS 05/09/91! The leech, upload, and post symbols all act in the same way, so to save myself time, I shall explain it with only the post example. Let us say that the post symbol is @, and the output name length is set to 10. Giving the following template file: TOP 2 POSTERS AS OF `. 1) @1@ posts per call for @1. 2) @2@ posts per call for @2. The output file should read something like this: TOP 2 POSTERS AS OF 05/08/91. 1) 2.23 posts per call for King Arthu. 2) 2.21 posts per call for Fireman . Note that the 2nd line was truncated on the name, and the 3rd line was padded on the name. WHAT IS THIS ABOUT RECALCULATION OF THE SL? One of the features of TAGNITE lets you restrict people by time, rather than by the ratios that TAG lets you use. I use this feature on my bbs, and the concept is simple. TAGNITE will give time or take time from a user each time they post a public message, logon the system, upload a file, or download a file. You set the limits on the time given, and who can be recalculated. If the Ignore Ratio flag is set on a user, TAGNITE will not recalculate the time. Also if the users SL is above the MAX TIME SL or below the MIN TIME SL the time will not be recalculated. On my bbs I take 2 minutes each time a user calls. This is because if they call and do nothing positive for the bbs then I do not feel that the call was worth it. I give 3 minutes for each public post, take 3 minutes for each download, and give 5 minutes for each upload. The catch is that TAG does not keep track of the users time, but time used. So what TAGNITE changes is the users SL. Since the SL directly effects the users time. Just make sure that you make the SL time between the MIN and MAX SL TIME levels go in increments of 1 minute. To speed you up in modifying the SL times, I have written a program called SLTIMES.EXE, this will make the time equal the SL level. Just run it if you want to use the time feature of TAGNITE, and only run it once (it only changes the SL times for level 1 thru 254). WHAT ARE THE CONFIG DEFAULTS? Option Default if option not in .CFG file. ----------------------------------------- Delete days 90 days Delete Report No report Delete Times Called 0 (do not use this field in deletion) Delete SL 0 (no deletion of users) Leech Symbol No symbol set (no leech calcs done) Leech SL 0 (no leech calcs done) Leech Check C (calculate by calls) Leech Type D (calculate by number of dls) Upload Symbol No symbol set (no upload calcs done) Upload SL 0 (no upload calcs done) Upload Check C (calculate by calls) Upload Type D (calculate by number of uls) Post Symbol No Symbol set (no post calcs done) Post SL 0 (no post calcs done) Top Input Files NUL (no template files or output files used) Top Output Files NUL (no template files or output files used) Top Name Length 36 Max Time SL 0 (no SL calcs done) Min Time SL 0 (no SL calcs done) Logon SL Change 0 (no SL change for logons) Post SL Change 0 (no SL change for posts) Upload SL Change 0 (no SL change for uploads) Download SL Change 0 (no SL change for downloads) Base Time SL 0 (the only movement on the SL can be up) Report Logon Attempts 0 (no reporting of them) Report Messages To 1 (this should be the sysop) NOTE: ANY OPTIONS NOT LISTED MUST BE DEFINED IN THE .CFG FILE! HOW DO I RUN TAGNITE? Simple question, simple answer. at a DOS prompt or in an event batch file enter the following: TAGNITE defaults to TAGNITE.CFG in the current directory. CREDIT WHERE CREDIT IS DUE Thanks must be given to the following people: Robert Numerick and Victor Capton for the listing of the TAG 2.6 data structures. John Haluska for his Quicksort routines for Pascal. Peter Yao for pointing out slight oversights in TAGNITE. Mike Depetris for helping test TAGNITE. David de Gil and Ira Tessler for making TAGNITE. ALMOST DONE We have other features that we plan to put in the next versions of TAGNITE, but I would like to hear from you on what new features you would like to see in the future releases of TAGNITE. DONATIONS If you find this software useful, please send a donation of $20 to: Ira Tessler Starbase 30-A BBS 235 Paddington Ct. Manalapan, NJ 07726 Home BBS: Fidonet 1:2605/609 Starbase 30-A (908) 972-6980HST/V32bis FREQ 'TAGNITE' for the latest version of TAGNITE. T.A.G. NITE SUPPORT ECHO The TAGNITE support echos is available via local distribution. We'll try to get this on the backbone as soon as we have enough nodes. Please netmail me @ 1:2605/609 if you are interested in receive this echo.