-
-
Notifications
You must be signed in to change notification settings - Fork 34
Knowledge base
Loïc Paulevé edited this page Mar 29, 2020
·
2 revisions
This page contains a few things I learnt from hacking into MTGO.
- The version and public token of the MTGO client can be obtained at http://mtgoclientdepot.onlinegaming.wizards.com/MTGO.application
- the base directory name
{base_name}
is of the formmtgo..tion_{public token}_{private token}
- local settings
{mtgo_settings}
are stored inLocal Settings/Application Data/Apps/2.0/Data/{state_random}/{base_name}
where{state_random}
is computed from the registry keyStateStore_RandomString
(ABCDEFGH.IJK/LMNOPQRS.TUV
) - program data are stored in
Local Settings/Application Data/Apps/2.0/{component_random}/{base_name}
where{component_random}
is computed from the registry keyComponentStore_RandomString
(ABCDEFGH.IJK/LMNOPQRS.TUV
)
They are stored in XML files:
- settings related to EULA validation and login screen name are stored in
{mtgo_settings}/Data/AppFiles/application_settings
:
<?xml version="1.0" encoding="utf-8"?>
<ApplicationSettingsStorage>
<Settings>
<SimpleSetting
Setting="LastLoginName"
Value="" />
<SimpleSetting
Setting="LastEULAVersionNumberAgreedTo"
Value="3.4.113.4034" />
<SimpleSetting
Setting="ShowAccountActivationDialog"
Value="False" />
<SimpleSetting
Setting="AgeGateBirthDate"
Value="1/1/0001 12:00:00 AM" />
</Settings>
</ApplicationSettingsStorage>
EULA validation can be bypassed by adjusting the LastEULAVersionNumberAgreedTo
setting.
- user preferences (foil animation, stops, views, etc.) are stored in
{mtgo_settings}/Data/AppFiles/{some_token}/user_settings
See scripts in https://github.com/pauleve/docker-mtgo/tree/master/extra
MTGO uses Loupe .NET API by Gibraltar for logging. The log viewer can be downloaded for free from their website, and can be useful to have more information in case of MTGO failures (but not wine failures!)