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 HEADER | M | H | ||
%g | number good files | X | X | |
%b | number bad files (exclusively bad, missing & error files not included) | X | X | |
%c | badfiles + errorfiles | X | X | |
%d | badfiles + missingfiles | X | X | |
%k | badfiles + errorfiles + missingfiles | X | X | |
%m | number missing files | X | X | |
%e | number of errors in reading sfv | X | X | |
%t | total number of files | X | X | |
%u | number unchecked files | X | X | |
%n | percent good | X | X | |
%p | percent bar | X | X | |
%% | % | X | X | |
%r | release name | X | X | |
%i | username | X | X | |
%w | group | X | X | |
%f | size of # files been uploaded (in KB) | X | X | |
%F | size of # files been uploaded (in MB) | X | X | |
%l | average upload speed (note: only available when sfv is complete) | X | X | |
%y | ID3 Year | X | X | |
%h | ID3 Genre | X | X | |
%o | ID3 Bitrate | X | X | |
%#1~9 | fill spaces (further explanation) | X | ||
%Q | current date | X | ||
%q | current time | X | ||
%< | spacing feature start tag | X | ||
%>10# | spacing feature end tag (see further explanation here) | X | ||
Racing Variables | ||||
All of these variables are only allowed in the MSGFILE | ||||
%RU | Racer username | |||
%RG | Racer Group | |||
%RL | Racer Average Speed | |||
%RSb | Size of files racer uploaded in KB | |||
%RSm | Size of files racer uploaded in MB | |||
%RF | number of files racer uploaded | |||
%RCu | number of racing users | |||
%RCg | number of racing groups (NOT AVAIL YET) | |||
%RP | Racer percent of release uploaded | |||
%RR | Racer 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 | ||
KEY | TYPE | Explanation |
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 | ||
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. |