How to organize automatic updates of the game via Electron application?

Good time of day. The question is, shall we say, voluminous.
There is a game (TES4: Oblivion) have assembled on its basis, ie the game itself plus fashion combined with each other. I'm making a launcher for the build, which can manage some settings of the game and the build in General: to run the game, change the graphics settings via ini file of the game and stuff like that.
Yeah, I almost forgot, launcher write on Electron, because well-familiar with web development.
So is the idea to arrange automatic updating of the Assembly. Fashion changes, files change, settings rewritten, bugs fixed and I would like that the players always had a fresh update as soon as possible.
But the problem is that I don't know how to organize, for example, where to store the update files. As I
imagine it: make a list of files where write, what to change, what to remove, what to add. There's also prescription version of the game to compare. Throws on the server where you stored the update. There is a new file and changed. In the launcher make a request to the server at startup read configuration file updates made earlier, check the version and download the files you need. Then we need to check that all download and downloaded correctly and not crooked (checksum?). Well, overwrite and delete files. But how to make a list of the changes, because users will have different versions when upgrading, you need somewhere to download pre files, you'll need somewhere to store it
In General, if someone has experience in this matter, it would be nice if you shared it. And maybe someone knows articles on this subject, but given the tools that I used, I would not have found.
April 7th 20 at 10:46
2 answers
April 7th 20 at 10:48
https://www.electronjs.org/docs/api/auto-updater
https://www.electron.build/auto-update
The new version can be downloaded directly from the repository
This is a program upgrade, in my case it is the launcher. And I mean update the game files. - marquise.Heller17 commented on April 7th 20 at 10:51
@marquise.Heller17, and the difference? can just take based on these packages.
The essence of what update: got information about the new version - if not, then that does not do, otherwise downloadable. How to download and from where is another question. - Keven.McClure90 commented on April 7th 20 at 10:54
April 7th 20 at 10:50
Pull out technology torrent https://www.electronjs.org/apps/electorrent when you click "Play" podgruzhat new magnet link. And then just like "if the hash does not match, then the Play button becomes Update." I think I understood the logic)
Interesting option, will have to see. However, I'm not sure that it would be justified because of the small number of players, but as a way in itself interesting. - marquise.Heller17 commented on April 7th 20 at 10:53

Find more questions by tags Node.jsDevelopment of games