kcd.Spektor wrote:No, currently launcher clears all your settings, asks you to input your settings again, downloads the whole client(+some server files for some reason), to some folder, launches the client application, clicks 2 buttons.
(perhaps something else?)
What I mean is a launcher app that is just another jar/exe.
Which you just put in the same folder as the client jar/exe.
And when you run the launcher it just changes the server ip in the GameData.dat file to the needed one.
Checks if inside the data folder all ship images, shield images, ship icons are present, if not - download them from the server.
And then just run the client jar/exe.
In my opinion launcher is just a helper application.
It shouldn't delete your game folder and redownload the game every time when you run it.
It does exactly that:
- Show the settings dialog
- Backup the database
- Download the repository if there is no local repo or it is damaged
- Download and apply the changes if there is already a local repo
- Restore the database
- Download the client.jar / server.jar if there is no local copy
- Verify the client.jar / server.jar
- Write the Data/GameData.dat
- Write the launcher.jnlp that can be used to connect to the server
- Download itself because there is no way to get the current jar
- Verify the launcher.jar
- Start a new process
- Show the security warning dialog
- Detect the tachyon version and handle the launch (click through the menus / just launch your main class depending on the version)
As you can see, there is no unnecessary download except the download of itself. But there is no way to avoid that.
The launcher is used to launch the server and the client. That is why a few files are duplicated. It would be great if you could merge the client and the server directory somehow. It is also the reason why the client reverts to the same version as the server even if there is a newer version available. It might be unnecessary but it helps to avoid problems.