If you are using GLCV3 Developer Edition, you can completely and fully control the AOPS2 Patching System with command line switches.
Here is a list of the available switches including a description for each.
Please note, any switches that need additional data attaching to them (ie: /P<url>) you must ensure the data is wrapped in ” speech marks, like so /P”<url>”
Enable Debug Logging
Command Line Switch: /Y1
Sending the command line switch /Y1 will enable debug logging mode for your patch system. You should be able to view the generated log by following the instructions in the AOPS2 Debugging Guide here. If one of your user’s is trying to send you the debug log, you can follow the instructions at the top of the guide to help them locate the debug log file to send you.
You should never use this switch unless absolutely necessary. This switch writes out the debug log to the hard drive in real time and it is resource intensive and will slow your patch process down considerably, it will also read/write needlessly to your user’s computer.
We recommend you have a normal patch system button inside your launcher and maybe have another smaller button somewhere that states “Patch with Debug”, so the user patches with a normal patch button and only uses the “Patch with Debug” button if there’s an issue or a problem.
Multiple Servers Activated
Command Line Switch: /M1
Sending the command line switch /M1 tells the patching system that you have multiple servers enabled. This makes the patch url dynamic. So you must follow up with a nominal server switch with the full, absolute URL to the online directory where the patch files are located.
If this command line switch is not sent, the nominal server is ignored and the patch system will use the default online patch directory you specified inside your glcv3 AOPS configuration.
If you use this switch, you need to ensure you also send the /T switch. The /T switch defines which version number.
You can tell the patch system what the latest version number is to be installed by specifying the version number with the /T switch. The only time this is used is to update the version at the end of the patch process after the game files have been updated.
If you are using Multiple Servers, you must also specify the /T switch to tell the patch system which nominal server URL and folder to use to locate the files.
You can use this switch to force the installation of a particular version, regardless of which version is installed. For example, if the user has 1.4.2 installed, you can force a rollback to 1.4.1 by specifying /T1.4.1 but you will also require Multiple Servers /M1 and specify the Nominal Server URL for this version with /N
If this switch isn’t sent, GLCV3 will automatically send over the version folder depending on your versioning information inside your launcher.
Command Line Switch: /N"<url>"
Sending the command line switch /N followed closely by the URL, tells the patching system which online directory to download the files from. In order for this switch to be honoured, you need to send the multiple servers activated switch above. If this switch isn’t sent, the patch system will check your configuration file to see where your default nominal server is located.
Command Line Switch: /S1
Sending the command line switch /S1 instructs the patch system to load and run silently.
Local Patch Configuration
Command Line Switch: /D
Sending the command line switch /D with a blank entry, will tell the patch system to locate the patch configuration file from the default location (Current Path + Data\patch.cfg). You do not have to send this blank command, it will default if /D is not sent anyway.
Download Patch Configuration
Command Line Switch: /D"<url>"
Sending the command line switch /D followed closely by the full, absolute URL to the online configuration file instructs the patch system to download the specified patching configuration from this location.
Custom Patch List
Command Line Switch: /P"<url>"
By default, the patch system will load the patch list specified in your configuration file. However, you can override this with the /P switch. It must be followed closely by the full, absolute URL to the patch file to download. As an example /Phttps://mysite.com/files/patchlist
In order for a custom patch list to work, you must have Multiple Servers enabled. You then need to specify the Nominal Server path, so the patch system knows where the online directory is, where it is downloading the files from.
So in order for this to work, as an example you would send your command line switches like this
/P"https://mysites.com/files/custompatchlist" /M1 /N"https://mysites.com/files/patchfiles/"
By default, the patch system will assume the Game Directory to patch the files is the same parent folder the patch executable is located. However, you can override this. You can stipulate inside your patch configuration a registry check or you can use a command line switch to force a registry check.
So if your game has an installer and wrote the installation path to the registry and it’s located under HKEY_CURRENT_USER and then Software\My Game Company\Game Name\ and then under a key called InstallPath then you would write your command line switch like this:
/R”HKEY_CURRENT_USER%Software\My Game Company\Game Name\%InstallPath”
The patch system will then check this registry location to see if the path is defined in this registry key. If it is not, the patch system will throw an error and exit.
Ignore Prerequisite Checks
You can send a command switch to the patch system to completely ignore the prerequisite checks using the /K1 switch…
Ignore Postrequisite checks
You can send a command switch to the patch system to completely ignore the postrequisite checks using /Z1 switch…