Razviar / mtgap

Support tool for MTG Arena online game
https://mtgarena.pro/
223 stars 50 forks source link

Tracker not finding user ID in logs after 8/24 update #263

Closed dknedlik closed 2 years ago

dknedlik commented 3 years ago

image

Windows 10, detailed logs enabled. Tracker hangs at "Awaiting User ID to appear in log".

To reproduce: Start game client and tracker.

FriendOfEntropy commented 3 years ago

Experiencing the same. Also confirmed that my log file does still have at least one line with user ID

[Accounts - Login] Logged in successfully. Display Name: FriendOfEntropy####

Razviar commented 3 years ago

Unfortunately it's not user ID, it's only screen name. ID is the random set of characters. We will investigate the changes.

Razviar commented 3 years ago

WOTC messed up logs again, pushing us even harder to take hardcore approach and start modding the game in order to get needed data from it. We are currently looking into possible modding opportunities, but these developments will take a lot of time, unfortunately.

ZakVanstrom commented 3 years ago

Are you implying this will be a long-term issue due to the new back-end update? Is there a community of modders working on this? As a back-end dev & lover of MTG I'd be glad to spend time helping with development

Razviar commented 3 years ago

@ZakVanstrom the main issue here is WOTC cutting down logs. They removed crucial information from log, like data about player collection etc. But in the game itself all this data is present. And if we could mod the game to make it log what we need, we could find long-term solution for this issue. Currently there's only one person working on mod (it's me).

ZakVanstrom commented 3 years ago

Oh okay--When you say that the game itself has all the data, that means a mod would have to modify their client code to report that data externally, so it can be scraped.

As of now, the app currently scrapes only from the frequently-updated local logs, right? Creating a mod doesn't seem impossible, but seems pretty inconvenient. Does this mean that MTGA's devs are discouraging these type add-ons, or is it just poor QA of their log-outputs?

Razviar commented 3 years ago

@ZakVanstrom WOTC official position is that tracking is allowed as long as it's not cheating (like, not getting the data which is not accessible for user through common interface).

MTGA is pretty much standard Unity game, with all consequences. We already attempted to use Harmony for modding, but no luck for now. If you are really into it, and want to dive in, please contact me via admin@mtgarena.pro

kevin-smets commented 3 years ago

Umph, this is going to break quite a bit of 3rd party tools I imagine. Thanks for the clarification and hopefully you can get it to work.

icterine commented 3 years ago

@ZakVanstrom the main issue here is WOTC cutting down logs. They removed crucial information from log, like data about player collection etc. But in the game itself all this data is present. And if we could mod the game to make it log what we need, we could find long-term solution for this issue. Currently there's only one person working on mod (it's me).

I am using Epic Game launcher to start MTGA and seem most log entries still there but adjusted to Epic one. For example:

[EOSClient] found launch args epicUserId(xxxxxxxxxxxxxx) authPassword(xxxxxxxxxxx) [EOSClient] attempting to login with type(ExchangeCode) id(fg9xxxxxxxxxxxx20fba) token(5fa0xxxxxxxxxxxxxxxxxxeb6ba5)

NewUserToken: User ClientId: xxx...xxxAccountId: cxxx...xxx Access[Expires: 2021.08.26-04.58.50 Remaining: 7200.61] Refresh[Expires: 2021-08-26T10:58:50.613Z Remaining: 28800.61] State: Valid

And seems collection also present

<== StartHook(c5949729-06cc-4c23-80a9-4eedfb76cc71) {"InventoryInfo":{"SeqId":1,"Changes":[],"Gems":4750,"Gold":1900,"TotalVaultProgress":28,"wcTrackPosition":0,"WildCardCommons":22,"WildCardUnCommons":27,"WildCardRares":11,"WildCardMythics":5,"DraftTokens":0,"SealedTokens":0,"CustomTokens":{"BattlePass_AFR_Orb":2},"Boosters":[],"Vouchers":{},"Cosmetics":{"ArtStyles":[{"Type":"ArtStyle","Id":"127296.DA","ArtId":127296,"Variant":"DA"},{"Type":"ArtStyle","Id":"400332.DA","ArtId":400332,"Variant":"DA"},{"

Maybe temporally fix will be switch to Epic Game launcher and adjust parser ? Eventually it can be cut down as well.

Razviar commented 3 years ago

Collection is not present. It's only general numbers, but not detailed collection covering all cards user has. Also, there's three same stuff in non-Epic version. We released patch 2.1.29 covering some issues and restoring matches tracking

kevin-smets commented 3 years ago

Any chance for a Mac release? Thanks for the fix nonetheless!

jceddy commented 3 years ago

I maintain a tool that has also been destroyed by these log changes. XD :'(

Going to contact Razviar to see if I can help with a mod.

Li2012 commented 3 years ago

Hi Razviar, Thanks very much for taking the time to answer peoples questions. Very helpful for me to understand the issue.

One follow up question: it seems untapped.gg is able to track all the in game state fine. For their twitch pluggin, as a viewer I can hover streamer's board, hands, graveyard and see realtime info (very accurate). How could they achieve this if the logs other tracker depends are missing important info?

Razviar commented 3 years ago

@Li2012 they are using memory reading technique, connecting directly to Mono (it's unity part). It's very complicated, we are making something similar, but it's really hard task. If we assume score, tracking memory vs tracking text logs is like 50 to 1

Li2012 commented 3 years ago

@Li2012 they are using memory reading technique, connecting directly to Mono (it's unity part). It's very complicated, we are making something similar, but it's really hard task. If we assume score, tracking memory vs tracking text logs is like 50 to 1

Thanks for the info. I never known Mono before. After I search a bit, it sounds like Mono is comparable to 'JVM' or '.Net' for unity.

I guess the difficulty (the 50 score you gave) comes from having to reverse engineer black-box system? What's not helpful is untapped.gg is not open source, so others wouldn't be able to reuse their work.

Razviar commented 2 years ago

Closing in favor of #266