What it does is a integrity check of all local files along with a version based up-to-date check with the server.
It is just the nature of the update system we are using right now that requires the time to launch. The up-side is that we can to partial updates and update the main client (a very small part ~5MB) and the massive graphics and sound part (~70MB) separately. Usually the smaller part is updated more regular.
The thing is: I could reduce the rate of update checks. Currently the update system handles all files as potentially out of date. So it checks everything. I could assume that everything that was checked within the last day/week/month is assumed to be up-to-date. But that may cause problems if we update the client and the server together in cases where the updates depend on each other. That happens during the rare changes of the networking protocol. But if such a case happens and the clients do not update, all hell breaks loose.
This entire updating thing is not a perfectly easy topic to handle. It does get easier when you only distribute the full packages and don't use partial updates. Because then checking a single file online would be sufficient. But that would require a complete change of our updater. And the current one is, after all not very fast, but very secure and stable. It has a lot of integrity checks that make very sure that all the files downloaded and stored locally are correct.
Nitram