[моё] Омнилаунчер. Страховка от превращения библиотеки в тыкву
Мне не даёт покоя одна мелкая зловредная мысль.
"А что, если к омнилаунчеру прикрутить докачку с запросом кусков по DHT?"
В качестве, так сказать, альтернативного режима загрузки игр.
Ну, просто на случай, если, скажем, посреди двухнедельных праздников Steam опять овайбкодится. Или сломает/вбанит страну загрузки. Или ещё чего-нибудь.
На бумаге это сплошные пони и радуги.
Проверил наличие лицензии на установленную игру - встал на раздачу.
Проверил наличие лицензии на устанавливаемую игру - начал скачку в выбранную папку, по завершении передёрнул установку или импорт в лаунчере-доноре. И тоже встал на раздачу.
Сеть сама всех сведёт и всё распределит, особенно если докинуть парочку не очень популярных, но открытых, трекеров.
По факту же, помимо самоочевидных трений в правовом поле, алгоритмически это жуткая головная боль.
Вызванная, в том числе, крайней недисциплинированностью разработчиков и издателей игр.
У каких-то проектов типа вашего обожаемого Таркова помимо игры раздаётся лаунчер-прокладка, докачивающий обновления.
Что всирает контрольную сумму и вызывает интересные проблемы при попытке определить, кто какую версию раздаёт через DHT, а кто какую запрашивает.
У каких-то проектов типа Dwarf Fortress есть портативный режим, в котором сохранёнки и настройки валятся в папку с игрой, а не в специальную резервацию в служебных каталогах.
У каких-то проектов типа TF2: Gold Rush есть жёсткая зависимость от других проектов.
Без установленного оригинального TF2, в частности, Gold Rush работать не захочет.
Как это рулить на уровне омнилаунчера, а не лаунчера-донора, мне пока неясно.
А ещё есть замечательная прослойка проектов с непрямыми зависимостями, типа покойного Black Reliquary, который вещь в себе и даже бесплатный... только вот без покупки расширенной версии Darkest Dungeon в Steam получить и скачать BL - нельзя.
И как правильно распознавать такие вот условно бесплатные проекты ограниченной доступности - пока тоже.
В зависимости от обилия мелких файлов в раздаваемой папке, поддержание даже одного торрента может оказаться крайне ресурсоёмкой задачей, что бьёт по системным требованиям.
А их может оказаться ну очень много.
Плюс мне не нравится то, что 99% времени нагрузка ложится не на купленный издателем-паблишером-разработчиком-лаунчера-донора CDN, а на конечного пользователя бесплатно, причём почём зря.
Это не справедливо.
А в 1% случаев, когда эта фича реально нужна, без достаточного количества пользователей-доноров и представленных в DHT проектов она абсолютно бесполезна.
Я оставлю себе пару пометок и суну в стопку черновиков.
Может, в будущем меня жестоко торкнет и можно будет попробовать продумать отдельный служебный софт по распределённой синхронизации библиотеки игр.
Если в этом будет необходимость.
Существуют намного более изящные и универсальные реализации этой идеи.
Отношение пожительных и отрицательных голосов: 1/0