PDA

View Full Version : Unofficial DF Daemon Client



Darkness Productions
01-23-2004, 11:10 AM
This is an initial posting of a script that works very similarly to the Official DF Daemon client, but is not supported by the DF crew. Let me repeat. This client is NOT supported by anyone officially related to the DF project.

That said. This client is a simple perl script that allows you to select other hosts to download DF patches from.

What does that get me?
Well, it gets you nothing, really. But it allows a little of the bandwidth to be moved from the main DF servers off to another server. See, this script allows a cascading system. Say your team sets up the official daemon (or this one, for that matter). It downloads the patches to their main server. Then, you can setup this daemon, tell it to download from your teams server, and you have just saved the main DF servers some bandwidth. True, you're one patchfile download has only saved 2meg, but multiply that by everyone on your team. That's a lot of bandwidth savings.

This will, in effect, allow the DF servers to continue allowing uploads (which may help solve some client issues as well). This means no points lost for you, and no points lost for your team.

The download is attached to this post. Download it, extract it. You'll need a list of perl modules (LWP::Simple, Config::General (not available on windows), HTTP::Status, Socket, Date::Manip, and GetOpt::Long). Most of these modules can be installed (on Linux/BSD/etc from cpan, on Windows from ppm). Currently, all of these modules are required for the script to function properly.

Edit the included updateproxy.cfg. Note that most of the items in it look exactly the same as from the official daemon. They have the same uses. Change the writepath variable, and select which patchfiles you want to download from within the <to_download> section. You may wish to change the location of the remote server. By default, the DF server is selected, but there is another server as well.

Run the script. On windows, this is acheived by "perl updateproxy.pl". On *nix, "./updateproxy.pl" should suffice. Please note that the client will not, by default, print anything to the console. The client will check once per hour for updates to the files, and will then fetch one file every 5 minutes, so as not to bog down whatever remote server you've selected.


If anyone has questions, please let me know, and I'll get them answered as soon as possible.