news | mergeVFS | nRsfv | Other utils
information | download | documentation | usage example | FAQ

Table of Contents

Installation Instructions
 >>Installation instructions for RaidenFTPd
 >>Installation instructions for G6FTP/BULLETPROOF FTP

Variable Explanation
 >>Regular Variables
 >>Racing Variables
 >>Advanced Variable Explanation

Documentation / Explanation
 >>INI entry explanation

 

How to install nRsfv for RaidenFTPd
(1) Extract zipfile to any folder of your choice
(2) Copy the RaidenModeX.ocx control to your Windows\System32 folder
(3) In the start menu, click "run" then type "regsvr32.exe raidenmodex.ocx", hit enter
(4) edit nrsfv.ini file to suit your sfv needs (see ini explanation)
(5) in RaidenFTPd goto VIEW -> PREFERENCES and uncheck "Rename badly uploaded files to *.bad"
(6) edit your *.FTPd with the following information:
onFileUploaded=file://C:\path_to\script\nrsfv.exe %^\%= %> -u:%S -l:%V -w:%g -y:%J -b:%a -g:%B
NOTE:Some have found it more effective to use an exec:// instead of a file:// for the above command,
as the exec:// prefix will prevent a user from uploading the next file until the current file finishes being checked.
onFilePreDelete=exec://C:\path_to\script\delinc.exe %^\%=
(6a - optional) edit your sitecmd.ini with the following information (see this page) for more help on sitecmd.ini
check=file://C:\path_to_exe\nrsfv.exe %^ %! -u:%S

How to install nRsfv for G6 or Bulletproof FTPd
(1) Extract the zipfile to any folder of your choice (2) Copy the RaidenModeX.ocx control to your Windows\System32 folder
(3) In the start menu, click "run" then type "regsvr32.exe raidenmodex.ocx", hit enter
(4) edit nrsfv.ini file to suit your sfv needs (see ini explanation)
(5) In the events manager in G6, change onFileUpload to execute C:\path_to_program\nrsfv.exe %DIRTARGET%FILENAME -u:%CLIENTLOGIN
note1: in G6 the following variables are not avaiable: %l,%y,%h,%o,%w,%RL,%RG
note2: if you have outputs involving the racer variables, your .message file might look like
shit if you have multiple uploaders. This is a raiden script, and that is our focus,
therefore fixing these issues is low on the priority list. G6 is relatively untested
and if you run into issues please email me explaining and maybe i can fix them.

 

Variables
M=Available in MSGFILE, H=Available in HEADERMH
%gnumber good filesXX
%bnumber bad files (exclusively bad, missing & error files not included)XX
%cbadfiles + errorfilesXX
%dbadfiles + missingfilesXX
%kbadfiles + errorfiles + missingfilesXX
%mnumber missing filesXX
%enumber of errors in reading sfvXX
%ttotal number of filesXX
%unumber unchecked filesXX
%npercent goodXX
%ppercent barXX
%%%XX
%rrelease nameXX
%iusernameXX
%wgroupXX
%fsize of # files been uploaded (in KB)XX
%Fsize of # files been uploaded (in MB)XX
%laverage upload speed (note: only available when sfv is complete)XX
%yID3 YearXX
%hID3 GenreXX
%oID3 BitrateXX
%#1~9fill spaces (further explanation)X 
%Qcurrent dateX 
%qcurrent timeX 
%<spacing feature start tagX 
%>10#spacing feature end tag (see further explanation here)X 
Racing Variables
All of these variables are only allowed in the MSGFILE
%RURacer username
%RGRacer Group
%RLRacer Average Speed
%RSbSize of files racer uploaded in KB
%RSmSize of files racer uploaded in MB
%RFnumber of files racer uploaded
%RCunumber of racing users
%RCgnumber of racing groups (NOT AVAIL YET)
%RPRacer percent of release uploaded
%RRRacer Rank (2 digits)
%@if this var is added to a msgline, the line will only be displayed if the release is complete
see the ini example to better understand racing output possibilities.
INI ENTRIES EXPLANATION
KEYTYPEExplanation
Green selections support the use of variables
[Header Setup]
MK_FOLDER_HEADER boolean (0=off,1=on) Make header "SFV CHECK IN PROGRESS - PLEASE WAIT" in folder being checked. Is deleted after SFVcheck is complete.
FILE_HEADER boolean (0=off,1=on) Use 0-byte file header instead of folder header.
MK_FO_HEADER_PARENT boolean (0=off,1=on) Make header "RELEASE_NAME_HERE - SFV CHECK IN PROGRESS - PLEASE WAIT" in parent folder. Is deleted after SFVcheck is complete.
SHOW_ESTIMATION integer (0=off,1,2,3...etc) Make a folder showing an estimation in the folder being checked of how long SFVcheck will take. 0 for off, 1 for after one file, 2 for average time over two files, 3 for averge time over three files...etc Is deleted after SFVcheck is complete.
DISABLE_INT_CRC boolean (0=off,1=on) This will disable checking any unchecked files on execution of nrsfv.exe, and will rather only check the one file sent to nrsfv.exe in the parameters. (Ignored when the file is an SFV.) (It is recommended you set this to 1, otherwise you may get locking errors in raiden b/c of file control conflicts [if user is disconnected and upload fails, then reconnects and tries to resume upload, file may be locked by nRsfv)
ZIP_TIME_WAIT integer (0~255) This value will determine how long (in seconds) to wait for unzip.exe to extract the file_id.diz from a Zipfile before proceeding with CRC check. This only occurs when the file_id.diz is not yet present in the folder being checked. Default is .25, any value higher than 1 (1 second) is not recommended unless your connection speed is less than 250k/s. If you find that your first ZIP is not being counted in the ZIP total, try increasing this value.
[Parent header setup]
MULTICD_KEYS string These values will count as multiple CD toggles. Seperate each with a | character.
Example:MULTICD_KEYS=CD1|CD2|CD3|CD4|CD5|CD6|CD7|DVD|EXTRA|SAMPLE
MK_PARENT boolean (0=off,1=on,2=only if release is multi-disk) Turn parent directory folder making on or off (see next three options) Note: setting this to 2 will force UP_TWO_IF_MULTI to 0. If you don't want this to happen then e-mail me and explain why it should be changed.
USE_FILE_HEADER boolean (0=off,1=on) Use file header instead of folder header. This will control parent directory headers too
UP_TWO_IF_MULTI boolean (0=off,1=on) If a release is multi-CD, this will determine where to put the parent directory complete/incomplete message
Example: If this is set to 1, and you are checking C:\FTP\Terrible.Movie-FTr\CD1\shit.sfv, the message will be written in C:\FTP. If set to 0 it would turn up in C:\FTP\Terrible.Movie-FTr.
INC_MAKE_IN_PARENT string Make folder in parent directory if release is incomplete Set to blank to disable making any folders when SFV is incomplete.
Example: INC_MAKE_IN_PARENT=_%r Incomplete_
COM_MAKE_IN_PARENT string Make folder in parent directory if release is complete Set to blank to disable making any folders when SFV is complete.
Example: COM_MAKE_IN_PARENT=[%r Complete]
PARENT_PATH_OVERRIDE_I string If you enter a value here, the parent directory incomplete message will be written in the path entered
Example: If you enter PARENT_PATH_OVERRIDE_I=C:\FTPROOT, any FTP incomplete dir headers will be reported to your FTProot folder
PARENT_PATH_OVERRIDE_C string If you enter a value here, the parent directory complete message will be written in the path entered
Example: If you enter PARENT_PATH_OVERRIDE_C=C:\Documents and Settings\administrator\desktop, any FTP complete dir headers will be reported onto the desktop.
[SFV Setup]
APPEND_MSG_to_SFV boolean (0=off,1=on) Append your defined message to the SFV
APPEND_MSG string A message you wish to write to the SFV. It will be written starting on line 1 of the file.
Example: To write multiple lines enter lines in the SFV like this:
APPEND_MSG= This file has passed through a ftp..
APPEND_MSG= go to hell
DELETE_SFV_COMMENTS boolean (0=off,1=on) Delete commented lines in SFV beginning with ";" when executed. this is only done after the SFV checks complete.
KEEP_WSFV_COMP boolean (0=off,1=on) Write WinSFV 1.1 compatability line in SFV files
CHK_M3U NOT AVAILABLE YET boolean (0=off, 1=on) Use m3u to check for files if sfv isn't available
[Error Setup]
SITECMD string Set this to what your sitecommand's name is in your sitecmd.ini
Example: SITECMD=sfvcheck would work like "site sfvcheck filenamehere". Keep in mind you still have to set up your sitecmd.ini properly.
ON_ERR_MK_FILE boolean (0=off,1=on) If an error occurs and this is set to 1 it will write a file in the folder being checked called "errorlog.txt" which may explain why the error occured. Not recommended to have on all the time.
[File Handling Setup]
ISSERVG6 boolean (0=off,1=on) Tells nRsfv if your server is G6 or Raiden. If you set this to 1, .acl file creation will not occur
DONT_HAVE_BAD_AND_MISSING boolean (0=off,1=on) set this to 1 and if a *.bad exists, it will not create a *.missing file too
HANDLE_BAD_FILES boolean (0=off,1=rename to *.bad,2=delete file) How to deal with bad files (0=off,1=rename to *.bad,2=delete file)
CREATE_MISSING boolean (0=off,1=on) When on, creates files with .missing extension if they aren't present when the sfv is being checked
DELETE_SFV_STATUS_ON_SFV_COMPLETE boolean (0=off,1=on) When set to 1, .sfvStatus file will be deleted when SFV checks 100% okay Note: if COM_MAKE_IN_PARENT is greater than NULL, this option is forced to 0
DELETE_SFV_STATUS_ON_UPLOAD boolean (0=off,1=on) When set to 1, when a user uploads a .sfvStatus from another server it will be deleted. It is recommended you set this to 1
[Message Setup]
SHOW_IND_STATUS_IN_MSG boolean (0=off,1=on) Show individual file status in MSGFILE (ie: CRC OK : filename_here or CRC BAD: filename_here)
OUTPUT_WIDTH integer (1~255) The width of output width when using variable %#1~9
Example:
 IF you have this in your ini:
         OUTPUT_WIDTH=40
         MSGLINE=+---------------------------------------+
         MSGLINE=| Release: %r%#1|
         %#1 will be replaced with enough spaces to make it look like this:
         MSGLINE=| Release: Release.Name.Here            |
                 \---------------------------------------\________this is 40 wide, which is
                                 what is controlled by OUTPUT_WIDTH

         This number should correspond with the width of your header line (in my case it's
         MSGLINE=+---------------------------------------+)
         For more explanation on this, see the ini example.
MSGFILE string The file that status reports will be written to. Set to blank if you want to disable message file creation.
Example: MSGFILE=.message
MSGLINE string lines written to the end of the MSGFILE file
Example: To make this multiple lines enter it as follows:
MSGLINE=Good: %g/%t | Bad: %b | Missing: %m
MSGLINE=
MSGLINE= //release checked by some sort of SFV checker
[Status Bar Setup]
BADMSG string Header created in folder if SFV is incomplete
Example: BADMSG=[%s]-[%g of %t CRC OK]-[%p]-[%n%]-[%b BAD]-[%m MISSING]
GOODMSG string Header created in folder if SFV is complete.
Example: GOODMSG=[SFV CRC 100% OK]-[%g of %t files]-[%s]
MP3GOODMSG string Header created in folder if SFV is complete and release is of mp3s
Example: MP3GOODMSG=[%s]-[RELEASE CRC 100% OK]-[%g of %t files]-[Genre-%h]-[Year-%y]
MP3BADMSG string Header created in folder if SFV is incomplete and release is of mp3s
Example: BADMSG=[%s]-[%g of %t CRC OK]-[%p]-[%n%]-[%b BAD]-[%m MISSING]-[Genre-%h]-[Year-%y]
SITENAME string Name of your site to replace the variable %s
Example: SITENAME=THE SHUT UP FTP
PERBAR_CHR string The string value that will take up the complete portion of the release percent bar.
Example: PERBAR_CHR=#
PERBAR_NON string The string value that will take up the incomplete portion of the release percent bar.
Example: PERBAR_NON=_
PERBAR_LEN integer number of characters to show in your percent bar
Example: 10 will look like [#####-----] when upload is 50% done
[Header Deletion Setup]
DEL_NOT_CONTAIN boolean (0=off,1=on) Switch the next command to delete folders that don't contain the DELKEYWORD
DELKEYWORD string Can be anything you want, all subfolders within the release folder with this in their foldernames will be deleted.
Example: DELKEYWORD=% will delete all empty subfolders with the % character in them
DEL_ALL_SUDB - NOT AVAIABLE YET boolean (0=off,1=on) Delete all empty subdirectories in the folder being checked preceding SFV check
[CHMODDING AND LOCKING]
LOCK_FOLDER_IF_COMPLETE boolean (0=off,1=on) Lock the folder being checked after it checks 100% okay, the files inside the folder will stay chmodded to whoever uploaded them
LOCK_FILES_IF_COMPLETE boolean (0=off,1=on) chmod the files inside the folder being checked when the sfv checks 100%
note 1: some users who aren't root may have trouble deleting these folders if you give
them strange owners/chmods ... use your own discretion with these options. Only you know what your FTP
looks like and only you can figure out what would be a good group/chmod to set to the files.

note 2: the lock feature can be put to good use. If you don't want users able to download releases that aren't
complete you could have a user of group XXX or something uploading the release, having all the other users
sharing the folder unable to read other groups things. then when the release is done by group XXX the
lock sets the folder/files to a chmod that all the public users can access.

LOCK_USER string user to set as owner of lock
Example: LOCK_USER=joe
LOCK_GROUP string group to set as owner of lock
Example: LOCK_GROUP=idiots
LOCK_CHMOD integer (format: ###) chmod to set to the lock
Example: LOCK_CHMOD=511
CHMOD_SFVSTATUS integer (format: ###) chmod to give the .sfvStatus file
Example: CHMOD_SFVSTATUS=555
CHMOD_SFVSTATUSU string user to give owner priviledges of .sfvStatus file
Example: CHMOD_SFVSTATUSU=sfvChecker (set to CHMOD_SFVSTATUSU=%i to chmod .sfvstatus to the uploading user)
CHMOD_SFVSTATUSG string group to give owner priviledges of .sfvStatus file
Example: CHMOD_SFVSTATUSG=sfvChecker (set to CHMOD_SFVSTATUSG=%w to chmod .sfvstatus to the uploading user)
%#1~9 variable further explanation
This variable is for MSGLINE output mainly.  What it does is it takes a number (1~9) and replaces the instance of the variable with spaces.
So if you have need for the appending of spaces once in a line, you would type: %#1
IE: MSGLINE=|Release Name: %r%#1| would look like |Release Name: Relase.Name-GROUP             | depending on what value you set the OUTPUT_WIDTH to in the ini.

So if you need two places in one line where spaces need to be replaced you would use %#2
IE: MSGLINE=|%#2Release Info%#2| would look like |        Relase Info        | depending on what value you set the OUTPUT_WIDTH to in the ini.

likewise %#3 is to be used for when you need 3 instances in one line where you need to have spaces replaced.

NOTE1: When using this variable, all %1~9 instances get the same # of spaces.  If there is a situation where 1 instance has to have more spaces than the others,
 the last instance in the line will get 1 more space than the previous instances.
NOTE2: The formula used is (OUTPUT_WIDTH - LINE LENGTH = # OF SPACES NEEDED)  So if you have need for 20 spaces, then %#1 would be replaced with 20 spaces,
 %#2 would be replaced with 10 ... %#3 would be replacd with 6 spaces each, and the third time it would be replaced with 8
%<%># variable further explanation
This variable will fill up the buffer with spaces.
IE1: %<Test%>10# will look like "Test      " (fills up until it's 10 spaces)
IE2: %<%i%>15# will be replaced to %<username%>15# then changed to "username       "
That should make sense.  See ini example for race output methodology.
Quesitons/Comments Contact me