Комментарии 8
Делал однажды подобную вещь.
Но несколько проще:
Но несколько проще:
- Делаем новый билд
- Создаем торрент файл
- Выкладываем на сайт, заменяя старый
- Лаунчер сливает файл при запуске (тут всякие варианты кеширования, но он все равно мелкий хоть на cdn клади)
- Благодаря libtorrent просто запускаем на скачивание этот файл (он сам проверит хеши файлов и перекачает изменения, причем от размера блока и файла зависит сколько он скачает)
- Дожидаемся 100% — профит, причем раздачу можно оставить на небольшой скорости.
В вашем случае не требовалось делать ограничений для тех, кто может скачать билд, как я понимаю?
эффективность торрентов сильно зависит от того как меняются файлы, если данные внутри файлов «двигаются» хоть на один байт, торрент перекачает весь файл
В результате, мне показалось логичным каждый файл в директории игры рассматривать как набор блоков данных. При выпуске очередной версии, билд игры анализируется, строится карта блоков и сами файлы игры сжимаются поблочно. На клиенте производится анализ существующих блоков и скачивается только разница.Как вам уже заметили выше, вы переизобрели торрент-раздачу ) Она примерно по такому принципу и работает.
Но тут есть одна дилемма — если файл будет повреждён (или отсутствовать), но при этом сохранится запись в кэше об этом файле — то патчер его пропуститПервоначальная сверка даты создания/изменения файла — не надёжный способ?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как я патчил Вселенную