1 I installed fresh drupal6.
2 installed bittorrent module (beta and later cvs, omitting the "downloads" table bug)
3 created torrent file with transmissionbt (gtk) on my local box, set proper announce url and started to seed + uploaded torrent to remote client on external ip.
4 uploaded the torrent to website us regular user (admin torrent gives error "d14:failure reason 18:Tracker is Offline" )
5 Problem: tracker is not tracking any peers

My local client and remote client _are_ able to download and upload torrents from other trackers, but the drupal tracker is not tracking any peers, no bits flow. Do you know a reason ?

Since a while im struggling to get that module working, i head it up few months a go and now im building an "art project" based on module and media mover, its critical for me to have basic function it working in 2 days ... please help.

Comments

szczym’s picture

More testing: Torrent meta info is showing: "bad data from tracker" ...

bradfordcp’s picture

Hmm, I will look into the issue, I am also using Transmission to generate my test torrents. I will try and get a set of instructions explaining exactly how I am getting my tracker to function. I hope this will help you out.

szczym’s picture

In my scenario the torrent file is generated by media mover custom command calling sh script with just:

btmakemetafile.py http://tracker.example.com:80/announce.php $1

Thise torrents use to work ok on other trackers. if it would help, i cane provide you with urls to my test setup.

Dr_Placebo’s picture

I to am finding that my torrents always report 0 seeds and 0 trackers, regardless of the actual figure.

Thanks in advance.

RoboPhred’s picture

This seems to be happening because announce_url is empty in the database. I talked to Dr Placebo today, and tested it out locally.
The issue seems to be that the announce_url field in the bt_torrents table is empty when the override announce is set to "append".

I think the cause is related to this:

function bt_torrent_validate() contains

            // Fix the announce URL if it is not present
            if (!array_key_exists('announce', $struct) && variable_get('bt_override_announce', 0) != 0) {
              $struct['announce'] = variable_get('bt_override_announce_url', '');
            }

And yet both bt_torrent_insert() and bt_torrent_update() have:

  // Fix the announce URL if it is not present
  if (!array_key_exists('announce', $torrent) && variable_get('bt_override_announce', 0) == 2) {
    $torrent['announce'] = variable_get('bt_override_announce_url', '');
  }

The code in validate() looks correct, but the $struct there is never used anywhere. The actual location the change will be accepted at is insert/update, which only work on the "override" setting.

RoboPhred’s picture

I tried making the change and it didn't help... I am fairly certain this is on the right track though.