Хочу поделиться скриптами, может кому пригодятся.
В общем, у меня немного ограниченное дисковое пространство и я заметил что в наборе довольно много дубликатов из разных регионов, так что я написал пару скриптов чтобы избежать скачивание дубликатов, выбирая только одну игру из дубликатов которая подходит моей критерии по региону/языку.
Я советую по возможности не пользоваться этими скриптами, т.к. нам нужны люди которые бы сидили 100% всего торрента, вместо какой-то части его.
Идея скриптов
Все игры в торренте разложены по папкам следуя номерам из
ADVANsCEne каталога PSP релизов. Так же, имена архивов игр совпадают с именами релизов из того же каталога. Например,
0001 релиз Ridge Racers имеет имя
Ridge_Racers_JAP_PSP-PARADOX (мы это видим в поле Dir Name), так что архив этой игры в раздаче будет иметь такое же имя плюс расширение архива в конце. Так что мы может сопоставлять игры из раздачи с играми в каталоге. В каталоге так же указана всякая полезная информация об игре, например регион в котором игра была выпущена, какие языки игра имеет (иногда игра поддерживает несколько языков), и номера других релизов которые являются дубликатами этой игры (бывает что игра выпускается в нескольких регионах на разных языках, бывает игры имеют ограниченную и нормальную версию, бывает дамп игры был плохой и не работал как надо так что новый дамп той же самой игры был сделан, и т.п.). Используя информацию из каталога мы можем пройтись по всем играм, и из дубликатов одной и той же игры выбрать только одну самую подходящую версию этой игры, т.к. мы не хотим скачивать все дубликаты, и выбрать только ее в торрент клиенте.
Скрипт №1:
Main.java Первый скрипт написан на Java 8 и использует gson и jsoup библиотеки. Он скачивает информацию об играх с каталога ADVANsCEne и сохраняет ее в
games.json (если вы запустите скрипт еще раз, вместо скачивания с сайта он загрузит информацию из
games.json). Вы можете указать номер потоков для скачивания информации об играх как первый аргумент, и интервал номеров игр которые вы хотите скачать как второй и третий аргументы. Например, "8 1 3336" скачает информацию об играх с 1 до 3336 используя 8 одновременных потока. Я советую не использовать больше 8 потоков (да и потом лучше наверное немного меньше) т.к. сайт начинает выдавать ошибку если пытаться часто открывать его страницы, прекращая работу скрипта. Сбор информации о всех играх у меня занял буквально минуту-две с 8 потоками, так что даже если вы будете это делать в 4 потока - много времени это не займет.
После сбора информации об играх, скрипт выдает статистику о кол-ве игр по региону, языку и жанру.
Вот текущая статистика, для интересующихся
Всего 24 игры из русского региона и 65 игр с русским языком. Так что если вы хотите psp игры на русском, тут их не густо.
После выдачи статистики скрипт выбирает какие игры из всех следует скачать и сохраняет их как
games-to-keep.json. Мой код сохраняет игры которые совпадают следующим правилам, по порядку приоритета:
- 1. Если у игры нет дубликатов
- 2. Последний дубликат игры выпущенный в США (иногда бывает что игра была плохо сдамплена, так что потом выпускают исправленный дамп, по этому мы хотим выбрать самый последний дубликат, т.к. это скорее всего исправленная версия)
- 3. Последний дубликат игры выпущенный в Европе
- 4. Последний дубликат игры имеющий Английский язык и выпущенный в Японии
- 5. Последний дубликат игры имеющий Английский язык
- 6. Последний дубликат игры выпущенный в Японии
- 7. Последний дубликат игры имеющий Японский язык
(Отредактируйте код под свои правила если эти вам не подходят)
В конце-концов мы получаем все игры не имеющие дубликатов, а из игр с дубликатами, из дубликатов мы выбирает только одну версию которая больше подходит по критерию
USA > Europe > Japan:English > English > Japan > Japanese. На удивление, это обхватывает все игры, т.к. не было ни оной из игр у которой не было хотя бы одного дубликата не подходящего ни по одному из этих критерий.
Скрипт №2
setup.py skipfiles/__init__.py skipfiles/core.py Это плагин для торрент-клиента Deluge который читает наш
games-to-keep.json, находит торренты с хэшами B69374F9275183F1470B35156C78AFE34BE9893A, 24E6917035F53FC486D4766A81A6D4CA6C56EAA3 и F54EEB863FC5A388307C5C168B833418ACFECA76 (эти три раздачи), выставляет приоритет 0 (не закачивать) всем файлам этих торрентов которые не совпадают ни с одной игрой из games-to-keep.json, и выставляет приоритет 5 (закачивать) файлам которые совпадают. Так что я советую добавить торренты этих раздач в Deluge, сразу же поставить их на паузу чтобы ничто не успело закачаться, добавить этот плагин в Deluge (исправьте путь к
games-to-keep.json файлу в коде плагина, а так же хеши торрентов если раздачи был обновлены), подождать пока он оставит только выбранные в
games-to-keep.json игры в торрентах, убрать плагин из Deluge и включить закачку торрентов. Не забудьте убрать плагин, т.к. при следующем запуске Deluge он автоматически запустится и заново выберет файлы, отменяя все выборы которые вы сделали вручную. Плагин можно собрать командой
python setup.py bdist_egg и он будет в папке dist.
Плагин так же в конце выводит в консоль список номеров игр из games-to-keep.json которые не нашлись в торрентах. Да, оказывается малая часть файлов в раздаче имеют имена которые не совпадают с Dir Name ни одной игры из каталога ADVANsCEne. Их правда очень мало и вы можете их вручную рассмотреть.
Это номера всех игр из каталога которых не было найдено в раздачах
| Код: выделить все [10, 75, 301, 411, 413, 415, 520, 549, 551, 574, 605, 656, 667, 810, 1032, 1042, 1121, 1135, 1177, 1184, 1214, 1227, 1260, 1272, 1424, 1442, 1443, 1481, 1580, 1657, 1904, 2048, 2080, 2125, 2304, 2344, 2369, 2387, 2397, 2400, 2414, 2424, 2442, 2444, 2458, 2467, 2592, 2620, 2621, 2684, 2738, 2838, 2896, 2930, 2945, 2992, 3076, 3102, 3214, 3243, 3261, 3310, 3331, 3333, 3334, 3335, 3336] |
У некоторых из них указаны неправильны имена в самом каталоге, например
у игры №10 ATV Offroad Fury - Blazin' Trails в каталоге указано
DUMPS_FIX_PACK_1_iNTERNAL_PSP-PLAYASiA-0002 как Dir Name, что не совпадает с именем самого файла
ATV_Offroad_Fury_USA_PSP-NONEEDPDX, который присутствует в раздаче.
В случае с
игрой 75, в каталоге Dir Name имеет JPN, но файл в раздаче имеет JAP в названии. Игра 301 тоже имеет опечатку, в каталоге она называется Miday (что неправильно), а в раздаче Midway.
Бывают случаи когда игра была исправлена/заменена в каталоге но в раздаче используется старая/поломанная версия. Например
игра 411, она должна называться
Mahjong_Ou_Portable_JPN_PROPER_PSP-PLAYASiA, но в раздаче ее нет. В каталоге в информации о игре 411 написано что это Proper игры
Mahjongou_Portable_JPN_PSP-Caravan и в NFO объясняется что это обновленная версия
Mahjongou_Portable_JPN_PSP-Caravan. В торренте новой версии игры нет, но есть старая версия игры,
Mahjongou_Portable_JPN_PSP-Caravan, под номером 411. Не понятно почему раздача не была обновлена.
То же самое с
игрой 413 -- в раздаче старая поломанная версия релиза
Dragonball_Z_Shin_Budokai_JPN_PSP-Caravan, кода в каталоге указывается новая
Dragonball_Z_Shin_Budokai_JPN_PROPER_PSP-PLAYASiA и в NFO говорится что старая была поломана, по этому ее заменили. Не совсем ясно почему они не сделали новый релиз починенной игры под новым номером и не указали ее как дубликат поломойной игры, как они это иногда делают.
@uNwicked, пожалуйста пройдитесь по всем этим номерам и исправьте свои раздачи. Конечно не под каждым номером скрывается обновленный релиз как 411 и 413, там так же могут быть и опечатки как в тех нескольких случаях что я указал, но обновленные релизы там еще должны быть и было бы неплохо если бы вы могли их обновить в раздачах.
Я прикрепляю эти скирпты и мои
games.json и
games-to-keep.json к посту. Если вы не знаете что со всем этим делать, то значит что это не для вас. Я ничего объяснять и помогать не буду. Я просто хочу поделиться скриптами (с теми кому они нужны и кто сможет ими воспользоваться), а не заниматься тех поддержкой.
Добавлено спустя 13 минут 56 секунд:@uNwicked, вы не знаете где можно найти такую же раздачу как эту но только для
ADVANsCEne PSN релизов? Это тоже PSP игры но как я понимаю они были только на PSN выпущены (не на физических UMD дисках), так что у ADVANsCEne отельный раздел для них. Там есть английские версии некоторых японский игр, например вот
Corpse Party - Book of Shadows на японском в PSP разделе и у нее нет дубликатов, но
вот ее английская версия в PSN разделе. Мне английский более понятен чем японский, так что я бы хотел скачать английскую версию, но не похоже чтобы ее где-нибудь здесь раздавали. Ближайшее что я нашел это
No-Intro PSN и DLC раздача на известный трекер (
та что на nnm похоже немного устарела).