.:[February 19th - 17:30 CET/GMT+0100]:.

How-To: Setup GuildFTPd & mIRC.

My Guide to setup GuildFTPd and mIRC. I wrote this tutorial back in 2002, it is still in it's original state, but the layout has been modified heavily over the years. I believe that I still have the compiled help file (.chm) somewhere around here, I just don't know where, and it doesn't matter cause I don't need it.


DDE Setup
The @GFTPd Window
Monitoring Setup Tab
FTPad Setup Tab
Color Setup Tab
Advanced Setup Tab
Remote Admin Setup

Short words:

The GuildFTP daemon is written as GFTPd
Guild's @window in mIRC is written as @GFTPd
Right mouse button as RMB
Left mouse button as LMB
Words in "quotes" are to be written without them :-)
Kilobits as kb or kbps.
Kilobytes as K, or KBps.
FTP advertiser as FTPad or just ad.


∧ To Top


Close mIRC, and GFTPd if they are running on your computer.
If you have the latest versions installed, skip the install process.

Install GuildFTPd:
Run GuildFTPd.exe and install it, wherever you want to (if you have the latest version installed skip this step).
If you downloaded any extra plug'ins, then install them as well, by running the *.exe files. (except the IRCScript.exe).

Install mIRC:
Run mIRC6xx.exe, and install it, wherever you want to (if you have the latest version installed skip this step).

Upgrade mIRC to v6x:
Run mIRC6xx.exe, and upgrade your previous mIRC, when the installer asks you where to install mIRC, check the checkbox to have mIRC keep your settings.

After installation of GFTPd, open the "My Computer" desktop icon, click twice with LMB, on drive C:\.. You should see a folder named "FTPRoot" delete that.
HALT! Do not delete it if you are already using it as your FTPRoot and have all your files in it.
If you don't have any folders with the files you want to share, then you need to make some right now. Use "My Computer", select a drive, (if you have more than C:\ use another drive), on the root of the drive you have chosen create a new folder, name it "FTP", go in to the folder and create a folder called "upload" and move your other FTP stuff into the FTP folder. Here is an example:

  • E:\FTP
  • E:\FTP\Gamez
  • E:\FTP\Appz
  • E:\FTP\upload
  • E:\FTP\Books
  • E:\FTP\Shareware

Start GFTPd to continue, follow the helpfile to setup your user accounts and other settings. I will provide a little help on that later (After v1.0 has been released. (In another document!))

∧ To Top

DDE Setup:

DDE in GuildFTPd:
First we are going change the DDE service name in mIRC and GFTPd. The reason for this is so you can run multiple instances of mIRC without breaking up the mIRC instance that you are running the GFTPd Scripts on. So open GFTPd's options dialog window. (Admin –> Options –> DDE): These settings must be set exactly as on the picture below, except for the update delay, which is the update rate that GFTPd passes an automatic status update to mIRC. You can choose the rate your self, but keep in mind, the lower rate you set the more CPU time will be consumed by mIRC and GFTPd, and it can cause some lag on your computer. Notice: DDE must be enabled.

GFTPd Image

When you are done click OK and restart GFTPd, make sure the server is online and then minimize it to tray.

DDE in mIRC:
Now start mIRC, if you did a clean install, you'll need to fill in you personal info in the dialog window that appears. If you upgraded from an earlier version, and you chose to have the installer keep you settings, then you only need to change the DDEname, the same goes if you are already using mIRC 6x. In the options dialog window click and expand the "General" section, then highlight servers and change the DDE service name to "mIRC-GFTPd", just like on the picture below. The DDE delay here has absolutly nothing to do with the update rate in GFTPd's DDE settings.

mIRC Image

Now highlight the "Connect" section, and click "Connect to server".

∧ To Top

Install and 1st look:

New window:
Now it's time to install the GFTPd-IRCScript, so run mIRCScript.exe from the location you downloaded it to. Install it to the folder where you have your mIRC. When it's done, switch back to mIRC and in any window type /load -rs gftpd.mrc. mIRC will ask you if you are sure you want to load this script, click YES. The script will then open a new window in mIRC named @GuildFTPd, and a dialog window will popup, in the dialog window, browse to the folder where you have GuildFTPd installed, e.g. C:\Program Files\GuildFTPd\. Click OK. You should now see 1 line in the window:
[07:21pm] GuildFTPDScript 0.998-2.0.5 Multi-server by EZJohnson Initialized and Ready For Use!

mIRC Image

Use RMB in the window to open the menu, click "status update" then this line should appear:
[07:28pm] [ Status: Listening ][ Port: 21 ][ Connections: 0 ]
If you don't see this line, then GuildFTPd is closed, open it up and do another status update. If you still don't see the line, then there is no DDE connection, between mIRC and GFTPd. Make sure you have changed the DDE names like described in the DDE Setup section. Rememeber to restart mIRC and/or GFTPd if you make any changes to the DDE. If you get a line that says:
[07:28pm] [ Status: Shutdown ]
Then your server is closed for new logins, open GFTPd and fix that, and then do another status update.

Nicklist & Channel menu:

A quick look at the nicklist and channel menu. Each option should be self explanatory, so I won't describe any of them in details, except that to use the "Mass Stuff", you must have 1 or more nicks highlighted in the @GFTPd window.

∧ To Top

Monitoring tab:

Main Configuration:

Use RMB in the @GFTPd window to open the menu, click "Configure", a new dialog window will appear.

Banlist: This shows the currently active bans and the remaining time before they expire. You can also manunally add new bans here, on the picture I set 4 examples of how you add new bans. Enter the IP or IPmask in the IP to ban editbox and the duration of the ban, where '0' is for perm bans, click add. In the @GFTPd window you should get 2 new lines like these:
[12:44pm] [ Has Been Kicked ]
[12:44pm] [ Has Been Banned ]

And you can remove any of them again by clicking on the ban to remove and then click the remove button.
Notice: When adding a masked ban, the scripts doesnt kick the affected user(s), this will be fixed in the future.

Channels monitoring: Here you can select which channels to monitor (to resolve userip's to nick and where to show the built'in FTPad (described later on)). When you add a #channel make sure you use "#Channel" with the #! And that you are using the correct $network name, if you don't know your network name, then activate mIRC's status window (no need to close the configuration dialog window). Type in the status window //echo -a $network, then mIRC will reply with the $network name and thats the name you must use. You can add up to 10 channels, but be advised that if you monitor and uses your FTPad in more than 3-4 #channels you will experience a lot of EXCESS FLOOD, because IRC has a limit of how many characters you can send simultaneously, all depending on the size of your FTPad ofcourse, and it's different from network to network.

GuildFTPd DDE servicename: This must stay as "GuildFTPd".
Notice: that mIRC's DDEserver name isn't the same as GFTPd's servicename.

Kick if not in channel: Kicks a user off the FTPd if he is not in any monitored channels.
Notice: It only affects users which are listed in "logins to monitor" (described later).

Must be Voice or OP: Kicks a user off the FTP if he is not +v or +o (+@) in any monitored channels.
Notice: It only affects users which are listed in "Check only these logins" (described later).

Ban if not in channel: Bans a user from the FTP if he is not in any monitored channels.
Notice: It only affects users which are listed in "logins to monitor" (described later).

Ban Duration: You need to specify a duration if you want use "ban if not in channel".

Allow leave after login: Allows a user to leave the monitored channel after he logged in, without being kicked or banned, this does not let user on to the FTP if they aren't in the #channel when they attempt to login, and/or if the user leaves your site he must join your #channel again to gain access.

Check only these logins: Here you can add logins that should be affected by the rules you just set in the above section. Login must be a valid user account login that you have made in GFTPd. Example: If you run a site with anonymous and upload logins and you want GFTPd to auto kick/ban anon users that are not in any #channels, but not users on the upload account. (No need to kick users that contributes) ;-) Enter anonymous in the editbox and click add, don't add the upload login, or GFTPd will auto kick/ban those as well... Make sure it is enabled.

Fast user DL speed: This feature will just give the user another color in the nicklist window in @GFTPd. In the example it's set to give another color if the download speed is above 10KBps.

Kick/ban grace period: This gives a monitored login (the user(s)) a specific amount of time to rejoin your #channel, when netsplits, ping timeout, etc occurs. In the example it's set to 5 minutes (300 secs), which should be more than enough during netsplits.

CTCP stats: If enabled any user can CTCP you to get your current FTP status, you can set any trigger you want. I used "GFTPdStats" in the example. Here is what it will return by private message (/msg):
[Jesper] [Current Identified Users]: nick1 nick2 nick3 IP1 IP2
[Jesper] [Total Users]: 5 [Total Download]: 50 k/s [Total Upload]: 40 k/s [Total Aggregate Bandwidth]: 90 k/s
[Jesper] [fixed disk C]: 3000.00 megs / 2000.0 megs free [Total Free]: 2000.00 megs

It doensn't matter how many drives you have, the script uses %variables to count them.
When you are done click "Apply". and click on the FTPad tab.

∧ To Top

FTPd ad tab:

FTPd advertiser setup:
If the setup window is closed, then you need to reopen it and click "Configure" –> "FTPd". If it' already (or still open) just click on the "FTPad" tab.

This is a powerfull FTPad to use, if you have no idea how to make your own :-). It's pretty self explanitory, so no need to provide much more information on this, except that when using [ $+ $ip $+ ] remember to add either Bold or Color on the brackets, and colors must be in 1,00 format so mIRC doesn't eat the 1st digit in your IP as a color code. An example: The IP address is and the •bull represents mIRC's character (block) (for Bold, Color, Underline, etc)

  1. [$ip] returns [$ip]
  2. [ $ip ] returns [ ]
  3. [ $+ $ip $+ ] returns [$ip]
  4. [•1,0 $+ $ip $+ •1,0] returns [] and not []
  5. [•1,00 $+ $ip $+ •1,00] returns []

This goes for all $vars that starts with a digit. The "repeat rate in secs" is the duration between the ad will show. The enable checkbox is of course to start/stop the ad (don't enable it yet) Now set up your FTPad, you can scroll down in the window to see the list of available variables, and some examples.
Notice: In order to make the $!gc(account) and $!gm(account) work, it is important that the max users for the affected accounts are set right in GFTPd. Example: If you have an anonymous account with max 5 users allowed. The max users must be specified on the anon account, otherwise $!gc() and $!gm() will return N/A or 0.
Notice: The ad will show in all the channels you have chosen to monitor!
Notice: When you start/stop the ad you must click Apply or OK as well.

When you are done click "Apply". and click on the Colors tab.

∧ To Top

Colors Tab:

Color setup:
If the setup window is closed, then you need to reopen it and click "Configure" –> "Colors". If it' already (or still open) just click on the "Colors" tab.

Set some colors if you want to, mine is set Red, Blue and Purple. The first column of colors gives the status/info a new color in the @GFTPd main window. The second column of colors gives the User/Nicks/IPs a new color in the @GFTPd main window. The third column of colors gives the Nick/IP a new color in the @GFTPd nicklist window. There really isn't much more to say about it, so go set some colors.

When you are done click "Apply". and click on the Advanced tab.

∧ To Top

Advanced Setup Tab:

Advanced setup:
If the setup window is closed, then you need to reopen it and click "Configure" –> "Advanced". If it' already (or still open) just click on the "Advanced" tab.

Port Hopping: You can configure GFTPd to automatic change the system port at a given duration and a range to hop between. In the example GFTPd is set to hop to a random port between 10000 and 65535 every hour (60 minutes).
Notice: 65535 is the max available TCP port.

Current System Port: This option allows you to change the system port right away, and view the current port. I have a little alias script to change it on the fly without opening GFTPd's setup window. Copy and Paste this into any aliases file (Don't forget to save and load/reload it).

							writeini Gftpd/Gftpd.ini GFTPDPortDlg MainPort $1
							dde %GFTPDddename setport "" $readini(Gftpd/Gftpd.ini, GFTPDPortDlg, MainPort)

Usage: From any mIRC window type /ftpport # where # is the port number you want to change to.

Multiport Configuration: This option is used to prevent the porthopper from changing ports for certain accounts. They can be added and/or changed here, just as you would do in GFTPd. If you change the ports in the daemon then they will be updated here as well, cause GFTPd sends an instant dde update when you make changes in the daemon.

Password Hopping: You can use the password hopper on any account you want, by adding them to the box, and adding a mask combination of your choice. In the example "CcVvNn" is used, which returns "XfAu84". You can choose your own combination and delay. The "real words" feature is supposed to make real words out of your combination, but it doesn't work properly, so I can't recommend using that.
Notice: To reveal the current password of an account using the password hopper type in any mIRC window:
//echo -a $gpa(account) and to use with the built'in FTPad use $!gpa(account). Below is an explaination of the characters:

  • V = Random UPPERcase vowel
  • v = Random LOWERcase vovel
  • C = Random UPPERcase consonant
  • c = Random LOWERcase consonant
  • N = Random number
  • n = Random number

Priv IPs: This option is if you have some users that shouldn't be affected by the punishment that GFTPd performs on the logins being monitored, and if you have some users where the script is unable to resolve the IP to a nick. Add them as the picture shows, you can use IP masks if you want to. I reccomend you add your own IP address here, so you can login to your server, using any monitored account. Typing either //dns $me or //echo -a $ip in any mIRC window, will show your IP address. The reason is that the script can't recognize yourself as a nick in a monitored channel, if you don't have a hostname.

Logging: Personally, I find this feature useless and a waste of diskspace. The 3 options are pretty self explanatory, so I'll skip over this setting with just one comment, you can enable logging if you want to. :-)

∧ To Top

Remote Admin:

Remote Administration:
If the setup window is closed, then you need to reopen it and click "Configure" –> "Remote Admin". If it' already (or still open) just click on the "Remote Admin" tab.

DCC chat remote admin: The remote admin allows you and other users to administer GFTPd from mIRC, by using a DCC Chat window, it's activated by a CTCP trigger, that you specify. From any mIRC window type: /ctcp (your nick) (trigger) e.g. "/CTCP Jesper GFTPd-admin". When the trigger is typed, your mIRC will initiate a DCC Chat with the user that used the trigger.
Notice: The trigger must be 1 word (no spaces).
Notice: Do not use a trigger that can be guessed or any of the common ones used by lame channel flooders.
Notice:This trigger is not to be mixed up with the stats trigger!
Here is a list of the current available commands, (a lot will be added in future versions).

∧ To Top


Written on 06.07.2002 by Jesper for GuildFTPd www.guildftpd.com