What does this plugin do?
It manages Azureus upload and download speeds on a schedule. For instance, if your ISP caps download totals during working hours, like 8:00am to 5:00pm, you can use SpeedScheduler to make Azureus automatically pause all downloads between those hours. Of course, it can do more, like pause only seeding torrents, pause only incomplete torrents, and set speed limits all on a flexible schedule with a pretty graphical user interface wirtten in Java and SWT.
How do I thank you?
Post a comment below and tell the world you love Speed Scheduler. If you’ve got some money burning a hole in your pocket, you can PayPal me a donation. It’s always nice to see a little cash show up in my PayPal account.
Why won’t the plugin start?
If the plugin won’t startup, and you get a java.lang.ExceptionInInitializerError or java.lang.NullPointerException, you can usually fix it by turning off logging under Tools, Options, Plugins, Speed Scheduler.
The full error message may look like this:
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
... 10 more
What’s with the 5K/s rule?
You may have noticed that if you limit your upload to 5KB/sec or less, than your download speed is limited to twice the upload speed. This is intentional. An Azureus developer asked me to add this feature to “prevent leechers”. Last I checked, the Azureus config does this too. If you set your uload speed to anything more than 5KB/sec (0 included), then there is no limit to the download speed you can set. Happy sharing!
Does SpeedScheduler run in console mode?
That depends. I’ve had reports that it does run with Azureus2307-B25.jar, but with previous versions it seems to have a problem on startup. The way it works is this: You launch the GUI version of Azureus to configure it and setup your schedules, and then you can run in console mode afterwards. The scheduler will automagically run in the background managing your up/down speeds.
SeedScheduler shows the wrong time, like it thinks it’s in the GMT timezone?
To fix this, set an environment variable called
to have a value of
to the offset of your local time zone.
In Windows, you can add this environment variable by right-clicking on “My Computer”, “Properties”, then click the “Advanced” tab. Then click the “Environment Variables” button. Then click “New” and enter “tz” (lower case) for the name (no quotes), and “GMT+10″ as the value. You may be able to do this easier, by editing the time (right-click on the clock). Let me know if you find an easier way.
In Linux, just edit your .bash_profile or your /etc/profile and create a line like this:
How do I setup a schedule that goes past midnight (12:00am)?
You can’t make a single schedule that goes past midnight, but you can
setup two schedules, one that goes until 11:59pm, and another that goes from midnight and forward. For example, if you want a schedule that goes from 10:00pm to 7:00am:
Schedule 1: 10:00pm - 11:59pm
Schedule 2: 12:00am - 7:00am
Can SpeedScheduler set different speeds for foreign IP addresses?
No. But such a plugin could be written. You might even consider using the SpeedScheduler source code as a starting point to accomplish this.
Can SpeedScheduler apply a speed limit based on torrent category?
No. But feel free to write it if you want it. It may help to know that SpeedScheduler will not pause torrents that have been “Force started”. Sometimes people ask if SpeedScheduler can also schedule speeds for individual torrents. It can’t do this either. I imagine the GUI
for such an endeavor would be monstrous, but email me if you have any ideas on how to do this right.
Can SpeedScheduler show 24-hour time instead of 12-hour time?
Yes, just go to the options page under Tools, Options, Plugins, Speed Scheduler and set it there.
Why are my “Force Start” torrents not paused by SpeedScheduler?
This is intentional. This way, you can override a schedule that pauses transfers for an important torrent.
Can I pause downloads but not seeds (or vice versa)?
Yes, as of SpeedScheduler version 1.1, you can pause only completed torrents, or pause only incomplete torrents.
Can SpeedScheduler control max simultaneous downloads or some other configuration item besides just speeds?
Sorry, no. All it can do now is control max upload/download speeds and pause transfers on a schedule. I don’t plan on adding any other feature like you describe, but it would be pretty cool to have a plugin that could schedule a complete Azureus config on a schedule. If you want to write it, let’s talk.
What is the difference between “Check schedules every N ms” and granularity?
The “Check schedules every N ms” is how often SpeedScheduler will wake up, check the time, and see if a schedule change is needed. The granularity is just how small of time increments to put in the drop-down boxes when you are configuring SpeedScheduler. So if you only want half-hour granularity when setting times, you can set it to 30. If you need more control, you can set it to 5 to be able to specify your schedules in 5 minute increments. So, to summarize, The “Check schedules every N ms” refers to how SpeedScheduler actually behaves, and the granularity is just for display. You shouldn’t have to change either item for SpeedScheduler to work just fine.
How did you create SpeedScheduler?
I use the Eclipse Java IDE to write, build, and package SpeedScheduler. It’s written in Java, and seems to run well on Windows, Linux, and Mac. It uses a SAX XML parser to read and store user schedules, and it stores other config (like user interface settings) directly in the Azureus configurationn manager.
I am using GCJ on Linux and SpeedScheduler will not load. What’s up?
I have had several reports of GCJ not working, presumably because it does not ship with a usable XML parser. So far, everyone who has reported a problem with GCJ has swiched to the Sun Java run-time to make SpeedScheduler start working. If you manage to get GCJ to work with SpeedScheduler, please let me know!
How does Speed Scheduler play with Auto Speed?
As of version 1.6, Speed Scheduler should play nicely with Auto Speed. Instead of setting the global upload/download speeds, it sets Auto Speed’s upload/download speeds. This works whether Auto Speed is installed as a plugin, or if you are using the core built-in Auto Speed capability.
What if my question is not in this FAQ?
Add a comment below, and I’ll respond and add your question to this FAQ. You must tell me what operating system you are using, and exactly what you did (step by step) to produce the problem. Please be very very specific (even more specific than you think is necessary) :)