So the time has come, for the AOPS2 runtime rewrite, from complete scratch.
There are many reasons I am doing this, but more for longevity, new features and a much easier building and debugging process for everyone.
Today is just the start of the actual patch runtime. So I have been coding away doing all the preliminary checks like:
- Has the user sent a commandline for debug logging?
- Has the user specified an online patch configuration or are we using a local file
- Writing the debug log with as much information as possible
Easier debug logging for patching
One example of the above is, Dev Edition users will now be able to specify a configuration file for their patching from a webserver. This means you can patch an unlimited amount of games, or an unlimited amount of versions of one game, all from one launcher in GLCV3.
If you specify an online patch config with the /D command, like this /Dhttps://mysite.com/game_1_patch.cfg, the file may or may not exist but the patching system doesn’t have a way to detect if it was the actual config file or an error file produced by the server. Sometimes users would make a simple typo like one character missing, and the patcher gets redirected by the server to an error file and it downloads that.
So now, if for example, you incorrectly specify a dodgy URL, the patching system will pick up on it and alert your user (and you through the debug logs).
So if an error 404 was produced, this is the error produced by the patch system…
and when you investigate the debug log, it will show you this…
[15:56:02] --- SETTING UP CONFIGURATION --- [15:56:02] C:\Users\danan\AppData\Roaming\aops2\tempconfig.cfg exists and is readable. [15:56:02] There was an error downloading the config file. Please check your server logs and your URL to your config file online. It looks like a possible 404 error. You need to check this URL: https://mysite.com/patch.cfg The patching system has terminated with the following message: There was an error downloading the patch system configuration.
So now it tells you where the exact error has happened and it will tell you which URL to check. Or if there is a typo in that URL, you will be able to see it in the debug log.
As always, when there’s an error with the patching system, you should always check your urls in the debug log.