Hi, I am interested in making an autoupdater for my game.
I was thinking, having a “launcher.jar” file, this is the only file you need to run the game. If you don’t have a file it will download it.
When you double click on launcher.jar, it contacts a main server (using TCP) and requests the current game version.
Inside my main game.jar file, there will be a version variable. If the version doesn’t match or the game.jar file doesn’t exist, the launcher will hash every file in the game directory (MD5?) and send the hashes to the server. If any hashes are different/missing, the server will send those files to the client and the client will replace all the old files.
The launcher.jar will then launch the game by calling a method inside the game.jar file.
If the game.jar file is updated, the launcher will have to close and restart before the game is played? since launcher.jar depends on game.jar.
Can anyone see any improvements/problems with my idea?
Thanks,
roland