Skip to content

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.

Installation

  • 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 form mtgo..tion_{public token}_{private token}
  • local settings {mtgo_settings} are stored in Local Settings/Application Data/Apps/2.0/Data/{state_random}/{base_name} where {state_random} is computed from the registry key StateStore_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 key ComponentStore_RandomString (ABCDEFGH.IJK/LMNOPQRS.TUV)

Settings

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

Debugging, logs

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!)

Clone this wiki locally