By Adrian Au
The latest version can be found at: http://adrian.saxtus.gr (Backup: http://www.geocities.com/renx2)
I'm very interested in knowing how many people actually use this script. If you find the script useful, please send me an email with your name/nick and any comments/suggestions. Thanks! My email is: renx2@yahoo.com
My scripts are free for you to download and use. Please don't rip them off. I spent an enormous amount of time and energy writing, testing and improving them. If you find any of the scripts useful, please consider making a donation at my page. Thanks!
CONTENTS:
INTRODUCTION
Last updated on June 26, 2003
INSTALLATION
HOW TO USE
NOTES
LEGAL INFORMATION AND DISTRIBUTION
HISTORY
INTRODUCTION:
Ren-Ren's Fileserver (RFS) is a versatile file server (Fserve) script for mIRC. These are the main features:
The script was tested on DALnet using mIRC v6.03 32-bit on a Windows 2000 P4-2.4GHz system. RFS may or may not work correctly in other versions of mIRC. There is no guarantee that the script will work 100% correctly. :p So use this at your own risk. Just remember, if it hangs, press Ctrl-Break!
The script consists of: rfs-init.mrc, rfs-sys.mrc, rfs-dlg.mrc, rfs-evnt.mrc, rfs-fsrv.mrc, rfs-dmn.mrc
rfsdoc.htm is the file you're reading, and rfs-quicktutorial.txt contains some steps to quickly setup an Fserve (loaded into the RFN window's help tab). An icon file (rfs.ico) is also included. It's even uglier than my RFN icon.
INSTALLATION:
Extract the script files into one directory. Open mIRC v5.91 (or above). Then type the following command in any mIRC window (replace "C:\mIRC\RFS\" with the directory you extracted the script to):
/load -rs "C:\mIRC\RFS\rfs-init.mrc"
The license agreement will be shown. If you don't agree to it, setup is halted. rfs-license.txt must be present. Otherwise, setup will not proceed.
mIRC may pop up a warning message. The script won't work if you don't let it initialize. During initialization, the script will load the other needed script files and will make several settings variables. These will generally be %rfs-[something].
If needed, please use the Unload command within RFS to unload the script.
HOW TO USE:
To open RFS, press Shift-F12, type the command /RFS, or choose Open RFS in the mIRC menu bar.
When you connect to an IRC server, if the server does not return a network name, RFS will prompt you for one and add it automatically to its Network List.
Fserves:
The top left box is the "Fserve List", while the top right box is the "Trigger List" for a selected Fserve. To setup an Fserve, the minimum information must include: one trigger and the directory or file the trigger points to. To add a trigger, click the "Add/Edit" button in the "Trigger List" area. This opens the "Add Trigger Dialog".
Important: Data for an Fserve are not saved until the "Save as New Fserve" or "Update Selected Fserve" is pressed.
Fserve List: This is the top left box. All the Fserves you have setup are listed here. Those with an o in front are on, and those with an x in front are off.
On: This turns the selected Fserve in the "Fserve List" on.
Off: This turns the selected Fserve in the "Fserve List" off. Queues are not stopped (can be changed by Option).
Select All: Selects all the Fserves in the "Fserve List".
Pause Sel. Queue(s): Pauses the queue(s) of the selected Fserves. Press the button again to start the queue(s) of the selected Fserves.
Stop Sel. Send(s): Stops the send(s) of the selected Fserves. The sends are added back to the top of the queue lists. The Fserves' queues are also automatically paused.
Save as New Fserve: Saves the Fserve as a new entry in the "Fserve List".
Update Selected Fserve: This is used to apply changes you've made to the selected Fserve in the "Fserve List".
Remove Fserve: Removes the selected Fserve from the "Fserve List".
Default Data: Resets all settings to default (triggers are also cleared). Remember that the information is not saved until you click the "Apply to Selected" button or "Save as New" button.
Trigger List: This lists all the triggers for the selected Fserve. Add new ones by clicking the "Add/Edit" button. The "Remove" button removes a selected trigger. Use "Clear Triggers" to clear the list. The "Up", "Down", "Top" and "Bottom" buttons change a selected trigger's position in the list. The triggers are displayed in the ad in the same order by which they are listed.
Channels: Enter the channels you want the Fserve to respond to (separated by spaces). Type in "all" if you want the Fserve to respond to all channels you're on. Default is "all".
Ad Timers (s): Enter the frequency in seconds you want your Fserve's ad to be displayed to the channels listed above. If you have more than one channel listed, enter the timer for each one (separated by spaces). 0 means silent (the ad is only noticed to the user when he/she types the !List [or corresponding] command). Note that the minimum frequency is every 600 seconds. Default is "0".
Trigger Separator: If you have multiple triggers for the Fserve, this will separate them in your ad. This actually applies to all your triggers in the Fserve. Default is "&".
Autoresume Tries: RFS will try the specified number of times to send a failed file. If a size/percent is specified in the "Minimum Autoresume Size or Percent" option, RFS will not try to resume when failed sends have a greater remaining size/percent. Default is "0".
DL:UL Ratio: Enter the download:upload ratio. For example, enter "50" if you want the user to be able to download 50 Kb for every Kb he/she uploads.
Fserve Max: These are the maximum settings of your Fserve for Queue, Send and Online. The grey boxes beside each one show the current corresponding values. Default are "10", "3" and "2" respectively.
Individual: These are the settings of each individual user on your Fserve for Maximum Queue, Maximum Send, Minimum CPS and Maximum CPS. A send is dropped when below the minimum CPS. For Min CPS and Max CPS, "0" means none. Default are "3", "1", "0" and "0" respectively.
Start on Connect: Check this box if you want the Fserve to be turned on automatically when you connect to an IRC server. Default is on.
Respond to Find: Check this box if you want the files/directories on the Fserve searchable by channel commands like @Find and @Locator. Default is on. Note that a cache must be built for this feature to work (use the "Build File Cache" button).
Use IP Send: Check this box if you want to DCC send to the user's IP instead of nickname. For this to work, the user must enable his/her DCC Server (with correct Port) and turn on "Listen for Sends" in the mIRC DCC Options (or type "/dccserver +s on 59" if your port is 59). Default is off.
Open Slot Announcer: Check this box if you want RFS to message the Fserve's listed channels when an online or download slot has been made available after being full. Default is off.
Statistics Logging: Check the boxes to log the corresponding events. The Defaults are on. Press the "Reset Checked Statistics" to clear the log of the checked statistics for the selected Fserve.
Current Queues: Opens the selected Fserve's "Queues" dialog, where you can modify the current queue.
Fserve Stats: Shows the selected Fserve's stats.
Edit Profiles: Opens the selected Fserve's "Profiles" dialog.
Scheduler: Opens the Fserve's "Scheduler" dialog.
Build File Cache: This creates a cache to store the file listing of the Fserve. This is needed for the "Respond to Find" option.
Fserve Ad: Type in your ad here. You can use color, bold, underline and reverse codes. Certain parameters are also supported. Press the Refresh Preview button to see the preview (in the RFS-Log window or the mIRC status window). The "Default" button enters the default ad. The "Ad Now" button displays the ad to the channels you listed in the "Channels" box. The "?" button shows the supported parameters:
Trigger: Enter the trigger. To use a ctcp trigger (/ctcp YourNick trigger), type in "‹ctcp› trigger". To use an action trigger (/me trigger), type in "‹action› trigger".
Path/File: Each trigger must point to a starting directory or file. The Path button lets you select a path, and the File button, a file. If you choose a directory, a user who types your trigger will have access to the files in the starting directory and any subdirectories below it. (You may set restrictions on the maximum file size that the user can get using the Max File Size option.)
Welcome: Select a file containing your welcome message. When the Fserve connects, this file will be displayed to the user. The .. button selects the file, and the Edit button opens your default editing program to edit the file. Default is none.
Max File Size (Kb): This restricts the files that a user can get from your Fserve. Files larger than this size cannot be retrieved. Default is 0 (no limit).
Access: Check the boxes for those people you're allowing access to. Default is everyone (all boxes checked).
Add Trigger: Click this button to add the trigger to the Fserve. The trigger will appear in the "Trigger List" (top right box in RFS window).
Note that changes are not saved until the "Save" button is pressed.
Add, Remove, Clear: Use these buttons to add/remove items and to clear the queue.
Up, Down, Top, Down: Use these buttons to change the order in the queue.
Send File: This sends the selected file immediately.
Run, Pause: These buttons starts and pauses the queue.
Save: Saves any changes to the queue.
Cancel: Exit without saving changes.
Note that changes are not saved until the "Save Profiles" button is pressed. A user logs in by typing "login user password" while in your Fserve. Logout by typing "logout".
User List: Lists all the user profiles you set up for this Fserve. Select one to display the information to the right.
User: The username. No spaces.
Password: Password to login as the user listed in "User". No spaces.
Max Queue, Max Send, Min CPS, Max CPS, Autoresume, DL:UL Ratio: These are the values for the user listed in "User".
Welcome Message: RFS can display a special welcome for the user when he/she logs in. Use ‹nick› to represent the user's nick and ‹me› to represent your nick.
Individual Default: This shows the default individual values for this Fserve as a reference.
Add, Remove, Clear All Profiles: Use these buttons to modify the User List.
Copy to Another Fserve: Copy these profiles to another Fserve. The other Fserve's original profiles, if any, are replaced.
Save Profiles: Saves profiles to disk.
Cancel Changes: Exit without saving changes.
Note that changes are not saved until the "Save Schedule" button is pressed.
Schedule List: This lists all the times you set up the Fserve to go online/offline.
Time:: Enter a time in the format hh:mm followed by am or pm (eg. 12:00pm). Select whether the Fserve should turn on or off at this time.
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Any day: Select the day.
Add, Remove, Clear Schedule: Use these buttons to modify the Shedule List.
Copy to Another Fserve: Copy this schedule to another Fserve. The other Fserve's original schedule, if any, is replaced.
Save Schedule: Saves the schedule.
Cancel: Exit without saving changes.
Ban:
Addresses that are banned are shown in the large box. The current channels you're on are listed in the top left box. Select a channel to list the users in that channel (not banned). To ban a user, select the user and click the "Ban" button. Press the "Enter Ban" button to enter a ban manually. The "Unban" button unbans a selected address, and "Clear List" button clears the entire list of bans. Use the "Edit" button to edit a ban. The information is not saved until the "Save" button is pressed. The "Reload" button reloads the ban list.
I don't find banning very interesting. I could not torture myself to work on this feature any more than I already did.
Credits:
The "Global Ratio Switch" option must be on for uploads to be tracked. Credits are shown in the box. You can sort them by time, address or credits. Use the "Add", "Remove", "Clear All" and "Edit" buttons to modify the list.
Personally, I hate ratios. I only added this feature for completeness' sake.
Log:
This shows various messages that I thought you might want to know as the script runs. Not critical. Just interesting for some people. The text is lost whenever the RFS window is closed.
Options:
This is where you can change various options. Any valid changes you make are saved immediately.
System:
RFS Directory: This is the directory where RFS works from (to load/save files and to store rfs.ini). Single-click to change it. Default is the script directory. I don't recommend changing it.
System Sound: This is the general system sound. Single-click to change it. During selection, press the cancel button (or press Esc) to set to none. Default is c:\windows\media\chimes.wav if it exists. Otherwise, default is none.
Warning Sound: This is the sound played when errors occur. Single-click to change it. During selection, press the cancel button (or press Esc) to set to none. Default is c:\windows\media\chord.wav if it exists. Otherwise, default is none.
Network List: If an IRC server does not return a network name, RFS will look up the network name of the server from this list. Modify the list with the plus/minus buttons. The "x" button clears the list. Each entry is in the form of: server network
For example, if irc.somewhere.net belongs to DALnet, type "irc.somewhere.net DALnet" and press the "+" button.
Colors: These are colors used in various RFS messages. These do not affect the colors in the ads, since those are set by the user within the ad. Click "Preview Colors" for a preview.
Open on Desktop: This sets whether the interface window opens on the desktop. One advantage to desktop windows is that there is a minimize button. Default is on.
Always on Top: This sets whether the interface window is always on top of all other windows when on desktop. Default is off.
Log Fserve Open/Close, Log Fserve Login/Logout, Log Fserve Errors, Log File Received, Log File Sent, Log Failed File Send: These toggle logging of various events to rfs-log.txt. Default is off for all except Log Fserve Errors.
Log Window Always on Top: This sets whether the RFS-Log window is always on top. Default is off.
Edit Log: Press the button to open the log file in your default editing program.
Default: Resets all the options (except RFS Directory and Network List) to default values.
Fserve:
List Commands: These are the commands your Fserves will respond to with ads. Separate them by spaces. Default is "!list !online".
Find Commands: These are the commands to search your Fserves that have "Respond to Find" option turned on. Separate them by spaces. Default is "@find @locator".
Max Find Results: This sets the maximum number of matches to send a user for a Find command. Default is "5".
Login Cache: This sets the number of addresses RFS will remember for logins on Fserves. Default is "15".
IP Send Port: This is the port RFS will send to if "IP Send" option is on for an Fserve. The user must turn on "DCC Server" with correct port and "Listen for Sends" to receive files from you via this method. Default is "59".
Auto-Send Size (K): If a file is under this size in Kb, it is sent automatically to the user without waiting in queue. Default is "10".
Minimum Autoresume Size (K) or Percent: If the remaining size/percent of the failed send is above this setting, RFS will not try to resume. Enter either a size (in Kb) (eg. 10) or percent (eg. 5%). Default is "50".
Fserve Idle Timeout: This sets the time in seconds a user can idle on your Fserve before the connection is closed. Note that you must set the mIRC Fileserver Timeout (in DCC Options) larger than this value. Default is "120".
Stop Send on User Part: This is the delay (in seconds) in dropping a send if the user parts all the channels your Fserve belongs to. This does not apply if the "Allow Off Channel Access" option is on. Default is "30".
Stop Send on User Quit: This is the delay (in seconds) in dropping a send if the user quits IRC. This does not apply if the "Allow Off Channel Access" option is on. Quits due to errors and server splits do not count. Default is "30".
CPS Check Freq: This is the frequency in seconds at which RFS checks the CPS in sends. Default is "5".
mIRC Total Max CPS: This is the mIRC total max CPS on all sends. Click on the button to change it. 0 means no limit.
Fserve Default: These are the default values of Max Queue, Max Send, and Max Online for an Fserve. Defaults are 10, 3, and 2 respectively.
Individual Default: These are the default values of Max Queue, Max Send, Min CPS (K), and Max CPS (K) for an individual. Defaults are 3, 1, 0, and 0 respectively.
Anti-camping: With this option on, RFS tries to detect if a user is not really browsing your Fserve and looking for/getting files. If detected, the user is warned at first. If camping continues, the Fserve to that user is closed. Default is on.
Global Ratio Switch: This toggles ratios for all Fserves. Default is off.
Check for Duplicate in Queue: Turn this on if you don't want to allow users to queue the same file more than once.
Allow Off-Channel Access: This allows users to access an Fserve even when they are not on any of that Fserve's channels. Default is off.
Show RFS Name in Ads: The RFS name is added to the end of Fserve ads if this is on. Default is on.
Stop Queues when Fserve Off: If this option is on, an Fserve's queue is paused when the Fserve is turned off. This also affects scheduled offlines. Default is off.
Pause Queues on Get: Turn this option on to pause queues when a file get is initiated. Default is off.
Send Notice to User: Check the notices that you want RFS to send to users. Default is on for all except "On Get Request Fail".
Show Notices in Log Window: Default is off.
Help:
The rfs-quicktutorial.txt file is loaded here.
About box: Please consider making a donation if you find the script useful. You can also email me with comments and suggestions. Even a simple "thank you" is nice. The link opens my webpage (http://adrian.saxtus.gr). Click the Help File link to open rfsdoc.htm.
NOTES:
For now, there is only one CTCP command the script responds to: RFS Version
The response is: RFS-Version [script name and version] [page address]
If you want to change the hotkey for RFS, you have to edit rfs-system.mrc. Change "sF12" in "alias sF12 rfs" (line 7) to a different hotkey (eg. cF10 for Ctrl-F10).
Big thanks to Michael Cohen from http://www.saxtus.gr for hosting my page!
Thanks to bughunt, Saxtus, and Teleflip for helping me with the beta-testing.
Thank you for trying Ren-Ren's Fileserver. Feel free to tell your friends about it. If you find a bug or think of a cool feature, you can send me an email at renx2@yahoo.com or tell me on DALnet IRC. I use the nick Ren-sleeping.
LEGAL INFORMATION AND DISTRIBUTION:
License Agreement: RFS is released as freeware. RFS may be distributed freely only in its entirety and as long as the files remain unmodified. RFS may not be sold or distributed as part of any product or package without express permission from the author. RFS is provided as is without warranties of any kind, expressed or implied. The author cannot be held responsible for any possible damage from the use of RFS. The user must assume the entire risk of using RFS.
I spent an enormous amount of time and energy on this. Please don't copy the script or any of its portions and call it your own.
RFS and all materials included in the package Copyright© 2001-2003 by Adrian Au. All rights reserved.
HISTORY: