Форум vBTorrents.org

Форум vBTorrents.org (https://vbtorrents.org/index.php)
-   VBTT v.2.0 (https://vbtorrents.org/forumdisplay.php?f=2)
-   -   vBulletin Torrent Tracker v.2.0beta1 (https://vbtorrents.org/showthread.php?t=6)

Skald 22.04.2009 01:43

vBulletin Torrent Tracker v.2.0beta1
 
Вложений: 1
Новая версия моего движка.
Почему бета? Да потому что релиз должен быть аккуратным и со 100% проверенным кодом.
Процедура инсталла в окончательном релизе будет полностью автоматическая (в данный момент инсталляция только в процессе написания)
Шаблоны изменяются как и в версии 1.х через TMS
Основное изменение - логика работы аннонса. Теперь в момент работы аннонсера данные добавляются в memory таблицу, а оттуда по крону раз в минуту обновляются основные таблицы. Это позволяет значительно увеличить возможное количество пиров, но могут возникнуть проблемы при небольшой посещаемости форума, т.к. крон в vb виртуальный и отрабатывает в момент открытия любой страницы форума. Если кому нужна прямая запись в основные таблицы, то это легко сделать даже при минимальных знаниях PHP/Mysql. Также возможна работа аннонсера с кешем (memcached, APC, xcache), но в выложенной версии этот функционал вырезан, т.к. исходя из статистики вопросов по движку на суппорт этого будет уходить слишком много времени.

P.S. Пока идет активное вылавливание багов установки первый пост не буду часто обновлять - буду выкладывать фиксы в теме.
фикс 1: Вложение 11

Skald 22.04.2009 02:18

Установка трекера (что при чистой установке, что при обновлении настоятельно рекомендую делать бекап базы):
1. Залить файлы из папки upload на сервер
2. Отредактировать файл attachment.php по аналогии с файлами в папке edit (attachment~org.php - оригинальный файл, attachment.php - измененный файл - добавлена одна строка с хуком)
3. Установить этот продукт.
4. Если нужно ограничение по ратио для различных групп, то установить этот продукт.
5. Устанавливаем сам продукт трекера product-yo_vbtt.xml (если проблемы с языком можно поставить один из папки lang - через импорт языков в админке vb. Для UTF-8 кодировки языка нет, но если кому надо позже выложу)
6. Устанавливаем TMS. (ссылку позже выложу)
7. Устанавливаем модификации шаблонов product-yo_vbtt_tms_edits.xml или правим вручную шаблоны (что править можно глянуть внутри этого xml файла)

Skald 22.04.2009 02:33

8. Правим БД (этот пункт со временем будет уменьшаться, т.к. все будет перенесено в скрипт инсталла):
добавляем базы:
Код:

-- Table "peers" DDL

CREATE TABLE `peers` (
  `uid` int(11) unsigned NOT NULL,
  `fid` int(11) unsigned NOT NULL,
  `active` tinyint(4) unsigned NOT NULL,
  `announced` int(11) unsigned NOT NULL,
  `completed` int(11) unsigned NOT NULL,
  `downloaded` bigint(20) unsigned NOT NULL default '0',
  `left` bigint(20) unsigned NOT NULL,
  `uploaded` bigint(20) unsigned NOT NULL default '0',
  `upspeed` bigint(20) unsigned NOT NULL default '0',
  `downspeed` bigint(20) unsigned NOT NULL default '0',
  `download_sum` bigint(20) unsigned NOT NULL default '0',
  `upload_sum` bigint(20) unsigned NOT NULL default '0',
  `timespent` bigint(20) unsigned NOT NULL,
  `useragent` varchar(255) NOT NULL default '',
  `connectable` tinyint(4) unsigned NOT NULL default '1',
  `peer_id` char(32) NOT NULL default '',
  `ipa` int(11) unsigned NOT NULL,
  `port` smallint(5) unsigned NOT NULL default '0',
  `mtime` int(11) unsigned NOT NULL,
  `pclass` smallint(5) unsigned NOT NULL default '1',
  UNIQUE KEY `fid_uid` (`fid`,`uid`),
  KEY `connectable` (`connectable`),
  KEY `mtime` (`mtime`),
  KEY `completed` (`completed`)
) ENGINE=MyISAM;

-- Table "files" DDL

CREATE TABLE `files` (
  `fid` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `size` bigint(20) unsigned NOT NULL default '0',
  `attachmentid` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`fid`),
  KEY `attachmentid` (`attachmentid`)
) ENGINE=MyISAM;

-- Table "peers_cache" DDL

CREATE TABLE `peers_cache` (
  `uid` int(11) unsigned NOT NULL default '0',
  `fid` int(11) unsigned NOT NULL default '0',
  `downloaded` bigint(20) unsigned NOT NULL default '0',
  `left` bigint(20) unsigned NOT NULL default '0',
  `uploaded` bigint(20) unsigned NOT NULL default '0',
  `upspeed` bigint(20) unsigned NOT NULL default '0',
  `downspeed` bigint(20) unsigned NOT NULL default '0',
  `connectable` tinyint(4) unsigned NOT NULL default '1',
  `peer_id` char(32) NOT NULL default '',
  `ipa` int(11) unsigned NOT NULL,
  `port` smallint(5) unsigned NOT NULL default '0',
  `mtime` int(11) unsigned NOT NULL default '0',
  `pclass` smallint(5) unsigned NOT NULL default '1',
  `active` tinyint(4) unsigned NOT NULL default '0',
  `completed` tinyint(4) unsigned NOT NULL default '0',
  `timespent` bigint(20) unsigned NOT NULL default '0',
  `download_sum` bigint(20) unsigned NOT NULL default '0',
  `upload_sum` bigint(20) unsigned NOT NULL default '0'
) ENGINE=MEMORY;

-- Table "user_cache" DDL

CREATE TABLE `user_cache` (
  `userid` int(11) unsigned NOT NULL default '0',
  `downloaded` bigint(20) unsigned NOT NULL default '0',
  `uploaded` bigint(20) unsigned NOT NULL default '0',
  `mtime` int(11) unsigned NOT NULL default '0',
  `seeders` tinyint(4) NOT NULL default '0',
  `leechers` tinyint(4) NOT NULL default '0',
  `timespent` int(11) unsigned NOT NULL default '0'
) ENGINE=MEMORY;

Если памяти мало, можно сделать тип MyISAM

Skald 22.04.2009 02:42

Т.к. уже поздно и чтобы не ошибиться в синтаксисе даю только поля которые надо добавить в базу:
таблица user
Код:

  `torrent_pass` char(32) NOT NULL,
  `downloaded` bigint(20) NOT NULL default '0',
  `uploaded` bigint(20) NOT NULL default '0',
  `upspeed` bigint(20) NOT NULL default '0',
  `downspeed` bigint(20) NOT NULL default '0',
  `leechers` smallint(5) unsigned NOT NULL default '0',
  `seeders` smallint(5) unsigned NOT NULL default '0',
  `mtime` int(11) unsigned NOT NULL default '0',
  `ctime` int(11) unsigned NOT NULL default '0',
  `timespent` bigint(20) unsigned NOT NULL default '0',
  KEY `torrent_pass` (`torrent_pass`),
  KEY `ctime` (`ctime`),
  KEY `mtime` (`mtime`)

таблица attachment
Код:

  `info_hash` blob NOT NULL,
  `freetorrent` tinyint(4) NOT NULL default '0',
  `leechers` int(11) NOT NULL default '0',
  `seeders` int(11) NOT NULL default '0',
  `completed` int(11) NOT NULL,
  `upspeed` bigint(20) unsigned NOT NULL default '0',
  `downspeed` bigint(20) unsigned NOT NULL default '0',
  `flags` int(11) NOT NULL,
  `mtime` int(11) NOT NULL,
  `ctime` int(11) NOT NULL,
  `size` bigint(20) NOT NULL,
  `announce_list` text NOT NULL,
  KEY `info_hash` (`info_hash`(20)),
  KEY `mtime` (`mtime`),
  KEY `ctime` (`ctime`)


Skald 22.04.2009 02:47

Вложений: 1
9. Выставляем настройки для групп в админке "группы пользователей - управление группами пользователей - редактировать группу - Права для VBTT". Пример настроек во вложении
10. Настраиваем в админке сам трекер (Если обновляетесь с версии 1.0 PHP, то изменился вид аннонсурла, теперь надо писать что-то типа http://ваш_сайт:80/announce.php?passkey=%s)
11. Прописываем в админке и announce.php одинаковое время аннонса (в секундах)

по идее все.
Должно работать :)
Что вспомню завтра допишу :)))

NetS 22.04.2009 11:08

при инсталле product-yo_vbtt.xml вылазиет ошибка, булка 3.8.2
Цитата:

Parse error: syntax error, unexpected ';' in H:\appserv\www\vbtt\admincp\plugin.php(1995) : eval()'d code on line 22
Добавлено через 31 минуту
а вот и запросы, надеюсь нигде не ошибся

Код:

ALTER TABLE `attachment`
ADD `info_hash` blob NOT NULL,
ADD `freetorrent` tinyint(4) NOT NULL default '0',
ADD `leechers` INT( 11 ) NOT NULL default '0',
ADD `seeders` INT( 11 ) NOT NULL default '0',
ADD `completed` INT( 11 ) NOT NULL,
ADD `upspeed` bigint(20) unsigned NOT NULL default '0',
ADD `downspeed` bigint(20) unsigned NOT NULL default '0',
ADD `flags` INT( 11 ) NOT NULL,
ADD `mtime` INT( 11 ) NOT NULL,
ADD `ctime` INT( 11 ) NOT NULL,
ADD `size` BIGINT( 20 ) NOT NULL,
ADD `announce_list` text NOT NULL,

ADD INDEX `info_hash` (`info_hash`(20)),
ADD INDEX `ctime` (`ctime`),
ADD INDEX `mtime` (`mtime`);


ALTER TABLE `user`
ADD  `torrent_pass` char(32) NOT NULL,
ADD  `downloaded` bigint(20) NOT NULL default '0',
ADD  `uploaded` bigint(20) NOT NULL default '0',
ADD  `upspeed` bigint(20) NOT NULL default '0',
ADD  `downspeed` bigint(20) NOT NULL default '0',
ADD  `leechers` smallint(5) unsigned NOT NULL default '0',
ADD  `seeders` smallint(5) unsigned NOT NULL default '0',
ADD  `mtime` int(11) unsigned NOT NULL default '0',
ADD  `ctime` int(11) unsigned NOT NULL default '0',
ADD  `timespent` bigint(20) unsigned NOT NULL default '0',

ADD INDEX `torrent_pass` (`torrent_pass`),
ADD INDEX `ctime` (`ctime`),
ADD INDEX `mtime` (`mtime`);

Добавлено через 8 минут
Собственно при инсталле из-за ошибки не выполняется запрос

Код:

ALTER TABLE `usergroup`
ADD vbttpermissions SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
ADD plimit SMALLINT(5) UNSIGNED NOT NULL DEFAULT 20,
ADD tlimit SMALLINT(5) UNSIGNED NOT NULL DEFAULT 3,
ADD pclass SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
ADD pclassmask SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
ADD waittime INT(10) UNSIGNED NOT NULL DEFAULT 0,
ADD announcewait INT(10) UNSIGNED NOT NULL DEFAULT 70;


BRP 22.04.2009 13:11

NetS
Только что ставил на 3.8.1 все прошло без проблем, запросы в базу тоже нормально легли, единственно пока не разобрался с 7-м пунктом... TMS у меня стоит, а вот product-yo_vbtt_tms_edits.xml накатываться не хочет, пишет что файл пустой...

p/s
наверно придется ручками шаблоны лопатить...

Skald 22.04.2009 13:34

Вложений: 1
NetS
Фикс некоторых файлов, во вложении
Дополнил инструкцию по инсталлу (главное не забыть прописать права групп)

Обновил фикс...

NetS 22.04.2009 13:57

BRP с фиксом уже нормально ))

может ты выполнил сначала ALTER TABLE `usergroup` ... там есть проверка на наличие или не заметил. Продукт ставится, но таблица не добавляется.

TMS какой? у меня 1.1.5 отлично встало.

Skald спасибо

BRP 22.04.2009 14:32

NetS TMS тоже 1.1.5 , ну да ладно, я уже ручками поправил...
Теперь непонятно как себе пасскей пересоздать (сбросить), в профиле выбираю "Сбросить пасскей"
вылетает с ошибкой:
Цитата:

The requested URL /admincp/resetkey.php was not found on this server
В инсталляционном архиве файла resetkey.php не наблюдалось...


В настройке групп пользователей так и не нашел
Цитата:

9. Выставляем настройки для групп в админке "группы пользователей - управление группами пользователей - редактировать группу - Права для VBTT".
у меня шот нет этой опции... ???


Текущее время: 15:46. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4 Patch Level 6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot