EdMSL
@EdMSL
Free Developer

Как организовать автоматическое обновление игры через Electron приложение?

Доброго времени суток. Вопрос, так скажем, объемный.
Есть игра (TES4: Oblivion), есть сборка на ее основе, т.е. сама игра плюс моды, совмещенные друг с другом. Я делаю лаунчер для сборки, через который можно управлять некоторыми настройками игры и сборки в целом: запустить игру, изменить параметры графики через ini файл игры и все в таком духе.
Да, чуть не забыл, лаунчер пишу на Electron, т.к. хорошо знаком с web-разработкой.
Так вот, есть идея организовать автоматическое обновление сборки. Моды меняются, файлы меняются, настройки переписываются, баги правятся и хотелось бы, чтобы игроки всегда имели свежие обновления как можно быстрее.
Но проблема в том, что я не знаю, как это правильно организовать, например, где хранить файлы обновления. Как я
себе это представляю: составляем список файлов, где прописываем, что изменить, что удалить, что добавить. Там же прописываем версию игры, чтобы сравнивать. Закидываем на сервер, где храним обновления. Туда же файлы новые и измененные. В лаунчере делаем запрос на сервер при запуске, считываем файл настроек обновления, сделанный ранее, проверяем версию и скачиваем нужные файлы. Потом надо проверить, что все скачалось и скачалось правильно, а не криво (контрольные суммы?). Ну и перезаписать и удалить файлы. Но как правильно составить список изменений, ведь у пользователей будут разные версии при обновлении, надо куда-то скачивать предварительно файлы, надо где-то это все хранить.
В общем, если у кого-то есть опыт в этом деле, то было бы неплохо, если бы вы им поделились. А может кто знает статейки на эту тему, но с учетом используемых мной инструментов, сам я толкового не нашел.
  • Вопрос задан
  • 491 просмотр
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack
Thinking about a11y
https://www.electronjs.org/docs/api/auto-updater
https://www.electron.build/auto-update
Новые версии могут загружаться прямо из репозитория
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы