Overview:
In this small tutorial I will explain how to use transmission-daemon with more advanced tools and techniques giving you greater power over your torrent client/server.

You will learn how to use transmission-remote for advanced command line usage. How to manually limit each torrents up or down limit. and even seed ratio limit, and much much more! This will give you that "edge" over you're torrent client/server that you always wanted.

You will also for quickness still be able to access it's standard web gui for quick configuration, and you will learn how to work both the web GUI, and command line together seamlessly.

With both command line knowledge of transmission and the webui, you will be able to have far greater control than the standard GUI client or web client. As all features will become available to you.

Transmission-Daemon runs in the background, and so you're task bar won't be cluttered up with torrent clients. This gives you the ability to also appear not to be downloading unless somebody knows where to look for it ;-)

Requirements:
In order for this tutorial to be of any use to you, you must first have access to, or know the following things. Without them, this simply will not work.


  • GNU/Linux

This tutorial is intended for the Linux version of Transmission, this may work with the MAC version, however I cannot personally test this. So for now I am marking GNU/Linux as a requirement.

  • Transmission 2.42

Obviously you will need transmission it's self, this tutorial is written based on version 2.42 older versions may differ slightly, so if you can also keep to the same version that'd be great. At time of writing this tutorial 2.42 was the latest stable build.

  • Internet Connection
  • Some basic knowledge of how to use GNU/Linux command line interface.
  • Network ports open and ready.
  • Knowledge of bittorrent protocol, and general bittorrent information what it is etc..


Optional:
These optional extras will be needed for some of the installation information, however this tutorial can still be used without them and they are not required

  • RPM/YUM based Linux distribution such as Fedora.

The transmission installation instructions are written using yum and known-working commands for Fedora. I highly recommend this to be your OS of choice if following this tutorial. However, this is only needed for initial set-up of transmission. If you can handle that on your own, then you can still use this tutorial. For say, use on Debian.

  • Understanding of SSH and it's usage

Only needed if you wish to remotely control transmission from another machine via command line. SSH set-up instructions will not be provided in this tutorial. You are expected to already know how to use SSH if this is what you plan on doing. Again, it is not required, and this tutorial is written for local transmission usage. All commands specific for transmission however can be used in ssh.

  • Access to the root account

Only required if you need to install transmission using the installation instructions below. If you already have transmission-daemon & transmission-remote installed and running/working root is not required.

Getting Started:
So if you meet all the requirements above, you can safely carry on reading. If however you do not meet "optional" please skip to "using".

Installation:
So before we can do anything, we need to install transmission and friends! If you have any other instances open such as transmission-gtk or transmission-qt please close them fully before continuing.

Step 1:
Open a terminal window..
Step 2:
Type the following command to become root user:
Code:
$ su -
Step 3:
Use yum to install transmission stuff like so:
Code:
$ yum install transmission-common transmission-daemon transmission-remote-cli
If you was able to successfully complete the steps above, good news everybody! Now to setup transmission to actually start.

Initial Setup/Configuration:
So we have the introductory out of the way. But now we need to make it come alive so we can do our evil laugh and say "IT'S ALIVE!!1!!!!11!!! MUHAHAAHAHA"

By default transmission-daemon will automatically start on "http://localhost:9091/transmission/web/"

So lets try to bring it up on it's default configuration with the following command:
Code:
$ service transmission-daemon start
Error after running above command? Post a reply and let me know!

Did it start? Great! Now try getting to the URL I mentioned above in firefox. You should be presented with the webui like so:

So while we are sitting at the webui now would be a good time to get the basic configuration out of the way. Due to the nature of this forum, being about invites to trackers, I will assume you are using private trackers.

It is a well known fact private trackers do not want PEX and DHT running, besides it can mess with you statistics on a tracker. So I will be telling you to turn them off.

So in the webui, you will see in the bottom left hand corner a gear button, and next to it a turtle button, press the gears button.
at this point a menu should have popped up. If it did not, you're doing it wrong. If it did, click preferences.

You will see a this dialog with the following options below I will add my recommended defaults. Feel free to modify to suit your needs:
Torrents:
Speed:
Peers:
Network:

With private trackers I highly reccomend you match my DHT and PEX settings. Otherwise you risk being banned due to potentionally false statistics being reported.
Usage:
Now we move onto the actual usage of this sucker, enough set-up talk, now it is time to learn a thing or two!



Ladies and girls, I introduce you to transmission remote!

The basic --help output of transmission-remote:
Code:
$ transmission-remote --help
transmission-remote 2.42 (13013)
A fast and easy BitTorrent client
http://www.transmissionbt.com/

Usage: transmission-remote [host] [options]
       transmission-remote [port] [options]
       transmission-remote [host:port] [options]
       transmission-remote [http://host:port/transmission/] [options]

See the man page for detailed explanations and many examples.

Options:
 -h   --help                               Display this help page and exit
 -a   --add                                Add torrent files by filename or URL
 -as  --alt-speed                          Use the alternate Limits
 -AS  --no-alt-speed                       Don't use the alternate Limits
 -asd --alt-speed-downlimit    <speed>     max alternate download speed (in
                                           KiB/s)
 -asu --alt-speed-uplimit      <speed>     max alternate upload speed (in
                                           KiB/s)
 -asc --alt-speed-scheduler                Use the scheduled on/off times
 -ASC --no-alt-speed-scheduler             Don't use the scheduled on/off times
      --alt-speed-time-begin   <time>      Time to start using the alt speed
                                           limits (in hhmm)
      --alt-speed-time-end     <time>      Time to stop using the alt speed
                                           limits (in hhmm)
      --alt-speed-days         <days>      Numbers for any/all days of the week
                                           - eg. "1-7"
      --blocklist-update                   Blocklist update
 -c   --incomplete-dir         <dir>       Where to store new torrents until
                                           they're complete
 -C   --no-incomplete-dir                  Don't store incomplete torrents in a
                                           different location
 -b   --debug                              Print debugging information
 -d   --downlimit              <speed>     Set the max download speed in KiB/s
                                           for the current torrent(s) or
                                           globally
 -D   --no-downlimit                       Disable max download speed for the
                                           current torrent(s) or globally
 -e   --cache                  <size>      Set the maximum size of the session's
                                           memory cache (in MiB)
 -er  --encryption-required                Encrypt all peer connections
 -ep  --encryption-preferred               Prefer encrypted peer connections
 -et  --encryption-tolerated               Prefer unencrypted peer connections
      --exit                               Tell the transmission session to shut
                                           down
 -f   --files                              List the current torrent(s)' files
 -g   --get                    <files>     Mark files for download
 -G   --no-get                 <files>     Mark files for not downloading
 -i   --info                               Show the current torrent(s)' details
 -if  --info-files                         List the current torrent(s)' files
 -ip  --info-peers                         List the current torrent(s)' peers
 -ic  --info-pieces                        List the current torrent(s)' pieces
 -it  --info-trackers                      List the current torrent(s)'
                                           trackers
 -si  --session-info                       Show the session's details
 -st  --session-stats                      Show the session's statistics
 -l   --list                               List all torrents
      --move                   <path>      Move current torrent's data to a new
                                           folder
      --find                   <path>      Tell Transmission where to find a
                                           torrent's data
 -m   --portmap                            Enable portmapping via NAT-PMP or
                                           UPnP
 -M   --no-portmap                         Disable portmapping
 -n   --auth                   <user:pw>   Set username and password
 -ne  --authenv                            Set authentication info from the
                                           TR_AUTH environment variable
                                           (user:pw)
 -N   --netrc                  <file>      Set authentication info from a .netrc
                                           file
      --ssl                                Use SSL when talking to daemon
 -o   --dht                                Enable distributed hash tables (DHT)
 -O   --no-dht                             Disable distributed hash tables
                                           (DHT)
 -p   --port                   <port>      Port for incoming peers (Default:
                                           51413)
 -pt  --port-test                          Port testing
 -P   --random-port                        Random port for incomping peers
 -ph  --priority-high          <files>     Try to download these file(s) first
 -pn  --priority-normal        <files>     Try to download these file(s)
                                           normally
 -pl  --priority-low           <files>     Try to download these file(s) last
 -Bh  --bandwidth-high                     Give this torrent first chance at
                                           available bandwidth
 -Bn  --bandwidth-normal                   Give this torrent bandwidth left over
                                           by high priority torrents
 -Bl  --bandwidth-low                      Give this torrent bandwidth left over
                                           by high and normal priority torrents
      --reannounce                         Reannounce the current torrent(s)
 -r   --remove                             Remove the current torrent(s)
 -pr  --peers                  <max>       Set the maximum number of peers for
                                           the current torrent(s) or globally
      --remove-and-delete                  Remove the current torrent(s) and
                                           delete local data
      --torrent-done-script    <file>      Specify a script to run when a
                                           torrent finishes
      --no-torrent-done-script             Don't run a script when torrents
                                           finish
 -sr  --seedratio              ratio       Let the current torrent(s) seed until
                                           a specific ratio
 -srd --seedratio-default                  Let the current torrent(s) use the
                                           global seedratio settings
 -SR  --no-seedratio                       Let the current torrent(s) seed
                                           regardless of ratio
 -gsr --global-seedratio       ratio       All torrents, unless overridden by a
                                           per-torrent setting, should seed
                                           until a specific ratio
 -GSR --no-global-seedratio                All torrents, unless overridden by a
                                           per-torrent setting, should seed
                                           regardless of ratio
 -td  --tracker-add            <tracker>   Add a tracker to a torrent
 -tr  --tracker-remove         <trackerId> Remove a tracker from a torrent
 -s   --start                              Start the current torrent(s)
 -S   --stop                               Stop the current torrent(s)
 -t   --torrent                <torrent>   Set the current torrent(s)
      --start-paused                       Start added torrents paused
      --no-start-paused                    Start added torrents unpaused
      --trash-torrent                      Delete torrents after adding
      --no-trash-torrent                   Do not delete torrents after adding
 -hl  --honor-session                      Make the current torrent(s) honor the
                                           session limits
 -HL  --no-honor-session                   Make the current torrent(s) not honor
                                           the session limits
 -u   --uplimit                <speed>     Set the max upload speed in KiB/s for
                                           the current torrent(s) or globally
 -U   --no-uplimit                         Disable max upload speed for the
                                           current torrent(s) or globally
      --utp                                Enable uTP for peer connections
      --no-utp                             Disable uTP for peer connections
 -v   --verify                             Verify the current torrent(s)
 -V   --version                            Show version number and exit
 -w   --download-dir           <path>      When adding a new torrent, set its
                                           download folder. Otherwise, set the
                                           default download folder
 -x   --pex                                Enable peer exchange (PEX)
 -X   --no-pex                             Disable peer exchange (PEX)
 -y   --lpd                                Enable local peer discovery (LPD)
 -Y   --no-lpd                             Disable local peer discovery (LPD)
 -pi  --peer-info                          List the current torrent(s)' peers

Isn't she beautiful? but now I fear some of you could be looking at the above, and thinking "What do I do with all of those? how do I use them?!"

Well, by the time I am done, you won't need to look at that list ever again! . (Hopefully)

Adding A Torrent
There are two ways of doing this. Personally I prefer to add via the webui. So I will demonstrate both.

WebUI Method:
Open your browser and go to this url: http://localhost:9091/transmission/web/

You will now see a button on top left hand side that says "open" (really you can't miss it) you will be presented with the following dialog:

Choose either a local torrent file, or webtorrent file/magnet link as you like, and click add (I'd probably suggest to leave "Start when added" unticked as well. And click "Add"

Now you have added your first torrent! Congratulations!
Transmission-Remote Method:
Now, as this is the first time I am demonstrating to you how to connect to your transmission via transmission-remote, I will add some more information as to how to actually connect in the first place. It's easy really.

Generally, connecting to transmission should be easy. As by default it looks for a local instance of transmission-daemon, i.e. looks for localhost:9091.

So to see if it has found your instance automatically run:
Code:
$ transmission-remote -st

CURRENT SESSION
  Uploaded:   2.56 GiB
  Downloaded: 2.10 GiB
  Ratio:      1.21
  Duration:   1 day, 6 hours

TOTAL
  Started 105 times
  Uploaded:   40.19 GiB
  Downloaded: 38.94 GiB
  Ratio:      1.03
  Duration:   87 days
Your session stats should print zero however, unless you have already been using it and had it set up.

If however your connection attempt hangs, it means it failed to connect.

Generally speaking, you can again try this command and assuming you have transmission on that port, it should work, if you changed the port, then use that port in the following command:
Code:
$ transmission-remote localhost:9091 -st

CURRENT SESSION
  Uploaded:   2.57 GiB
  Downloaded: 2.10 GiB
  Ratio:      1.22
  Duration:   1 day, 6 hours

TOTAL
  Started 105 times
  Uploaded:   40.20 GiB
  Downloaded: 38.94 GiB
  Ratio:      1.03
  Duration:   87 days

So, if that one worked for you, from now on you will need to add the <host>:<port> to every command you do. If however it worked without the <host>:<port> you can safely carry on doing what you where doing without adding them from now on.

In this tutorial I will be doing commands without them, so do not forget the add <host>:<port> like demonstrated above if it was needed.

Okay, so now let's add a torrent! Note: Helps make sure torrent file is in current work directory, or else you will need to provide full path to it.
Code:
$ transmission-remote localhost:9091 -a atorrent.torrent --start-paused
Note: Helps make sure torrent file is in current work directory, or else you will need to provide full path to it.
if all went well, the output should have been:
Code:
localhost:9091/transmission/rpc/ responded: "success"
localhost:9091/transmission/rpc/ responded: "success"
If it all went well: Congratulations, you now know how to add a torrent!

Another handy thing you will notice is, if you add a torrent that the data already exists for in your assigned download directory, transmission will automatically verify it's data and continue, or if it's a new .torrent file from a different tracker, it will verify, and outside seed to the new tracker. This makes outside seeding super easy.

Listing Torrents:
The Webui by default lists all of your torrents and there stats. So to see the torrent list in webui, just go to the webui!

Transmission-Remote:
The Listing of torrents is actually rather easy in this method as well, to list your current torrents run the following command:
Code:
$ transmission-remote -l
Note: Remember, if you had to use <host>:<port> in previous section, you will need it again, you will have to add it before "-l" see above instructions if you have forgotten how.
This should give you an output like so:
Code:
ID     Done       Have  ETA           Up    Down  Ratio  Status       Name
   1   100%   1.39 GiB  Unknown      0.0     0.0   0.79  Idle         Torrent 1
   2   100%  52.70 MiB  Done         0.0     0.0   1.50  Finished     Torrent 2
   3   100%   1.37 GiB  Done         0.0     0.0   1.20  Finished     Torrent 3
   4   100%  717.4 MiB  Unknown      0.0     0.0   0.90  Idle         Torrent 4
   6   100%   2.54 GiB  Unknown      0.0     0.0   0.25  Idle         Torrent 5
   7   100%   2.24 GiB  Unknown      0.0     0.0   0.56  Seeding      Torrent 6
  10   100%   2.24 GiB  Unknown      0.0     0.0   0.14  Idle         Torrent 7
  11   100%   1.38 GiB  Done         0.0     0.0   1.20  Finished     Torrent 8
  12   100%   1.20 GiB  Unknown      0.0     0.0   1.06  Idle         Torrent 9
  13   100%   1.89 GiB  Done         0.0     0.0   0.42  Stopped      Torrent 10
  14   100%  48.00 MiB  Unknown      0.0     0.0   8.77  Idle         Torrent 11
  15   100%   1.30 GiB  Done         0.0     0.0   0.06  Finished     Torrent 12
  17   100%  984.7 MiB  Done         0.0     0.0   0.44  Finished     Torrent 13
  18   100%   1.89 GiB  Unknown      0.0     0.0   0.01  Idle         Torrent 14
  19   100%   2.24 GiB  Unknown      0.0     0.0   0.00  Idle         Torrent 15
  20   100%   1.20 GiB  Unknown      0.0     0.0   0.00  Idle         Torrent 16K
  21   100%   1.89 GiB  Unknown      0.0     0.0   0.00  Idle         Torrent 17
  22   100%   2.54 GiB  Unknown      0.0     0.0   0.03  Idle         Torrent 18
  25   100%   1.37 GiB  Unknown      0.0     0.0   0.00  Idle         Torrent 19
  26   100%   2.09 GiB  6 days      35.0     0.0   0.85  Seeding      Torrent 20
  27   100%   1.38 GiB  Done         0.0     0.0   0.00  Stopped      Torrent 21
Sum:         31.91 GiB              35.0     0.0
Note: My output is censored.
PS: A lot are duplicates, and outside seeded ;-)
And there you go ladies and ladies, one list of torrents
Torrent Information:
So just how do you see the full flat-out hardcore hot information of a torrent?! Wonder no more kids! for today, you will learn an ancient art of Chinese masters.. wait hold on that's not right.. I wasn't supposed to write that part. Oh Well!

Moving on..

Viewing Information using the WebUI:
To view information on the web ui, click the torrent you wish to view the information for, and click the big "I" information symbol in the top right hand corner. Screenshot below shows you how:

As you can see there are 5 tabs on it, each contains different information, go ahead, browse through them They are mostly self explanatory.
Viewing Information using Transmission-Remote:
As you probably noticed, the WebUI information was quite limited wasn't it? So if you really want to see the full information you have to view it via the command line..

Now for this we have several "flags" to do this with, I will demonstrate use with all of them. Each is optional. namely the "-i" flag is the basic information.

You will need to use "-l" to find the torrent number which you will need to add after the "-t" flag which I have demonstrated below.

So if you want to view all information, including peers, trackers, etc all in one hit, run the following command:
Code:
$ transmission-remote -t 26 -i -ip -if -it 
NAME
  Id: 26
  Name: XXX XXXX
  Hash: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

TRANSFER
  State: Seeding
  Location: /downloads
  Percent Done: 100%
  ETA: 6 days
  Download Speed: 0 KiB/s
  Upload Speed: 35 KiB/s
  Have: 2.XX GiB (2.XX GiB verified)
  Availability: 100%
  Total size: 207.X GiB (2.09 GiB wanted)
  Downloaded: 2.XX GiB
  Uploaded: 1.84 GiB
  Ratio: 0.87
  Corrupt DL: None
  Peers: connected to 3, uploading to 2, downloading from 0

HISTORY
  Date added:       Thu Jan 26 XX:XX:XX 2012
  Date finished:    Thu Jan 26 13:XX:31 2012
  Date started:     Thu Jan 26 XX:XX:XX 2012
  Latest activity:  Fri Jan 27 12:30:32 2012
  Downloading Time: 2 hours, 33 minutes
  Seeding Time:     22 hours

ORIGINS
  Date created: Tue Jan 24 00:XX:XX 2012
  Public torrent: No
  Creator: ruTorrent (PHP Class - Adrien Gibrat)
  Piece Count: 13296
  Piece Size: 16.00 MiB

LIMITS & BANDWIDTH
  Download Limit: Unlimited
  Upload Limit: Unlimited
  Ratio Limit: 10.00
  Honors Session Limits: Yes
  Peer limit: 300
  Bandwidth Priority: High

Address               Flags         Done  Down    Up      Client
xx.xxx.xx.xxx         UEI           3.2      0.0    17.0  µTorrent 3.0.0
xx.xxx.xxx.xxx        ?EI           14.1     0.0     0.0  µTorrent 2.0.2
xxx.xx.x.xxx          UEI           2.1      0.0    17.0  µTorrent 2.0.3
spy films (295 files):
  #  Done Priority Get      Size  Name
  0:   0% Normal   No   4.35 GiB  File 1
  294:   0% Normal   No  701.9 MiB  File 2

  Tracker 0: http://tracker.iptorrents.ru:6969
  Active in tier 0
  Got a list of 36 peers 12 minutes ago
  Asking for more peers in 17 minutes
  Tracker had 12 seeders and 24 leechers 12 minutes ago
  Asking for peer counts in 17 minutes

  Tracker 1: http://tracker.iptorrents.me:2710
  Active in tier 1
  Got a list of 36 peers 18 minutes ago
  Asking for more peers in 11 minutes
  Tracker had 12 seeders and 24 leechers 18 minutes ago
  Asking for peer counts in 11 minutes

  Tracker 2: http://tracker.iptorrents.com:2790
  Active in tier 2
  Got a list of 36 peers 13 minutes ago
  Asking for more peers in 16 minutes
  Tracker had 12 seeders and 24 leechers 13 minutes ago
  Asking for peer counts in 16 minutes
Note: And of course, it is censored. Yes I am aware -ic was not used. I did not think it was necessary to demonstrate that. But if you wish to use "-ic" try it

Q: But what does "-i" "-it" -"if" "-ic" "-ip" mean?! and is there an "-IQ"?
A:
The "-i" flag stands for "information" this gives you the basic information.
The "-it" stands for "information trackers" this gives you the information on trackers.
The "-if" stands for information files" this gives you the information on files.
The "-ic" flag gives you the information on the pieces. An alternative is "--info-pieces" it is named ic instead of ip because ip is used by something else.
The "-ip" flag stands for "information peers" this gives you the information on your fellow peers.
There is no IQ command

Speeding Torrents:
Officer! That torrent is speeding!

Ever find you have a torrent that is going off in it's own merry way hogging all the damn bandwidth from other torrents you need to seed? Sadly in webui there is no option to stop this, however, fear not, we have transmission-remote to the rescue!

Setting Speed limits with transmission-remote:
Sadly, sometimes you need to take some bandwidth away from one seeding (or downloading..) torrent and give it to another torrent. But how?! Manual capping!

So at this point, you should know how to follow these instructions:

Use transmission remote to list all of your torrents, then find the one that is downloading the most, select the torrent and view it's basic information. You will see if it already has caps, if it does not it's time to set one!

So in my case, torrent 26 is using all my daily overall capped upload speed, this is bad! I think I'll cap it to just 20KBs upload. So I will use the "-u" flag as shown below:

Code:
$ transmission-remote -t 26 -u 20

9 out of 10 times, when you set an option with transmission remote you'll just get a success message like the one below:

Code:
localhost:9091/transmission/rpc/ responded: "success"

So if we view the basic information of that torrent:
Code:
NAME
  Id: 26
  Name: XXX
  Hash: 00000000000000000000000000000000000000

TRANSFER
  State: Seeding
  Location: /downloads
  Percent Done: 100%
  ETA: 11 days
  Download Speed: 0 KiB/s
  Upload Speed: 20 KiB/s
  Have: 2.XX GiB (2.XX GiB verified)
  Availability: 100%
  Total size: 207.X GiB (2.XX GiB wanted)
  Downloaded: 2.XX GiB
  Uploaded: 1.91 GiB
  Ratio: 0.91
  Corrupt DL: None
  Peers: connected to 3, uploading to 2, downloading from 0

HISTORY
  Date added:       Thu Jan 26 XX:XX:20 2012
  Date finished:    Thu Jan 26 XX:XX:31 2012
  Date started:     Thu Jan 26 XX:XX:27 2012
  Latest activity:  Fri Jan 27 XX:XX:11 2012
  Downloading Time: 2 hours, 33 minutes
  Seeding Time:     23 hours

ORIGINS
  Date created: Tue Jan 24 00:XX:XX 2012
  Public torrent: No
  Creator: ruTorrent (PHP Class - Adrien Gibrat)
  Piece Count: 13296
  Piece Size: 16.00 MiB

LIMITS & BANDWIDTH
  Download Limit: Unlimited
  Upload Limit: 20 KiB/s
  Ratio Limit: 10.00
  Honors Session Limits: Yes
  Peer limit: 300
  Bandwidth Priority: High

You can now see it is limited to 20KBs up, and it is only uploading at 20KB's up. This means other torrents can use the bandwidth.

But what if, you want to remove that limit? other torrent finished? That can be done to!

What you will need is "-U" flag without any additional parameters.

Code:
transmission-remote -t 26 -U

If you run information again, you would now see there is no bandwidth limit and it is set to "Unlimited".

So that is basically how you set and remove speed limits. For downloading, it is exactly the same except you will use "-d" and "-D" in replacement of "-u" and "-U".

Setting Bandwidth Priority with Transmission-Remote:
If you do not want to manually set speed limits, and you want to try priorities, you can do that too!

But how?! This one is pretty easy actually. However cannot be done via webui.

So what you need to remember is "B" stands for bandwidth" while you have 3 modes "High" "Low" "Normal"

So 1+1 = command.

So for example "Bandwidth normal" becomes "-Bn" and "Bandwidth high" becomes "-Bh" you see where I'm doing with this? I've said it this way so you can remember it.

So lets try it:
Code:
transmission-remote -t 26 -Bh

If you go view the information of your torrent, with transmission-remote you will see it is now reporting the bandwidth to be high.

Replace -Bh with -Bn and it becomes normal, -Bl becomes "low". It's really that simple..

Seeding Ratio:
Ever tried part seeding? Where you download one single part say, a 14MB file, and upload about 300/400MB? that doesn't work so well if you have your overall ratio limit set. As transmission will stop when your ratio of downloaded "14MB" becomes 1.20 (Your ratio limit)

So how do we fix this so it does not stop so damn soon? Well we set a per-torrent seed ratio.

Again, cannot be done via webui (Now you can see why I reccomend you use transmision-remote aswell)

Setting Per-Torrent Ratio Limit via Transmission-Remote:
This is actually pretty goshdarned easy. We use the flag "-sr" which stands for "stop ratio". Here is an example of it being used:
Code:
transmission-remote -t 26 -sr 5.00

As you can see, you set the ratio just as you read it. Viewing torrent information you will see it is now applied.

To set it back to default we use "-srd" so command becomes
Code:
transmission-remote -t 26 -srd

But what if I want to seed regardless of ratio? What if I don't want it to ever stop?

Well, we can do that by using "-SR".
Code:
transmission-remote -t 26 -SR

Q: Can I make the overall ratio unlimited too?
A: Yes.

Tracker Management
Be careful, with great power comes great responsibility. Misconfiguring anything when modifying trackers, could lead to you potentially being booted from a private tracker scene due to modifying stats. Why you may ask?

When you have multiple trackers on the same torrent it can cause stats to be incorrectly reported, sometimes more, sometimes less, and it can cause all kind of problems.

So avoid modifying the trackers when you can. Me I usually only ever remove trackers, I never add. (For example on Demonoid, I would remove all trackers except Demonoid's..)

Tracker Management is something you cannot do via the webui. But you can watch webui information on trackers and watch them appear/disappear if you want

Listing Trackers:
Before we do anything, we will need to know what trackers we have. To do this we use the "-it" flag.

So command becomes:
Code:
$ transmission-remote -t 26 -it
The output will be like so:
Code:
  Tracker 0: http://tracker.iptorrents.ru:6969
  Active in tier 0
  Got a list of 39 peers 4 minutes ago
  Asking for more peers in 25 minutes
  Tracker had 12 seeders and 27 leechers 4 minutes ago
  Asking for peer counts in 25 minutes

  Tracker 1: http://tracker.iptorrents.me:2710
  Active in tier 1
  Got a list of 38 peers 10 minutes ago
  Asking for more peers in 19 minutes
  Tracker had 12 seeders and 26 leechers 10 minutes ago
  Asking for peer counts in 19 minutes

  Tracker 2: http://tracker.iptorrents.com:2790
  Active in tier 2
  Got a list of 39 peers 4 minutes ago
  Asking for more peers in 25 minutes
  Tracker had 12 seeders and 27 leechers 4 minutes ago
  Asking for peer counts in 25 minutes
Removing Trackers:
Got to many trackers? Well in the above section you got the ID's of trackers, e. Tracker 1:

So to remove it, we would run:
Code:
$ transmission-remote -t 26 -tr 1
This would remove the second listed tracker (Where ID 0 is the first listed tracker)

Adding Trackers:
Not enough trackers? Well you can always add more (REALLY BAD IDEA ON PRIVATE TORRENTS!)

But fear not, I will tell you how young one.

So for this, we use "-td" flag. Like so:
Code:
$ transmission-remote -t 26 -td http://tracker.iptorrents.com:2790

You will now have a new tracker, congratulations!

Moving Torrents & Verifying Data
Has your torrent data got bored of it's current house? does it want a new location? new folder views? Maybe next to the Desktop?

In this section, I will tell you how to move data, this cannot be done in WebUI.

Moving using transmission-remote
So, to move data, we will pretend our new data location is "/downloads2" so to do this we will run:
Code:
$ transmission-remote -t 27 --move /downloads2
That's it really.
Finding already moved data with transmission-remote
Did your data pop out prematurely? Not to worry, theres a fix for that!

So you need to tell transmission where the new data is. To do this you can run the command:
Code:
transmission-remote -t 27 --find /downloads

I highly recommend you verify after doing this and moving data.

Verifying Data
So if you have moved any data, it's a really good idea to get transmission to check that data and verify it.

To do this, run the following command:
Code:
transmission-remote -t 27 -v
Final Notes:
This tutorial is not 100% complete, however for the most part it is "done". I wasn't sure what else other people would want to know, so I have left it open, what else is in the tutorial will be entirely on you guys, so if you think something else needs to be explained how to be used, drop a reply and let me know!