Есть проект, это игра, в ней есть свой лаунчер, он средствами git проверяет на наличие обновлений и тд. сейчас хочу отказаться от этой технологии, сделав на сервере аля репозиторий и проверять его каждый раз при нажатии кнопки играть. Я так понял нужно сделать hashmap всех файлов после чего сравнивать его с hashmap у клиента, правильно понимаю? Есть ли уже написанные велосипеды, можете что-то порекомендовать?
Dmitry Bay, много лишних инструментов, я использую isomorphic git, библиотека для js, не хотелось бы лишних мегабайт в конечной сборке лаунчера, это не единственный минус, я заметил что скорость клонирования довольно медленная, так как игра весит не мало.
estluced, обычно всё же делают не так. У игры есть сборка в виде архива с версией в имени, и launcher при запуске запрашивает у сервера актуальную версию. Если локальная версия ниже серверной - архив скачивается и распаковывается. Если там много данных (текстуры там всякие, например), можно делить на части, например, отдельно код, отдельно данные, отдельно текстуры, отдельно звуки, отдельно фоновая музыка... И каждое может иметь свою версию, чтобы изменения кода не приводили к перекачиванию музыки.
shurshur, звучит не плохо, но сейчас начал уже реализовывать что-то подобное. Есть архив с игрой и хэшмапом и распакованный архив игры, первый загружается если у клиента нету игры, второй можно загружать по частям как обновления. Думаю такой подход будет самым оптимальным:)