Gamingforce Interactive Forums
85239 35211

Go Back   Exploding Garrmondo Weiner Interactive Swiss Army Penis > Garrmondo Music and Trading > Behind the Music
Register FAQ GFWiki Community Donate Arcade ChocoJournal Calendar

Notices

Welcome to the Exploding Garrmondo Weiner Interactive Swiss Army Penis.
GFF is a community of gaming and music enthusiasts. We have a team of dedicated moderators, constant member-organized activities, and plenty of custom features, including our unique journal system. If this is your first visit, be sure to check out the FAQ or our GFWiki. You will have to register before you can post. Membership is completely free (and gets rid of the pesky advertisement unit underneath this message).


tenseiken's BPFTP Server Tutorial
Reply
 
Thread Tools
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Mar 2, 2006, 07:17 PM #1 of 39
tenseiken's BPFTP Server Tutorial

Thank goodness for backups. Here's the tut.
________________

You have my permission to redistribute the following guide however you like as long as you give credit where it is due. Please don't link directly to the images or imageshack might cry.

Okay, with that out of the way... this is my attempt to try and make a guide similar to the one that was around a while back. For the purposes of this guide, I'm going to assume you have BPFTP server (version 2.31) installed. Alright, so open it up and let's begin.

The main window will look something like this:




Of course, you won't start out with 27 user accounts or anything like that. Now, the next thing you should do is configure your server so that people will be able to connect to it with no problems. To that end, click Setup, point to Main, then click General. A window will pop up that looks like this:



For your server name, you can put whatever you want. The default listen on port number setting is 21, and that's fine for now... you may want to change it later. The max number of users is up to you, so set it up however you think your bandwidth will allow. Keep in mind that this is the sitewide number of users, so unless you specifically allow it, this number cannot be exceeded. Go ahead and check 'activate ftp server on startup' and 'put into tray on startup' so it'll be more automatic. I'd get rid of that 'show loading status at startup'... the rest is up to you. Now, on the left side, click 'Options'. The window will change to look like this:



I'd recommend you make yours look like mine, but you may see something you'd rather change... most of the options here are self-explanatory. One thing you might want to change is 'Refuse multiple connections from same IP... this is sitewide, so if you have a look account and a download account, someone wouldn't be able to login with both... that's why I don't use this. Instead, I use the account-specific way of doing it. I'll get to that later. When you're done in this section, click on 'Advanced' on the left side. Your window will now look like this:



In here, you should probably make sure that everything looks like mine, with the exception of the receive/send buffer--the default is 4096 and you probably should leave it at that. You might want to change your anti-hammering scheme to block the IP for a different amount of time or for a different number of retry attempts. The way it works is like this, using mine for an example. BPFTP server will temp. ban someone for 5 minutes if they make more than 1 failed attempt to connect in a 60 second range. You can set that up however you want. You should be able to skip the next few things, so click on 'Log Options' on the left. Your window will now look like this:



For your path to log file, you should make a BPFTP log folder somewhere and log into that folder... I'd just call the log file 'BPFTP.log'. I recommend you change your log file often... daily is a good choice. BPFTP will create new files with a naming scheme based on the date when the log changes. For logging to screen, you can allow however many lines you want... I recommend you show passwords in log since you might want to be able to see if someone has a typo in their password. For IP logging, just make yours look like mine. There's not really any need to fool around in the other tabs in Log Options, but feel free to look around if you want. Click on 'Passive Mode' under the 'Multi IP settings' on the left. Your window will now look like this:



If your IP ever changes (yes, it changes with broadband, just not as often), then I recommend you sign yourself up for a Dynamic IP service... DynDNS is a good free one. When you've gotten one or if you already have one, check the passive mode IP box and select the Dynamic IP radio button. Paste your Dynamic IP service address in there. Next, if you're behind a router or firewall, you should specify a port range to use with passive mode. I just chose 500-600 because they weren't being used by anything else that I'm aware of. Make sure that you forward these ports to your computer in your router's configuration dialog. Click OK. Congrats, you're now done with BPFTP server's configuration!

Next we need to make a few accounts for your clients to use. I'll cover the basic download, upload and look accounts. Start with clicking the little person icon (the tooltip will say 'User Accounts') or click Setup, then User Accounts. A window will pop up that looks something like this (you won't have any accounts pre-defined like mine, though):



Over on the right side will be your list of accounts (it's empty right now). Right click in that area and click 'Add'. BPFTP will prompt you for a name... enter a name for your download account and hit OK. The account will now appear in the list and BPFTP automatically highlights it for you. Your window will now look something like this:



Alright, if you want to allow people to use their gamingforce name as their login, uncheck the box beside 'Login'... the box beside it will be greyed out now. Enter whatever password you want to use... clicking the lock icon will generate a random password. Now we need to add some directories that will be available to the user. It's best to set up a parent directory and have all of your content in a folder below that parent directory. If you're set up like that, then right click in the list box (right below the word 'directories') in the Access Rights section. Click 'add'. A folder browse dialog will appear, so browse to your folder and highlight it. If you're set up like I said before, checking the Read, List, and +Subdirs option should be good for a download account. Hit 'Select' and the folder you chose will be added to the list with the permissions you set (read, list, and +subdirs). I'll include a list of what all the permissions mean at the end of this guide, so if you need to do any more tweaking, consult that. You're done on this page, so click miscellaneous on the left side. Your window will now look something like this:



Now you need to setup some specifics about this account. Make sure that it's enabled, first. Enable the time-out with an amount of seconds you think is fair. This will make sure that people don't just sit around idle on your server doing nothing and taking up a download slot. This isn't perfect, but it does help. Don't check the 'user by-passes server max' option. Set your max number of users to something you like... if you're on DSL like me, you can probably afford to allow 3 slots with each one capped at 10-15 kb/s, or you could allow 8 slots but cap them at 5 kb/s. We'll get to capping in a minute. Make sure you set it to allow only 1 connect per IP... this will keep them from taking up more than one slot at a time. If you have your directories set up with a parent folder containing all your shared stuff, select 'Show relative path'... this will make your server more neat-looking. I choose to hide files/dirs that are hidden since nobody would really want to download anything from them anyway. Uncheck 'allow NOOP' since that's an idling scheme and you don't want people idling on your server. Uncheck the other 3 things in the Commands section. Click 'Links & Messages' on the left side. Your window will now look like this:



Let's say you want to make your FTP account look a little more organized than your actual directory structure, or you want to link to a directory that isn't underneath your home directory. Setting BPFTP to do that is pretty easy. In this window, enable 'Links to add to directories' and then choose 'Treat as Virtual Directories'. Check the 'Add links from this file'. Now we need to make our link file. Open up your favorite text editor and use the format shown here:



As you can see, I typed the name I want to be displayed to the FTP client that logs in on the left, followed by a space, the pipe ( | ) character and another space, followed by the physical address of the directory. In this way, I can mount these directories in the home directory, allowing easy access to my clients even though the folders are spread out over 2 of my hard drives. The way I do this is set my home directory to an empty directory and mount the links. Make sure that you have the proper permissions set up for your users to browse to/download from the directories you link to. If you don't have the 'list' permission set, the links will not be displayed to the client. Below the link section is the message section. You can select a text file to be displayed to your clients each time they log in. This is useful to display your rules, a disclaimer, etc. Moving along, click 'Ratio, Quota, Bps' on the left side. Your window will now look like this:



Don't enable anything here except Speed Limit. Now, in bytes per second, enter in the first box your upload cap. This caps people uploading TO YOU. You can enter whatever since this is your download account. In the second box, enter your download cap. This caps people downloading FROM YOU. Don't forget that 1 kilobyte is 1024 bytes, so if you want to cap someone at 10 kb/s, it's 1024*10=10240. Additionally, if you want to have a sort of dynamic cap, you can use the program Netlimiter. If you decide to use Netlimiter, disable your cap setting in BPFTP and set Netlimiter to allow BPFTP's upload rate to whatever speed you want to use. For example, I set Netlimiter to allow BPFTP to upload as much as 50 kb/s. This means that if one client is logged in, he can get up to 50 kb/s. If two clients are logged in, they split it in half (or maybe not in half depending on the speed of their connections), and so on. This is handy--you won't feel like your bandwidth is going to waste when you only have one client logged in.

That's it for the download account. If you want to make a look and upload account, the only real difference will be the cap and permissions.

For the look account, only set the List and +subdirs permission... this will let them see your files but not download them. There's no need to worry with a cap for the look account, since nobody can download from it, so you can just disable the Speed Limit. Also, you might want to go back to the Misc. page and disable the max simultaneous users, since the look account won't be a drain on your bandwidth.

For the upload account, set the Write, Append, Make, List, and +subdirs permissions. This will let them upload, resume broken uploads, make folders, and list files. You may want to put a different home directory for the upload account--an upload folder--if you want to keep your files orderly. Also, if you have broadband, there's not really any need to cap uploads... unless you're always downloading something.

Permissions
This is a list of what the various permissions mean.

--Files--
Read: Allows the user to download files.
Write: Allows the user to upload files.
Delete: Allows the user to delete files (use with caution!)
Append: Allows the user to resume broken uploads.

--Directories--
Make: Allows the user to make new directories (useful for the upload account)
List: Allows the user to get a list of all files in a directory (you should always enable this)
Delete: Allows the user to delete directories (and all files contained therein; use with caution!)
+subdirs: Applies all the other permissions to any folders within the folder you're setting permissions for.

Okay, that's it! Any specific questions, corrections, or suggestions can be directed to this thread or to me via PM... I'm always happy to help someone setup a server I can leech from.

Frequently Asked Questions
Q: I'm unable to connect to my FTP after setting it up per the guide. I am behind a router.
A: Read the manual for your router and find out how to forward ports to your local machine. The port your FTP server uses must be forwarded to your local machine. www.portforward.com is also a good resource in configuring your router to work with your server.

Q: I'm able to log into my server, but I cannot get a directory listing. I am behind a router.
A: Turn off passive mode in your client. If you are able to get a directory listing that way, it means you don't probably don't have passive mode properly configured on your FTP. The info to properly configure your server to work with passive mode is included in the main body of the guide. You will need to forward the range of ports you specified BPFTP server to use for passive mode to your local machine. Consult your router manual for information on that. If you've done all of that properly and you STILL can't get a passive directory listing, make sure that your client is configured properly, preferably with 'Force Server IP for PASV Mode' checked (in the case of SmartFTP). If you STILL can't get a listing, just tell your clients to use PORT or active mode and move on.

Q: How do I share the contents of another hard drive? Example: My 'home directory' is on drive C and I want to share the contents of a folder on drive D.
A: Check out the newly added section of the guide that covers the Links & Messages section of the user config panel.

Client Configuration
While I'm here, I might as well plug my SmartFTP guide... it's right here. Please direct client questions to me via PM or that thread... let's keep this thread on the server topic as closely as possible.

Jam it back in, in the dark.

Last edited by tenseiken; Feb 13, 2007 at 04:54 PM.
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Mar 3, 2006, 12:36 PM #2 of 39
I used to have one that worked reasonably well attached to the old thread, but I've since then purchased a copy of BPFTP, so I haven't bothered keeping a copy. If anyone else has one that works on the current version, I'll be happy to attach it to the tut.

How ya doing, buddy?
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Mar 3, 2006, 07:01 PM #3 of 39
Roph: I played with FileZilla and didn't like it much. If you want to make one, though, I think it would be great to have more than one server tut.

Darko: Basically, your client tossed several different help commands, and the server responded with all the different commands it supports.

sabin: Yeah, post it in 'My Stuff' like Darko said.

Neo-Zacar: A group account lets you apply the same settings and permissions to multiple accounts. I like to make a group account for my PAs because it lets me keep notes and stats on all my PA holders, but I don't have to set up permissions for each and every one of them--I just specify them to use the permissions set up in the group account. Also, anything you put in the single account has higher priority than the group account, so you can do little tweaks to a certain user account without screwing the whole group up.

This thing is sticky, and I don't like it. I don't appreciate it.
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Mar 8, 2006, 02:37 AM #4 of 39
IP change, maybe? Hard to say with the info you've provided. Maybe some log snippets or something would help more.

I am a dolphin, do you want me on your body?
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Apr 13, 2006, 04:59 PM #5 of 39
tetre: My only thoughts on your lowercase thing is this. Go to setup->main->options. There's an option there titled 'Use all lowercase for files/dirs'. If that's ticked, untick it. If it's not ticked, I haven't a clue what the problem is.

tomplik: Definitely sounds like your router. If you've been through your router's page on www.portforward.com and it's not helping, you should read your manual for further info, or contact the manufacturer for support.

I was speaking idiomatically.
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old May 7, 2006, 02:02 PM #6 of 39
More than likely you got a port scanner or something like that. They take a range of IP addresses and scan through them looking for specific open ports, like 21 for an FTP server, etc. If your permissions are set properly and your administrator account (if you even have one) has a solid password, then you don't really have anything to worry about.

What kind of toxic man-thing is happening now?
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Jun 11, 2006, 09:48 AM #7 of 39
Hmm... How do you connect to the net? DSL, cable...? My DSL modem used to occasionally get in the way of my webserver, throwing up its own config page instead of my actual webpage. As far as I could tell, those were flukes, or maybe just poor routing choices. You may need to configure your modem to sort of get out of the way. Your ISP should be able to tell you how to do that.

How ya doing, buddy?
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Jun 11, 2006, 10:13 AM #8 of 39
Originally Posted by Ryunam
I use a USR9108 wireless router, DSL line.

What I don't understand is why it won't allow me to enter through another port. I have forwarded port 2121 (since 21 seems to be assigned to a never-before-seen firmware utility), yet the client reacts as though no server exists on that IP and port.

This is driving me insane, as I'd love to put up a server of mine and this is hindering my progress in quite an inexplicable way.
If your DSL modem is acting like a router, it would likely block non-requested traffic on port 2121. I still think you need to change some options on your modem. Try calling your ISP. I believe what I had to do to my modem was set it for 'bridge mode'. Your modem may have a similar setting.

What, you don't want my bikini-clad body?
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Aug 29, 2006, 11:08 AM #9 of 39
Well, try and narrow down where the problem is. Can you connect via your machine's LAN IP address? Usually goes something like 192.168.XXX.XXX. If you can connect that way, then something is going on beyond the scope of your LAN. Could be your modem, ISP, or whatever redirection service you may be using.

You could try running on some non-standard port, if you aren't already. Some ISPs block port 21.

Jam it back in, in the dark.
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Jan 22, 2007, 01:20 AM #10 of 39
First post has been updated to get images from photobucket. Tired of running a webserver.

Most amazing jew boots
tenseiken
Syklis Green


Member 532

Level 7.77

Mar 2006


Reply With Quote
Old Feb 13, 2007, 04:38 PM #11 of 39
Whitney:

There are tools out there that allow you to send your IP address to DynDNS automatically on given intervals without abusing the system. I'm using a command-line tool (ddclient) with cron on linux now, for example. If you go to their website, they link to various software applications for windows that will do this for you as well.

As for your request to add that tidbit in, I think it should go without saying that you should always read the terms of service whenever you sign up for anything nowadays, since we've yet to kill off all the lawyers.

I'd like to try and keep the guide strictly to the technical aspects of configuring and maintaining a BPFTP-based server. Since a rudimentary knowledge of IP addressing is helpful in that regard, if there's something you think I should add about that, let me know. As for NAT (port forwarding in particular), it's best to consult your router's manual (or portforward.com) for that, since it will be at least somewhat specific to your hardware, and my resources are limited.

I'll admit I do take for granted a knowledge of things like these.

This thing is sticky, and I don't like it. I don't appreciate it.
Reply


Exploding Garrmondo Weiner Interactive Swiss Army Penis > Garrmondo Music and Trading > Behind the Music > tenseiken's BPFTP Server Tutorial

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
FFXI SERVER CATALOGUE Kasonyn Video Gaming 30 Jul 7, 2006 03:13 PM
Weird problem with BPFTP server jPokalypse Behind the Music 2 May 7, 2006 02:28 PM


All times are GMT -5. The time now is 10:30 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.